@dev.sail.money/sailor 1.3.0-221 → 1.3.0-223
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/AGENTS.md +6 -6
- package/README.md +16 -10
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +735 -317
- package/packages/cli/dist/server.cjs +166 -123
- package/packages/sdk/README.md +1 -1
- package/packages/sdk/dist/abis/SailKernel.d.ts +42 -0
- package/packages/sdk/dist/abis/SailKernel.d.ts.map +1 -1
- package/packages/sdk/dist/abis/SailKernel.js +34 -0
- package/packages/sdk/dist/abis/SailKernel.js.map +1 -1
- package/packages/sdk/dist/chains.d.ts +0 -7
- package/packages/sdk/dist/chains.d.ts.map +1 -1
- package/packages/sdk/dist/chains.js +81 -32
- package/packages/sdk/dist/chains.js.map +1 -1
- package/packages/sdk/dist/client.d.ts +1 -1
- package/packages/sdk/dist/client.d.ts.map +1 -1
- package/packages/sdk/dist/client.js +137 -16
- package/packages/sdk/dist/client.js.map +1 -1
- package/packages/sdk/dist/deployments.d.ts +6 -4
- package/packages/sdk/dist/deployments.d.ts.map +1 -1
- package/packages/sdk/dist/deployments.js +120 -118
- package/packages/sdk/dist/deployments.js.map +1 -1
- package/packages/sdk/dist/eip712.d.ts +84 -0
- package/packages/sdk/dist/eip712.d.ts.map +1 -1
- package/packages/sdk/dist/eip712.js +148 -0
- package/packages/sdk/dist/eip712.js.map +1 -1
- package/packages/sdk/dist/index.d.ts +2 -2
- package/packages/sdk/dist/index.d.ts.map +1 -1
- package/packages/sdk/dist/index.js +2 -2
- package/packages/sdk/dist/index.js.map +1 -1
- package/packages/sdk/dist/intelligence.d.ts +1 -1
- package/packages/sdk/dist/intelligence.js +1 -1
- package/packages/sdk/dist/safe.d.ts +49 -0
- package/packages/sdk/dist/safe.d.ts.map +1 -1
- package/packages/sdk/dist/safe.js +74 -0
- package/packages/sdk/dist/safe.js.map +1 -1
- package/packages/sdk/package.json +4 -0
- package/packages/ui/dist/assets/{add-BX5reKtK.js → add-DLYFRKuI.js} +1 -1
- package/packages/ui/dist/assets/{all-wallets-IZ3PlVF-.js → all-wallets-Dz5SZj5e.js} +1 -1
- package/packages/ui/dist/assets/{app-store-ARgRdMdF.js → app-store-DCYRFDwY.js} +1 -1
- package/packages/ui/dist/assets/{apple-VCaqsI9w.js → apple-BcAi8XTW.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-Cwptw8fW.js → arrow-bottom-Bik1zp_1.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-circle-h5vFiZ2I.js → arrow-bottom-circle-BSA6CcrO.js} +1 -1
- package/packages/ui/dist/assets/{arrow-left-bM1TRcV9.js → arrow-left-07r0E796.js} +1 -1
- package/packages/ui/dist/assets/{arrow-right-BYd_N4Jr.js → arrow-right-CW1Ka1mT.js} +1 -1
- package/packages/ui/dist/assets/{arrow-top-CLUnwVE2.js → arrow-top-BoAo8_T9.js} +1 -1
- package/packages/ui/dist/assets/{bank-6c28yOM9.js → bank-Bpa5anN0.js} +1 -1
- package/packages/ui/dist/assets/{basic-CJnbTfSd.js → basic-CbzdfUfs.js} +1 -1
- package/packages/ui/dist/assets/{browser-CDKlxM3D.js → browser-B4YQX2Tn.js} +1 -1
- package/packages/ui/dist/assets/{card-DQdED02q.js → card-CF8oS4fb.js} +1 -1
- package/packages/ui/dist/assets/{ccip-BL7RIPfY.js → ccip-DssR-Uhz.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-JoRNVoFV.js → checkmark-BihQ9h3G.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-bold-B6bGHVIs.js → checkmark-bold-c5EPMyPR.js} +1 -1
- package/packages/ui/dist/assets/{chevron-bottom-BMCelIEu.js → chevron-bottom-Lijs68sl.js} +1 -1
- package/packages/ui/dist/assets/{chevron-left-ryPLhHCc.js → chevron-left-Cj7sg_Iw.js} +1 -1
- package/packages/ui/dist/assets/{chevron-right-CdDNRv7f.js → chevron-right-CqD-gBdk.js} +1 -1
- package/packages/ui/dist/assets/{chevron-top-BxWIjjGk.js → chevron-top-DDShxMva.js} +1 -1
- package/packages/ui/dist/assets/{chrome-store-D-fiJ9qJ.js → chrome-store-DSBNmkPw.js} +1 -1
- package/packages/ui/dist/assets/{clock-xCPkzwjj.js → clock-CjlvcnX9.js} +1 -1
- package/packages/ui/dist/assets/{close-BkqmPpWG.js → close-QhgNd0Xc.js} +1 -1
- package/packages/ui/dist/assets/{coinPlaceholder-PIvN9oq_.js → coinPlaceholder-C7TUN8V-.js} +1 -1
- package/packages/ui/dist/assets/{compass-CW5kWcxW.js → compass-DrE1sLwt.js} +1 -1
- package/packages/ui/dist/assets/{copy-DUZlAQJJ.js → copy-CFx1aksp.js} +1 -1
- package/packages/ui/dist/assets/{core-von2c1sc.js → core-CcaMuBIR.js} +3 -3
- package/packages/ui/dist/assets/cursor-DXDOwzFz.js +3 -0
- package/packages/ui/dist/assets/{cursor-transparent-BUAMB0G1.js → cursor-transparent-DxBdWZi8.js} +1 -1
- package/packages/ui/dist/assets/{desktop-BxdlwV8P.js → desktop-B-ATHCGS.js} +1 -1
- package/packages/ui/dist/assets/{disconnect-GelNh3mn.js → disconnect-Bvu0LqoD.js} +1 -1
- package/packages/ui/dist/assets/{discord-N0jnxkzC.js → discord-DrRGYSx6.js} +1 -1
- package/packages/ui/dist/assets/{etherscan-B41u7wF4.js → etherscan-BaQiGNrH.js} +1 -1
- package/packages/ui/dist/assets/{events-C9icG2YB.js → events-BYNiBrPy.js} +1 -1
- package/packages/ui/dist/assets/{exclamation-triangle-BWJC56FC.js → exclamation-triangle-B3yAGM1Q.js} +1 -1
- package/packages/ui/dist/assets/{extension-G6I6oogw.js → extension-CYA4bLg-.js} +1 -1
- package/packages/ui/dist/assets/{external-link-BPaGQf4a.js → external-link-D5PwFm0_.js} +1 -1
- package/packages/ui/dist/assets/{facebook-47twy32b.js → facebook-CEwgL1NC.js} +1 -1
- package/packages/ui/dist/assets/{fallback-BTfJeGjh.js → fallback-B9sp077f.js} +1 -1
- package/packages/ui/dist/assets/{farcaster-DYqnqCqs.js → farcaster-Ak6D7Lp_.js} +1 -1
- package/packages/ui/dist/assets/{filters-dF6xeJnE.js → filters-CJduAQRB.js} +1 -1
- package/packages/ui/dist/assets/{github-DbW4Ihz2.js → github-PLN2sD5Q.js} +1 -1
- package/packages/ui/dist/assets/{google-TKm7G8LF.js → google-BRRn9hKY.js} +1 -1
- package/packages/ui/dist/assets/{help-circle-CY3qTmsG.js → help-circle-BnvqUg2y.js} +1 -1
- package/packages/ui/dist/assets/{id-JpHW4q14.js → id-CJlrhYxX.js} +1 -1
- package/packages/ui/dist/assets/{image-Dip2fG98.js → image-CPduqsY3.js} +1 -1
- package/packages/ui/dist/assets/index-BGmLv6wn.js +1789 -0
- package/packages/ui/dist/assets/{index-C4_cA5XW.js → index-Bp21-hUb.js} +1 -1
- package/packages/ui/dist/assets/{index-CaDN0gL4.js → index-C0GUKQXc.js} +1 -1
- package/packages/ui/dist/assets/{index-BGJ_8fMk.js → index-D-OgqpEg.js} +1 -1
- package/packages/ui/dist/assets/{index-q0mGElxZ.js → index-Dyr25y7I.js} +3 -3
- package/packages/ui/dist/assets/{index-Bq3PAopp.js → index-vEKHRoHD.js} +1 -1
- package/packages/ui/dist/assets/{index.es-BaCKS_tW.js → index.es-Dks2goS7.js} +4 -4
- package/packages/ui/dist/assets/{info-B1enFsqh.js → info-CGNHPKFR.js} +1 -1
- package/packages/ui/dist/assets/{info-circle-D4j3FISs.js → info-circle-D8mpP6LN.js} +1 -1
- package/packages/ui/dist/assets/{lightbulb-DZbKr-vS.js → lightbulb-BWGaqAI3.js} +1 -1
- package/packages/ui/dist/assets/{mail-D-TO_uVQ.js → mail-BcfubTQ2.js} +1 -1
- package/packages/ui/dist/assets/{metamask-sdk-DljW3QD1.js → metamask-sdk-B1i24ALe.js} +1 -1
- package/packages/ui/dist/assets/{mobile-Bkmwzav2.js → mobile-CglLmMeZ.js} +1 -1
- package/packages/ui/dist/assets/{more-D1_I_jiB.js → more-OgWHs8eZ.js} +1 -1
- package/packages/ui/dist/assets/{network-placeholder-DUaFjoXh.js → network-placeholder-BUhDcMI_.js} +1 -1
- package/packages/ui/dist/assets/{nftPlaceholder-Cc0iUryh.js → nftPlaceholder-wxKy5Q-x.js} +1 -1
- package/packages/ui/dist/assets/{off-BvX71sse.js → off-DxJM1N51.js} +1 -1
- package/packages/ui/dist/assets/{parseSignature-BAS-wKoj.js → parseSignature-D838ybCF.js} +1 -1
- package/packages/ui/dist/assets/{play-store-XzLbtbTd.js → play-store-jm12tVwP.js} +1 -1
- package/packages/ui/dist/assets/{plus-B77_RmYR.js → plus--zRIsRuA.js} +1 -1
- package/packages/ui/dist/assets/{qr-code-BNeIhB1d.js → qr-code-DhBJbVz8.js} +1 -1
- package/packages/ui/dist/assets/{recycle-horizontal-B9sX-yty.js → recycle-horizontal-1zQ5U9as.js} +1 -1
- package/packages/ui/dist/assets/{refresh-BWRygnjm.js → refresh-mqmMmKBD.js} +1 -1
- package/packages/ui/dist/assets/{reown-logo-DCAEsGFm.js → reown-logo-RZHJRVcN.js} +1 -1
- package/packages/ui/dist/assets/{search-ZXIqrawS.js → search-Bd45qI2U.js} +1 -1
- package/packages/ui/dist/assets/{secp256k1-Doz05h4g.js → secp256k1-Uhtu7xK-.js} +1 -1
- package/packages/ui/dist/assets/{send-BQcO0jNC.js → send-4lxASBOR.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontal-4yZEzz2K.js → swapHorizontal-Cj2JRLJS.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalBold-DxBKu3sl.js → swapHorizontalBold-Byv9z2H0.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalMedium-DAQYJ2JK.js → swapHorizontalMedium-BadlZnn_.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CUlZzFJ6.js → swapHorizontalRoundedBold-Dl20h9DP.js} +1 -1
- package/packages/ui/dist/assets/{swapVertical-CjWHAaDM.js → swapVertical-DoFYn8T-.js} +1 -1
- package/packages/ui/dist/assets/{telegram-JBeabiJP.js → telegram-DKM_HViT.js} +1 -1
- package/packages/ui/dist/assets/{three-dots-D3R8OjSx.js → three-dots-CBLRiosA.js} +1 -1
- package/packages/ui/dist/assets/{twitch-1f9z7xVO.js → twitch-Dj3xBpb1.js} +1 -1
- package/packages/ui/dist/assets/{twitterIcon-BW7n2xnp.js → twitterIcon-D-wqABHa.js} +1 -1
- package/packages/ui/dist/assets/{verify-Cs5owI38.js → verify-BYs2pfC2.js} +1 -1
- package/packages/ui/dist/assets/{verify-filled-Ci5sx5qS.js → verify-filled-zJG9VG5w.js} +1 -1
- package/packages/ui/dist/assets/{w3m-modal-DnWtss8u.js → w3m-modal-sbOUP95Y.js} +1 -1
- package/packages/ui/dist/assets/{wallet-MaGNqaW-.js → wallet-CMl9HrCE.js} +1 -1
- package/packages/ui/dist/assets/{wallet-placeholder-kTOy12_L.js → wallet-placeholder-BneM1wji.js} +1 -1
- package/packages/ui/dist/assets/{walletconnect-CyuP92jg.js → walletconnect-DVz3u0az.js} +1 -1
- package/packages/ui/dist/assets/{warning-circle-BImUCdpG.js → warning-circle-B_P5OBud.js} +1 -1
- package/packages/ui/dist/assets/{x-II45JHpV.js → x-CU4y53M6.js} +1 -1
- package/packages/ui/dist/index.html +1 -1
- package/templates/default/.agents/skills/sail-mandates/SKILL.md +1 -1
- package/templates/default/.agents/skills/sail-onboarding/SKILL.md +1 -1
- package/packages/ui/dist/assets/cursor-BzRVY7BD.js +0 -3
- package/packages/ui/dist/assets/index-DLElIcBr.js +0 -1789
|
@@ -1,154 +1,156 @@
|
|
|
1
1
|
const zero = "0x0000000000000000000000000000000000000000";
|
|
2
2
|
/**
|
|
3
|
-
* CREATE2-deterministic core addresses — identical on every chain (gitCommit
|
|
3
|
+
* CREATE2-deterministic core addresses — identical on every chain (gitCommit 1dc1960,
|
|
4
4
|
* deployment mode: create2-global-salt, factory: 0x4e59b44847b379578588920cA78FbF26c0B4956C).
|
|
5
|
+
* Safe-governed deploy (create2-2026-07-01), superseding the prior EOA-governed
|
|
6
|
+
* 2026-06-09 deploy.
|
|
5
7
|
*
|
|
6
8
|
* Because kernel, safeModuleEnabler, and standardFeePolicy are the same on every chain,
|
|
7
9
|
* SailKernel.createAccount produces the same SMA address with the same owner/manager/salt
|
|
8
10
|
* on every supported chain — enabling true cross-chain deterministic SMA deployment.
|
|
9
11
|
*/
|
|
10
|
-
const CREATE2_KERNEL = "
|
|
11
|
-
const CREATE2_GOVERNANCE = "
|
|
12
|
-
const CREATE2_TIMELOCK = "
|
|
12
|
+
const CREATE2_KERNEL = "0x38b508756c976e876EFF05a29E731A4d348BA6ED";
|
|
13
|
+
const CREATE2_GOVERNANCE = "0x4315B37cA4A315A7042af1Fcb37F8436f4D24356";
|
|
14
|
+
const CREATE2_TIMELOCK = "0xC1E5F9A581D4100Aa949f80204540a33aD97A7b6";
|
|
13
15
|
const CREATE2_SAFE_MODULE_ENABLER = "0x7897Cb53a4be4a2eaAf46D60573C4Fd83b33fE1F";
|
|
14
|
-
const CREATE2_MANDATE_FACTORY = "
|
|
15
|
-
const CREATE2_STANDARD_FEE_POLICY = "
|
|
16
|
-
const
|
|
16
|
+
const CREATE2_MANDATE_FACTORY = "0x6d2C802ffa0d9A8Ed69A5Bf22c1b63ccB566B8Fc";
|
|
17
|
+
const CREATE2_STANDARD_FEE_POLICY = "0x1087312447C8a2BfA15EB9cE23590E3502DBA04b";
|
|
18
|
+
const CREATE2_DEPLOYER = "0xB01dCE443d052e44b7D13726c0EC9fFB7f5815B6";
|
|
19
|
+
const CREATE2_TREASURY = "0x7b37F85575F1568a37dBA342BC5FE6d393F0872f";
|
|
20
|
+
const CREATE2_MAX_PERMISSION_FEE_WEI = 10000000000000000n;
|
|
21
|
+
/**
|
|
22
|
+
* Shared, multi-tenant permission templates (CREATE2, same address on every chain).
|
|
23
|
+
* Constructor is (kernel, author); kernel is CREATE2_KERNEL, author is CREATE2_DEPLOYER.
|
|
24
|
+
*/
|
|
25
|
+
const CREATE2_TEMPLATES = {
|
|
26
|
+
swap: "0x35cEEa0db96997Cc3CF3beB42FFa36A499342F7C",
|
|
27
|
+
swapNoOracle: "0x34Ba96CbEd1f46c88A5265E645DC5fe41662b519",
|
|
28
|
+
borrow: "0x3e2666051599223cEAb10De55C89A0842857d8AF",
|
|
29
|
+
deposit: "0xBfB5e13a97b12Ee89d2F2b9B65eCf7e0E371911f",
|
|
30
|
+
withdraw: "0xF5eF5dda450a130e3020d54f565E830e4a7531f8",
|
|
31
|
+
transfer: "0xda909a1CC584fb7559Ce4A828b008B473Da095e1",
|
|
32
|
+
approveAndCallBatch: "0x0535A4D51333484ef583103DAB1a9449756ab732",
|
|
33
|
+
};
|
|
34
|
+
const CREATE2_KNOWN_TEMPLATES = [
|
|
35
|
+
{ kind: "SwapPermission", address: CREATE2_TEMPLATES.swap, label: "Swap" },
|
|
36
|
+
{
|
|
37
|
+
kind: "SwapPermissionNoOracle",
|
|
38
|
+
address: CREATE2_TEMPLATES.swapNoOracle,
|
|
39
|
+
label: "Swap (no oracle)",
|
|
40
|
+
},
|
|
41
|
+
{ kind: "BorrowPermission", address: CREATE2_TEMPLATES.borrow, label: "Borrow" },
|
|
42
|
+
{ kind: "DepositPermission", address: CREATE2_TEMPLATES.deposit, label: "Deposit" },
|
|
43
|
+
{ kind: "WithdrawPermission", address: CREATE2_TEMPLATES.withdraw, label: "Withdraw" },
|
|
44
|
+
{ kind: "TransferPermission", address: CREATE2_TEMPLATES.transfer, label: "Transfer" },
|
|
45
|
+
{
|
|
46
|
+
kind: "ApproveAndCallBatchPermission",
|
|
47
|
+
address: CREATE2_TEMPLATES.approveAndCallBatch,
|
|
48
|
+
label: "Approve + call batch",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
/** Shared `SailDeployment` fields identical across every chain in this deploy. */
|
|
52
|
+
const COMMON_DEPLOYMENT_FIELDS = {
|
|
53
|
+
deployer: CREATE2_DEPLOYER,
|
|
54
|
+
governance: CREATE2_GOVERNANCE,
|
|
55
|
+
timelock: CREATE2_TIMELOCK,
|
|
56
|
+
kernel: CREATE2_KERNEL,
|
|
57
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
58
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
59
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
60
|
+
treasury: CREATE2_TREASURY,
|
|
61
|
+
maxPermissionFeeWei: CREATE2_MAX_PERMISSION_FEE_WEI,
|
|
62
|
+
initialBaseFee: 0n,
|
|
63
|
+
initialComplexityRate: 0n,
|
|
64
|
+
dispatchModel: "selective",
|
|
65
|
+
// The seven launch templates are SHARED multi-tenant ConfigurablePermission instances
|
|
66
|
+
// (registered by address, configured via configure()), NOT EIP-1167 clone logic. They
|
|
67
|
+
// belong in knownTemplates only. standaloneTemplates is the clone-implementation registry
|
|
68
|
+
// (the `impl` arg to MandateFactory.deployAndAttach) — empty until standalone clones deploy.
|
|
69
|
+
// Populating it with shared templates mislabels them as unaudited community clones in
|
|
70
|
+
// `sailor mandate templates` and makes capabilities advertise them as deployAndAttach-able.
|
|
71
|
+
standaloneTemplates: {},
|
|
72
|
+
};
|
|
73
|
+
/** `knownTemplates` for a given chain — same addresses everywhere, chainId varies. */
|
|
74
|
+
function knownTemplatesFor(chainId) {
|
|
75
|
+
return CREATE2_KNOWN_TEMPLATES.map((t) => ({ ...t, chainId }));
|
|
76
|
+
}
|
|
17
77
|
export const sailDeployments = {
|
|
18
78
|
// ── Ethereum mainnet ─────────────────────────────────────────────────────────
|
|
19
79
|
1: {
|
|
20
|
-
|
|
21
|
-
// allowlistBootstrapped=true (genesis bootstrap), zero fees, 48h timelock.
|
|
80
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
22
81
|
chainId: 1,
|
|
23
|
-
blockNumber:
|
|
24
|
-
|
|
25
|
-
governance: CREATE2_GOVERNANCE,
|
|
26
|
-
timelock: CREATE2_TIMELOCK,
|
|
27
|
-
kernel: CREATE2_KERNEL,
|
|
28
|
-
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
29
|
-
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
30
|
-
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
31
|
-
treasury: CREATE2_TREASURY,
|
|
32
|
-
maxPermissionFeeWei: 1000000000000000n,
|
|
33
|
-
initialBaseFee: 0n,
|
|
34
|
-
initialComplexityRate: 0n,
|
|
35
|
-
dispatchModel: "selective",
|
|
36
|
-
knownTemplates: [],
|
|
37
|
-
standaloneTemplates: {},
|
|
82
|
+
blockNumber: 25432741,
|
|
83
|
+
knownTemplates: knownTemplatesFor(1),
|
|
38
84
|
},
|
|
39
85
|
// ── Base mainnet ─────────────────────────────────────────────────────────────
|
|
40
86
|
8453: {
|
|
41
|
-
|
|
42
|
-
// 0x6319d3dfDDe3804ba93D65752b00c52bFb05a1ab (SAIL-405 redeploy).
|
|
43
|
-
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
87
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
44
88
|
chainId: 8453,
|
|
45
|
-
blockNumber:
|
|
46
|
-
|
|
47
|
-
governance: CREATE2_GOVERNANCE,
|
|
48
|
-
timelock: CREATE2_TIMELOCK,
|
|
49
|
-
kernel: CREATE2_KERNEL,
|
|
50
|
-
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
51
|
-
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
52
|
-
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
53
|
-
treasury: CREATE2_TREASURY,
|
|
54
|
-
maxPermissionFeeWei: 1000000000000000n,
|
|
55
|
-
initialBaseFee: 0n,
|
|
56
|
-
initialComplexityRate: 0n,
|
|
57
|
-
dispatchModel: "selective",
|
|
58
|
-
knownTemplates: [],
|
|
59
|
-
standaloneTemplates: {},
|
|
89
|
+
blockNumber: 48029413,
|
|
90
|
+
knownTemplates: knownTemplatesFor(8453),
|
|
60
91
|
},
|
|
61
92
|
// ── Arbitrum mainnet ─────────────────────────────────────────────────────────
|
|
62
93
|
42161: {
|
|
63
|
-
|
|
64
|
-
// 0x2716B12832DED0EF5688519c5Fe069EFc0374E02 (SAIL-405 redeploy).
|
|
65
|
-
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
94
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
66
95
|
chainId: 42161,
|
|
67
|
-
blockNumber:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
maxPermissionFeeWei: 1000000000000000n,
|
|
77
|
-
initialBaseFee: 0n,
|
|
78
|
-
initialComplexityRate: 0n,
|
|
79
|
-
dispatchModel: "selective",
|
|
80
|
-
knownTemplates: [],
|
|
81
|
-
standaloneTemplates: {},
|
|
96
|
+
blockNumber: 25432669,
|
|
97
|
+
knownTemplates: knownTemplatesFor(42161),
|
|
98
|
+
},
|
|
99
|
+
// ── Optimism mainnet ─────────────────────────────────────────────────────────
|
|
100
|
+
10: {
|
|
101
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
102
|
+
chainId: 10,
|
|
103
|
+
blockNumber: 153625159,
|
|
104
|
+
knownTemplates: knownTemplatesFor(10),
|
|
82
105
|
},
|
|
83
106
|
// ── Unichain mainnet ─────────────────────────────────────────────────────────
|
|
84
107
|
130: {
|
|
85
|
-
|
|
86
|
-
// 0xD985029960a9B7C2E7E38e102C448b8b8539B156 (SAIL-406 deploy).
|
|
87
|
-
// NOTE: knownTemplates and standaloneTemplates from SAIL-406 were deployed
|
|
88
|
-
// against the old kernel 0xD985029... and are now invalid. They must be
|
|
89
|
-
// redeployed against the new kernel 0x02ABC1... and re-populated here.
|
|
108
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
90
109
|
chainId: 130,
|
|
91
|
-
blockNumber:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
blockNumber: 52100873,
|
|
111
|
+
knownTemplates: knownTemplatesFor(130),
|
|
112
|
+
},
|
|
113
|
+
// ── BSC mainnet ──────────────────────────────────────────────────────────────
|
|
114
|
+
56: {
|
|
115
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
116
|
+
chainId: 56,
|
|
117
|
+
blockNumber: 107312662,
|
|
118
|
+
knownTemplates: knownTemplatesFor(56),
|
|
119
|
+
},
|
|
120
|
+
// ── World Chain mainnet ──────────────────────────────────────────────────────
|
|
121
|
+
480: {
|
|
122
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
123
|
+
chainId: 480,
|
|
124
|
+
blockNumber: 31756901,
|
|
125
|
+
knownTemplates: knownTemplatesFor(480),
|
|
126
|
+
},
|
|
127
|
+
// ── HyperEVM mainnet ─────────────────────────────────────────────────────────
|
|
128
|
+
999: {
|
|
129
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
130
|
+
chainId: 999,
|
|
131
|
+
blockNumber: 39238629,
|
|
132
|
+
knownTemplates: knownTemplatesFor(999),
|
|
133
|
+
},
|
|
134
|
+
// ── MegaETH mainnet ──────────────────────────────────────────────────────────
|
|
135
|
+
4326: {
|
|
136
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
137
|
+
chainId: 4326,
|
|
138
|
+
blockNumber: 20056530,
|
|
139
|
+
knownTemplates: knownTemplatesFor(4326),
|
|
109
140
|
},
|
|
110
141
|
// ── Base Sepolia (testnet) ───────────────────────────────────────────────────
|
|
111
142
|
84532: {
|
|
112
|
-
|
|
113
|
-
// 0xf1D0F4C9893612627409948BAa9d82a01a373799 (SAIL-405 redeploy).
|
|
114
|
-
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
143
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
115
144
|
chainId: 84532,
|
|
116
|
-
blockNumber:
|
|
117
|
-
|
|
118
|
-
governance: CREATE2_GOVERNANCE,
|
|
119
|
-
timelock: CREATE2_TIMELOCK,
|
|
120
|
-
kernel: CREATE2_KERNEL,
|
|
121
|
-
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
122
|
-
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
123
|
-
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
124
|
-
treasury: CREATE2_TREASURY,
|
|
125
|
-
maxPermissionFeeWei: 1000000000000000n,
|
|
126
|
-
initialBaseFee: 0n,
|
|
127
|
-
initialComplexityRate: 0n,
|
|
128
|
-
dispatchModel: "selective",
|
|
129
|
-
knownTemplates: [],
|
|
130
|
-
standaloneTemplates: {},
|
|
145
|
+
blockNumber: 43539604,
|
|
146
|
+
knownTemplates: knownTemplatesFor(84532),
|
|
131
147
|
},
|
|
132
148
|
// ── Eth Sepolia (testnet) ────────────────────────────────────────────────────
|
|
133
149
|
11155111: {
|
|
134
|
-
|
|
135
|
-
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
150
|
+
...COMMON_DEPLOYMENT_FIELDS,
|
|
136
151
|
chainId: 11155111,
|
|
137
|
-
blockNumber:
|
|
138
|
-
|
|
139
|
-
governance: CREATE2_GOVERNANCE,
|
|
140
|
-
timelock: CREATE2_TIMELOCK,
|
|
141
|
-
kernel: CREATE2_KERNEL,
|
|
142
|
-
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
143
|
-
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
144
|
-
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
145
|
-
treasury: CREATE2_TREASURY,
|
|
146
|
-
maxPermissionFeeWei: 1000000000000000n,
|
|
147
|
-
initialBaseFee: 0n,
|
|
148
|
-
initialComplexityRate: 0n,
|
|
149
|
-
dispatchModel: "selective",
|
|
150
|
-
knownTemplates: [],
|
|
151
|
-
standaloneTemplates: {},
|
|
152
|
+
blockNumber: 11174750,
|
|
153
|
+
knownTemplates: knownTemplatesFor(11155111),
|
|
152
154
|
},
|
|
153
155
|
};
|
|
154
156
|
export function getSailDeployment(chainId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,58 @@ export declare function buildRegisterPermissionTypedData(args: {
|
|
|
200
200
|
/** Signature deadline (unix seconds). Only used when hasDeadline = true. Defaults to 5 minutes from now. */
|
|
201
201
|
deadline?: bigint;
|
|
202
202
|
}): SerializedTypedData;
|
|
203
|
+
/**
|
|
204
|
+
* EIP-712 types for RegisterAccount (post-#53 two-step onboarding). Mirrors the on-chain
|
|
205
|
+
* REGISTER_ACCOUNT_TYPEHASH:
|
|
206
|
+
* RegisterAccount(address account,address permissionSigner,address manager,
|
|
207
|
+
* address feePolicy,address feeAsset,uint256 deadline)
|
|
208
|
+
* The owner signs this digest; the resulting signature is passed as `ownerSig` to
|
|
209
|
+
* registerAccount, which the Safe submits via execTransaction (so msg.sender == the Safe).
|
|
210
|
+
*/
|
|
211
|
+
export declare const REGISTER_ACCOUNT_TYPES: {
|
|
212
|
+
readonly RegisterAccount: readonly [{
|
|
213
|
+
readonly name: "account";
|
|
214
|
+
readonly type: "address";
|
|
215
|
+
}, {
|
|
216
|
+
readonly name: "permissionSigner";
|
|
217
|
+
readonly type: "address";
|
|
218
|
+
}, {
|
|
219
|
+
readonly name: "manager";
|
|
220
|
+
readonly type: "address";
|
|
221
|
+
}, {
|
|
222
|
+
readonly name: "feePolicy";
|
|
223
|
+
readonly type: "address";
|
|
224
|
+
}, {
|
|
225
|
+
readonly name: "feeAsset";
|
|
226
|
+
readonly type: "address";
|
|
227
|
+
}, {
|
|
228
|
+
readonly name: "deadline";
|
|
229
|
+
readonly type: "uint256";
|
|
230
|
+
}];
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Build a JSON-serializable RegisterAccount typed-data payload for the browser signing
|
|
234
|
+
* station. The Safe owner signs it; the signature becomes the `ownerSig` arg to
|
|
235
|
+
* registerAccount (submitted via the Safe's execTransaction). Bigints are stringified for
|
|
236
|
+
* transport; the UI re-parses the decimal-string `deadline` before signing.
|
|
237
|
+
*
|
|
238
|
+
* Note (#69): the kernel rejects the Safe v==1 approved-hash shortcut for this ownerSig —
|
|
239
|
+
* build it as a real EOA ECDSA signature over the digest, or the Safe v==0 contract-signature
|
|
240
|
+
* path for contract/nested-Safe owners. Do NOT use buildApprovedHashSignature here.
|
|
241
|
+
*/
|
|
242
|
+
export declare function buildRegisterAccountTypedData(args: {
|
|
243
|
+
chainId: number;
|
|
244
|
+
kernel: Address;
|
|
245
|
+
/** The Safe account being registered. */
|
|
246
|
+
account: Address;
|
|
247
|
+
permissionSigner: Address;
|
|
248
|
+
manager: Address;
|
|
249
|
+
feePolicy: Address;
|
|
250
|
+
/** Fee asset (address(0) for the native token). */
|
|
251
|
+
feeAsset?: Address;
|
|
252
|
+
/** Signature deadline (unix seconds). Defaults to 10 minutes from now. */
|
|
253
|
+
deadline?: bigint;
|
|
254
|
+
}): SerializedTypedData;
|
|
203
255
|
/**
|
|
204
256
|
* EIP-712 types for RegisterPermissions (batch) — selective kernel. Mirrors the
|
|
205
257
|
* shape SailorClient.mandate.attachBatch signs and the on-chain
|
|
@@ -254,4 +306,36 @@ export declare function signRegisterPermission(args: {
|
|
|
254
306
|
/** Signature deadline (unix seconds). Only used when hasDeadline = true. Defaults to 5 minutes from now. */
|
|
255
307
|
deadline?: bigint;
|
|
256
308
|
}): Promise<Hex>;
|
|
309
|
+
/**
|
|
310
|
+
* Build the EIP-712 typed data for a ConfigurablePermission template's `configure()`,
|
|
311
|
+
* **adapting to whatever schema the deployed template reports** via ERC-5267
|
|
312
|
+
* `eip712Domain()`:
|
|
313
|
+
* - domain version "1" (pre-epoch-binding templates): the legacy
|
|
314
|
+
* `Configure(account, paramsHash, nonce, deadline)` struct, domain version "1".
|
|
315
|
+
* - domain version "2" (Protocol PR #59, Octane #2/#8): adds `epoch`, read from
|
|
316
|
+
* the kernel's `registrationEpoch(account, template)`, domain version "2".
|
|
317
|
+
*
|
|
318
|
+
* No flag day: the same call signs whichever is on-chain, so it works with the
|
|
319
|
+
* currently-deployed templates today and automatically with the epoch-binding
|
|
320
|
+
* templates once they redeploy. `SailorClient.mandate.reconfigure()` consumes this
|
|
321
|
+
* to sign and submit `template.configure(...)`.
|
|
322
|
+
*
|
|
323
|
+
* An unrecognized domain version throws rather than falling back to v1, so a future
|
|
324
|
+
* schema bump fails loudly instead of being silently mis-signed against the wrong shape.
|
|
325
|
+
*/
|
|
326
|
+
export declare function buildConfigureTypedData(args: {
|
|
327
|
+
publicClient: PublicClient;
|
|
328
|
+
/** SailKernel address (source of registrationEpoch for the v2 schema). */
|
|
329
|
+
kernel: Address;
|
|
330
|
+
/** The ConfigurablePermission template instance being configured. */
|
|
331
|
+
template: Address;
|
|
332
|
+
/** The SMA the config applies to. */
|
|
333
|
+
account: Address;
|
|
334
|
+
/** ABI-encoded config blob (from `sdk/src/templates/*` encoders). */
|
|
335
|
+
params: Hex;
|
|
336
|
+
/** Current `template.configNonces(account)`. */
|
|
337
|
+
nonce: bigint;
|
|
338
|
+
/** Signature deadline (unix seconds). */
|
|
339
|
+
deadline: bigint;
|
|
340
|
+
}): Promise<SerializedTypedData>;
|
|
257
341
|
//# sourceMappingURL=eip712.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,6 +179,56 @@ export function buildRegisterPermissionTypedData(args) {
|
|
|
179
179
|
},
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* EIP-712 types for RegisterAccount (post-#53 two-step onboarding). Mirrors the on-chain
|
|
184
|
+
* REGISTER_ACCOUNT_TYPEHASH:
|
|
185
|
+
* RegisterAccount(address account,address permissionSigner,address manager,
|
|
186
|
+
* address feePolicy,address feeAsset,uint256 deadline)
|
|
187
|
+
* The owner signs this digest; the resulting signature is passed as `ownerSig` to
|
|
188
|
+
* registerAccount, which the Safe submits via execTransaction (so msg.sender == the Safe).
|
|
189
|
+
*/
|
|
190
|
+
export const REGISTER_ACCOUNT_TYPES = {
|
|
191
|
+
RegisterAccount: [
|
|
192
|
+
{ name: "account", type: "address" },
|
|
193
|
+
{ name: "permissionSigner", type: "address" },
|
|
194
|
+
{ name: "manager", type: "address" },
|
|
195
|
+
{ name: "feePolicy", type: "address" },
|
|
196
|
+
{ name: "feeAsset", type: "address" },
|
|
197
|
+
{ name: "deadline", type: "uint256" },
|
|
198
|
+
],
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Build a JSON-serializable RegisterAccount typed-data payload for the browser signing
|
|
202
|
+
* station. The Safe owner signs it; the signature becomes the `ownerSig` arg to
|
|
203
|
+
* registerAccount (submitted via the Safe's execTransaction). Bigints are stringified for
|
|
204
|
+
* transport; the UI re-parses the decimal-string `deadline` before signing.
|
|
205
|
+
*
|
|
206
|
+
* Note (#69): the kernel rejects the Safe v==1 approved-hash shortcut for this ownerSig —
|
|
207
|
+
* build it as a real EOA ECDSA signature over the digest, or the Safe v==0 contract-signature
|
|
208
|
+
* path for contract/nested-Safe owners. Do NOT use buildApprovedHashSignature here.
|
|
209
|
+
*/
|
|
210
|
+
export function buildRegisterAccountTypedData(args) {
|
|
211
|
+
const deadline = args.deadline ?? BigInt(Math.floor(Date.now() / 1000) + 600);
|
|
212
|
+
const feeAsset = args.feeAsset ?? "0x0000000000000000000000000000000000000000";
|
|
213
|
+
return {
|
|
214
|
+
domain: {
|
|
215
|
+
name: "SailKernel",
|
|
216
|
+
version: "1",
|
|
217
|
+
chainId: args.chainId,
|
|
218
|
+
verifyingContract: args.kernel,
|
|
219
|
+
},
|
|
220
|
+
types: REGISTER_ACCOUNT_TYPES,
|
|
221
|
+
primaryType: "RegisterAccount",
|
|
222
|
+
message: {
|
|
223
|
+
account: args.account,
|
|
224
|
+
permissionSigner: args.permissionSigner,
|
|
225
|
+
manager: args.manager,
|
|
226
|
+
feePolicy: args.feePolicy,
|
|
227
|
+
feeAsset,
|
|
228
|
+
deadline: deadline.toString(),
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
}
|
|
182
232
|
/**
|
|
183
233
|
* EIP-712 types for RegisterPermissions (batch) — selective kernel. Mirrors the
|
|
184
234
|
* shape SailorClient.mandate.attachBatch signs and the on-chain
|
|
@@ -252,4 +302,102 @@ export async function signRegisterPermission(args) {
|
|
|
252
302
|
},
|
|
253
303
|
});
|
|
254
304
|
}
|
|
305
|
+
// ── Template configure() signing (version-adaptive: Protocol Octane #2/#8) ────
|
|
306
|
+
/**
|
|
307
|
+
* ERC-5267 `eip712Domain()` — read a ConfigurablePermission template's live EIP-712
|
|
308
|
+
* domain so we sign against whatever schema is actually deployed.
|
|
309
|
+
*/
|
|
310
|
+
const TEMPLATE_EIP712_DOMAIN_ABI = [
|
|
311
|
+
{
|
|
312
|
+
type: "function",
|
|
313
|
+
name: "eip712Domain",
|
|
314
|
+
stateMutability: "view",
|
|
315
|
+
inputs: [],
|
|
316
|
+
outputs: [
|
|
317
|
+
{ name: "fields", type: "bytes1" },
|
|
318
|
+
{ name: "name", type: "string" },
|
|
319
|
+
{ name: "version", type: "string" },
|
|
320
|
+
{ name: "chainId", type: "uint256" },
|
|
321
|
+
{ name: "verifyingContract", type: "address" },
|
|
322
|
+
{ name: "salt", type: "bytes32" },
|
|
323
|
+
{ name: "extensions", type: "uint256[]" },
|
|
324
|
+
],
|
|
325
|
+
},
|
|
326
|
+
];
|
|
327
|
+
/** SailKernel `registrationEpoch(account, permission)` — the v2 epoch a config binds to. */
|
|
328
|
+
const REGISTRATION_EPOCH_ABI = [
|
|
329
|
+
{
|
|
330
|
+
type: "function",
|
|
331
|
+
name: "registrationEpoch",
|
|
332
|
+
stateMutability: "view",
|
|
333
|
+
inputs: [
|
|
334
|
+
{ name: "account", type: "address" },
|
|
335
|
+
{ name: "permission", type: "address" },
|
|
336
|
+
],
|
|
337
|
+
outputs: [{ type: "uint256" }],
|
|
338
|
+
},
|
|
339
|
+
];
|
|
340
|
+
const CONFIGURE_FIELDS_V1 = [
|
|
341
|
+
{ name: "account", type: "address" },
|
|
342
|
+
{ name: "paramsHash", type: "bytes32" },
|
|
343
|
+
{ name: "nonce", type: "uint256" },
|
|
344
|
+
{ name: "deadline", type: "uint256" },
|
|
345
|
+
];
|
|
346
|
+
const CONFIGURE_FIELDS_V2 = [...CONFIGURE_FIELDS_V1, { name: "epoch", type: "uint256" }];
|
|
347
|
+
/**
|
|
348
|
+
* Build the EIP-712 typed data for a ConfigurablePermission template's `configure()`,
|
|
349
|
+
* **adapting to whatever schema the deployed template reports** via ERC-5267
|
|
350
|
+
* `eip712Domain()`:
|
|
351
|
+
* - domain version "1" (pre-epoch-binding templates): the legacy
|
|
352
|
+
* `Configure(account, paramsHash, nonce, deadline)` struct, domain version "1".
|
|
353
|
+
* - domain version "2" (Protocol PR #59, Octane #2/#8): adds `epoch`, read from
|
|
354
|
+
* the kernel's `registrationEpoch(account, template)`, domain version "2".
|
|
355
|
+
*
|
|
356
|
+
* No flag day: the same call signs whichever is on-chain, so it works with the
|
|
357
|
+
* currently-deployed templates today and automatically with the epoch-binding
|
|
358
|
+
* templates once they redeploy. `SailorClient.mandate.reconfigure()` consumes this
|
|
359
|
+
* to sign and submit `template.configure(...)`.
|
|
360
|
+
*
|
|
361
|
+
* An unrecognized domain version throws rather than falling back to v1, so a future
|
|
362
|
+
* schema bump fails loudly instead of being silently mis-signed against the wrong shape.
|
|
363
|
+
*/
|
|
364
|
+
export async function buildConfigureTypedData(args) {
|
|
365
|
+
const [, name, version, chainId] = (await args.publicClient.readContract({
|
|
366
|
+
address: args.template,
|
|
367
|
+
abi: TEMPLATE_EIP712_DOMAIN_ABI,
|
|
368
|
+
functionName: "eip712Domain",
|
|
369
|
+
}));
|
|
370
|
+
if (version !== "1" && version !== "2") {
|
|
371
|
+
throw new Error(`Unsupported template EIP-712 domain version "${version}" for ${args.template}. This SDK signs Configure schema v1 or v2; upgrade the SDK for newer templates.`);
|
|
372
|
+
}
|
|
373
|
+
const isV2 = version === "2";
|
|
374
|
+
const message = {
|
|
375
|
+
account: args.account,
|
|
376
|
+
paramsHash: keccak256(args.params),
|
|
377
|
+
nonce: args.nonce.toString(),
|
|
378
|
+
deadline: args.deadline.toString(),
|
|
379
|
+
};
|
|
380
|
+
if (isV2) {
|
|
381
|
+
const epoch = (await args.publicClient.readContract({
|
|
382
|
+
address: args.kernel,
|
|
383
|
+
abi: REGISTRATION_EPOCH_ABI,
|
|
384
|
+
functionName: "registrationEpoch",
|
|
385
|
+
args: [args.account, args.template],
|
|
386
|
+
}));
|
|
387
|
+
message.epoch = epoch.toString();
|
|
388
|
+
}
|
|
389
|
+
return {
|
|
390
|
+
domain: {
|
|
391
|
+
name,
|
|
392
|
+
version,
|
|
393
|
+
chainId: Number(chainId),
|
|
394
|
+
verifyingContract: args.template,
|
|
395
|
+
},
|
|
396
|
+
types: {
|
|
397
|
+
Configure: (isV2 ? CONFIGURE_FIELDS_V2 : CONFIGURE_FIELDS_V1),
|
|
398
|
+
},
|
|
399
|
+
primaryType: "Configure",
|
|
400
|
+
message,
|
|
401
|
+
};
|
|
402
|
+
}
|
|
255
403
|
//# sourceMappingURL=eip712.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,IAA0C;IACzE,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,iBAAiB,EAAE,IAAI,CAAC,MAAM;KAC/B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE;QACT,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;IACD,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX,qEAAqE;AACrE,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C,0DAA0D;AAC1D,MAAM,kBAAkB,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;CACO,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAgC5C;IAaC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAErF,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,IAAI,GAAuB,MAAM,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE;QACpF,OAAO;KACR,CAAC,CAAC;IAEH,mEAAmE;IACnE,MAAM,KAAK,GACT,MAAM,CAAC,KAAK;QACX,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC;YAChC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAkB;YACvB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAY,CAAC;IAEjB,mBAAmB;IACnB,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,8BAA8B,CAAC,CAAC;IAE5F,8EAA8E;IAC9E,uDAAuD;IACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,KAAK,WAAW,CAAC;IACrD,MAAM,OAAO,GAA4B,SAAS;QAChD,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5F,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAEnF,WAAW;IACX,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CACvC,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACrC;QACE,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE;YACL,QAAQ,EAAE,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAGhD;SACJ;KACF,EACD,OAAO,CACR,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,kBAAkB,EAAE;QAClB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,kBAAkB,EAAE;QAClB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAehD;IACC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,iBAAiB,EAAE,IAAI,CAAC,MAAM;KAC/B,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM;YACN,KAAK,EAAE,yBAAoE;YAC3E,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;aAC9B;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM;QACN,KAAK,EAAE,qCAAgF;QACvF,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;SAC7B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,eAAe,EAAE;QACf,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAY7C;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAK,4CAAwD,CAAC;IAC5F,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,MAAM;SAC/B;QACD,KAAK,EAAE,sBAAiE;QACxE,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,mBAAmB,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;QAC1C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,sCAAsC,CAAC,IAQtD;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9E,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,MAAM;SAC/B;QACD,KAAK,EAAE,gCAA2E;QAClF,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAW5C;IACC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACrC,MAAM;YACN,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACrC,MAAM;QACN,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;KACF,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,0BAA0B,GAAG;IACjC;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;SAC1C;KACF;CACO,CAAC;AAEX,4FAA4F;AAC5F,MAAM,sBAAsB,GAAG;IAC7B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACxC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;CACO,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;CAC7B,CAAC;AACX,MAAM,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAU,CAAC;AAElG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAc7C;IACC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QACvE,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,GAAG,EAAE,0BAA0B;QAC/B,YAAY,EAAE,cAAc;KAC7B,CAAC,CAAwE,CAAC;IAE3E,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,gDAAgD,OAAO,SAAS,IAAI,CAAC,QAAQ,kFAAkF,CAChK,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,GAAG,CAAC;IAC7B,MAAM,OAAO,GAAyD;QACpE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;KACnC,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAW,CAAC;QACd,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACxB,iBAAiB,EAAE,IAAI,CAAC,QAAQ;SACjC;QACD,KAAK,EAAE;YACL,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAG1D;SACH;QACD,WAAW,EAAE,WAAW;QACxB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -7,7 +7,7 @@ export { SailKernelAbi } from "./abis/SailKernel.js";
|
|
|
7
7
|
export { MandateFactoryAbi } from "./abis/MandateFactory.js";
|
|
8
8
|
export { SailGovernanceAbi } from "./abis/SailGovernance.js";
|
|
9
9
|
export type { ClientMessage, ServerMessage, SerializedTypedData, SigningRequest, SigningRequestBase, SigningRequestKind, SigningResponse, SigningTxRequest, SigningTypedDataRequest, } from "./signing.js";
|
|
10
|
-
export { SAFE_V141, buildApprovedHashSignature, buildSafeSetupInitializer, buildSetManagerExecTransaction, computeKernelBoundSalt, computeSafeProxyAddress, computeSailSmaAddress, encodeSetManager, gnosisSafeAbi, gnosisSafeExecAbi, safeModuleEnablerAbi, safeProxyFactoryAbi, } from "./safe.js";
|
|
10
|
+
export { SAFE_V141, buildApprovedHashSignature, buildRegisterAccountExecTransaction, buildSafeSetupInitializer, buildSetManagerExecTransaction, computeKernelBoundSalt, computeSafeProxyAddress, computeSailSmaAddress, encodeSetManager, gnosisSafeAbi, gnosisSafeExecAbi, safeModuleEnablerAbi, safeProxyFactoryAbi, } from "./safe.js";
|
|
11
11
|
export { discoverSafesForOwner, getSafeTransactionServiceUrl } from "./discovery.js";
|
|
12
12
|
export type { CloneTemplateInfo, CloneTemplateParam, KnownTemplate, SailChainId, SailDeployment, } from "./deployments.js";
|
|
13
13
|
export { getSailDeployment, normalizeDeployment, sailDeployments, } from "./deployments.js";
|
|
@@ -15,7 +15,7 @@ export type { DispatchModel, KernelCapabilities } from "./capabilities.js";
|
|
|
15
15
|
export { DISPATCH_TYPE_STRINGS, DISPATCH_TYPEHASHES, REGISTER_PERMISSION_TYPE_STRINGS, REGISTER_PERMISSION_TYPEHASHES, clearCapabilityCache, detectKernelCapabilities, } from "./capabilities.js";
|
|
16
16
|
export type { KernelError } from "./errors.js";
|
|
17
17
|
export { KERNEL_ERROR_ABI, KERNEL_ERROR_SIGNATURES, decodeKernelError, explainKernelRevert, } from "./errors.js";
|
|
18
|
-
export { DISPATCH_EIP712_FIELDS, REGISTER_PERMISSION_TYPES, REGISTER_PERMISSION_TYPES_NO_DEADLINE, REGISTER_PERMISSIONS_BATCH_TYPES, buildDispatchSignature, buildRegisterPermissionTypedData, buildRegisterPermissionsBatchTypedData, sailKernelDomain, signRegisterPermission, } from "./eip712.js";
|
|
18
|
+
export { DISPATCH_EIP712_FIELDS, REGISTER_ACCOUNT_TYPES, REGISTER_PERMISSION_TYPES, REGISTER_PERMISSION_TYPES_NO_DEADLINE, REGISTER_PERMISSIONS_BATCH_TYPES, buildConfigureTypedData, buildDispatchSignature, buildRegisterAccountTypedData, buildRegisterPermissionTypedData, buildRegisterPermissionsBatchTypedData, sailKernelDomain, signRegisterPermission, } from "./eip712.js";
|
|
19
19
|
export { RegistrationFeeError, assertFeeAffordable, describeMandateFee, estimateMandateRegistrationFee, feeShortfall, readPermissionRegistrationFee, } from "./fees.js";
|
|
20
20
|
export type { MandateFeeEstimate, PermissionFee } from "./fees.js";
|
|
21
21
|
export type { FetchLifiQuoteParams, LifiSwapQuote } from "./lifi.js";
|