diff --git a/.github/scripts/extract-mainnet-aa-verification-inputs.mjs b/.github/scripts/extract-mainnet-aa-verification-inputs.mjs index 65f07a29b017..3130c358e386 100644 --- a/.github/scripts/extract-mainnet-aa-verification-inputs.mjs +++ b/.github/scripts/extract-mainnet-aa-verification-inputs.mjs @@ -126,7 +126,7 @@ const targets = [ metadata: { appendCBOR: false, bytecodeHash: 'none' }, licenseType: 'mit', spdxLicense: 'MIT', - constructorArgs: '', + constructorArgs: '0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a', expectedCodeSha256: 'f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1', rpcChecks: [], verificationMatch: 'partial', diff --git a/.github/scripts/mainnet-aa-source-ui.spec.mjs b/.github/scripts/mainnet-aa-source-ui.spec.mjs index a2fec710874d..15c08c6e9c3d 100644 --- a/.github/scripts/mainnet-aa-source-ui.spec.mjs +++ b/.github/scripts/mainnet-aa-source-ui.spec.mjs @@ -60,7 +60,7 @@ const targets = [ optimizerRuns: 200, evmVersion: "paris", license: "mit", - constructorArgs: "", + constructorArgs: "0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", verificationMatch: "partial", }, ]; diff --git a/.github/scripts/tests/test_extract_mainnet_aa_verification_inputs.py b/.github/scripts/tests/test_extract_mainnet_aa_verification_inputs.py index 9be009f79704..9fe558489918 100644 --- a/.github/scripts/tests/test_extract_mainnet_aa_verification_inputs.py +++ b/.github/scripts/tests/test_extract_mainnet_aa_verification_inputs.py @@ -36,6 +36,10 @@ def test_extracts_five_contract_specific_inputs_and_manifest(self): self.assertEqual( "FactoryStaker", contracts["factory-staker"]["contractName"] ) + self.assertEqual( + "0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + contracts["factory-staker"]["constructorArgs"], + ) self.assertEqual( "v0.8.23+commit.f704f362", contracts["entry-point"]["compilerVersion"], diff --git a/.github/scripts/tests/test_verify_mainnet_aa_sources.py b/.github/scripts/tests/test_verify_mainnet_aa_sources.py index 4ac4eb67ef2e..9ada09a00f2b 100644 --- a/.github/scripts/tests/test_verify_mainnet_aa_sources.py +++ b/.github/scripts/tests/test_verify_mainnet_aa_sources.py @@ -108,7 +108,7 @@ "metadata": {"appendCBOR": False, "bytecodeHash": "none"}, "licenseType": "mit", "spdxLicense": "MIT", - "constructorArgs": "", + "constructorArgs": "0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", "expectedCodeSha256": "f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1", "rpcChecks": [], "verificationMatch": "partial", diff --git a/.github/scripts/verify-mainnet-aa-sources.sh b/.github/scripts/verify-mainnet-aa-sources.sh index 8636fa9b3645..40a5890e438d 100644 --- a/.github/scripts/verify-mainnet-aa-sources.sh +++ b/.github/scripts/verify-mainnet-aa-sources.sh @@ -83,7 +83,7 @@ if ! "${jq_bin}" -e ' "compilerOutputFile":"factory-staker.compiler-output.json","compilerPackage":"solc-0.8.24", "compilerVersion":"v0.8.24+commit.e11b9ed9","evmVersion":"paris","optimizer":{"enabled":true,"runs":200}, "viaIR":false,"metadata":{"appendCBOR":false,"bytecodeHash":"none"},"licenseType":"mit","spdxLicense":"MIT", - "constructorArgs":"","expectedCodeSha256":"f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1","rpcChecks":[],"verificationMatch":"partial" + "constructorArgs":"0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a","expectedCodeSha256":"f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1","rpcChecks":[],"verificationMatch":"partial" } ] ' "${manifest_path}" >/dev/null; then diff --git a/docs/superpowers/plans/2026-08-14-mainnet-aa-source-verification.md b/docs/superpowers/plans/2026-08-14-mainnet-aa-source-verification.md index d071e534e56a..a3573083c424 100644 --- a/docs/superpowers/plans/2026-08-14-mainnet-aa-source-verification.md +++ b/docs/superpowers/plans/2026-08-14-mainnet-aa-source-verification.md @@ -91,7 +91,7 @@ | `kernel` | `0xd6CEDDe84be40893d153Be9d467CD6aD37875b28` | `Kernel` | `src/Kernel.sol` | `v0.8.28+commit.7893614a` | `prague` | 200 | true | `appendCBOR=false`, `bytecodeHash=none` | EntryPoint address | | `kernel-factory` | `0x2577507b78c2008Ff367261CB6285d44ba5eF2E9` | `KernelFactory` | `dependencies/kernel-v3.3/src/factory/KernelFactory.sol` | `v0.8.28+commit.7893614a` | `prague` | 200 | true | `appendCBOR=false`, `bytecodeHash=none` | Kernel address | | `ecdsa-validator` | `0x845ADb2C711129d4f3966735eD98a9F09fC4cE57` | `ECDSAValidator` | `src/validator/ECDSAValidator.sol` | `v0.8.25+commit.b61c2a91` | `paris` | 200 | true | `appendCBOR=false`, `bytecodeHash=none` | empty | -| `factory-staker` | `0xd703aaE79538628d27099B8c4f621bE4CCd142d5` | `FactoryStaker` | `src/factory/FactoryStaker.sol` | `v0.8.24+commit.e11b9ed9` | `paris` | 200 | omitted | `appendCBOR=false`, `bytecodeHash=none` | empty | +| `factory-staker` | `0xd703aaE79538628d27099B8c4f621bE4CCd142d5` | `FactoryStaker` | `src/factory/FactoryStaker.sol` | `v0.8.24+commit.e11b9ed9` | `paris` | 200 | omitted | `appendCBOR=false`, `bytecodeHash=none` | owner `0x9775137314fE595c943712B0b336327dfa80aE8A` | - [ ] **Step 1: Write the compiler toolchain package manifest** diff --git a/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.md b/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.md index 86eee410d36b..0b03e7f99b59 100644 --- a/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.md +++ b/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.md @@ -80,7 +80,7 @@ Each contract has its own canonical compilation profile. The implementation must | Kernel | `src/Kernel.sol` | `v0.8.28+commit.7893614a` | enabled, 200 runs | `prague` | `true` | no CBOR, no bytecode hash | `mit` | EntryPoint v0.7 address | | KernelFactory | `dependencies/kernel-v3.3/src/factory/KernelFactory.sol` | `v0.8.28+commit.7893614a` | enabled, 200 runs | `prague` | `true` | no CBOR, no bytecode hash | `mit` | Kernel implementation address | | ECDSAValidator | `src/validator/ECDSAValidator.sol` | `v0.8.25+commit.b61c2a91` | enabled, 200 runs | `paris` | `true` | no CBOR, no bytecode hash | `mit` | none | -| FactoryStaker | `src/factory/FactoryStaker.sol` | `v0.8.24+commit.e11b9ed9` | enabled, 200 runs | `paris` | omitted, equivalent to `false` | no CBOR, no bytecode hash | `mit` | none | +| FactoryStaker | `src/factory/FactoryStaker.sol` | `v0.8.24+commit.e11b9ed9` | enabled, 200 runs | `paris` | omitted, equivalent to `false` | no CBOR, no bytecode hash | `mit` | owner `0x9775137314fE595c943712B0b336327dfa80aE8A` | Compiler versions are normalized to a canonical `vX.Y.Z+commit...` form when comparing Blockscout metadata. diff --git a/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.vi.html b/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.vi.html index 3c62814df83c..8dc3d858a108 100644 --- a/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.vi.html +++ b/docs/superpowers/specs/2026-08-14-mainnet-aa-source-verification-design.vi.html @@ -172,6 +172,7 @@
EntryPoint dùng license gnu_gpl_v3. Bốn contract Kernel dùng mit. Compiler được normalize về dạng vX.Y.Z+commit... trước khi so metadata.
FactoryStaker được deploy với constructor owner 0x9775137314fE595c943712B0b336327dfa80aE8A. Verifier và Browser UAT phải so đúng ABI-encoded constructor argument này.