@oaath/cli 0.3.0 → 0.3.1
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/dist/cli.mjs +204 -55
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { parseArgs } from "node:util";
|
|
3
|
-
import { decodeAbiParameters, encodeFunctionData, getCreate2Address, keccak256, parseAbi, sliceHex, stringToHex } from "viem";
|
|
3
|
+
import { decodeAbiParameters, encodeAbiParameters, encodeFunctionData, getCreate2Address, keccak256, parseAbi, sliceHex, stringToHex } from "viem";
|
|
4
4
|
import "viem/account-abstraction";
|
|
5
5
|
//#region ../protocol/dist/index.js
|
|
6
6
|
function reflect(read, label, fail) {
|
|
@@ -108,11 +108,11 @@ parseAbi([
|
|
|
108
108
|
"function execute(bytes32 mode, bytes executionData) payable"
|
|
109
109
|
]);
|
|
110
110
|
//#endregion
|
|
111
|
-
//#region ../sdk/dist/approval-
|
|
111
|
+
//#region ../sdk/dist/approval-ByZLRrMd.js
|
|
112
112
|
var OaathKernelRuntimeError = class extends Error {
|
|
113
113
|
code;
|
|
114
|
-
constructor(code, message) {
|
|
115
|
-
super(message);
|
|
114
|
+
constructor(code, message, options) {
|
|
115
|
+
super(message, options);
|
|
116
116
|
this.name = "OaathKernelRuntimeError";
|
|
117
117
|
this.code = code;
|
|
118
118
|
}
|
|
@@ -277,12 +277,15 @@ Object.freeze({
|
|
|
277
277
|
"enable-all-replayable": "0x4c"
|
|
278
278
|
});
|
|
279
279
|
`${"00".repeat(20)}`;
|
|
280
|
-
function runtimeFail(code, message) {
|
|
281
|
-
throw new OaathKernelRuntimeError(code, message);
|
|
280
|
+
function runtimeFail(code, message, options) {
|
|
281
|
+
throw new OaathKernelRuntimeError(code, message, options);
|
|
282
282
|
}
|
|
283
283
|
function inputInvalid(message) {
|
|
284
284
|
return runtimeFail("kernel_runtime_input_invalid", message);
|
|
285
285
|
}
|
|
286
|
+
function exactInput(value, keys, label, context) {
|
|
287
|
+
return exactCapturedRecord(captureRecord(value, label, context, inputInvalid), keys, label, inputInvalid);
|
|
288
|
+
}
|
|
286
289
|
/** Captures one plain record without asserting its exact key set yet. */
|
|
287
290
|
function captureInput(value, label, context) {
|
|
288
291
|
return captureRecord(value, label, context, inputInvalid);
|
|
@@ -307,6 +310,7 @@ Object.freeze([
|
|
|
307
310
|
function isBuiltInKeyKind(value) {
|
|
308
311
|
return value === "ecdsa" || value === "p256" || value === "webauthn";
|
|
309
312
|
}
|
|
313
|
+
keccak256(stringToHex("kernel.replayable.signature"));
|
|
310
314
|
parseAbi([
|
|
311
315
|
"function currentNonce() view returns (uint32)",
|
|
312
316
|
"function validationConfig(bytes21) view returns (uint32 nonce, address hook)",
|
|
@@ -314,17 +318,29 @@ parseAbi([
|
|
|
314
318
|
"function installValidations(bytes21[] vIds, (uint32 nonce, address hook)[] configs, bytes[] validationData, bytes[] hookData)",
|
|
315
319
|
"function uninstallValidation(bytes21 vId, bytes deinitData, bytes hookDeinitData)"
|
|
316
320
|
]);
|
|
317
|
-
|
|
321
|
+
keccak256(stringToHex("@oaath/sdk:kernel-v33-nonce-alignment")).slice(0, 10);
|
|
322
|
+
/**
|
|
323
|
+
* Kernel 0.3.3 accounts: existing accounts bound at their address, and
|
|
324
|
+
* ECDSA-owned accounts derived through ZeroDev's MetaFactory route. A derived
|
|
325
|
+
* account's address is the one ZeroDev's SDK computes; it is never replaced.
|
|
326
|
+
*/
|
|
318
327
|
const IMPLEMENTATION = "0xd6cedde84be40893d153be9d467cd6ad37875b28";
|
|
319
328
|
const FACTORY = "0x2577507b78c2008ff367261cb6285d44ba5ef2e9";
|
|
320
329
|
const ECDSA_VALIDATOR = "0x845adb2c711129d4f3966735ed98a9f09fc4ce57";
|
|
330
|
+
/** ZeroDev's `metaFactoryAddress` (FactoryStaker); `deployWithFactory` forwards to FACTORY. */
|
|
331
|
+
const META_FACTORY = "0xd703aae79538628d27099b8c4f621be4ccd142d5";
|
|
332
|
+
const FACTORY_RUNTIME_CODE_HASH = "0xcc4b1b98f5716bf61042d87bfedd4709a5c9a597c41f3bb0e6fb6fe1a4ebd37a";
|
|
333
|
+
const META_FACTORY_RUNTIME_CODE_HASH = "0x4527f3642a53f1f4ce76beb05f955a8859b7245a1ff20da5be9a518d2fcd64aa";
|
|
321
334
|
parseAbi([
|
|
322
335
|
"function accountId() view returns (string)",
|
|
323
336
|
"function entrypoint() view returns (address)",
|
|
324
337
|
"function rootValidator() view returns (bytes21)",
|
|
325
338
|
"function ecdsaValidatorStorage(address) view returns (address)",
|
|
326
339
|
"function currentNonce() view returns (uint32)",
|
|
327
|
-
"function validationConfig(bytes21) view returns (uint32 nonce, address hook)"
|
|
340
|
+
"function validationConfig(bytes21) view returns (uint32 nonce, address hook)",
|
|
341
|
+
"function approved(address) view returns (bool)",
|
|
342
|
+
"function initialize(bytes21 rootValidator, address hook, bytes validatorData, bytes hookData, bytes[] initConfig)",
|
|
343
|
+
"function deployWithFactory(address factory, bytes createData, bytes32 salt) payable returns (address)"
|
|
328
344
|
]);
|
|
329
345
|
const deployments = /* @__PURE__ */ new Map();
|
|
330
346
|
function kernelV33Deployment(chainId) {
|
|
@@ -338,6 +354,9 @@ function kernelV33Deployment(chainId) {
|
|
|
338
354
|
entryPoint: KERNEL_ENTRY_POINT_V07,
|
|
339
355
|
implementation: IMPLEMENTATION,
|
|
340
356
|
factory: FACTORY,
|
|
357
|
+
factoryRuntimeCodeHash: FACTORY_RUNTIME_CODE_HASH,
|
|
358
|
+
metaFactory: META_FACTORY,
|
|
359
|
+
metaFactoryRuntimeCodeHash: META_FACTORY_RUNTIME_CODE_HASH,
|
|
341
360
|
ecdsaValidator: ECDSA_VALIDATOR,
|
|
342
361
|
create2Deployer: KERNEL_V4_CREATE2_DEPLOYER
|
|
343
362
|
});
|
|
@@ -345,7 +364,6 @@ function kernelV33Deployment(chainId) {
|
|
|
345
364
|
}
|
|
346
365
|
return deployment;
|
|
347
366
|
}
|
|
348
|
-
keccak256(stringToHex("kernel.replayable.signature"));
|
|
349
367
|
Object.freeze({ p256: "0x9906ab44ff795883c5a725687a2705be4118b0f3" });
|
|
350
368
|
/**
|
|
351
369
|
* Permission signer modules (moduleType 6) bound per key kind and deployed through
|
|
@@ -374,9 +392,10 @@ Object.freeze({ p256: "0x9906ab44ff795883c5a725687a2705be4118b0f3" });
|
|
|
374
392
|
* validator above while a raw P-256 session key does not exist; a session under a
|
|
375
393
|
* P-256 owner uses an ECDSA session key, which is the iPhone flow's shape.
|
|
376
394
|
*/
|
|
395
|
+
const KERNEL_WEBAUTHN_SIGNER = "0x8b2df925aa16071fcdf0053768420e242935ac65";
|
|
377
396
|
const PINNED_SIGNERS = Object.freeze({
|
|
378
397
|
ecdsa: "0x6a6f069e2a08c2468e7724ab3250cdbfba14d4ff",
|
|
379
|
-
webauthn:
|
|
398
|
+
webauthn: KERNEL_WEBAUTHN_SIGNER
|
|
380
399
|
});
|
|
381
400
|
/**
|
|
382
401
|
* ZeroDev's reviewed CallPolicy (moduleType 5), which bounds every permitted
|
|
@@ -410,6 +429,7 @@ const CALL_POLICY = "0x9a52283276a0ec8740df50bf01b28a80d880eaf2";
|
|
|
410
429
|
* subrange. checkSignaturePolicy always fails, keeping the module execution-only.
|
|
411
430
|
*/
|
|
412
431
|
const OAATH_KERNEL_V4_VALIDITY_POLICY = "0x828ef0aa6d7e90dd39bb855afe9d9b4f9bd30152";
|
|
432
|
+
const OAATH_KERNEL_V4_VALIDITY_POLICY_RUNTIME_CODE_HASH = "0xb52f33e68aecb57bda6a5edeae51adbd01587b4b834766027d7b510a30354151";
|
|
413
433
|
/**
|
|
414
434
|
* ZeroDev's reviewed RateLimitPolicy (moduleType 5), which caps how many
|
|
415
435
|
* UserOperations one permission may validate on one chain. Package
|
|
@@ -442,6 +462,23 @@ const RATE_LIMIT_POLICY = "0xf63d4139b25c836334edd76641356c6b74c86873";
|
|
|
442
462
|
const OAATH_KERNEL_RATE_LIMIT_POLICY = "0xe2663e2f94ef2dc11cc06a7914a037d78a0652dc";
|
|
443
463
|
const OAATH_KERNEL_RATE_LIMIT_POLICY_RUNTIME_CODE_HASH = "0x6bb7a4d8507d7824e806f730683d532961dc2117ce530a8216765ddd2b1f17b5";
|
|
444
464
|
/**
|
|
465
|
+
* Daimo's P256Verifier (daimo-eth/p256-verifier 607d3ec), the singleton the
|
|
466
|
+
* pinned WebAuthn signer staticcalls at this fixed address when an assertion
|
|
467
|
+
* carries `usePrecompiled = false`. kernel/key/webauthn.ts always signs that
|
|
468
|
+
* way, so RIP-7212 presence never changes the path: a WebAuthn session needs
|
|
469
|
+
* this exact runtime code on every chain, and a session bind proves it before
|
|
470
|
+
* any consent or signature. contracts/artifacts/KernelV4Runtime.json carries
|
|
471
|
+
* the deterministic deployment input.
|
|
472
|
+
*/
|
|
473
|
+
const KERNEL_P256_VERIFIER = "0xc2b78104907f722dabac4c69f826a522b2754de4";
|
|
474
|
+
const KERNEL_P256_VERIFIER_RUNTIME_CODE_HASH = "0x3cd725b6ba67b40b7979190c41a015e82cf21e098eb61832ba623f8538bab7fc";
|
|
475
|
+
/**
|
|
476
|
+
* Runtime code hash of the pinned WebAuthn signer's deployment input, from
|
|
477
|
+
* contracts/artifacts/KernelV4Runtime.json. Module readiness requires this
|
|
478
|
+
* exact code at pinnedSignerModule("webauthn").
|
|
479
|
+
*/
|
|
480
|
+
const KERNEL_WEBAUTHN_SIGNER_RUNTIME_CODE_HASH = "0xb725f54a7cf2367e9ea39da15c3984dd30786699f21d4bf8f767c2e80b273d18";
|
|
481
|
+
/**
|
|
445
482
|
* Policy modules bound per policy axis. CallPolicy enforces the call and value
|
|
446
483
|
* axes together, in one module, from one configuration. A session installs one
|
|
447
484
|
* package per distinct module, so a scope spanning several axes installs several
|
|
@@ -481,6 +518,8 @@ function pinnedSignerModule(kind) {
|
|
|
481
518
|
function pinnedPolicyModule(kind) {
|
|
482
519
|
return PINNED_POLICIES[kind] ?? null;
|
|
483
520
|
}
|
|
521
|
+
//#endregion
|
|
522
|
+
//#region ../sdk/dist/profiles-kYqbR75m.js
|
|
484
523
|
/**
|
|
485
524
|
* The version-agnostic Kernel account entry points. Kernel version and
|
|
486
525
|
* EntryPoint version are optional settings: a deployment is selected with
|
|
@@ -505,6 +544,140 @@ function kernelDeployment(value) {
|
|
|
505
544
|
if (record.entryPoint !== void 0 && record.entryPoint !== deployment.entryPoint.version) return inputInvalid("Kernel EntryPoint version is unsupported");
|
|
506
545
|
return deployment;
|
|
507
546
|
}
|
|
547
|
+
parseAbi(["function isModuleInstalled(uint256 moduleTypeId, address module, bytes additionalContext) view returns (bool)"]);
|
|
548
|
+
//#endregion
|
|
549
|
+
//#region ../sdk/dist/create-kernel-runtime-D6NJ977n.js
|
|
550
|
+
/**
|
|
551
|
+
* ECDSA (secp256k1) KeyProfile. Owns public material, signing normalization,
|
|
552
|
+
* and local verification only.
|
|
553
|
+
*
|
|
554
|
+
* @author taek <leekt216@gmail.com>
|
|
555
|
+
*/
|
|
556
|
+
/**
|
|
557
|
+
* 65-byte gas-estimation placeholder: a low-s signature by the throwaway key 1
|
|
558
|
+
* over keccak256("@oaath/sdk:ecdsa-estimation-placeholder"). It recovers to a
|
|
559
|
+
* point for any hash, so an ECDSA signer module reports a signature failure
|
|
560
|
+
* instead of reverting, which bundler estimation requires.
|
|
561
|
+
*/
|
|
562
|
+
const ECDSA_DUMMY_SIGNATURE = "0xbd7f6486d7a311a9645e88253cee36b95471dc42c25ae24b2d4aa9ccd85e27592fbade657fafc728c0e950faa89c48ba749ea47049cf1938ddecc1dfa1d64dac1b";
|
|
563
|
+
const P256_ORDER = BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551");
|
|
564
|
+
const P256_HALF_ORDER = P256_ORDER / 2n;
|
|
565
|
+
const MIN_AUTHENTICATOR_DATA_BYTES = 37;
|
|
566
|
+
/**
|
|
567
|
+
* Signature envelope of the reviewed Kernel WebAuthn validator: the assertion
|
|
568
|
+
* fields the module needs to recompute the signed message on-chain.
|
|
569
|
+
*/
|
|
570
|
+
const ASSERTION_PARAMETERS = [
|
|
571
|
+
{
|
|
572
|
+
name: "authenticatorData",
|
|
573
|
+
type: "bytes"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
name: "clientDataJSON",
|
|
577
|
+
type: "string"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
name: "responseTypeLocation",
|
|
581
|
+
type: "uint256"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
name: "r",
|
|
585
|
+
type: "uint256"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
name: "s",
|
|
589
|
+
type: "uint256"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
name: "usePrecompiled",
|
|
593
|
+
type: "bool"
|
|
594
|
+
}
|
|
595
|
+
];
|
|
596
|
+
/** ABI-valid estimation material shared by signing and public-only profiles. */
|
|
597
|
+
function webauthnDummySignature(origin) {
|
|
598
|
+
return encodeAbiParameters(ASSERTION_PARAMETERS, [
|
|
599
|
+
`0x${"55".repeat(MIN_AUTHENTICATOR_DATA_BYTES)}`,
|
|
600
|
+
`{"type":"webauthn.get","challenge":"${"A".repeat(43)}","origin":"${origin}"}`,
|
|
601
|
+
1n,
|
|
602
|
+
BigInt(`0x${"66".repeat(32)}`) % P256_ORDER,
|
|
603
|
+
BigInt(`0x${"77".repeat(32)}`) % P256_HALF_ORDER,
|
|
604
|
+
false
|
|
605
|
+
]);
|
|
606
|
+
}
|
|
607
|
+
Object.freeze({
|
|
608
|
+
ecdsa: ECDSA_DUMMY_SIGNATURE,
|
|
609
|
+
p256: `0x${"33".repeat(32)}${"44".repeat(32)}`,
|
|
610
|
+
webauthn: webauthnDummySignature("https://example.invalid")
|
|
611
|
+
});
|
|
612
|
+
Object.freeze({ status: "unreadable" });
|
|
613
|
+
Object.freeze({ status: "active" });
|
|
614
|
+
Object.freeze({ status: "approval-replayable" });
|
|
615
|
+
/**
|
|
616
|
+
* The OAAth runtime modules a chain must carry before OAAth grants can use it:
|
|
617
|
+
* the WebAuthn permission signer, the fixed-window RateLimitPolicy, the OAAth
|
|
618
|
+
* validity policy and the P-256 verifier the WebAuthn signer staticcalls. This
|
|
619
|
+
* file owns two facts about them: whether one is present on a chain
|
|
620
|
+
* (observeRuntimeModule, shared with createKernelRuntime's session bind) and
|
|
621
|
+
* the exact zero-salt CREATE2 transaction that deploys it (shared with
|
|
622
|
+
* `oaath deploy-runtime`).
|
|
623
|
+
*
|
|
624
|
+
* Status vocabulary, closed and fail-closed:
|
|
625
|
+
*
|
|
626
|
+
* - `present`: the address carries exactly the pinned runtime code hash.
|
|
627
|
+
* - `missing`: the address provably carries no code, so the prepared
|
|
628
|
+
* deployment transaction is the remediation.
|
|
629
|
+
* - `mismatch`: the address carries other code. It is never `present`, and it
|
|
630
|
+
* is distinct from `missing` because deploying cannot fix it: the CREATE2
|
|
631
|
+
* address is already occupied.
|
|
632
|
+
* - `unreadable`: a read threw, returned a malformed or contradictory value, or
|
|
633
|
+
* the reads capability is bound to another chain. Never reported as
|
|
634
|
+
* `missing`.
|
|
635
|
+
*
|
|
636
|
+
* @author taek <leekt216@gmail.com>
|
|
637
|
+
*/
|
|
638
|
+
const RUNTIME_MODULES = Object.freeze({
|
|
639
|
+
webauthn_signer: Object.freeze({
|
|
640
|
+
address: KERNEL_WEBAUTHN_SIGNER,
|
|
641
|
+
runtimeCodeHash: KERNEL_WEBAUTHN_SIGNER_RUNTIME_CODE_HASH,
|
|
642
|
+
deploymentInput: "0x000000000000000000000000000000000000000000000000000000000000000060808060405234601557611310908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630ccab7a11461060d5780631811663f14610594578063244d6cb214610532578063392dffaf146104505780636d61fe70146102605780638a91b0e314610117578063d60b347f146100b35763ecd0596114610071575f80fd5b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760206040516006600435148152f35b5f80fd5b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5773ffffffffffffffffffffffffffffffffffffffff6100ff610708565b165f525f602052602060405f20541515604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760043567ffffffffffffffff81116100af5761016190369060040161072b565b6020116100af5735805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f205415610234575f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020525f6001604082208281550155335f525f60205260405f2080548015610207577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7ff91bd6f1000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760043567ffffffffffffffff81116100af576102aa90369060040161072b565b806020116100af57813590815f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f205461042457335f525f60205260405f20908154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214610207577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0926001869301905581010301606081126100af576040136100af5760405161036481610759565b6040602084013593848352013560208201938185521590811561041b575b506103f3576001915f528160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f2090519283825551918291015560405191825260208201527fac9eef70e30b05ba935b5092b39f4fe85762ee3a8853386ea1e9a224986976ef60403392a2005b7fa2d0fee8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610382565b7f93360fbf000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100af5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af576104876106e5565b5060643567ffffffffffffffff81116100af576104ab6104b891369060040161072b565b9060443533600435610853565b61050a5760207f1626ba7e000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60207fffffffff000000000000000000000000000000000000000000000000000000006104e0565b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5773ffffffffffffffffffffffffffffffffffffffff61057e610708565b165f525f602052602060405f2054604051908152f35b346100af5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af576105cb6106e5565b6004355f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f526020526040805f206001815491015482519182526020820152f35b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760243567ffffffffffffffff81116100af57803603906101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd61010482013592018212156100af570160048101359067ffffffffffffffff82116100af5760240181360381136100af576020916106dd9160443533600435610853565b604051908152f35b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100af57565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100af57565b9181601f840112156100af5782359167ffffffffffffffff83116100af57602083818601950101116100af57565b6040810190811067ffffffffffffffff82111761077557604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761077557604052565b67ffffffffffffffff811161077557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610829826107e3565b9161083760405193846107a2565b8294818452818301116100af578281602093845f960137010152565b9392919092820160c0838203126100af57823567ffffffffffffffff81116100af57830181601f820112156100af57818160206108929335910161081d565b90602084013567ffffffffffffffff81116100af5784019080601f830112156100af578160206108c49335910161081d565b9260a08101359485151586036100af57610953965f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f209260016040519461091386610759565b8054865201549360208101948552604051916020830152602082526109396040836107a2565b51935194608083013593604060608501359401359261099e565b61095c57600190565b5f90565b908151811015610971570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b909796959493929197600198815160258110908115610e56575b50610e4e575b604092610a01858386516109d288826107a2565b601581527f2274797065223a22776562617574686e2e6765742200000000000000000000006020820152610f6a565b15610e46575b610a1090611131565b5f8151600281119081610dc6575b5015610d2b575060025b81519081039081116102075780610a3f84926107e3565b90610a4c875192836107a2565b808252610a58816107e3565b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840195013686375f5b828110610c1a5750505090610b2a92610b256001602d6017958a519485917f226368616c6c656e6765223a220000000000000000000000000000000000000060208401525180918484015e81017f22000000000000000000000000000000000000000000000000000000000000008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18101845201826107a2565b610f6a565b15610c12575b5f602080928551918183925191829101835e8101838152039060025afa15610c08575f6020918151610b818480875180948280830197805191829101895e82019083820152030180845201826107a2565b8451918291518091835e8101838152039060025afa15610bff57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f519114610bf05790610bd39594939291611010565b9081610be8575b50610be3575f90565b600190565b90505f610bda565b610bfa9650611010565b505f90565b513d5f823e3d90fd5b50513d5f823e3d90fd5b5f9950610b30565b81929394507f2b000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610c6d83600195610960565b511603610c8d57602d610c808287610960565b535b019085939291610a85565b7f2f000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610cd98386610960565b511603610cf257605f610cec8287610960565b53610c82565b7fff00000000000000000000000000000000000000000000000000000000000000610d1d8285610960565b51165f1a610cec8287610960565b8151600181119081610d46575b5015610a2857506001610a28565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810191508111610207577fff00000000000000000000000000000000000000000000000000000000000000610dbd7f3d000000000000000000000000000000000000000000000000000000000000009285610960565b5116145f610d38565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe810191508111610207577fff00000000000000000000000000000000000000000000000000000000000000610e3d7f3d000000000000000000000000000000000000000000000000000000000000009285610960565b5116145f610a1e565b5f9a50610a07565b5f99506109be565b90506020101561097157610e9160017fff00000000000000000000000000000000000000000000000000000000000000604085015116610e98565b155f6109b8565b907f010000000000000000000000000000000000000000000000000000000000000080831603610f575780610f2b575b610bfa577f080000000000000000000000000000000000000000000000000000000000000080821603610efc575b50600190565b7f10000000000000000000000000000000000000000000000000000000000000008091161461095c575f610ef6565b507f04000000000000000000000000000000000000000000000000000000000000008082161415610ec8565b50505f90565b9190820180921161020757565b919082519281515f5b858110610f8557505050505050600190565b81610f908287610f5d565b1015611006577fff00000000000000000000000000000000000000000000000000000000000000610fc18285610960565b51167fff00000000000000000000000000000000000000000000000000000000000000610ff7610ff18489610f5d565b87610960565b51160361100657600101610f73565b5050505050505f90565b94939291907f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a882116110065761104595611077565b90565b3d15611072573d90611059826107e3565b9161106760405193846107a2565b82523d5f602084013e565b606090565b92935f959192948695604051946020860196875260408601526060850152608084015260a083015260a082526110ae60c0836107a2565b83146110f45751906101005afa6110c3611048565b901580156110eb575b610bfa57602081519181808201938492010103126100af575160011490565b508051156110cc565b519073c2b78104907f722dabac4c69f826a522b2754de45afa50611116611048565b602081519181808201938492010103126100af575160011490565b908151156112c4578151600281018091116102075760039004908160021b917f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81160361020757604051917f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f603f52602083018480518101602081018051915f82525b80891061128857506020959697509060039291525106806001146112365760021461120a575b50808452830101604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff603d9101535f6111fe565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81603d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8194015301535f6111fe565b939760036004910198603f8a51818160121c165183538181600c1c16516001840153818160061c165160028401531651600382015301936111d8565b90506040516112d46020826107a2565b5f81529056fea2646970667358221220915809d473a74fc5863d5a57153ea0ff456ac49e9fcc595746d261d914a1a8ab64736f6c634300081e0033"
|
|
643
|
+
}),
|
|
644
|
+
rate_limit_policy: Object.freeze({
|
|
645
|
+
address: OAATH_KERNEL_RATE_LIMIT_POLICY,
|
|
646
|
+
runtimeCodeHash: OAATH_KERNEL_RATE_LIMIT_POLICY_RUNTIME_CODE_HASH,
|
|
647
|
+
deploymentInput: "0x00000000000000000000000000000000000000000000000000000000000000006080806040523460155761065a908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163309bfb76146105235750806348edf4e1146104b05780636d61fe701461034f5780637129edce146102245780638712147a146101ad5780638a91b0e314610106578063d8ed2b3c1461009c5763ecd059611461007757600080fd5b346100975760203660031901126100975760206040516005600435148152f35b600080fd5b34610097576040366003190112610097576100b5610568565b600435600052600060205260406000209060018060a01b031660005260205260ff6040600020541660405160038210156100f0576020918152f35b634e487b7160e01b600052602160045260246000fd5b60203660031901126100975760043567ffffffffffffffff81116100975761013290369060040161057e565b602011610097573560008181526020818152604080832033845290915281205490919060ff1660038110156101995760010361018a578152602081815260408083203384529091528120805460ff1916600217905580f35b63f22b4ce760e01b8252600482fd5b634e487b7160e01b83526021600452602483fd5b34610097576040366003190112610097576101c6610568565b600435600052600160205260406000209060018060a01b0316600052602052610220604060002054604051918165ffffffffffff80859460301c1691168390929165ffffffffffff60209181604085019616845216910152565b0390f35b60403660031901126100975760043560243567ffffffffffffffff811161009757610120906003199036030112610097576000818152600160209081526040808320338085529083528184209484526002835281842090845290915290208054909165ffffffffffff4281169260301c168210156102f6575b505065ffffffffffff8154169081156102e55765ffffffffffff602092600019011665ffffffffffff1982541617815565ffffffffffff60a01b905460701b16604051908152f35b6307ef6f4d60e31b60005260046000fd5b6103489165ffffffffffff82818061031e955460301c161682198754161786555416906105ac565b82546bffffffffffff000000000000191660309190911b6bffffffffffff00000000000016178255565b818061029d565b60203660031901126100975760043567ffffffffffffffff81116100975761037b90369060040161057e565b90816020116100975780356000818152602081815260408083203384529091528120549093919291601f19019060ff16600381101561049c5760011461048d57600c811061047e578060061161047a57602082013560d01c90600c1161047a5765ffffffffffff61042a81602661045895013560d01c16926104226103fe6105e0565b8281526020808201879052888a52600181526040808b20338c529091528920610616565b8242166105ac565b6104326105e0565b928352166020808301919091528385526002815260408086203387529091528420610616565b8152602081815260408083203384529091528120805460ff1916600117905580f35b8380fd5b632f85588960e11b8452600484fd5b631883696f60e31b8452600484fd5b634e487b7160e01b85526021600452602485fd5b34610097576040366003190112610097576104c9610568565b600435600052600260205260406000209060018060a01b0316600052602052610220604060002054604051918165ffffffffffff80859460301c1691168390929165ffffffffffff60209181604085019616845216910152565b346100975760803660031901126100975761053c610568565b506064359067ffffffffffffffff821161009757610560602092369060040161057e565b505060018152f35b602435906001600160a01b038216820361009757565b9181601f840112156100975782359167ffffffffffffffff8311610097576020838186019501011161009757565b9065ffffffffffff8091169116019065ffffffffffff82116105ca57565b634e487b7160e01b600052601160045260246000fd5b604051906040820182811067ffffffffffffffff82111761060057604052565b634e487b7160e01b600052604160045260246000fd5b81518154602093909301516bffffffffffffffffffffffff1990931665ffffffffffff919091161760309290921b6bffffffffffff0000000000001691909117905556"
|
|
648
|
+
}),
|
|
649
|
+
validity_policy: Object.freeze({
|
|
650
|
+
address: OAATH_KERNEL_V4_VALIDITY_POLICY,
|
|
651
|
+
runtimeCodeHash: OAATH_KERNEL_V4_VALIDITY_POLICY_RUNTIME_CODE_HASH,
|
|
652
|
+
deploymentInput: "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576107fa908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600090813560e01c908163309bfb76146104c0575080636d61fe70146102fe5780637129edce146102b65780637cb40d40146102355780638a91b0e3146100ff578063a27b9f7e146100dd578063d60b347f1461009f5763ecd059611461007d57600080fd5b3461009c57602036600319011261009c57506005602092519135148152f35b80fd5b5082346100d95760203660031901126100d95760209181906001600160a01b036100c7610511565b16815260018452205415159051908152f35b5080fd5b5082346100d957816003193601126100d95751631ba8f41560e01b8152602090f35b5091906020918260031936011261023157813567ffffffffffffffff811161022d5761012e903690840161052c565b939081850361021e57359381811061020a575b503385528481528185208486528152818520805460ff8160601c1660038110156101f7576001036101d05760ff60601b1916600160611b1790553385526001905283208054909181156101bd5750600019019055337f71b2179d55ae39dc556fbdadcb110059e5a2bf07ad89afdfe3c9bfd89b26fd238380a380f35b634e487b7160e01b855260119052602484fd5b5050905163f7f4235d60e01b81523392810192835260208301939093525081906040010390fd5b634e487b7160e01b885260218652602488fd5b60001990820360031b1b9093169238610141565b505051632f85588960e11b8152fd5b8480fd5b8380fd5b5082903461009c578160031936011261009c576001600160a01b03610258610511565b168152806020528181206024358252602052818120549165ffffffffffff9160ff8460601c1692825194818116865260301c16602085015260038310156102a3575060609350820152f35b634e487b7160e01b815260218552602490fd5b50829060031990828236011261009c576024359167ffffffffffffffff83116100d95761012090833603011261009c5750826102f7916020940190356105a0565b9051908152f35b50826020806003193601126104bc57833567ffffffffffffffff81116102315761032b903690860161052c565b9290606084036104ac5783831161022d578181359482601f1991810103011261022d576103648261035d85840161055a565b920161055a565b926001600160e01b03851661049c5765ffffffffffff8085169283158015610490575b6104805733885287835284882087895283528488209182549160ff8360601c16600381101561046d5761044a5716956bffffffffffff000000000000600160601b9260ff60601b198916906cffffffffffffffffffffffffff1916179160301b16171790553386526001815282862080546000198114610437576001019055825193845283015233917f100db2dcff8b9f90d654a68e5cc4b77d15a4bed5025c088e212dbcee4ed381f09190a380f35b634e487b7160e01b885260118952602488fd5b8651638ce0a3bb60e01b815233818d01908152602081018b905281906040010390fd5b634e487b7160e01b8b5260218c5260248bfd5b8451633ba7713360e11b81528990fd5b50838282161015610387565b8251632f85588960e11b81528790fd5b8151632f85588960e11b81528690fd5b8280fd5b9190503461009c57608036600319011261009c576024356001600160a01b0381160361009c576064359067ffffffffffffffff821161009c57506020926105099136910161052c565b505060018152f35b600435906001600160a01b038216820361052757565b600080fd5b9181601f840112156105275782359167ffffffffffffffff8311610527576020838186019501011161052757565b359065ffffffffffff8216820361052757565b903590601e1981360301821215610527570180359067ffffffffffffffff82116105275760200191813603831361052757565b60009033825281602052604082209082526020526040812090604051916060830183811067ffffffffffffffff8211176107e657604052549165ffffffffffff91828416825260ff6020830194848160301c16865260601c169460038610156107d25785604084015260018096148015906107ba575b6107605760608101602461062a828461056d565b905010801561078e575b610785576106419161056d565b60249291921161009c5750600401359163ffffffff858460f81c118015610776575b8015610768575b610760576001600160d01b0384161561072e57631ba8f415908460b01c1614801590610719575b6107125780808460801c169360501c16938415928315610705575b5082156106fa575b82156106ed575b50506106e85760d01b6001600160d01b03191660a09190911b65ffffffffffff60a01b1617905090565b90565b505090565b51168311905038806106bb565b8484101592506106b4565b51821684109250386106ac565b5050505090565b5069ffffffffffffffffffff83161515610691565b509051925192811660d01b6001600160d01b031916921660a01b65ffffffffffff60a01b169190911791506106e59050565b505050505090565b50808460d01c16151561066a565b5060ff8460f01c161515610663565b50505050505090565b50610799818361056d565b60041161023157356001600160e01b03191663e9ae5c5360e01b1415610634565b506107c961010082018261056d565b90501515610616565b634e487b7160e01b82526021600452602482fd5b634e487b7160e01b83526041600452602483fd"
|
|
653
|
+
}),
|
|
654
|
+
p256_verifier: Object.freeze({
|
|
655
|
+
address: KERNEL_P256_VERIFIER,
|
|
656
|
+
runtimeCodeHash: KERNEL_P256_VERIFIER_RUNTIME_CODE_HASH,
|
|
657
|
+
deploymentInput: "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610dd1908161001c8239f35b600080fdfe60e06040523461001a57610012366100c7565b602081519101f35b600080fd5b6040810190811067ffffffffffffffff82111761003b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff82111761003b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761003b57604052565b60a08103610193578060201161001a57600060409180831161018f578060601161018f578060801161018f5760a01161018c57815182810181811067ffffffffffffffff82111761015f579061013291845260603581526080356020820152833560203584356101ab565b15610156575060ff6001915b5191166020820152602081526101538161001f565b90565b60ff909161013e565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b5080fd5b5060405160006020820152602081526101538161001f565b909283158015610393575b801561038b575b8015610361575b6103585780519060206101dc818301938451906103bd565b1561034d57604051948186019082825282604088015282606088015260808701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f60a08701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551958660c082015260c081526102588161006a565b600080928192519060055afa903d15610345573d9167ffffffffffffffff831161031857604051926102b1857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190516102e693929185908181890994099151906104eb565b061490565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526001600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6060916102ba565b505050505050600090565b50505050600090565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518310156101c4565b5082156101bd565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518410156101b6565b7fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818110801590610466575b8015610455575b61044d577f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8282818080957fffffffff00000001000000000000000000000000fffffffffffffffffffffffc0991818180090908089180091490565b505050600090565b50801580156103f1575082156103f1565b50818310156103ea565b7f800000000000000000000000000000000000000000000000000000000000000081146104bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b909192608052600091600160a05260a05193600092811580610718575b61034d57610516838261073d565b95909460ff60c05260005b600060c05112156106ef575b60a05181036106a1575050507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2969594939291965b600060c05112156105c7575050505050507fffffffff00000001000000000000000000000000ffffffffffffffffffffffff91506105c260a051610ca2565b900990565b956105d9929394959660a05191610a98565b9097929181928960a0528192819a6105f66080518960c051610722565b61060160c051610470565b60c0528061061b5750505050505b96959493929196610583565b969b5061067b96939550919350916001810361068857507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5937f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29693610952565b979297919060a05261060f565b6002036106985786938a93610952565b88938893610952565b600281036106ba57505050829581959493929196610583565b9197917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0161060f575095508495849661060f565b506106ff6080518560c051610722565b8061070b60c051610470565b60c052156105215761052d565b5060805115610508565b91906002600192841c831b16921c1681018091116104bc5790565b8015806107ab575b6107635761075f91610756916107b3565b92919091610c42565b9091565b50507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296907f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f590565b508115610745565b919082158061094a575b1561080f57507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29691507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5906001908190565b7fb01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff808481600186090894817f94e82e0c1ed3bdb90743191a9c5bbf0d88fc827fd214cc5f0b5ec6ba27673d6981600184090893841561091b575050808084800993840994818460010994828088600109957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908935b93929190565b9350935050921560001461093b5761093291610b6d565b91939092610915565b50506000806000926000610915565b5080156107bd565b91949592939095811580610a90575b15610991575050831580610989575b61097a5793929190565b50600093508392508291508190565b508215610970565b85919294951580610a88575b610a78577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff968703918783116104bc5787838189850908938689038981116104bc5789908184840908928315610a5d575050818880959493928180848196099b8c9485099b8c920999099609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908929190565b965096505050509093501560001461093b5761093291610b6d565b9550509150915091906001908190565b50851561099d565b508015610961565b939092821580610b65575b61097a577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff908185600209948280878009809709948380888a0998818080808680097fffffffff00000001000000000000000000000000fffffffffffffffffffffffc099280096003090884808a7fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818380090898898603918683116104bc57888703908782116104bc578780969481809681950994089009089609930990565b508015610aa3565b919091801580610c3a575b610c2d577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818460020991808084800980940991817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc81808088860994800960030908958280837fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818980090896878403918483116104bc57858503928584116104bc5785809492819309940890090892565b5060009150819081908190565b508215610b78565b909392821580610c9a575b610c8d57610c5a90610ca2565b9182917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff80809581940980099009930990565b5050509050600090600090565b508015610c4d565b604051906020918281019183835283604083015283606083015260808201527fffffffff00000001000000000000000000000000fffffffffffffffffffffffd60a08201527fffffffff00000001000000000000000000000000ffffffffffffffffffffffff60c082015260c08152610d1a8161006a565b600080928192519060055afa903d15610d93573d9167ffffffffffffffff83116103185760405192610d73857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190565b606091610d7c56fea2646970667358221220fa55558b04ced380e93d0a46be01bb895ff30f015c50c516e898c341cd0a230264736f6c63430008150033"
|
|
658
|
+
})
|
|
659
|
+
});
|
|
660
|
+
Object.freeze(Object.keys(RUNTIME_MODULES));
|
|
661
|
+
function capturedModule(value) {
|
|
662
|
+
if (typeof value !== "string" || !Object.hasOwn(RUNTIME_MODULES, value)) return inputInvalid("Kernel runtime module is unsupported");
|
|
663
|
+
return value;
|
|
664
|
+
}
|
|
665
|
+
/** The exact CREATE2 deployer transaction that deploys one runtime module. */
|
|
666
|
+
function prepareRuntimeModuleDeployment(value) {
|
|
667
|
+
const record = exactInput(value, ["chainId", "module"], "Kernel runtime module deployment", /* @__PURE__ */ new WeakSet());
|
|
668
|
+
const deployment = kernelV4Deployment(record.chainId);
|
|
669
|
+
const module = capturedModule(record.module);
|
|
670
|
+
const row = RUNTIME_MODULES[module];
|
|
671
|
+
return Object.freeze({
|
|
672
|
+
module,
|
|
673
|
+
address: row.address,
|
|
674
|
+
to: deployment.create2Deployer,
|
|
675
|
+
data: row.deploymentInput,
|
|
676
|
+
value: 0n,
|
|
677
|
+
expectedRuntimeCodeHash: row.runtimeCodeHash
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
Object.freeze(["standard", "enable-replayable"]);
|
|
508
681
|
//#endregion
|
|
509
682
|
//#region ../contracts/artifacts/KernelV4Runtime.json
|
|
510
683
|
var kernelUups = {
|
|
@@ -580,31 +753,6 @@ var ecdsaSigner = {
|
|
|
580
753
|
"initCodeHash": "0x5c757305090179fd55d99ade637da3ff267acfc8fcded63e39433c3466660559"
|
|
581
754
|
}
|
|
582
755
|
};
|
|
583
|
-
var webAuthnSigner = {
|
|
584
|
-
"repository": "https://github.com/zerodevapp/kernel-7579-plugins",
|
|
585
|
-
"commit": "332deed6eeef3d6279cde50aa1d51eff53728bd4",
|
|
586
|
-
"source": "src/signers/WebAuthnSigner.sol",
|
|
587
|
-
"moduleType": 6,
|
|
588
|
-
"compiler": {
|
|
589
|
-
"solc": "0.8.30+commit.73712a01",
|
|
590
|
-
"viaIR": true,
|
|
591
|
-
"optimizer": true,
|
|
592
|
-
"optimizerRuns": 2e4,
|
|
593
|
-
"evmVersion": "prague"
|
|
594
|
-
},
|
|
595
|
-
"expectedAddress": "0x8b2df925aa16071fcdf0053768420e242935ac65",
|
|
596
|
-
"deploymentInput": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234601557611310908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630ccab7a11461060d5780631811663f14610594578063244d6cb214610532578063392dffaf146104505780636d61fe70146102605780638a91b0e314610117578063d60b347f146100b35763ecd0596114610071575f80fd5b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760206040516006600435148152f35b5f80fd5b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5773ffffffffffffffffffffffffffffffffffffffff6100ff610708565b165f525f602052602060405f20541515604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760043567ffffffffffffffff81116100af5761016190369060040161072b565b6020116100af5735805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f205415610234575f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020525f6001604082208281550155335f525f60205260405f2080548015610207577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7ff91bd6f1000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760043567ffffffffffffffff81116100af576102aa90369060040161072b565b806020116100af57813590815f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f205461042457335f525f60205260405f20908154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214610207577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0926001869301905581010301606081126100af576040136100af5760405161036481610759565b6040602084013593848352013560208201938185521590811561041b575b506103f3576001915f528160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f2090519283825551918291015560405191825260208201527fac9eef70e30b05ba935b5092b39f4fe85762ee3a8853386ea1e9a224986976ef60403392a2005b7fa2d0fee8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610382565b7f93360fbf000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100af5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af576104876106e5565b5060643567ffffffffffffffff81116100af576104ab6104b891369060040161072b565b9060443533600435610853565b61050a5760207f1626ba7e000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60207fffffffff000000000000000000000000000000000000000000000000000000006104e0565b346100af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5773ffffffffffffffffffffffffffffffffffffffff61057e610708565b165f525f602052602060405f2054604051908152f35b346100af5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af576105cb6106e5565b6004355f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f526020526040805f206001815491015482519182526020820152f35b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100af5760243567ffffffffffffffff81116100af57803603906101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd61010482013592018212156100af570160048101359067ffffffffffffffff82116100af5760240181360381136100af576020916106dd9160443533600435610853565b604051908152f35b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100af57565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100af57565b9181601f840112156100af5782359167ffffffffffffffff83116100af57602083818601950101116100af57565b6040810190811067ffffffffffffffff82111761077557604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761077557604052565b67ffffffffffffffff811161077557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610829826107e3565b9161083760405193846107a2565b8294818452818301116100af578281602093845f960137010152565b9392919092820160c0838203126100af57823567ffffffffffffffff81116100af57830181601f820112156100af57818160206108929335910161081d565b90602084013567ffffffffffffffff81116100af5784019080601f830112156100af578160206108c49335910161081d565b9260a08101359485151586036100af57610953965f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f209260016040519461091386610759565b8054865201549360208101948552604051916020830152602082526109396040836107a2565b51935194608083013593604060608501359401359261099e565b61095c57600190565b5f90565b908151811015610971570160200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b909796959493929197600198815160258110908115610e56575b50610e4e575b604092610a01858386516109d288826107a2565b601581527f2274797065223a22776562617574686e2e6765742200000000000000000000006020820152610f6a565b15610e46575b610a1090611131565b5f8151600281119081610dc6575b5015610d2b575060025b81519081039081116102075780610a3f84926107e3565b90610a4c875192836107a2565b808252610a58816107e3565b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840195013686375f5b828110610c1a5750505090610b2a92610b256001602d6017958a519485917f226368616c6c656e6765223a220000000000000000000000000000000000000060208401525180918484015e81017f22000000000000000000000000000000000000000000000000000000000000008382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18101845201826107a2565b610f6a565b15610c12575b5f602080928551918183925191829101835e8101838152039060025afa15610c08575f6020918151610b818480875180948280830197805191829101895e82019083820152030180845201826107a2565b8451918291518091835e8101838152039060025afa15610bff57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f519114610bf05790610bd39594939291611010565b9081610be8575b50610be3575f90565b600190565b90505f610bda565b610bfa9650611010565b505f90565b513d5f823e3d90fd5b50513d5f823e3d90fd5b5f9950610b30565b81929394507f2b000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610c6d83600195610960565b511603610c8d57602d610c808287610960565b535b019085939291610a85565b7f2f000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610cd98386610960565b511603610cf257605f610cec8287610960565b53610c82565b7fff00000000000000000000000000000000000000000000000000000000000000610d1d8285610960565b51165f1a610cec8287610960565b8151600181119081610d46575b5015610a2857506001610a28565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810191508111610207577fff00000000000000000000000000000000000000000000000000000000000000610dbd7f3d000000000000000000000000000000000000000000000000000000000000009285610960565b5116145f610d38565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe810191508111610207577fff00000000000000000000000000000000000000000000000000000000000000610e3d7f3d000000000000000000000000000000000000000000000000000000000000009285610960565b5116145f610a1e565b5f9a50610a07565b5f99506109be565b90506020101561097157610e9160017fff00000000000000000000000000000000000000000000000000000000000000604085015116610e98565b155f6109b8565b907f010000000000000000000000000000000000000000000000000000000000000080831603610f575780610f2b575b610bfa577f080000000000000000000000000000000000000000000000000000000000000080821603610efc575b50600190565b7f10000000000000000000000000000000000000000000000000000000000000008091161461095c575f610ef6565b507f04000000000000000000000000000000000000000000000000000000000000008082161415610ec8565b50505f90565b9190820180921161020757565b919082519281515f5b858110610f8557505050505050600190565b81610f908287610f5d565b1015611006577fff00000000000000000000000000000000000000000000000000000000000000610fc18285610960565b51167fff00000000000000000000000000000000000000000000000000000000000000610ff7610ff18489610f5d565b87610960565b51160361100657600101610f73565b5050505050505f90565b94939291907f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a882116110065761104595611077565b90565b3d15611072573d90611059826107e3565b9161106760405193846107a2565b82523d5f602084013e565b606090565b92935f959192948695604051946020860196875260408601526060850152608084015260a083015260a082526110ae60c0836107a2565b83146110f45751906101005afa6110c3611048565b901580156110eb575b610bfa57602081519181808201938492010103126100af575160011490565b508051156110cc565b519073c2b78104907f722dabac4c69f826a522b2754de45afa50611116611048565b602081519181808201938492010103126100af575160011490565b908151156112c4578151600281018091116102075760039004908160021b917f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81160361020757604051917f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f603f52602083018480518101602081018051915f82525b80891061128857506020959697509060039291525106806001146112365760021461120a575b50808452830101604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff603d9101535f6111fe565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81603d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8194015301535f6111fe565b939760036004910198603f8a51818160121c165183538181600c1c16516001840153818160061c165160028401531651600382015301936111d8565b90506040516112d46020826107a2565b5f81529056fea2646970667358221220915809d473a74fc5863d5a57153ea0ff456ac49e9fcc595746d261d914a1a8ab64736f6c634300081e0033",
|
|
597
|
-
"runtimeCodeHash": "0xb725f54a7cf2367e9ea39da15c3984dd30786699f21d4bf8f767c2e80b273d18"
|
|
598
|
-
};
|
|
599
|
-
var p256Verifier = {
|
|
600
|
-
"repository": "https://github.com/daimo-eth/p256-verifier",
|
|
601
|
-
"commit": "607d3ec8377a3f59d65eca60d87dee8485d2ebcc",
|
|
602
|
-
"source": "src/P256Verifier.sol",
|
|
603
|
-
"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.",
|
|
604
|
-
"expectedAddress": "0xc2b78104907f722dabac4c69f826a522b2754de4",
|
|
605
|
-
"deploymentInput": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610dd1908161001c8239f35b600080fdfe60e06040523461001a57610012366100c7565b602081519101f35b600080fd5b6040810190811067ffffffffffffffff82111761003b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60e0810190811067ffffffffffffffff82111761003b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761003b57604052565b60a08103610193578060201161001a57600060409180831161018f578060601161018f578060801161018f5760a01161018c57815182810181811067ffffffffffffffff82111761015f579061013291845260603581526080356020820152833560203584356101ab565b15610156575060ff6001915b5191166020820152602081526101538161001f565b90565b60ff909161013e565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b5080fd5b5060405160006020820152602081526101538161001f565b909283158015610393575b801561038b575b8015610361575b6103585780519060206101dc818301938451906103bd565b1561034d57604051948186019082825282604088015282606088015260808701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f60a08701527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551958660c082015260c081526102588161006a565b600080928192519060055afa903d15610345573d9167ffffffffffffffff831161031857604051926102b1857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190516102e693929185908181890994099151906104eb565b061490565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526001600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6060916102ba565b505050505050600090565b50505050600090565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518310156101c4565b5082156101bd565b507fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325518410156101b6565b7fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818110801590610466575b8015610455575b61044d577f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8282818080957fffffffff00000001000000000000000000000000fffffffffffffffffffffffc0991818180090908089180091490565b505050600090565b50801580156103f1575082156103f1565b50818310156103ea565b7f800000000000000000000000000000000000000000000000000000000000000081146104bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b909192608052600091600160a05260a05193600092811580610718575b61034d57610516838261073d565b95909460ff60c05260005b600060c05112156106ef575b60a05181036106a1575050507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2969594939291965b600060c05112156105c7575050505050507fffffffff00000001000000000000000000000000ffffffffffffffffffffffff91506105c260a051610ca2565b900990565b956105d9929394959660a05191610a98565b9097929181928960a0528192819a6105f66080518960c051610722565b61060160c051610470565b60c0528061061b5750505050505b96959493929196610583565b969b5061067b96939550919350916001810361068857507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5937f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29693610952565b979297919060a05261060f565b6002036106985786938a93610952565b88938893610952565b600281036106ba57505050829581959493929196610583565b9197917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0161060f575095508495849661060f565b506106ff6080518560c051610722565b8061070b60c051610470565b60c052156105215761052d565b5060805115610508565b91906002600192841c831b16921c1681018091116104bc5790565b8015806107ab575b6107635761075f91610756916107b3565b92919091610c42565b9091565b50507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296907f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f590565b508115610745565b919082158061094a575b1561080f57507f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29691507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5906001908190565b7fb01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff808481600186090894817f94e82e0c1ed3bdb90743191a9c5bbf0d88fc827fd214cc5f0b5ec6ba27673d6981600184090893841561091b575050808084800993840994818460010994828088600109957f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908935b93929190565b9350935050921560001461093b5761093291610b6d565b91939092610915565b50506000806000926000610915565b5080156107bd565b91949592939095811580610a90575b15610991575050831580610989575b61097a5793929190565b50600093508392508291508190565b508215610970565b85919294951580610a88575b610a78577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff968703918783116104bc5787838189850908938689038981116104bc5789908184840908928315610a5d575050818880959493928180848196099b8c9485099b8c920999099609918784038481116104bc5784908180867fffffffff00000001000000000000000000000000fffffffffffffffffffffffd0991818580090808978885038581116104bc578580949281930994080908929190565b965096505050509093501560001461093b5761093291610b6d565b9550509150915091906001908190565b50851561099d565b508015610961565b939092821580610b65575b61097a577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff908185600209948280878009809709948380888a0998818080808680097fffffffff00000001000000000000000000000000fffffffffffffffffffffffc099280096003090884808a7fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818380090898898603918683116104bc57888703908782116104bc578780969481809681950994089009089609930990565b508015610aa3565b919091801580610c3a575b610c2d577fffffffff00000001000000000000000000000000ffffffffffffffffffffffff90818460020991808084800980940991817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc81808088860994800960030908958280837fffffffff00000001000000000000000000000000fffffffffffffffffffffffd09818980090896878403918483116104bc57858503928584116104bc5785809492819309940890090892565b5060009150819081908190565b508215610b78565b909392821580610c9a575b610c8d57610c5a90610ca2565b9182917fffffffff00000001000000000000000000000000ffffffffffffffffffffffff80809581940980099009930990565b5050509050600090600090565b508015610c4d565b604051906020918281019183835283604083015283606083015260808201527fffffffff00000001000000000000000000000000fffffffffffffffffffffffd60a08201527fffffffff00000001000000000000000000000000ffffffffffffffffffffffff60c082015260c08152610d1a8161006a565b600080928192519060055afa903d15610d93573d9167ffffffffffffffff83116103185760405192610d73857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610086565b83523d828585013e5b156102eb57828280518101031261018c5750015190565b606091610d7c56fea2646970667358221220fa55558b04ced380e93d0a46be01bb895ff30f015c50c516e898c341cd0a230264736f6c63430008150033",
|
|
606
|
-
"runtimeCodeHash": "0x3cd725b6ba67b40b7979190c41a015e82cf21e098eb61832ba623f8538bab7fc"
|
|
607
|
-
};
|
|
608
756
|
var callPolicy = {
|
|
609
757
|
"repository": "https://github.com/cartesi/erc-4337-devnet",
|
|
610
758
|
"commit": "2d86aeea200a52919304b535454850182b80e563",
|
|
@@ -667,19 +815,6 @@ var deployment = {
|
|
|
667
815
|
"deploymentInput": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576107fa908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600090813560e01c908163309bfb76146104c0575080636d61fe70146102fe5780637129edce146102b65780637cb40d40146102355780638a91b0e3146100ff578063a27b9f7e146100dd578063d60b347f1461009f5763ecd059611461007d57600080fd5b3461009c57602036600319011261009c57506005602092519135148152f35b80fd5b5082346100d95760203660031901126100d95760209181906001600160a01b036100c7610511565b16815260018452205415159051908152f35b5080fd5b5082346100d957816003193601126100d95751631ba8f41560e01b8152602090f35b5091906020918260031936011261023157813567ffffffffffffffff811161022d5761012e903690840161052c565b939081850361021e57359381811061020a575b503385528481528185208486528152818520805460ff8160601c1660038110156101f7576001036101d05760ff60601b1916600160611b1790553385526001905283208054909181156101bd5750600019019055337f71b2179d55ae39dc556fbdadcb110059e5a2bf07ad89afdfe3c9bfd89b26fd238380a380f35b634e487b7160e01b855260119052602484fd5b5050905163f7f4235d60e01b81523392810192835260208301939093525081906040010390fd5b634e487b7160e01b885260218652602488fd5b60001990820360031b1b9093169238610141565b505051632f85588960e11b8152fd5b8480fd5b8380fd5b5082903461009c578160031936011261009c576001600160a01b03610258610511565b168152806020528181206024358252602052818120549165ffffffffffff9160ff8460601c1692825194818116865260301c16602085015260038310156102a3575060609350820152f35b634e487b7160e01b815260218552602490fd5b50829060031990828236011261009c576024359167ffffffffffffffff83116100d95761012090833603011261009c5750826102f7916020940190356105a0565b9051908152f35b50826020806003193601126104bc57833567ffffffffffffffff81116102315761032b903690860161052c565b9290606084036104ac5783831161022d578181359482601f1991810103011261022d576103648261035d85840161055a565b920161055a565b926001600160e01b03851661049c5765ffffffffffff8085169283158015610490575b6104805733885287835284882087895283528488209182549160ff8360601c16600381101561046d5761044a5716956bffffffffffff000000000000600160601b9260ff60601b198916906cffffffffffffffffffffffffff1916179160301b16171790553386526001815282862080546000198114610437576001019055825193845283015233917f100db2dcff8b9f90d654a68e5cc4b77d15a4bed5025c088e212dbcee4ed381f09190a380f35b634e487b7160e01b885260118952602488fd5b8651638ce0a3bb60e01b815233818d01908152602081018b905281906040010390fd5b634e487b7160e01b8b5260218c5260248bfd5b8451633ba7713360e11b81528990fd5b50838282161015610387565b8251632f85588960e11b81528790fd5b8151632f85588960e11b81528690fd5b8280fd5b9190503461009c57608036600319011261009c576024356001600160a01b0381160361009c576064359067ffffffffffffffff821161009c57506020926105099136910161052c565b505060018152f35b600435906001600160a01b038216820361052757565b600080fd5b9181601f840112156105275782359167ffffffffffffffff8311610527576020838186019501011161052757565b359065ffffffffffff8216820361052757565b903590601e1981360301821215610527570180359067ffffffffffffffff82116105275760200191813603831361052757565b60009033825281602052604082209082526020526040812090604051916060830183811067ffffffffffffffff8211176107e657604052549165ffffffffffff91828416825260ff6020830194848160301c16865260601c169460038610156107d25785604084015260018096148015906107ba575b6107605760608101602461062a828461056d565b905010801561078e575b610785576106419161056d565b60249291921161009c5750600401359163ffffffff858460f81c118015610776575b8015610768575b610760576001600160d01b0384161561072e57631ba8f415908460b01c1614801590610719575b6107125780808460801c169360501c16938415928315610705575b5082156106fa575b82156106ed575b50506106e85760d01b6001600160d01b03191660a09190911b65ffffffffffff60a01b1617905090565b90565b505090565b51168311905038806106bb565b8484101592506106b4565b51821684109250386106ac565b5050505090565b5069ffffffffffffffffffff83161515610691565b509051925192811660d01b6001600160d01b031916921660a01b65ffffffffffff60a01b169190911791506106e59050565b505050505090565b50808460d01c16151561066a565b5060ff8460f01c161515610663565b50505050505090565b50610799818361056d565b60041161023157356001600160e01b03191663e9ae5c5360e01b1415610634565b506107c961010082018261056d565b90501515610616565b634e487b7160e01b82526021600452602482fd5b634e487b7160e01b83526041600452602483fd"
|
|
668
816
|
};
|
|
669
817
|
//#endregion
|
|
670
|
-
//#region ../sdk/test/fixtures/kernel-rate-limit-deployment.json
|
|
671
|
-
var kernel_rate_limit_deployment_default = {
|
|
672
|
-
version: "oaath.kernel-rate-limit-artifact/v1",
|
|
673
|
-
repository: "https://github.com/zerodevapp/kernel-7579-plugins",
|
|
674
|
-
commit: "a267d7945f87fc54853b512c2c8d9316d6463e36",
|
|
675
|
-
source: "src/policies/RateLimitPolicy.sol",
|
|
676
|
-
moduleType: 5,
|
|
677
|
-
compiler: { "version": "0.8.30+commit.73712a01" },
|
|
678
|
-
expectedAddress: "0xe2663e2f94ef2dc11cc06a7914a037d78a0652dc",
|
|
679
|
-
runtimeCodeHash: "0x6bb7a4d8507d7824e806f730683d532961dc2117ce530a8216765ddd2b1f17b5",
|
|
680
|
-
deploymentInput: "0x00000000000000000000000000000000000000000000000000000000000000006080806040523460155761065a908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163309bfb76146105235750806348edf4e1146104b05780636d61fe701461034f5780637129edce146102245780638712147a146101ad5780638a91b0e314610106578063d8ed2b3c1461009c5763ecd059611461007757600080fd5b346100975760203660031901126100975760206040516005600435148152f35b600080fd5b34610097576040366003190112610097576100b5610568565b600435600052600060205260406000209060018060a01b031660005260205260ff6040600020541660405160038210156100f0576020918152f35b634e487b7160e01b600052602160045260246000fd5b60203660031901126100975760043567ffffffffffffffff81116100975761013290369060040161057e565b602011610097573560008181526020818152604080832033845290915281205490919060ff1660038110156101995760010361018a578152602081815260408083203384529091528120805460ff1916600217905580f35b63f22b4ce760e01b8252600482fd5b634e487b7160e01b83526021600452602483fd5b34610097576040366003190112610097576101c6610568565b600435600052600160205260406000209060018060a01b0316600052602052610220604060002054604051918165ffffffffffff80859460301c1691168390929165ffffffffffff60209181604085019616845216910152565b0390f35b60403660031901126100975760043560243567ffffffffffffffff811161009757610120906003199036030112610097576000818152600160209081526040808320338085529083528184209484526002835281842090845290915290208054909165ffffffffffff4281169260301c168210156102f6575b505065ffffffffffff8154169081156102e55765ffffffffffff602092600019011665ffffffffffff1982541617815565ffffffffffff60a01b905460701b16604051908152f35b6307ef6f4d60e31b60005260046000fd5b6103489165ffffffffffff82818061031e955460301c161682198754161786555416906105ac565b82546bffffffffffff000000000000191660309190911b6bffffffffffff00000000000016178255565b818061029d565b60203660031901126100975760043567ffffffffffffffff81116100975761037b90369060040161057e565b90816020116100975780356000818152602081815260408083203384529091528120549093919291601f19019060ff16600381101561049c5760011461048d57600c811061047e578060061161047a57602082013560d01c90600c1161047a5765ffffffffffff61042a81602661045895013560d01c16926104226103fe6105e0565b8281526020808201879052888a52600181526040808b20338c529091528920610616565b8242166105ac565b6104326105e0565b928352166020808301919091528385526002815260408086203387529091528420610616565b8152602081815260408083203384529091528120805460ff1916600117905580f35b8380fd5b632f85588960e11b8452600484fd5b631883696f60e31b8452600484fd5b634e487b7160e01b85526021600452602485fd5b34610097576040366003190112610097576104c9610568565b600435600052600260205260406000209060018060a01b0316600052602052610220604060002054604051918165ffffffffffff80859460301c1691168390929165ffffffffffff60209181604085019616845216910152565b346100975760803660031901126100975761053c610568565b506064359067ffffffffffffffff821161009757610560602092369060040161057e565b505060018152f35b602435906001600160a01b038216820361009757565b9181601f840112156100975782359167ffffffffffffffff8311610097576020838186019501011161009757565b9065ffffffffffff8091169116019065ffffffffffff82116105ca57565b634e487b7160e01b600052601160045260246000fd5b604051906040820182811067ffffffffffffffff82111761060057604052565b634e487b7160e01b600052604160045260246000fd5b81518154602093909301516bffffffffffffffffffffffff1990931665ffffffffffff919091161760309290921b6bffffffffffff0000000000001691909117905556"
|
|
681
|
-
};
|
|
682
|
-
//#endregion
|
|
683
818
|
//#region src/manifest.ts
|
|
684
819
|
function deployableComponent(create2Deployer, id, artifact, expectedAddress, required = true, passkeySession = false) {
|
|
685
820
|
const input = artifact.deploymentInput;
|
|
@@ -700,6 +835,23 @@ function deployableComponent(create2Deployer, id, artifact, expectedAddress, req
|
|
|
700
835
|
deploymentInput: input
|
|
701
836
|
};
|
|
702
837
|
}
|
|
838
|
+
/** The SDK owns the OAAth runtime modules' deployment transactions. */
|
|
839
|
+
function runtimeModule(chainId, id, module, passkey = false) {
|
|
840
|
+
const prepared = prepareRuntimeModuleDeployment({
|
|
841
|
+
chainId,
|
|
842
|
+
module
|
|
843
|
+
});
|
|
844
|
+
return [
|
|
845
|
+
id,
|
|
846
|
+
{
|
|
847
|
+
deploymentInput: prepared.data,
|
|
848
|
+
runtimeCodeHash: prepared.expectedRuntimeCodeHash
|
|
849
|
+
},
|
|
850
|
+
prepared.address,
|
|
851
|
+
!passkey,
|
|
852
|
+
passkey
|
|
853
|
+
];
|
|
854
|
+
}
|
|
703
855
|
function components(chainId) {
|
|
704
856
|
const deployment$1 = kernelDeployment({ chainId });
|
|
705
857
|
const implementationHash = deployment$1.implementationDeployment?.runtimeCodeHash;
|
|
@@ -730,17 +882,14 @@ function components(chainId) {
|
|
|
730
882
|
...kernelFactory,
|
|
731
883
|
runtimeCodeHash: deployment$1.factoryRuntimeCodeHash
|
|
732
884
|
}, deployment$1.factory),
|
|
733
|
-
deployable("validityPolicy",
|
|
885
|
+
deployable(...runtimeModule(chainId, "validityPolicy", "validity_policy")),
|
|
734
886
|
deployable("callPolicy", callPolicy, pinnedPolicyModule("call")),
|
|
735
887
|
deployable("rateLimitPolicy", rateLimitPolicy, pinnedPolicyModule("operation-limit")),
|
|
736
|
-
deployable("resettingRateLimitPolicy",
|
|
737
|
-
...kernel_rate_limit_deployment_default,
|
|
738
|
-
runtimeCodeHash: OAATH_KERNEL_RATE_LIMIT_POLICY_RUNTIME_CODE_HASH
|
|
739
|
-
}, pinnedPolicyModule("rate-limit")),
|
|
888
|
+
deployable(...runtimeModule(chainId, "resettingRateLimitPolicy", "rate_limit_policy")),
|
|
740
889
|
deployable("ecdsaSigner", ecdsaSigner, pinnedSignerModule("ecdsa")),
|
|
741
890
|
deployable("p256Validator", p256Validator, p256Validator.expectedAddress, false),
|
|
742
|
-
deployable("webAuthnSigner",
|
|
743
|
-
deployable("p256Verifier",
|
|
891
|
+
deployable(...runtimeModule(chainId, "webAuthnSigner", "webauthn_signer", true)),
|
|
892
|
+
deployable(...runtimeModule(chainId, "p256Verifier", "p256_verifier", true))
|
|
744
893
|
];
|
|
745
894
|
}
|
|
746
895
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oaath/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
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.1",
|
|
37
37
|
"viem": "2.55.8"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|