Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/scripts/extract-mainnet-aa-verification-inputs.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ const targets = [
metadata: { appendCBOR: false, bytecodeHash: 'none' },
licenseType: 'mit',
spdxLicense: 'MIT',
constructorArgs: '',
constructorArgs: '0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a',
expectedCodeSha256: 'f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1',
rpcChecks: [],
verificationMatch: 'partial',
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/mainnet-aa-source-ui.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ const targets = [
optimizerRuns: 200,
evmVersion: "paris",
license: "mit",
constructorArgs: "",
constructorArgs: "0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a",
verificationMatch: "partial",
},
];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"],
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/tests/test_verify_mainnet_aa_sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
"metadata": {"appendCBOR": False, "bytecodeHash": "none"},
"licenseType": "mit",
"spdxLicense": "MIT",
"constructorArgs": "",
"constructorArgs": "0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a",
"expectedCodeSha256": "f91091bf1260892a4d0b834494489fea55be2f2f968ad6b1abc1410531f2a2a1",
"rpcChecks": [],
"verificationMatch": "partial",
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/verify-mainnet-aa-sources.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ <h2>4. Profile compile riêng cho từng contract</h2>
</tbody>
</table>
<p>EntryPoint dùng license <code>gnu_gpl_v3</code>. Bốn contract Kernel dùng <code>mit</code>. Compiler được normalize về dạng <code>vX.Y.Z+commit...</code> trước khi so metadata.</p>
<p><code>FactoryStaker</code> được deploy với constructor owner <code>0x9775137314fE595c943712B0b336327dfa80aE8A</code>. Verifier và Browser UAT phải so đúng ABI-encoded constructor argument này.</p>
<div class="callout"><strong>Kernel cần xử lý riêng:</strong> bytecode có immutable gắn với EntryPoint và deployment theo chain. Gate phải compile cho DOS Chain 7979 với constructor argument chính xác, rồi so deployed bytecode bằng immutable-reference ranges. Không được lấy raw bytecode Ethereum làm chuẩn cho Kernel.</div>

<h2>5. Luồng workflow</h2>
Expand Down