@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.
Files changed (2) hide show
  1. package/dist/cli.mjs +204 -55
  2. 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-454uXgUF.js
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
- /** Existing Kernel 0.3.3 accounts; this profile never derives a replacement address. */
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: "0x8b2df925aa16071fcdf0053768420e242935ac65"
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", deployment, pinnedPolicyModule("expiry")),
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", webAuthnSigner, pinnedSignerModule("webauthn"), false, true),
743
- deployable("p256Verifier", p256Verifier, p256Verifier.expectedAddress, false, true)
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.0",
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.0",
36
+ "@oaath/sdk": "0.3.1",
37
37
  "viem": "2.55.8"
38
38
  },
39
39
  "devDependencies": {