@oaath/cli 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/cli.mjs +113 -13
- package/dist/{deploy-BtvOPlub.mjs → deploy-HTOl_P0V.mjs} +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -46,14 +46,14 @@ npx @oaath/cli deploy-runtime --chain 143 --rpc https://rpc.monad.xyz
|
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
The command requires an explicit RPC URL. The endpoint must report the requested
|
|
49
|
-
chain and carry the exact EntryPoint 0.7
|
|
49
|
+
chain and carry the exact EntryPoint 0.7, singleton CREATE2 deployer, ZeroDev
|
|
50
|
+
CallPolicy, operation-limit RateLimitPolicy, ECDSASigner and Daimo P-256 verifier runtimes.
|
|
50
51
|
It deploys only missing core components: Kernel UUPS, the factory's immutable
|
|
51
|
-
ECDSA implementation, factory, OAAth ValidityPolicy,
|
|
52
|
-
|
|
53
|
-
and ECDSASigner, plus the passkey-session WebAuthnSigner and P-256 verifier. Every payload uses the canonical `0x4e59…956C` deployer and zero
|
|
52
|
+
ECDSA implementation, factory, OAAth ValidityPolicy, the fixed-window
|
|
53
|
+
RateLimitPolicy for windowed operation limits and the passkey-session WebAuthnSigner. Every payload uses the canonical `0x4e59…956C` deployer and zero
|
|
54
54
|
salt; addresses are derived from the retained creation code and checked against
|
|
55
55
|
SDK bindings. Existing code with a wrong hash or unreadable evidence stops the
|
|
56
|
-
command.
|
|
56
|
+
command. Externally owned prerequisites and the optional P-256 validator are not deployed.
|
|
57
57
|
|
|
58
58
|
New transactions use the funded account named by `OAATH_DEPLOYER_PRIVATE_KEY`.
|
|
59
59
|
Keys are never accepted as command-line arguments or saved to the journal.
|
package/dist/cli.mjs
CHANGED
|
@@ -554,7 +554,7 @@ function kernelDeployment(value) {
|
|
|
554
554
|
}
|
|
555
555
|
parseAbi(["function isModuleInstalled(uint256 moduleTypeId, address module, bytes additionalContext) view returns (bool)"]);
|
|
556
556
|
//#endregion
|
|
557
|
-
//#region ../sdk/dist/create-kernel-runtime-
|
|
557
|
+
//#region ../sdk/dist/create-kernel-runtime-mOnCZXOz.js
|
|
558
558
|
/**
|
|
559
559
|
* ECDSA (secp256k1) KeyProfile. Owns public material, signing normalization,
|
|
560
560
|
* and local verification only.
|
|
@@ -626,14 +626,15 @@ Object.freeze({ status: "approval-replayable" });
|
|
|
626
626
|
* validity policy, CallPolicy, operation limit, ECDSA signer, and P-256 verifier. This
|
|
627
627
|
* file owns two facts about them: whether one is present on a chain
|
|
628
628
|
* (observeRuntimeModule, shared with createKernelRuntime's session bind) and
|
|
629
|
-
*
|
|
629
|
+
* deployment ownership and, for OAAth-owned deployments, the exact zero-salt
|
|
630
|
+
* CREATE2 transaction (shared with
|
|
630
631
|
* `oaath deploy-runtime`).
|
|
631
632
|
*
|
|
632
633
|
* Status vocabulary, closed and fail-closed:
|
|
633
634
|
*
|
|
634
635
|
* - `present`: the address carries exactly the pinned runtime code hash.
|
|
635
636
|
* - `missing`: the address provably carries no code, so the prepared
|
|
636
|
-
* deployment transaction is the remediation.
|
|
637
|
+
* deployment transaction is the remediation only for OAAth-owned modules.
|
|
637
638
|
* - `mismatch`: the address carries other code. It is never `present`, and it
|
|
638
639
|
* is distinct from `missing` because deploying cannot fix it: the CREATE2
|
|
639
640
|
* address is already occupied.
|
|
@@ -662,22 +663,22 @@ const RUNTIME_MODULES = Object.freeze({
|
|
|
662
663
|
p256_verifier: Object.freeze({
|
|
663
664
|
address: KERNEL_P256_VERIFIER,
|
|
664
665
|
runtimeCodeHash: KERNEL_P256_VERIFIER_RUNTIME_CODE_HASH,
|
|
665
|
-
deploymentInput:
|
|
666
|
+
deploymentInput: null
|
|
666
667
|
}),
|
|
667
668
|
call_policy: Object.freeze({
|
|
668
669
|
address: resolvePolicyModule("call"),
|
|
669
670
|
runtimeCodeHash: "0x99fc4b02bdbb9a5133728a2bfffb458bf8530b1b068d6d4334f69dcb454ace78",
|
|
670
|
-
deploymentInput: "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761198b908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c908163244d6cb2146100aa57508063309bfb76146100a55780636d61fe70146100a05780637129edce1461009b5780638a91b0e314610096578063d60b347f14610091578063d8ed2b3c1461008c578063ecd05961146100875763ffbb39f81461008257600080fd5b6107d3565b6107b3565b610755565b6106f6565b610670565b61046f565b6101d7565b61012b565b346100e55760203660031901126100e5576040906004356100ca816100e8565b6001600160a01b031681526020818152919020546080908152f35b80fd5b6001600160a01b038116036100f957565b600080fd5b9181601f840112156100f9578235916001600160401b0383116100f957602083818601950101116100f957565b346100f95760803660031901126100f9576101476024356100e8565b6064356001600160401b0381116100f9576101669036906004016100fe565b5050600435600090815260016020908152604080832033845290915290205460ff1660038110156101a4576001036100f95760405160008152602090f35b610735565b60206003198201126100f957600435906001600160401b0382116100f9576101d3916004016100fe565b9091565b6101e0366101a9565b906020916020116100f95790610248602083359361023a61022b610224610211886000526001602052604060002090565b3360009081526020919091526040902090565b5460ff1690565b6102348161074b565b15610849565b018035019060208201913590565b90916000925b8284106102b2576102956102888661027133916000526001602052604060002090565b9060018060a01b0316600052602052604060002090565b805460ff19166001179055565b3360009081526020819052604090206102ae8154610d08565b9055005b6102c56102c0858584610a7f565b610aa1565b6102da836102d4878786610a7f565b01610996565b946040916102f3836102ed848988610a7f565b01610ab6565b83516001600160f81b031990921686830190815260609890981b6001600160601b03191660018901526001600160e01b03191660158801529586601982010396610345601f19988981018352826109d9565b5190209661035e610357338a84610a19565b5115610acb565b6000975b61036d838887610a7f565b61037c60809182810190610b17565b90508a101561040a576001998a91899088878460066103ba6103b5836103af6103a6878b8a610a7f565b89810190610b17565b9061096f565b610b60565b6103c381610b56565b036103d6575b5050505050019850610362565b6103af87946103ef6103a694610400986103f897610a7f565b90810190610b17565b905014610b6a565b88388887846103c9565b50600194985061045f610467939492988a61045361044561043b898d6060610433838389610a7f565b013595610a7f565b6080810190610b17565b9096519687938c8501610c01565b039081018452836109d9565b339088611930565b01929361024e565b604060031981813601126100f95760049081356024356001600160401b0381116100f9576101208185019382360301126100f957606461051d91016104e36104c06104ba83876108cf565b90610850565b63e9ae5c5360e01b916001600160e01b0319916104dc91610901565b1614610849565b6105146105026104fc6104f684886108cf565b9061085e565b906108b2565b90818060081b918160301b9160501b90565b505050936108cf565b506024810135019183602484019301359060ff60f81b809116801560001461057e5750509061055261055c9261056094611908565b92909193336115d4565b1590565b61057057505b5160008152602090f35b905163016754b960e61b8152fd5b600160f81b8103610619575050509061059e908035019060208201913590565b60009291925b8181106105b5575050505050610566565b6105fd61055c6105ce6105c984868961096f565b610996565b6105e56105dc85878a61096f565b8a8101906108cf565b9060206105f387898c61096f565b013592883361127e565b610609576001016105a4565b855163016754b960e61b81528590fd5b03610660579161055c9161064d848061064761064161063b610656998861086f565b9061092d565b60601c90565b9461087d565b92909133610ec1565b6105705750610566565b84516339d2eb5560e01b81528490fd5b610679366101a9565b6020116100f95735600081815260016020908152604080832033845290915281205490919060ff1660038110156101a4576001036106f2578152600160209081526040808320336000908152908352818120805460ff19166002179055918290529020805480156106ed5760001901905580f35b610cf2565b5080fd5b346100f95760203660031901126100f957600435610713816100e8565b60018060a01b0316600052600060205260206040600020541515604051908152f35b634e487b7160e01b600052602160045260246000fd5b600311156101a457565b346100f95760403660031901126100f95760ff61079e602435610777816100e8565b600435600052600160205260406000209060018060a01b0316600052602052604060002090565b541660405160038210156101a4576020918152f35b346100f95760203660031901126100f95760206040516005600435148152f35b346100f95760603660031901126100f9576107fe6044356107f3816100e8565b602435600435610a19565b6040805190602080835283519182602085015260005b8381106108365784604081866000838284010152601f80199101168101030190f35b8581018301518582018301528201610814565b156100f957565b906004116100f95790600490565b906024116100f95760040190602090565b906014116100f95790601490565b90929192836014116100f95783116100f957601401916013190190565b909392938483116100f95784116100f9578101920390565b3590602081106108c0575090565b6000199060200360031b1b1690565b903590601e19813603018212156100f957018035906001600160401b0382116100f9576020019181360383136100f957565b6001600160e01b0319903581811693926004811061091e57505050565b60040360031b82901b16169150565b6001600160601b0319903581811693926014811061094a57505050565b60140360031b82901b16169150565b634e487b7160e01b600052603260045260246000fd5b91908110156109915760051b81013590605e19813603018212156100f9570190565b610959565b356109a0816100e8565b90565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176109d457604052565b6109a3565b90601f801991011681019081106001600160401b038211176109d457604052565b9190604051926020840152604083015260408252610a17826109b9565b565b610a4191610a29919493946109fa565b805160209182012090936001600160a01b03166109fa565b80519083012060405181548082529093918183019083805b838110610a6c5750505050830101604052565b8060051c83015481890152018490610a59565b91908110156109915760051b81013590609e19813603018212156100f9570190565b356001600160f81b0319811681036100f95790565b356001600160e01b0319811681036100f95790565b15610ad257565b60405162461bcd60e51b815260206004820152601860248201527f6475706c6963617465207065726d697373696f6e4861736800000000000000006044820152606490fd5b903590601e19813603018212156100f957018035906001600160401b0382116100f957602001918160051b360383136100f957565b600711156100f957565b600711156101a457565b356109a081610b4c565b15610b7157565b60405162461bcd60e51b815260206004820152602d60248201527f6f6e6c79204f6e654f6620636f6e646974696f6e2063616e2068617665206d7560448201526c6c7469706c6520706172616d7360981b6064820152608490fd5b6001600160401b038116036100f957565b81835290916001600160fb1b0383116100f95760209260051b809284830137010190565b90926040936040830190835281602091604083860152526060926060810160059660608560051b84010197876000945b878610610c45575050505050505050505090565b90919293949596979899605f198282030186528a35605e19843603018112156100f95783018035610c7581610b4c565b60078110156101a45782528881013590610c8e82610bcc565b6001600160401b038092168a84015286810135601e19823603018112156100f9570189813591019181116100f95780861b360382136100f957610cde8a9283928e86818c60019901520191610bdd565b9c0196019601949897969593929190610c31565b634e487b7160e01b600052601160045260246000fd5b60001981146106ed5760010190565b6001600160401b0381116109d45760051b60200190565b6040929181810384136100f957815193602091828401516001600160401b03948582116100f957019181601f840112156100f957825194610d6e86610d17565b95610d7b835197886109d9565b808752858701928660059260051b870101958587116100f957878101945b878610610dac5750505050505050505090565b85518581116100f957820160609081601f19828b0301126100f957845191610dd3836109b9565b8b820151610de081610b4c565b835285820151610def81610bcc565b8c840152810151908782116100f9570188603f820112156100f9578a81015190610e1882610d17565b91610e25875193846109d9565b808352868d840191891b830101918b83116100f95790878e959396949201905b868210610e6057505083945086820152815201950194610d99565b815181528e959182019101610e45565b8051156109915760200190565b80518210156109915760209160051b010190565b906001600160401b038092166004019182116106ed57565b9060206001600160401b03809316019182116106ed57565b90929084611265576000905b604080516001600160f81b0319602080830191825260609790971b6001600160601b03191660218301526001600160e01b031985166035830152919690939091610f3690849086603981015b0396610f2d601f19988981018352826109d9565b51902084610a19565b9384511561120d575b505050508051156111fc5780602080610f5d93518301019101610d2e565b905060005b81518110156111f157610f758183610e7d565b51610fc86104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b610e91565b93516001600160401b031690565b610ea9565b6001600160401b0380911691168a8861089a565b8151610fd381610b56565b610fdc81610b56565b15806111db575b15610ff5575050505050505050600090565b81519061100182610b56565b61100a82610b56565b6001809214806111c5575b1561102857505050505050505050600090565b6002835161103581610b56565b61103e81610b56565b14806111af575b1561105857505050505050505050600090565b6003835161106581610b56565b61106e81610b56565b148061119a575b1561108857505050505050505050600090565b6004835161109581610b56565b61109e81610b56565b1480611185575b156110b857505050505050505050600090565b600583516110c581610b56565b6110ce81610b56565b1480611170575b156110e857505050505050505050600090565b600683516110f581610b56565b6110fe81610b56565b1461110f575b505050600101610f62565b600092880183835b611138575b505050501561112d57388080611104565b505050505050600090565b8151805182101561116a578161114d91610e7d565b51831461115c57830183611117565b50505090503880808061111c565b5061111c565b5061117d88840151610e70565b5181146110d5565b5061119288840151610e70565b5181116110a5565b506111a788840151610e70565b518110611075565b506111bc88840151610e70565b51811015611045565b506111d288840151610e70565b51811115611015565b506111e887830151610e70565b51811415610fe3565b505050505050600190565b8351631c49f4d160e01b8152600490fd5b87516001600160f81b031960208201908152600060218301526001600160e01b0319909316603582015261125c9550906112539082603981015b039081018352826109d9565b51902090610a19565b38808080610f3f565b6112786112728684610850565b90610901565b90610ecd565b93949093919291856115c1576000905b6040958651926112d98360209886610f19856020830193849091601992600083526bffffffffffffffffffffffff199060601b16600183015263ffffffff60e01b1660158201520190565b93845115611583575b50505050805115611572578060208061130093518301019101610d2e565b91116115615760005b81518110156111f15761131c8183610e7d565b516113436104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b815161134e81610b56565b61135781610b56565b158061154b575b15611370575050505050505050600090565b81519061137c82610b56565b61138582610b56565b600180921480611535575b156113a357505050505050505050600090565b600283516113b081610b56565b6113b981610b56565b148061151f575b156113d357505050505050505050600090565b600383516113e081610b56565b6113e981610b56565b148061150a575b1561140357505050505050505050600090565b6004835161141081610b56565b61141981610b56565b14806114f5575b1561143357505050505050505050600090565b6005835161144081610b56565b61144981610b56565b14806114e0575b1561146357505050505050505050600090565b6006835161147081610b56565b61147981610b56565b1461148a575b505050600101611309565b600092880183835b6114a8575b505050501561112d5738808061147f565b815180518210156114da57816114bd91610e7d565b5183146114cc57830183611492565b505050905038808080611497565b50611497565b506114ed88840151610e70565b518114611450565b5061150288840151610e70565b518111611420565b5061151788840151610e70565b5181106113f0565b5061152c88840151610e70565b518110156113c0565b5061154288840151610e70565b51811115611390565b5061155887830151610e70565b5181141561135e565b8351631ed604b560e21b8152600490fd5b8451631c49f4d160e01b8152600490fd5b6115b8945061125389519182611247602082019586601991600082526000600183015263ffffffff60e01b1660158201520190565b388080806112e2565b6115ce6112728785610850565b9061128e565b93949093919291856118f5576000905b60409586519261162f8360209886610f19856020830193849091601992600083526bffffffffffffffffffffffff199060601b16600183015263ffffffff60e01b1660158201520190565b938451156118b7575b50505050805115611572578060208061165693518301019101610d2e565b91116115615760005b81518110156111f1576116728183610e7d565b516116996104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b81516116a481610b56565b6116ad81610b56565b15806118a1575b156116c6575050505050505050600090565b8151906116d282610b56565b6116db82610b56565b60018092148061188b575b156116f957505050505050505050600090565b6002835161170681610b56565b61170f81610b56565b1480611875575b1561172957505050505050505050600090565b6003835161173681610b56565b61173f81610b56565b1480611860575b1561175957505050505050505050600090565b6004835161176681610b56565b61176f81610b56565b148061184b575b1561178957505050505050505050600090565b6005835161179681610b56565b61179f81610b56565b1480611836575b156117b957505050505050505050600090565b600683516117c681610b56565b6117cf81610b56565b146117e0575b50505060010161165f565b600092880183835b6117fe575b505050501561112d573880806117d5565b81518051821015611830578161181391610e7d565b518314611822578301836117e8565b5050509050388080806117ed565b506117ed565b5061184388840151610e70565b5181146117a6565b5061185888840151610e70565b518111611776565b5061186d88840151610e70565b518110611746565b5061188288840151610e70565b51811015611716565b5061189888840151610e70565b518111156116e6565b506118ae87830151610e70565b518114156116b4565b6118ec945061125389519182611247602082019586601991600082526000600183015263ffffffff60e01b1660158201520190565b38808080611638565b6119026112728785610850565b906115e4565b90806014116100f957813560601c92816034116100f957601483013592603401916033190190565b61195891611940919594956109fa565b805160209182012090926001600160a01b03166109fa565b805160209182012084518082558201915b82811061197857505050509050565b8084918701518160051c8401550161196956"
|
|
671
|
+
deploymentInput: null
|
|
671
672
|
}),
|
|
672
673
|
operation_limit_policy: Object.freeze({
|
|
673
674
|
address: resolvePolicyModule("operation-limit"),
|
|
674
675
|
runtimeCodeHash: "0xb4fffdb494637e8e5bfc15d6500202c252392b498e518668f896dc6da0221183",
|
|
675
|
-
deploymentInput:
|
|
676
|
+
deploymentInput: null
|
|
676
677
|
}),
|
|
677
678
|
ecdsa_signer: Object.freeze({
|
|
678
679
|
address: resolvePinnedSigner("ecdsa"),
|
|
679
680
|
runtimeCodeHash: "0x510a0a1ab8b3f256a5c90b5fff51a9fd98656bd1c8a29fbd7857faa70c400ccd",
|
|
680
|
-
deploymentInput:
|
|
681
|
+
deploymentInput: null
|
|
681
682
|
})
|
|
682
683
|
});
|
|
683
684
|
Object.freeze(Object.keys(RUNTIME_MODULES));
|
|
@@ -685,12 +686,13 @@ function capturedModule(value) {
|
|
|
685
686
|
if (typeof value !== "string" || !Object.hasOwn(RUNTIME_MODULES, value)) return inputInvalid("Kernel runtime module is unsupported");
|
|
686
687
|
return value;
|
|
687
688
|
}
|
|
688
|
-
/** The exact CREATE2
|
|
689
|
+
/** The exact CREATE2 transaction for an OAAth-owned deployment, or null for an external module. */
|
|
689
690
|
function prepareRuntimeModuleDeployment(value) {
|
|
690
691
|
const record = exactInput(value, ["chainId", "module"], "Kernel runtime module deployment", /* @__PURE__ */ new WeakSet());
|
|
691
692
|
const deployment = kernelV4Deployment(record.chainId);
|
|
692
693
|
const module = capturedModule(record.module);
|
|
693
694
|
const row = RUNTIME_MODULES[module];
|
|
695
|
+
if (row.deploymentInput === null) return null;
|
|
694
696
|
return Object.freeze({
|
|
695
697
|
module,
|
|
696
698
|
address: row.address,
|
|
@@ -749,6 +751,92 @@ var p256Validator = {
|
|
|
749
751
|
"note": "The module's own broadcast record carries this exact deploymentInput and a status-1 receipt at this address. The constructor probes the P-256 precompile and reverts when it is absent, so the receipt is also evidence that Ethereum Sepolia carried EIP-7951 at this block. Read from the repository's committed broadcast record; no live RPC call was made."
|
|
750
752
|
}
|
|
751
753
|
};
|
|
754
|
+
var ecdsaSigner = {
|
|
755
|
+
"repository": "https://github.com/zerodevapp/kernel-7579-plugins",
|
|
756
|
+
"source": "src/ECDSASigner.sol",
|
|
757
|
+
"moduleType": 6,
|
|
758
|
+
"compiler": {
|
|
759
|
+
"solc": "0.8.24+commit.e11b9ed9",
|
|
760
|
+
"viaIR": true,
|
|
761
|
+
"optimizer": true,
|
|
762
|
+
"optimizerRuns": 200,
|
|
763
|
+
"evmVersion": "paris",
|
|
764
|
+
"bytecodeHash": "none",
|
|
765
|
+
"cborMetadata": false
|
|
766
|
+
},
|
|
767
|
+
"expectedAddress": "0x6a6f069e2a08c2468e7724ab3250cdbfba14d4ff",
|
|
768
|
+
"runtimeCodeHash": "0x510a0a1ab8b3f256a5c90b5fff51a9fd98656bd1c8a29fbd7857faa70c400ccd",
|
|
769
|
+
"deploymentInput": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610649908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b6000803560e01c80630ccab7a114610327578063244d6cb2146102f0578063392dffaf1461028f5780636d61fe70146101bc5780638a3646e3146101795780638a91b0e3146100d6578063d60b347f146100995763ecd059611461007757600080fd5b3461009657602036600319011261009657506006602092519135148152f35b80fd5b5082346100d25760203660031901126100d25760209181906001600160a01b036100c1610374565b168152808452205415159051908152f35b5080fd5b5091826020806003193601126100d257833567ffffffffffffffff81116101755761010490369086016103a5565b82116101755735808352600182528383203384528252838320546001600160a01b03161561017557825260018152828220338352815282822080546001600160a01b0319169055528220805490918115610162575060001901905580f35b634e487b7160e01b845260119052602483fd5b8280fd5b509190346101755781600319360112610175578160209361019861038f565b92358152600185528181206001600160a01b03938416825285522054915191168152f35b50916020908160031936011261028b57823567ffffffffffffffff811161026c576101ea90369085016103a5565b808495929511610287578435808752600185528387203388528552838720549092906001600160a01b03166102835786855283872080549091600019821461027057506001019055601f190160141161026c578452600182528084203385528252832091013560601c6bffffffffffffffffffffffff60a01b82541617905580f35b8480fd5b634e487b7160e01b895260119052602488fd5b8680fd5b8580fd5b8380fd5b50829034610096576080366003190112610096576102ab61038f565b506064359067ffffffffffffffff821161009657506020926102d36102de92369083016103a5565b916044359035610506565b90516001600160e01b03199091168152f35b5082346100d25760203660031901126100d25760209181906001600160a01b03610318610374565b16815280845220549051908152f35b50600319929190606036850112610096576024359367ffffffffffffffff85116100d257610120908536030112610096575060209261036d91604435918101903561043c565b9051908152f35b600435906001600160a01b038216820361038a57565b600080fd5b602435906001600160a01b038216820361038a57565b9181601f8401121561038a5782359167ffffffffffffffff831161038a576020838186019501011161038a57565b92919267ffffffffffffffff918281116104265760405192601f8201601f19908116603f01168401908111848210176104265760405282948184528183011161038a578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b91600092835260016020526040832033845260205260018060a01b0390816040852054169261010081013590601e1981360301821215610287570180359067ffffffffffffffff82116102875760200191813603831361028757836104ab6104a53685876103d3565b836105ab565b1685146104fe576104ef926104e9916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916103d3565b906105ab565b16036104f85790565b50600190565b505050505090565b92919092600052600160205260406000203360005260205260018060a01b03918260406000205416938361053e6104a53685876103d3565b16851461059a5761057d926104e9916020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c6004209236916103d3565b160361058e57630b135d3f60e11b90565b6001600160e01b031990565b50630b135d3f60e11b949350505050565b919091602060016080600082948390604080998151986105e9575b5050505afa51923d156105db57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146106295760418251146106125750505090503888816105c6565b60609384830151901a9052015190523888816105c6565b9250015190601b8260ff1c019052848060ff1b03166060523888816105c656",
|
|
770
|
+
"note": "Exact zero-salt CREATE2 payload extracted from the verified Arbitrum Sepolia deployment transaction; Blockscout verification reproduces both creation and runtime bytecode.",
|
|
771
|
+
"deploymentEvidence": {
|
|
772
|
+
"chainId": 421614,
|
|
773
|
+
"transactionHash": "0x8e282ec093d21f0a7f27a9e8d8bbfd90d092106d2fc1f104e74e4541c457a197",
|
|
774
|
+
"blockNumber": "32627805",
|
|
775
|
+
"deployer": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
|
|
776
|
+
"salt": "0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
777
|
+
"creationAccount": "0x2a5f59d7c9338c47acb962ad191d5ce47db118e8",
|
|
778
|
+
"initCodeHash": "0x5c757305090179fd55d99ade637da3ff267acfc8fcded63e39433c3466660559"
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
var p256Verifier = {
|
|
782
|
+
"repository": "https://github.com/daimo-eth/p256-verifier",
|
|
783
|
+
"commit": "607d3ec8377a3f59d65eca60d87dee8485d2ebcc",
|
|
784
|
+
"source": "src/P256Verifier.sol",
|
|
785
|
+
"note": "Not an ERC-7579 module: the audited Daimo P-256 verifier singleton the pinned WebAuthnSigner staticcalls at this fixed address when usePrecompiled is false. The deployment input is the exact mainnet broadcast calldata (zero salt + initcode) through the same deterministic CREATE2 proxy, so the address is chain-independent.",
|
|
786
|
+
"expectedAddress": "0xc2b78104907f722dabac4c69f826a522b2754de4",
|
|
787
|
+
"deploymentInput": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610dd1908161001c8239f35b600080fdfe60e06040523461001a57610012366100c7565b602081519101f35b600080fd5b6040810190811067ffffffffffffffff82111761003b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff82111761003b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761003b57604052565b60a08103610193578060201161001a57600060409180831161018f578060601161018f578060801161018f5760a01161018c57815182810181811067ffffffffffffffff82111761015f579061013291845260603581526080356020820152833560203584356101ab565b15610156575060ff6001915b5191166020820152602081526101538161001f565b90565b60ff909161013e565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b5080fd5b5060405160006020820152602081526101538161001f565b909283158015610393575b801561038b575b8015610361575b6103585780519060206101dc818301938451906103bd565b1561034d57604051948186019082825282604088015282606088015260808701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f60a08701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551958660c082015260c081526102588161006a565b600080928192519060055afa903d15610345573d9167ffffffffffffffff831161031857604051926102b1857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190516102e693929185908181890994099151906104eb565b061490565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526001600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6060916102ba565b505050505050600090565b50505050600090565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518310156101c4565b5082156101bd565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518410156101b6565b7fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818110801590610466575b8015610455575b61044d577f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8282818080957fffffffff00000001000000000000000000000000fffffffffffffffffffffffc0991818180090908089180091490565b505050600090565b50801580156103f1575082156103f1565b50818310156103ea565b7f800000000000000000000000000000000000000000000000000000000000000081146104bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b909192608052600091600160a05260a05193600092811580610718575b61034d57610516838261073d565b95909460ff60c05260005b600060c05112156106ef575b60a05181036106a1575050507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2969594939291965b600060c05112156105c7575050505050507fffffffff00000001000000000000000000000000ffffffffffffffffffffffff91506105c260a051610ca2565b900990565b956105d9929394959660a05191610a98565b9097929181928960a0528192819a6105f66080518960c051610722565b61060160c051610470565b60c0528061061b5750505050505b96959493929196610583565b969b5061067b96939550919350916001810361068857507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5937f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29693610952565b979297919060a05261060f565b6002036106985786938a93610952565b88938893610952565b600281036106ba57505050829581959493929196610583565b9197917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0161060f575095508495849661060f565b506106ff6080518560c051610722565b8061070b60c051610470565b60c052156105215761052d565b5060805115610508565b91906002600192841c831b16921c1681018091116104bc5790565b8015806107ab575b6107635761075f91610756916107b3565b92919091610c42565b9091565b50507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296907f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f590565b508115610745565b919082158061094a575b1561080f57507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29691507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5906001908190565b7fb01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff808481600186090894817f94e82e0c1ed3bdb90743191a9c5bbf0d88fc827fd214cc5f0b5ec6ba27673d6981600184090893841561091b575050808084800993840994818460010994828088600109957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908935b93929190565b9350935050921560001461093b5761093291610b6d565b91939092610915565b50506000806000926000610915565b5080156107bd565b91949592939095811580610a90575b15610991575050831580610989575b61097a5793929190565b50600093508392508291508190565b508215610970565b85919294951580610a88575b610a78577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff968703918783116104bc5787838189850908938689038981116104bc5789908184840908928315610a5d575050818880959493928180848196099b8c9485099b8c920999099609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908929190565b965096505050509093501560001461093b5761093291610b6d565b9550509150915091906001908190565b50851561099d565b508015610961565b939092821580610b65575b61097a577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff908185600209948280878009809709948380888a0998818080808680097fffffffff00000001000000000000000000000000fffffffffffffffffffffffc099280096003090884808a7fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818380090898898603918683116104bc57888703908782116104bc578780969481809681950994089009089609930990565b508015610aa3565b919091801580610c3a575b610c2d577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818460020991808084800980940991817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc81808088860994800960030908958280837fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818980090896878403918483116104bc57858503928584116104bc5785809492819309940890090892565b5060009150819081908190565b508215610b78565b909392821580610c9a575b610c8d57610c5a90610ca2565b9182917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff80809581940980099009930990565b5050509050600090600090565b508015610c4d565b604051906020918281019183835283604083015283606083015260808201527fffffffff00000001000000000000000000000000fffffffffffffffffffffffd60a08201527fffffffff00000001000000000000000000000000ffffffffffffffffffffffff60c082015260c08152610d1a8161006a565b600080928192519060055afa903d15610d93573d9167ffffffffffffffff83116103185760405192610d73857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190565b606091610d7c56fea2646970667358221220fa55558b04ced380e93d0a46be01bb895ff30f015c50c516e898c341cd0a230264736f6c63430008150033",
|
|
788
|
+
"runtimeCodeHash": "0x3cd725b6ba67b40b7979190c41a015e82cf21e098eb61832ba623f8538bab7fc"
|
|
789
|
+
};
|
|
790
|
+
var callPolicy = {
|
|
791
|
+
"repository": "https://github.com/cartesi/erc-4337-devnet",
|
|
792
|
+
"commit": "2d86aeea200a52919304b535454850182b80e563",
|
|
793
|
+
"source": "zerodev/kernel-call-policy/0.0.4/src/CallPolicy.sol",
|
|
794
|
+
"package": "zerodev-kernel-call-policy@0.0.4",
|
|
795
|
+
"moduleType": 5,
|
|
796
|
+
"compiler": {
|
|
797
|
+
"solc": "0.8.24+commit.e11b9ed9",
|
|
798
|
+
"viaIR": true,
|
|
799
|
+
"optimizer": true,
|
|
800
|
+
"optimizerRuns": 200,
|
|
801
|
+
"evmVersion": "paris",
|
|
802
|
+
"bytecodeHash": "none",
|
|
803
|
+
"cborMetadata": false
|
|
804
|
+
},
|
|
805
|
+
"expectedAddress": "0x9a52283276a0ec8740df50bf01b28a80d880eaf2",
|
|
806
|
+
"packageExpectedAddress": "0x9a52283276A0ec8740DF50bF01B28A80D880eaf2",
|
|
807
|
+
"runtimeCodeHash": "0x99fc4b02bdbb9a5133728a2bfffb458bf8530b1b068d6d4334f69dcb454ace78",
|
|
808
|
+
"note": "Recompiling this source with this profile and the mirrored Kernel v3 dependency sources reproduces the package's own cannon expected address, so the pinned address is ZeroDev's.",
|
|
809
|
+
"relatedVerifiedDeployment": {
|
|
810
|
+
"package": "zerodev-kernel-call-policy@0.0.1",
|
|
811
|
+
"chainId": 42161,
|
|
812
|
+
"address": "0xe4fec84b7b002273ecc86baa65a831ddb92d30a8",
|
|
813
|
+
"runtimeCodeHash": "0x5d6f60d6bb71d6a9e1514c62417a5ab5eaa6e363cad29ba35d6d97c0f6c3492c",
|
|
814
|
+
"matchesPinnedModule": false,
|
|
815
|
+
"note": "One manual eth_getCode on 2026-08-04 read 4620 bytes of live code there; the pinned 0.0.4 runtime is 6539 bytes. 0.0.1 predates the explicit no-matching-permission revert, the ONE_OF condition, multi-parameter rules and the empty-calldata selector derivation a plain value transfer needs. Tests never read this address."
|
|
816
|
+
},
|
|
817
|
+
"deploymentInput": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761198b908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c908163244d6cb2146100aa57508063309bfb76146100a55780636d61fe70146100a05780637129edce1461009b5780638a91b0e314610096578063d60b347f14610091578063d8ed2b3c1461008c578063ecd05961146100875763ffbb39f81461008257600080fd5b6107d3565b6107b3565b610755565b6106f6565b610670565b61046f565b6101d7565b61012b565b346100e55760203660031901126100e5576040906004356100ca816100e8565b6001600160a01b031681526020818152919020546080908152f35b80fd5b6001600160a01b038116036100f957565b600080fd5b9181601f840112156100f9578235916001600160401b0383116100f957602083818601950101116100f957565b346100f95760803660031901126100f9576101476024356100e8565b6064356001600160401b0381116100f9576101669036906004016100fe565b5050600435600090815260016020908152604080832033845290915290205460ff1660038110156101a4576001036100f95760405160008152602090f35b610735565b60206003198201126100f957600435906001600160401b0382116100f9576101d3916004016100fe565b9091565b6101e0366101a9565b906020916020116100f95790610248602083359361023a61022b610224610211886000526001602052604060002090565b3360009081526020919091526040902090565b5460ff1690565b6102348161074b565b15610849565b018035019060208201913590565b90916000925b8284106102b2576102956102888661027133916000526001602052604060002090565b9060018060a01b0316600052602052604060002090565b805460ff19166001179055565b3360009081526020819052604090206102ae8154610d08565b9055005b6102c56102c0858584610a7f565b610aa1565b6102da836102d4878786610a7f565b01610996565b946040916102f3836102ed848988610a7f565b01610ab6565b83516001600160f81b031990921686830190815260609890981b6001600160601b03191660018901526001600160e01b03191660158801529586601982010396610345601f19988981018352826109d9565b5190209661035e610357338a84610a19565b5115610acb565b6000975b61036d838887610a7f565b61037c60809182810190610b17565b90508a101561040a576001998a91899088878460066103ba6103b5836103af6103a6878b8a610a7f565b89810190610b17565b9061096f565b610b60565b6103c381610b56565b036103d6575b5050505050019850610362565b6103af87946103ef6103a694610400986103f897610a7f565b90810190610b17565b905014610b6a565b88388887846103c9565b50600194985061045f610467939492988a61045361044561043b898d6060610433838389610a7f565b013595610a7f565b6080810190610b17565b9096519687938c8501610c01565b039081018452836109d9565b339088611930565b01929361024e565b604060031981813601126100f95760049081356024356001600160401b0381116100f9576101208185019382360301126100f957606461051d91016104e36104c06104ba83876108cf565b90610850565b63e9ae5c5360e01b916001600160e01b0319916104dc91610901565b1614610849565b6105146105026104fc6104f684886108cf565b9061085e565b906108b2565b90818060081b918160301b9160501b90565b505050936108cf565b506024810135019183602484019301359060ff60f81b809116801560001461057e5750509061055261055c9261056094611908565b92909193336115d4565b1590565b61057057505b5160008152602090f35b905163016754b960e61b8152fd5b600160f81b8103610619575050509061059e908035019060208201913590565b60009291925b8181106105b5575050505050610566565b6105fd61055c6105ce6105c984868961096f565b610996565b6105e56105dc85878a61096f565b8a8101906108cf565b9060206105f387898c61096f565b013592883361127e565b610609576001016105a4565b855163016754b960e61b81528590fd5b03610660579161055c9161064d848061064761064161063b610656998861086f565b9061092d565b60601c90565b9461087d565b92909133610ec1565b6105705750610566565b84516339d2eb5560e01b81528490fd5b610679366101a9565b6020116100f95735600081815260016020908152604080832033845290915281205490919060ff1660038110156101a4576001036106f2578152600160209081526040808320336000908152908352818120805460ff19166002179055918290529020805480156106ed5760001901905580f35b610cf2565b5080fd5b346100f95760203660031901126100f957600435610713816100e8565b60018060a01b0316600052600060205260206040600020541515604051908152f35b634e487b7160e01b600052602160045260246000fd5b600311156101a457565b346100f95760403660031901126100f95760ff61079e602435610777816100e8565b600435600052600160205260406000209060018060a01b0316600052602052604060002090565b541660405160038210156101a4576020918152f35b346100f95760203660031901126100f95760206040516005600435148152f35b346100f95760603660031901126100f9576107fe6044356107f3816100e8565b602435600435610a19565b6040805190602080835283519182602085015260005b8381106108365784604081866000838284010152601f80199101168101030190f35b8581018301518582018301528201610814565b156100f957565b906004116100f95790600490565b906024116100f95760040190602090565b906014116100f95790601490565b90929192836014116100f95783116100f957601401916013190190565b909392938483116100f95784116100f9578101920390565b3590602081106108c0575090565b6000199060200360031b1b1690565b903590601e19813603018212156100f957018035906001600160401b0382116100f9576020019181360383136100f957565b6001600160e01b0319903581811693926004811061091e57505050565b60040360031b82901b16169150565b6001600160601b0319903581811693926014811061094a57505050565b60140360031b82901b16169150565b634e487b7160e01b600052603260045260246000fd5b91908110156109915760051b81013590605e19813603018212156100f9570190565b610959565b356109a0816100e8565b90565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176109d457604052565b6109a3565b90601f801991011681019081106001600160401b038211176109d457604052565b9190604051926020840152604083015260408252610a17826109b9565b565b610a4191610a29919493946109fa565b805160209182012090936001600160a01b03166109fa565b80519083012060405181548082529093918183019083805b838110610a6c5750505050830101604052565b8060051c83015481890152018490610a59565b91908110156109915760051b81013590609e19813603018212156100f9570190565b356001600160f81b0319811681036100f95790565b356001600160e01b0319811681036100f95790565b15610ad257565b60405162461bcd60e51b815260206004820152601860248201527f6475706c6963617465207065726d697373696f6e4861736800000000000000006044820152606490fd5b903590601e19813603018212156100f957018035906001600160401b0382116100f957602001918160051b360383136100f957565b600711156100f957565b600711156101a457565b356109a081610b4c565b15610b7157565b60405162461bcd60e51b815260206004820152602d60248201527f6f6e6c79204f6e654f6620636f6e646974696f6e2063616e2068617665206d7560448201526c6c7469706c6520706172616d7360981b6064820152608490fd5b6001600160401b038116036100f957565b81835290916001600160fb1b0383116100f95760209260051b809284830137010190565b90926040936040830190835281602091604083860152526060926060810160059660608560051b84010197876000945b878610610c45575050505050505050505090565b90919293949596979899605f198282030186528a35605e19843603018112156100f95783018035610c7581610b4c565b60078110156101a45782528881013590610c8e82610bcc565b6001600160401b038092168a84015286810135601e19823603018112156100f9570189813591019181116100f95780861b360382136100f957610cde8a9283928e86818c60019901520191610bdd565b9c0196019601949897969593929190610c31565b634e487b7160e01b600052601160045260246000fd5b60001981146106ed5760010190565b6001600160401b0381116109d45760051b60200190565b6040929181810384136100f957815193602091828401516001600160401b03948582116100f957019181601f840112156100f957825194610d6e86610d17565b95610d7b835197886109d9565b808752858701928660059260051b870101958587116100f957878101945b878610610dac5750505050505050505090565b85518581116100f957820160609081601f19828b0301126100f957845191610dd3836109b9565b8b820151610de081610b4c565b835285820151610def81610bcc565b8c840152810151908782116100f9570188603f820112156100f9578a81015190610e1882610d17565b91610e25875193846109d9565b808352868d840191891b830101918b83116100f95790878e959396949201905b868210610e6057505083945086820152815201950194610d99565b815181528e959182019101610e45565b8051156109915760200190565b80518210156109915760209160051b010190565b906001600160401b038092166004019182116106ed57565b9060206001600160401b03809316019182116106ed57565b90929084611265576000905b604080516001600160f81b0319602080830191825260609790971b6001600160601b03191660218301526001600160e01b031985166035830152919690939091610f3690849086603981015b0396610f2d601f19988981018352826109d9565b51902084610a19565b9384511561120d575b505050508051156111fc5780602080610f5d93518301019101610d2e565b905060005b81518110156111f157610f758183610e7d565b51610fc86104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b610e91565b93516001600160401b031690565b610ea9565b6001600160401b0380911691168a8861089a565b8151610fd381610b56565b610fdc81610b56565b15806111db575b15610ff5575050505050505050600090565b81519061100182610b56565b61100a82610b56565b6001809214806111c5575b1561102857505050505050505050600090565b6002835161103581610b56565b61103e81610b56565b14806111af575b1561105857505050505050505050600090565b6003835161106581610b56565b61106e81610b56565b148061119a575b1561108857505050505050505050600090565b6004835161109581610b56565b61109e81610b56565b1480611185575b156110b857505050505050505050600090565b600583516110c581610b56565b6110ce81610b56565b1480611170575b156110e857505050505050505050600090565b600683516110f581610b56565b6110fe81610b56565b1461110f575b505050600101610f62565b600092880183835b611138575b505050501561112d57388080611104565b505050505050600090565b8151805182101561116a578161114d91610e7d565b51831461115c57830183611117565b50505090503880808061111c565b5061111c565b5061117d88840151610e70565b5181146110d5565b5061119288840151610e70565b5181116110a5565b506111a788840151610e70565b518110611075565b506111bc88840151610e70565b51811015611045565b506111d288840151610e70565b51811115611015565b506111e887830151610e70565b51811415610fe3565b505050505050600190565b8351631c49f4d160e01b8152600490fd5b87516001600160f81b031960208201908152600060218301526001600160e01b0319909316603582015261125c9550906112539082603981015b039081018352826109d9565b51902090610a19565b38808080610f3f565b6112786112728684610850565b90610901565b90610ecd565b93949093919291856115c1576000905b6040958651926112d98360209886610f19856020830193849091601992600083526bffffffffffffffffffffffff199060601b16600183015263ffffffff60e01b1660158201520190565b93845115611583575b50505050805115611572578060208061130093518301019101610d2e565b91116115615760005b81518110156111f15761131c8183610e7d565b516113436104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b815161134e81610b56565b61135781610b56565b158061154b575b15611370575050505050505050600090565b81519061137c82610b56565b61138582610b56565b600180921480611535575b156113a357505050505050505050600090565b600283516113b081610b56565b6113b981610b56565b148061151f575b156113d357505050505050505050600090565b600383516113e081610b56565b6113e981610b56565b148061150a575b1561140357505050505050505050600090565b6004835161141081610b56565b61141981610b56565b14806114f5575b1561143357505050505050505050600090565b6005835161144081610b56565b61144981610b56565b14806114e0575b1561146357505050505050505050600090565b6006835161147081610b56565b61147981610b56565b1461148a575b505050600101611309565b600092880183835b6114a8575b505050501561112d5738808061147f565b815180518210156114da57816114bd91610e7d565b5183146114cc57830183611492565b505050905038808080611497565b50611497565b506114ed88840151610e70565b518114611450565b5061150288840151610e70565b518111611420565b5061151788840151610e70565b5181106113f0565b5061152c88840151610e70565b518110156113c0565b5061154288840151610e70565b51811115611390565b5061155887830151610e70565b5181141561135e565b8351631ed604b560e21b8152600490fd5b8451631c49f4d160e01b8152600490fd5b6115b8945061125389519182611247602082019586601991600082526000600183015263ffffffff60e01b1660158201520190565b388080806112e2565b6115ce6112728785610850565b9061128e565b93949093919291856118f5576000905b60409586519261162f8360209886610f19856020830193849091601992600083526bffffffffffffffffffffffff199060601b16600183015263ffffffff60e01b1660158201520190565b938451156118b7575b50505050805115611572578060208061165693518301019101610d2e565b91116115615760005b81518110156111f1576116728183610e7d565b516116996104fc868301610fb4610faf610f9c610fa1610f9c85516001600160401b031690565b81516116a481610b56565b6116ad81610b56565b15806118a1575b156116c6575050505050505050600090565b8151906116d282610b56565b6116db82610b56565b60018092148061188b575b156116f957505050505050505050600090565b6002835161170681610b56565b61170f81610b56565b1480611875575b1561172957505050505050505050600090565b6003835161173681610b56565b61173f81610b56565b1480611860575b1561175957505050505050505050600090565b6004835161176681610b56565b61176f81610b56565b148061184b575b1561178957505050505050505050600090565b6005835161179681610b56565b61179f81610b56565b1480611836575b156117b957505050505050505050600090565b600683516117c681610b56565b6117cf81610b56565b146117e0575b50505060010161165f565b600092880183835b6117fe575b505050501561112d573880806117d5565b81518051821015611830578161181391610e7d565b518314611822578301836117e8565b5050509050388080806117ed565b506117ed565b5061184388840151610e70565b5181146117a6565b5061185888840151610e70565b518111611776565b5061186d88840151610e70565b518110611746565b5061188288840151610e70565b51811015611716565b5061189888840151610e70565b518111156116e6565b506118ae87830151610e70565b518114156116b4565b6118ec945061125389519182611247602082019586601991600082526000600183015263ffffffff60e01b1660158201520190565b38808080611638565b6119026112728785610850565b906115e4565b90806014116100f957813560601c92816034116100f957601483013592603401916033190190565b61195891611940919594956109fa565b805160209182012090926001600160a01b03166109fa565b805160209182012084518082558201915b82811061197857505050509050565b8084918701518160051c8401550161196956"
|
|
818
|
+
};
|
|
819
|
+
var rateLimitPolicy = {
|
|
820
|
+
"repository": "https://github.com/cartesi/erc-4337-devnet",
|
|
821
|
+
"commit": "2d86aeea200a52919304b535454850182b80e563",
|
|
822
|
+
"source": "zerodev/kernel-rate-limit-policy/0.0.1/src/RateLimitPolicy.sol",
|
|
823
|
+
"package": "zerodev-kernel-ratelimit-policy@0.0.1",
|
|
824
|
+
"moduleType": 5,
|
|
825
|
+
"compiler": {
|
|
826
|
+
"solc": "0.8.24+commit.e11b9ed9",
|
|
827
|
+
"viaIR": true,
|
|
828
|
+
"optimizer": true,
|
|
829
|
+
"optimizerRuns": 200,
|
|
830
|
+
"evmVersion": "paris",
|
|
831
|
+
"bytecodeHash": "none",
|
|
832
|
+
"cborMetadata": false
|
|
833
|
+
},
|
|
834
|
+
"expectedAddress": "0xf63d4139b25c836334edd76641356c6b74c86873",
|
|
835
|
+
"packageExpectedAddress": "0xf63d4139B25c836334edD76641356c6b74C86873",
|
|
836
|
+
"runtimeCodeHash": "0xb4fffdb494637e8e5bfc15d6500202c252392b498e518668f896dc6da0221183",
|
|
837
|
+
"note": "Recompiling this source with this profile and the package's own vendored Kernel v3 dependency sources reproduces the package's own cannon expected address, so the pinned address is ZeroDev's. onInstall reads id followed by packed uint48 interval, count and startAt; checkUserOpPolicy decrements count per validated operation and returns 1, Kernel's signature-failure sentinel, once it is exhausted.",
|
|
838
|
+
"deploymentInput": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576106cb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600090813560e01c908163244d6cb2146104a857508063309bfb76146104235780636d61fe70146102ae5780637129edce1461026c5780638712147a1461020c5780638a91b0e314610149578063d60b347f14610110578063d8ed2b3c146100aa5763ecd059611461008857600080fd5b346100a75760203660031901126100a757506005602092519135148152f35b80fd5b50823461010c578060031936011261010c576100c46104f6565b8335835260016020528183209060018060a01b0316835260205260ff818320541690519160038210156100f957602083838152f35b634e487b7160e01b815260218452602490fd5b5080fd5b50823461010c57602036600319011261010c5760209181906001600160a01b036101386104db565b168152808452205415159051908152f35b509160208060031936011261020857823567ffffffffffffffff811161020457610176903690850161050c565b8211610204573580855260018252828520338652825260ff838620541660038110156101f157906001869392036101ed578252600181528282203383528152828220805460ff191660021790555282208054909181156101da575060001901905580f35b634e487b7160e01b845260119052602483fd5b8280fd5b634e487b7160e01b865260218552602486fd5b8480fd5b8380fd5b509190346101ed57816003193601126101ed57606092829161022c6104f6565b9035825260026020528282209060018060a01b0316825260205220549065ffffffffffff8151928181168452818160301c166020850152841c1690820152f35b508290600319828136011261010c5760243567ffffffffffffffff81116101ed579061012091360301126100a757506102a760209235610570565b9051908152f35b509160208060031936011261020857823567ffffffffffffffff8111610204576102db903690850161050c565b9081831161041f57803591601f190182875260018452848720338852845260ff8588205416600381101561040c5790879493929161020457806006116102045780600c1161020457601211610208576103d79061033661053a565b908481013560d01c825284820190602681013560d01c8252602c88840191013560d01c81528487526002865287872033885286526103b38888209365ffffffffffff93848092511665ffffffffffff198754161786555116849065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b51825465ffffffffffff60601b1916911660601b65ffffffffffff60601b16179055565b8252600181528282203383528152828220600160ff198254161790555282209081549060001982146101da5750600101905580f35b634e487b7160e01b885260218752602488fd5b8580fd5b509190346101ed5760803660031901126101ed5761043f6104f6565b5060643567ffffffffffffffff81116102085761045f903690830161050c565b505080358352600160205281832033845260205260ff8284205416906003821015610495575060010361010c5751908152602090f35b634e487b7160e01b845260219052602483fd5b905083346101ed5760203660031901126101ed576020926001600160a01b036104cf6104db565b16815280845220548152f35b600435906001600160a01b03821682036104f157565b600080fd5b602435906001600160a01b03821682036104f157565b9181601f840112156104f15782359167ffffffffffffffff83116104f157602083818601950101116104f157565b604051906060820182811067ffffffffffffffff82111761055a57604052565b634e487b7160e01b600052604160045260246000fd5b906000828152602090600182526040808220338352835260ff818320541660038110156106b75760010361010c578482526002835280822033835283528082206105b861053a565b90549365ffffffffffff918286168152828660301c168083830152838583019760601c16875280156106aa576000190183811161069657610629908987526002845285872033885284528587209065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b8280875116915116019082821161068257968452600287528284203385529096529120805465ffffffffffff60601b19169190941660601b65ffffffffffff60601b1617909255905160d01b6001600160d01b03191690565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b86526011600452602486fd5b5060019750505050505050565b634e487b7160e01b83526021600452602483fd"
|
|
839
|
+
};
|
|
752
840
|
//#endregion
|
|
753
841
|
//#region ../contracts/artifacts/OaathKernelV4ValidityPolicy.json
|
|
754
842
|
var deployment = {
|
|
@@ -787,6 +875,7 @@ function runtimeModule(chainId, id, module, passkey = false) {
|
|
|
787
875
|
chainId,
|
|
788
876
|
module
|
|
789
877
|
});
|
|
878
|
+
if (prepared === null) throw new Error(`External runtime module: ${module}`);
|
|
790
879
|
return [
|
|
791
880
|
id,
|
|
792
881
|
{
|
|
@@ -798,6 +887,17 @@ function runtimeModule(chainId, id, module, passkey = false) {
|
|
|
798
887
|
passkey
|
|
799
888
|
];
|
|
800
889
|
}
|
|
890
|
+
/** Externally owned module deployments are prerequisites, never CLI transactions. */
|
|
891
|
+
function externalComponent(id, artifact, passkey = false) {
|
|
892
|
+
return {
|
|
893
|
+
id,
|
|
894
|
+
address: artifact.expectedAddress,
|
|
895
|
+
runtimeCodeHash: artifact.runtimeCodeHash,
|
|
896
|
+
required: !passkey,
|
|
897
|
+
passkeySession: passkey,
|
|
898
|
+
deploymentInput: null
|
|
899
|
+
};
|
|
900
|
+
}
|
|
801
901
|
function components(chainId) {
|
|
802
902
|
const deployment$1 = kernelDeployment({ chainId });
|
|
803
903
|
const implementationHash = deployment$1.implementationDeployment?.runtimeCodeHash;
|
|
@@ -829,13 +929,13 @@ function components(chainId) {
|
|
|
829
929
|
runtimeCodeHash: deployment$1.factoryRuntimeCodeHash
|
|
830
930
|
}, deployment$1.factory),
|
|
831
931
|
deployable(...runtimeModule(chainId, "validityPolicy", "validity_policy")),
|
|
832
|
-
|
|
833
|
-
|
|
932
|
+
externalComponent("callPolicy", callPolicy),
|
|
933
|
+
externalComponent("rateLimitPolicy", rateLimitPolicy),
|
|
834
934
|
deployable(...runtimeModule(chainId, "resettingRateLimitPolicy", "rate_limit_policy")),
|
|
835
|
-
|
|
935
|
+
externalComponent("ecdsaSigner", ecdsaSigner),
|
|
836
936
|
deployable("p256Validator", p256Validator, p256Validator.expectedAddress, false),
|
|
837
937
|
deployable(...runtimeModule(chainId, "webAuthnSigner", "webauthn_signer", true)),
|
|
838
|
-
|
|
938
|
+
externalComponent("p256Verifier", p256Verifier, true)
|
|
839
939
|
];
|
|
840
940
|
}
|
|
841
941
|
//#endregion
|
|
@@ -1061,7 +1161,7 @@ async function main() {
|
|
|
1061
1161
|
}
|
|
1062
1162
|
if (deploying) {
|
|
1063
1163
|
const [{ deployRuntime, DeploymentError }, { DeploymentJournal }, { privateKeyToAccount }, { homedir }, { join, resolve }] = await Promise.all([
|
|
1064
|
-
import("./deploy-
|
|
1164
|
+
import("./deploy-HTOl_P0V.mjs"),
|
|
1065
1165
|
import("./journal-DkNIXY4X.mjs"),
|
|
1066
1166
|
import("viem/accounts"),
|
|
1067
1167
|
import("node:os"),
|
|
@@ -12,9 +12,9 @@ var DeploymentError = class extends Error {
|
|
|
12
12
|
function deploys(row) {
|
|
13
13
|
return row.required || row.passkeySession;
|
|
14
14
|
}
|
|
15
|
-
function validateReadiness(report) {
|
|
15
|
+
function validateReadiness(report, manifest) {
|
|
16
16
|
if (report.error || report.components.some((row) => deploys(row) && (row.status === "mismatch" || row.status === "unreadable"))) throw new DeploymentError("deployment_evidence_invalid");
|
|
17
|
-
for (const id of
|
|
17
|
+
for (const { id } of manifest.filter((row) => deploys(row) && row.deploymentInput === null)) if (report.components.find((row) => row.id === id)?.status !== "verified") throw new DeploymentError("deployment_prerequisite_missing");
|
|
18
18
|
if (report.components.find((row) => row.id === "kernelFactory")?.status === "verified" && report.factoryBinding !== "verified") throw new DeploymentError("deployment_evidence_invalid");
|
|
19
19
|
}
|
|
20
20
|
function recordObject(value) {
|
|
@@ -74,7 +74,7 @@ async function deployRuntime(input) {
|
|
|
74
74
|
const manifest = components(chainId);
|
|
75
75
|
const deployer = kernelDeployment({ chainId }).create2Deployer;
|
|
76
76
|
let report = await doctor(chainId, rpc);
|
|
77
|
-
validateReadiness(report);
|
|
77
|
+
validateReadiness(report, manifest);
|
|
78
78
|
const result = (status, transactionHash = null) => ({
|
|
79
79
|
version: "oaath.runtime-deployment/v1",
|
|
80
80
|
chainId,
|
|
@@ -153,7 +153,7 @@ async function deployRuntime(input) {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
report = await doctor(chainId, rpc);
|
|
156
|
-
validateReadiness(report);
|
|
156
|
+
validateReadiness(report, manifest);
|
|
157
157
|
if (!report.ready || !report.passkeySessionsReady) throw new DeploymentError("deployment_evidence_invalid");
|
|
158
158
|
return result("ready");
|
|
159
159
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oaath/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "OAAth runtime deployment and readiness commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"release:check": "bun pm pack --dry-run"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@oaath/sdk": "0.3.
|
|
36
|
+
"@oaath/sdk": "0.3.3",
|
|
37
37
|
"viem": "2.55.8"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|