diff --git a/.github/workflows/docker-build-test.yaml b/.github/workflows/docker-build-test.yaml index 9565294307b65..91a3400944c1c 100644 --- a/.github/workflows/docker-build-test.yaml +++ b/.github/workflows/docker-build-test.yaml @@ -312,7 +312,7 @@ jobs: with: GIT_SHA: ${{ needs.determine-docker-build-metadata.outputs.gitSha }} FORGE_TEST_SUITE: compat - IMAGE_TAG: 70806ff543496aa6de7807feff49e7e1370efd20 #aptos-node-v1.19.1 + IMAGE_TAG: 25a081116546670e62ca927ba90478de78557056 #aptos-node-v1.20 FORGE_RUNNER_DURATION_SECS: 300 COMMENT_HEADER: forge-compat FORGE_NAMESPACE: forge-compat-${{ needs.determine-docker-build-metadata.outputs.targetCacheId }} @@ -340,7 +340,7 @@ jobs: with: GIT_SHA: ${{ needs.determine-docker-build-metadata.outputs.gitSha }} FORGE_TEST_SUITE: framework_upgrade - IMAGE_TAG: 70806ff543496aa6de7807feff49e7e1370efd20 #aptos-node-v1.19.1 + IMAGE_TAG: 25a081116546670e62ca927ba90478de78557056 #aptos-node-v1.20 FORGE_RUNNER_DURATION_SECS: 3600 COMMENT_HEADER: forge-framework-upgrade FORGE_NAMESPACE: forge-framework-upgrade-${{ needs.determine-docker-build-metadata.outputs.targetCacheId }} diff --git a/.github/workflows/forge-stable.yaml b/.github/workflows/forge-stable.yaml index f3f7775138cda..f7b3d9ee550e5 100644 --- a/.github/workflows/forge-stable.yaml +++ b/.github/workflows/forge-stable.yaml @@ -128,7 +128,7 @@ jobs: uses: aptos-labs/aptos-core/.github/workflows/workflow-run-forge.yaml@main secrets: inherit with: - IMAGE_TAG: 70806ff543496aa6de7807feff49e7e1370efd20 #aptos-node-v1.19.1 + IMAGE_TAG: 25a081116546670e62ca927ba90478de78557056 #aptos-node-v1.20 FORGE_NAMESPACE: forge-framework-upgrade-${{ needs.determine-test-metadata.outputs.BRANCH_HASH }} FORGE_RUNNER_DURATION_SECS: 7200 # Run for 2 hours FORGE_TEST_SUITE: framework_upgrade @@ -269,7 +269,7 @@ jobs: FORGE_RUNNER_DURATION_SECS: 300 # Run for 5 minutes # This will upgrade from testnet branch to the latest main FORGE_TEST_SUITE: compat - IMAGE_TAG: 70806ff543496aa6de7807feff49e7e1370efd20 #aptos-node-v1.19.1 + IMAGE_TAG: 25a081116546670e62ca927ba90478de78557056 #aptos-node-v1.20 GIT_SHA: ${{ needs.determine-test-metadata.outputs.IMAGE_TAG }} # this is the git ref to checkout POST_TO_SLACK: true diff --git a/aptos-move/aptos-gas-schedule/src/ver.rs b/aptos-move/aptos-gas-schedule/src/ver.rs index 2df67131a21f7..f798c42b40145 100644 --- a/aptos-move/aptos-gas-schedule/src/ver.rs +++ b/aptos-move/aptos-gas-schedule/src/ver.rs @@ -69,7 +69,7 @@ /// global operations. /// - V1 /// - TBA -pub const LATEST_GAS_FEATURE_VERSION: u64 = gas_feature_versions::RELEASE_V1_20; +pub const LATEST_GAS_FEATURE_VERSION: u64 = gas_feature_versions::RELEASE_V1_21; pub mod gas_feature_versions { pub const RELEASE_V1_8: u64 = 11; diff --git a/keyless/circuit/templates/helpers/misc.circom b/keyless/circuit/templates/helpers/misc.circom index 109e824fa6d76..3385644889bbf 100644 --- a/keyless/circuit/templates/helpers/misc.circom +++ b/keyless/circuit/templates/helpers/misc.circom @@ -98,7 +98,9 @@ template EmailVerifiedCheck(maxEVNameLen, maxEVValueLen, maxUIDNameLen) { } } - +// Given an array of ascii characters representing a JSON object, output a binary array demarquing +// input = { asdfsdf "asdf" } +// output = 000000000001111000 template StringBodies(len) { signal input in[len]; signal output out[len]; @@ -126,21 +128,24 @@ template StringBodies(len) { for (var i = 1; i < len; i++) { var is_quote = IsEqual()([in[i], 34]); var prev_is_odd_backslash = adjacent_backslash_parity[i-1]; - quotes[i] <== is_quote * (1 - prev_is_odd_backslash); - quote_parity_1[i] <== quotes[i] * (1 - quote_parity[i-1]); - quote_parity_2[i] <== (1 - quotes[i]) * quote_parity[i-1]; - quote_parity[i] <== quote_parity_1[i] + quote_parity_2[i]; + quotes[i] <== is_quote * (1 - prev_is_odd_backslash); // 1 iff there is a non-escaped quote at this position + quote_parity_1[i] <== quotes[i] * (1 - quote_parity[i-1]); // 1 iff quotes[i] == 1 and quote_parity[i-1] == 0, else 0 + quote_parity_2[i] <== (1 - quotes[i]) * quote_parity[i-1]; // 1 iff quotes[i] == 0 and quote_party[i-1] == 1, else 0 + quote_parity[i] <== quote_parity_1[i] + quote_parity_2[i]; // Or of previous two, i.e., XOR(quotes[i], quote_parity[i-1]) } - + // input = { asdfsdf "asdf" } + // output = 000000000011111000 + // i.e., still has offset-by-one error out[0] <== 0; for (var i = 1; i < len; i++) { - out[i] <== AND()(quote_parity[i-1], quote_parity[i]); + out[i] <== AND()(quote_parity[i-1], quote_parity[i]); // remove offset error } } + // Given a base64-encoded array `in`, max length `maxN`, and actual unpadded length `n`, returns // the actual length of the decoded string template Base64DecodedLength(maxN) {