@dev.sail.money/sailor 1.3.0-98 → 1.4.0-244

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 (233) hide show
  1. package/AGENTS.md +7 -7
  2. package/LICENSE +1 -1
  3. package/README.md +64 -472
  4. package/package.json +5 -6
  5. package/packages/cli/README.md +1 -1
  6. package/packages/cli/dist/index.cjs +1481 -463
  7. package/packages/cli/dist/server.cjs +16088 -17900
  8. package/packages/sdk/README.md +1 -1
  9. package/packages/sdk/dist/abis/ConfigurablePermission.d.ts +130 -0
  10. package/packages/sdk/dist/abis/ConfigurablePermission.d.ts.map +1 -0
  11. package/packages/sdk/dist/abis/ConfigurablePermission.js +79 -0
  12. package/packages/sdk/dist/abis/ConfigurablePermission.js.map +1 -0
  13. package/packages/sdk/dist/abis/SailKernel.d.ts +42 -0
  14. package/packages/sdk/dist/abis/SailKernel.d.ts.map +1 -1
  15. package/packages/sdk/dist/abis/SailKernel.js +34 -0
  16. package/packages/sdk/dist/abis/SailKernel.js.map +1 -1
  17. package/packages/sdk/dist/abis/index.d.ts +1 -0
  18. package/packages/sdk/dist/abis/index.d.ts.map +1 -1
  19. package/packages/sdk/dist/abis/index.js +1 -0
  20. package/packages/sdk/dist/abis/index.js.map +1 -1
  21. package/packages/sdk/dist/chains.d.ts +9 -7
  22. package/packages/sdk/dist/chains.d.ts.map +1 -1
  23. package/packages/sdk/dist/chains.js +103 -32
  24. package/packages/sdk/dist/chains.js.map +1 -1
  25. package/packages/sdk/dist/client.d.ts +1 -1
  26. package/packages/sdk/dist/client.d.ts.map +1 -1
  27. package/packages/sdk/dist/client.js +137 -16
  28. package/packages/sdk/dist/client.js.map +1 -1
  29. package/packages/sdk/dist/deployments.d.ts +6 -4
  30. package/packages/sdk/dist/deployments.d.ts.map +1 -1
  31. package/packages/sdk/dist/deployments.js +120 -118
  32. package/packages/sdk/dist/deployments.js.map +1 -1
  33. package/packages/sdk/dist/eip712.d.ts +84 -0
  34. package/packages/sdk/dist/eip712.d.ts.map +1 -1
  35. package/packages/sdk/dist/eip712.js +148 -0
  36. package/packages/sdk/dist/eip712.js.map +1 -1
  37. package/packages/sdk/dist/fees.d.ts +2 -1
  38. package/packages/sdk/dist/fees.d.ts.map +1 -1
  39. package/packages/sdk/dist/fees.js +2 -1
  40. package/packages/sdk/dist/fees.js.map +1 -1
  41. package/packages/sdk/dist/index.d.ts +4 -3
  42. package/packages/sdk/dist/index.d.ts.map +1 -1
  43. package/packages/sdk/dist/index.js +4 -3
  44. package/packages/sdk/dist/index.js.map +1 -1
  45. package/packages/sdk/dist/intelligence.d.ts +1 -1
  46. package/packages/sdk/dist/intelligence.js +1 -1
  47. package/packages/sdk/dist/safe.d.ts +49 -0
  48. package/packages/sdk/dist/safe.d.ts.map +1 -1
  49. package/packages/sdk/dist/safe.js +74 -0
  50. package/packages/sdk/dist/safe.js.map +1 -1
  51. package/packages/sdk/dist/types.d.ts +7 -0
  52. package/packages/sdk/dist/types.d.ts.map +1 -1
  53. package/packages/sdk/package.json +6 -2
  54. package/packages/ui/dist/assets/{add-BX5reKtK.js → add-sHg4oAtj.js} +2 -2
  55. package/packages/ui/dist/assets/{all-wallets-IZ3PlVF-.js → all-wallets-BhPcqrMm.js} +2 -2
  56. package/packages/ui/dist/assets/{app-store-ARgRdMdF.js → app-store-B_PQMwCf.js} +1 -1
  57. package/packages/ui/dist/assets/{apple-VCaqsI9w.js → apple-CqAFK7Fj.js} +2 -2
  58. package/packages/ui/dist/assets/arrow-bottom-CbxIflTv.js +8 -0
  59. package/packages/ui/dist/assets/{arrow-bottom-circle-h5vFiZ2I.js → arrow-bottom-circle-BFgY35YA.js} +2 -2
  60. package/packages/ui/dist/assets/arrow-left-DCG2m2BY.js +8 -0
  61. package/packages/ui/dist/assets/arrow-right-NrPOhG6W.js +8 -0
  62. package/packages/ui/dist/assets/arrow-top-BHTmGsDP.js +8 -0
  63. package/packages/ui/dist/assets/{bank-6c28yOM9.js → bank-BqDvUazs.js} +2 -2
  64. package/packages/ui/dist/assets/{basic-CJnbTfSd.js → basic-CHFjQMod.js} +177 -177
  65. package/packages/ui/dist/assets/{browser-CDKlxM3D.js → browser-C_VdKE7p.js} +2 -2
  66. package/packages/ui/dist/assets/{card-DQdED02q.js → card-w-1brQoV.js} +2 -2
  67. package/packages/ui/dist/assets/ccip-jvDTeGaI.js +1 -0
  68. package/packages/ui/dist/assets/{checkmark-JoRNVoFV.js → checkmark-CLBmxdAF.js} +2 -2
  69. package/packages/ui/dist/assets/{checkmark-bold-B6bGHVIs.js → checkmark-bold-Ca_e1PMs.js} +2 -2
  70. package/packages/ui/dist/assets/chevron-bottom-BhvFRdSL.js +8 -0
  71. package/packages/ui/dist/assets/chevron-left-cjMaNbHC.js +8 -0
  72. package/packages/ui/dist/assets/chevron-right-CRuHR0b-.js +8 -0
  73. package/packages/ui/dist/assets/chevron-top-Bq0a2jj-.js +8 -0
  74. package/packages/ui/dist/assets/{chrome-store-D-fiJ9qJ.js → chrome-store-Cieq6j7x.js} +2 -2
  75. package/packages/ui/dist/assets/{clock-xCPkzwjj.js → clock-Dkj5WbVg.js} +2 -2
  76. package/packages/ui/dist/assets/{close-BkqmPpWG.js → close-C8eE6Dfz.js} +2 -2
  77. package/packages/ui/dist/assets/{coinPlaceholder-PIvN9oq_.js → coinPlaceholder-DndKH-8C.js} +2 -2
  78. package/packages/ui/dist/assets/{compass-CW5kWcxW.js → compass-DzoLByzm.js} +2 -2
  79. package/packages/ui/dist/assets/{copy-DUZlAQJJ.js → copy-Y7UMmVLt.js} +2 -2
  80. package/packages/ui/dist/assets/core-BkWdAWjX.js +907 -0
  81. package/packages/ui/dist/assets/cursor-BAQNxqYB.js +3 -0
  82. package/packages/ui/dist/assets/{cursor-transparent-BUAMB0G1.js → cursor-transparent-BUHY29Re.js} +2 -2
  83. package/packages/ui/dist/assets/{desktop-BxdlwV8P.js → desktop-DkZLCs5P.js} +2 -2
  84. package/packages/ui/dist/assets/{disconnect-GelNh3mn.js → disconnect-CphsO-wg.js} +2 -2
  85. package/packages/ui/dist/assets/{discord-N0jnxkzC.js → discord-CYH46bgt.js} +2 -2
  86. package/packages/ui/dist/assets/{etherscan-B41u7wF4.js → etherscan-2-3-Icbx.js} +2 -2
  87. package/packages/ui/dist/assets/events-DQ172AOg.js +1 -0
  88. package/packages/ui/dist/assets/{exclamation-triangle-BWJC56FC.js → exclamation-triangle-Bx9-1mpn.js} +2 -2
  89. package/packages/ui/dist/assets/{extension-G6I6oogw.js → extension-BuDZDNPV.js} +2 -2
  90. package/packages/ui/dist/assets/external-link-k6oTiNch.js +8 -0
  91. package/packages/ui/dist/assets/{facebook-47twy32b.js → facebook-BVB4qCju.js} +2 -2
  92. package/packages/ui/dist/assets/{farcaster-DYqnqCqs.js → farcaster-CxfWmDK3.js} +2 -2
  93. package/packages/ui/dist/assets/{filters-dF6xeJnE.js → filters-CXyIzkBz.js} +2 -2
  94. package/packages/ui/dist/assets/{github-DbW4Ihz2.js → github-Bga1HQTm.js} +2 -2
  95. package/packages/ui/dist/assets/{google-TKm7G8LF.js → google-CKLjkN5t.js} +2 -2
  96. package/packages/ui/dist/assets/{help-circle-CY3qTmsG.js → help-circle-CW4A601v.js} +1 -1
  97. package/packages/ui/dist/assets/{id-JpHW4q14.js → id-BaRFLHqy.js} +2 -2
  98. package/packages/ui/dist/assets/{image-Dip2fG98.js → image-4pE_c0pP.js} +2 -2
  99. package/packages/ui/dist/assets/index-B07bCKJ8.css +1 -0
  100. package/packages/ui/dist/assets/index-BKPTb_0U.js +1 -0
  101. package/packages/ui/dist/assets/index-BV8s6ez1.js +1 -0
  102. package/packages/ui/dist/assets/index-BaLMTrx4.js +47 -0
  103. package/packages/ui/dist/assets/index-CguqCMNp.js +16 -0
  104. package/packages/ui/dist/assets/index-RMrT9ktE.js +1780 -0
  105. package/packages/ui/dist/assets/{index-q0mGElxZ.js → index-_n5fH6AD.js} +3 -3
  106. package/packages/ui/dist/assets/index.es-rQvUXQTw.js +26 -0
  107. package/packages/ui/dist/assets/{info-B1enFsqh.js → info-UMAWEFh_.js} +2 -2
  108. package/packages/ui/dist/assets/{info-circle-D4j3FISs.js → info-circle-DuTp8NTC.js} +2 -2
  109. package/packages/ui/dist/assets/{lightbulb-DZbKr-vS.js → lightbulb-CkYYJbAa.js} +2 -2
  110. package/packages/ui/dist/assets/{mail-D-TO_uVQ.js → mail-CntZNMWz.js} +2 -2
  111. package/packages/ui/dist/assets/metamask-sdk-DIj7UxWU.js +542 -0
  112. package/packages/ui/dist/assets/{mobile-Bkmwzav2.js → mobile-DdyrzTfW.js} +2 -2
  113. package/packages/ui/dist/assets/{more-D1_I_jiB.js → more-DpZ1Bqpv.js} +2 -2
  114. package/packages/ui/dist/assets/{network-placeholder-DUaFjoXh.js → network-placeholder-B8yy8U56.js} +2 -2
  115. package/packages/ui/dist/assets/{nftPlaceholder-Cc0iUryh.js → nftPlaceholder-BXFbCJ-Z.js} +2 -2
  116. package/packages/ui/dist/assets/{off-BvX71sse.js → off-DavoQSqH.js} +2 -2
  117. package/packages/ui/dist/assets/{play-store-XzLbtbTd.js → play-store-BJeHSxBp.js} +2 -2
  118. package/packages/ui/dist/assets/{plus-B77_RmYR.js → plus-B-L3uTWl.js} +2 -2
  119. package/packages/ui/dist/assets/{qr-code-BNeIhB1d.js → qr-code-CcQBy6o3.js} +1 -1
  120. package/packages/ui/dist/assets/{recycle-horizontal-B9sX-yty.js → recycle-horizontal-BLC3_x1m.js} +2 -2
  121. package/packages/ui/dist/assets/{refresh-BWRygnjm.js → refresh-78cbzBlS.js} +2 -2
  122. package/packages/ui/dist/assets/{reown-logo-DCAEsGFm.js → reown-logo-Bx5RmN6G.js} +2 -2
  123. package/packages/ui/dist/assets/{search-ZXIqrawS.js → search-XWB8l5E2.js} +2 -2
  124. package/packages/ui/dist/assets/{secp256k1-Doz05h4g.js → secp256k1-u9EmDRXd.js} +1 -1
  125. package/packages/ui/dist/assets/{send-BQcO0jNC.js → send-BjGwACTt.js} +2 -2
  126. package/packages/ui/dist/assets/{swapHorizontal-4yZEzz2K.js → swapHorizontal-DJWcWn3A.js} +2 -2
  127. package/packages/ui/dist/assets/{swapHorizontalBold-DxBKu3sl.js → swapHorizontalBold-CG930oAl.js} +2 -2
  128. package/packages/ui/dist/assets/{swapHorizontalMedium-DAQYJ2JK.js → swapHorizontalMedium-CHIdtnCI.js} +2 -2
  129. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CUlZzFJ6.js → swapHorizontalRoundedBold-B2oGt4O4.js} +2 -2
  130. package/packages/ui/dist/assets/{swapVertical-CjWHAaDM.js → swapVertical-CnjOFXH3.js} +2 -2
  131. package/packages/ui/dist/assets/{telegram-JBeabiJP.js → telegram-BtOilYdH.js} +2 -2
  132. package/packages/ui/dist/assets/{three-dots-D3R8OjSx.js → three-dots-D_VsAJlo.js} +2 -2
  133. package/packages/ui/dist/assets/{twitch-1f9z7xVO.js → twitch-BIX3n7hL.js} +2 -2
  134. package/packages/ui/dist/assets/{twitterIcon-BW7n2xnp.js → twitterIcon-C3DDaPem.js} +2 -2
  135. package/packages/ui/dist/assets/{verify-Cs5owI38.js → verify-CtzMScZy.js} +2 -2
  136. package/packages/ui/dist/assets/{verify-filled-Ci5sx5qS.js → verify-filled-CVjdmBEW.js} +2 -2
  137. package/packages/ui/dist/assets/{w3m-modal-DnWtss8u.js → w3m-modal-BZ3BUhSD.js} +1 -1
  138. package/packages/ui/dist/assets/{wallet-MaGNqaW-.js → wallet-hURaFgJp.js} +2 -2
  139. package/packages/ui/dist/assets/{wallet-placeholder-kTOy12_L.js → wallet-placeholder-BcF2KreB.js} +2 -2
  140. package/packages/ui/dist/assets/{walletconnect-CyuP92jg.js → walletconnect-C8XCABRo.js} +3 -3
  141. package/packages/ui/dist/assets/{warning-circle-BImUCdpG.js → warning-circle-BMz6LCU4.js} +2 -2
  142. package/packages/ui/dist/assets/{x-II45JHpV.js → x-deAHZeLU.js} +2 -2
  143. package/packages/ui/dist/index.html +2 -2
  144. package/templates/default/.agents/skills/sail-mandates/SKILL.md +1 -1
  145. package/templates/default/.agents/skills/sail-mandates/references/approvals.md +3 -3
  146. package/templates/default/.agents/skills/sail-mandates/references/examples-index.md +3 -3
  147. package/templates/default/.agents/skills/sail-onboarding/SKILL.md +34 -33
  148. package/templates/default/.agents/skills/sail-servers/SKILL.md +1 -0
  149. package/templates/default/.agents/skills/sail-swap-quote/SKILL.md +76 -0
  150. package/templates/default/.agents/skills/sail-template-approve-batch/SKILL.md +98 -0
  151. package/templates/default/.agents/skills/sail-template-borrow/SKILL.md +68 -0
  152. package/templates/default/.agents/skills/sail-template-deposit/SKILL.md +61 -0
  153. package/templates/default/.agents/skills/sail-template-swap/SKILL.md +207 -0
  154. package/templates/default/.agents/skills/sail-template-swap-no-oracle/SKILL.md +100 -0
  155. package/templates/default/.agents/skills/sail-template-transfer/SKILL.md +52 -0
  156. package/templates/default/.agents/skills/sail-template-withdraw/SKILL.md +50 -0
  157. package/templates/default/.agents/skills/sail-templates/SKILL.md +142 -0
  158. package/templates/default/.agents/skills/sail-templates/catalog.mjs +200 -0
  159. package/templates/default/.agents/skills/sail-templates/deployed.json +133 -0
  160. package/templates/default/.agents/skills/sail-templates/oracles/IOracle.sol +13 -0
  161. package/templates/default/.agents/skills/sail-templates/oracles/UniV3TwapOracle.sol +114 -0
  162. package/templates/default/.agents/skills/sail-templates/oracles/libs/FullMath.sol +62 -0
  163. package/templates/default/.agents/skills/sail-templates/oracles/libs/TickMath.sol +44 -0
  164. package/templates/default/.agents/skills/sail-templates/references/config-schemas.md +139 -0
  165. package/templates/default/.agents/skills/sail-templates/references/reuse-flow.md +139 -0
  166. package/templates/default/.agents/skills/sail-token-resolve/SKILL.md +174 -0
  167. package/templates/default/.env.example +9 -0
  168. package/templates/default/AGENTS.md +107 -13
  169. package/templates/default/docs/PERMISSION_MODEL.md +2 -2
  170. package/{examples → templates/default/examples}/custom-mandate/.sail/contracts/interfaces/IPermission.sol +4 -0
  171. package/{examples → templates/default/examples}/custom-mandate/README.md +4 -1
  172. package/{examples → templates/default/examples}/permissions/interfaces/IBatchPermission.sol +2 -0
  173. package/{examples → templates/default/examples}/permissions/interfaces/IPermission.sol +4 -0
  174. package/templates/default/scripts/quote-swap.mjs +211 -0
  175. package/templates/default/scripts/resolve-token.mjs +992 -0
  176. package/templates/default/scripts/shared-template-addr.mjs +110 -0
  177. package/templates/default/test/BoundedCallPermission.t.sol +2 -1
  178. package/docs/PERMISSION_MODEL.md +0 -93
  179. package/examples/README.md +0 -24
  180. package/examples/lifi-permissions/LifiBoundedApprovePermissionCloneable.sol +0 -84
  181. package/examples/lifi-permissions/LifiDiamondSwapPermissionCloneable.sol +0 -97
  182. package/examples/lifi-permissions/README.md +0 -53
  183. package/packages/ui/dist/assets/arrow-bottom-Cwptw8fW.js +0 -8
  184. package/packages/ui/dist/assets/arrow-left-bM1TRcV9.js +0 -8
  185. package/packages/ui/dist/assets/arrow-right-BYd_N4Jr.js +0 -8
  186. package/packages/ui/dist/assets/arrow-top-CLUnwVE2.js +0 -8
  187. package/packages/ui/dist/assets/ccip-BL7RIPfY.js +0 -1
  188. package/packages/ui/dist/assets/chevron-bottom-BMCelIEu.js +0 -8
  189. package/packages/ui/dist/assets/chevron-left-ryPLhHCc.js +0 -8
  190. package/packages/ui/dist/assets/chevron-right-CdDNRv7f.js +0 -8
  191. package/packages/ui/dist/assets/chevron-top-BxWIjjGk.js +0 -8
  192. package/packages/ui/dist/assets/core-von2c1sc.js +0 -907
  193. package/packages/ui/dist/assets/cursor-BzRVY7BD.js +0 -3
  194. package/packages/ui/dist/assets/events-C9icG2YB.js +0 -1
  195. package/packages/ui/dist/assets/external-link-BPaGQf4a.js +0 -8
  196. package/packages/ui/dist/assets/fallback-BTfJeGjh.js +0 -1
  197. package/packages/ui/dist/assets/index-BGJ_8fMk.js +0 -1
  198. package/packages/ui/dist/assets/index-Bq3PAopp.js +0 -16
  199. package/packages/ui/dist/assets/index-C4_cA5XW.js +0 -1
  200. package/packages/ui/dist/assets/index-CaDN0gL4.js +0 -1
  201. package/packages/ui/dist/assets/index-DLElIcBr.js +0 -1789
  202. package/packages/ui/dist/assets/index-lhNfD4jA.css +0 -1
  203. package/packages/ui/dist/assets/index.es-BaCKS_tW.js +0 -26
  204. package/packages/ui/dist/assets/metamask-sdk-DljW3QD1.js +0 -542
  205. package/packages/ui/dist/assets/native-CJ5et6AR.js +0 -1
  206. package/packages/ui/dist/assets/parseSignature-BAS-wKoj.js +0 -1
  207. package/scripts/check-docs.mjs +0 -309
  208. package/scripts/check-init.mjs +0 -123
  209. package/scripts/check-update.mjs +0 -177
  210. package/scripts/clean.mjs +0 -17
  211. package/scripts/pack.mjs +0 -21
  212. package/templates/default/.agents/skills/sail-overview/SKILL.md +0 -100
  213. package/templates/default/.agents/skills/sail-sailor/SKILL.md +0 -190
  214. package/templates/default/.agents/skills/sail-setup/SKILL.md +0 -38
  215. package/templates/default/.gitlab-ci.yml +0 -58
  216. /package/{examples → templates/default/examples}/custom-mandate/foundry.toml +0 -0
  217. /package/{examples → templates/default/examples}/custom-mandate/mandates/BoundedCallPermission.sol +0 -0
  218. /package/{examples → templates/default/examples}/custom-mandate/mandates/README.md +0 -0
  219. /package/{examples → templates/default/examples}/custom-mandate/mandates/SailCalldata.sol +0 -0
  220. /package/{examples → templates/default/examples}/permissions/BoundedApproveAndCallBatch.sol +0 -0
  221. /package/{examples → templates/default/examples}/permissions/BoundedBorrow_AaveV3_Arbitrum.sol +0 -0
  222. /package/{examples → templates/default/examples}/permissions/BoundedLimitless_Base.sol +0 -0
  223. /package/{examples → templates/default/examples}/permissions/BoundedPerp_GMXv2_Arbitrum.sol +0 -0
  224. /package/{examples → templates/default/examples}/permissions/BoundedStake_Venice_Base.sol +0 -0
  225. /package/{examples → templates/default/examples}/permissions/BoundedSupply_AaveV3_Arbitrum.sol +0 -0
  226. /package/{examples → templates/default/examples}/permissions/BoundedSwapNative_UniswapV3_Base.sol +0 -0
  227. /package/{examples → templates/default/examples}/permissions/BoundedSwap_UniswapV3_Base.sol +0 -0
  228. /package/{examples → templates/default/examples}/permissions/BoundedSwap_UniswapV4_Unichain.sol +0 -0
  229. /package/{examples → templates/default/examples}/permissions/BoundedTransfer_ERC20_Ethereum.sol +0 -0
  230. /package/{examples → templates/default/examples}/permissions/BoundedVault_ERC4626_Base.sol +0 -0
  231. /package/{examples → templates/default/examples}/permissions/README.md +0 -0
  232. /package/{examples → templates/default/examples}/permissions/SailCalldata.sol +0 -0
  233. /package/{examples → templates/default/examples}/permissions/foundry.toml +0 -0
@@ -38,7 +38,7 @@ const manager = await LocalKeyring.load("path/to/manager.json", passphrase);
38
38
 
39
39
  const { signature, nonce, deadline, dispatchModel } = await buildDispatchSignature({
40
40
  publicClient,
41
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659", // SailKernel — same address on every supported chain
41
+ kernel: "0x38b508756c976e876EFF05a29E731A4d348BA6ED", // SailKernel — same address on every supported chain
42
42
  chainId: 8453,
43
43
  account: mySafe,
44
44
  permission: myPermission,
@@ -0,0 +1,130 @@
1
+ /**
2
+ * ConfigurablePermission ABI — the shared, multi-account permission template
3
+ * base. Mirrors contracts/templates/ConfigurablePermission.sol in SailProtocol.
4
+ *
5
+ * The seven shared singletons (SwapPermission, BorrowPermission, etc.) extend
6
+ * this base, so every one of them exposes the same per-account config lifecycle:
7
+ *
8
+ * - `configure(account, params, deadline, sig)` — EIP-712 sig path
9
+ * - `configureDirect(account, params)` — msg.sender == permissionSigner path
10
+ * - `isConfigured(account)` / `configNonces(account)` / `configuredEpoch(account)`
11
+ *
12
+ * Only the functions the SDK / CLI calls are included. `evaluate` is NOT here —
13
+ * it lives on each concrete subclass and the kernel reads it via a per-permission
14
+ * staticcall; `sailor mandate simulate` probes it directly by address.
15
+ */
16
+ export declare const ConfigurablePermissionAbi: readonly [{
17
+ readonly type: "function";
18
+ readonly name: "configure";
19
+ readonly stateMutability: "nonpayable";
20
+ readonly inputs: readonly [{
21
+ readonly name: "account";
22
+ readonly type: "address";
23
+ }, {
24
+ readonly name: "params";
25
+ readonly type: "bytes";
26
+ }, {
27
+ readonly name: "deadline";
28
+ readonly type: "uint256";
29
+ }, {
30
+ readonly name: "sig";
31
+ readonly type: "bytes";
32
+ }];
33
+ readonly outputs: readonly [];
34
+ }, {
35
+ readonly type: "function";
36
+ readonly name: "configureDirect";
37
+ readonly stateMutability: "nonpayable";
38
+ readonly inputs: readonly [{
39
+ readonly name: "account";
40
+ readonly type: "address";
41
+ }, {
42
+ readonly name: "params";
43
+ readonly type: "bytes";
44
+ }];
45
+ readonly outputs: readonly [];
46
+ }, {
47
+ readonly type: "function";
48
+ readonly name: "isConfigured";
49
+ readonly stateMutability: "view";
50
+ readonly inputs: readonly [{
51
+ readonly name: "account";
52
+ readonly type: "address";
53
+ }];
54
+ readonly outputs: readonly [{
55
+ readonly name: "";
56
+ readonly type: "bool";
57
+ }];
58
+ }, {
59
+ readonly type: "function";
60
+ readonly name: "configNonces";
61
+ readonly stateMutability: "view";
62
+ readonly inputs: readonly [{
63
+ readonly name: "account";
64
+ readonly type: "address";
65
+ }];
66
+ readonly outputs: readonly [{
67
+ readonly name: "";
68
+ readonly type: "uint256";
69
+ }];
70
+ }, {
71
+ readonly type: "function";
72
+ readonly name: "configuredEpoch";
73
+ readonly stateMutability: "view";
74
+ readonly inputs: readonly [{
75
+ readonly name: "account";
76
+ readonly type: "address";
77
+ }];
78
+ readonly outputs: readonly [{
79
+ readonly name: "";
80
+ readonly type: "uint256";
81
+ }];
82
+ }, {
83
+ readonly type: "function";
84
+ readonly name: "hashTypedDataV4";
85
+ readonly stateMutability: "view";
86
+ readonly inputs: readonly [{
87
+ readonly name: "structHash";
88
+ readonly type: "bytes32";
89
+ }];
90
+ readonly outputs: readonly [{
91
+ readonly name: "";
92
+ readonly type: "bytes32";
93
+ }];
94
+ }];
95
+ /** The EIP-712 `Configure` struct signed by the permissionSigner for `configure()`. */
96
+ export declare const CONFIGURE_TYPEHASH_FIELDS: readonly [{
97
+ readonly name: "account";
98
+ readonly type: "address";
99
+ }, {
100
+ readonly name: "paramsHash";
101
+ readonly type: "bytes32";
102
+ }, {
103
+ readonly name: "nonce";
104
+ readonly type: "uint256";
105
+ }, {
106
+ readonly name: "deadline";
107
+ readonly type: "uint256";
108
+ }, {
109
+ readonly name: "epoch";
110
+ readonly type: "uint256";
111
+ }];
112
+ export declare const CONFIGURE_TYPES: {
113
+ readonly Configure: readonly [{
114
+ readonly name: "account";
115
+ readonly type: "address";
116
+ }, {
117
+ readonly name: "paramsHash";
118
+ readonly type: "bytes32";
119
+ }, {
120
+ readonly name: "nonce";
121
+ readonly type: "uint256";
122
+ }, {
123
+ readonly name: "deadline";
124
+ readonly type: "uint256";
125
+ }, {
126
+ readonly name: "epoch";
127
+ readonly type: "uint256";
128
+ }];
129
+ };
130
+ //# sourceMappingURL=ConfigurablePermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurablePermission.d.ts","sourceRoot":"","sources":["../../src/abis/ConfigurablePermission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD5B,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAM5B,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAElB,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * ConfigurablePermission ABI — the shared, multi-account permission template
3
+ * base. Mirrors contracts/templates/ConfigurablePermission.sol in SailProtocol.
4
+ *
5
+ * The seven shared singletons (SwapPermission, BorrowPermission, etc.) extend
6
+ * this base, so every one of them exposes the same per-account config lifecycle:
7
+ *
8
+ * - `configure(account, params, deadline, sig)` — EIP-712 sig path
9
+ * - `configureDirect(account, params)` — msg.sender == permissionSigner path
10
+ * - `isConfigured(account)` / `configNonces(account)` / `configuredEpoch(account)`
11
+ *
12
+ * Only the functions the SDK / CLI calls are included. `evaluate` is NOT here —
13
+ * it lives on each concrete subclass and the kernel reads it via a per-permission
14
+ * staticcall; `sailor mandate simulate` probes it directly by address.
15
+ */
16
+ export const ConfigurablePermissionAbi = [
17
+ {
18
+ type: "function",
19
+ name: "configure",
20
+ stateMutability: "nonpayable",
21
+ inputs: [
22
+ { name: "account", type: "address" },
23
+ { name: "params", type: "bytes" },
24
+ { name: "deadline", type: "uint256" },
25
+ { name: "sig", type: "bytes" },
26
+ ],
27
+ outputs: [],
28
+ },
29
+ {
30
+ type: "function",
31
+ name: "configureDirect",
32
+ stateMutability: "nonpayable",
33
+ inputs: [
34
+ { name: "account", type: "address" },
35
+ { name: "params", type: "bytes" },
36
+ ],
37
+ outputs: [],
38
+ },
39
+ {
40
+ type: "function",
41
+ name: "isConfigured",
42
+ stateMutability: "view",
43
+ inputs: [{ name: "account", type: "address" }],
44
+ outputs: [{ name: "", type: "bool" }],
45
+ },
46
+ {
47
+ type: "function",
48
+ name: "configNonces",
49
+ stateMutability: "view",
50
+ inputs: [{ name: "account", type: "address" }],
51
+ outputs: [{ name: "", type: "uint256" }],
52
+ },
53
+ {
54
+ type: "function",
55
+ name: "configuredEpoch",
56
+ stateMutability: "view",
57
+ inputs: [{ name: "account", type: "address" }],
58
+ outputs: [{ name: "", type: "uint256" }],
59
+ },
60
+ {
61
+ type: "function",
62
+ name: "hashTypedDataV4",
63
+ stateMutability: "view",
64
+ inputs: [{ name: "structHash", type: "bytes32" }],
65
+ outputs: [{ name: "", type: "bytes32" }],
66
+ },
67
+ ];
68
+ /** The EIP-712 `Configure` struct signed by the permissionSigner for `configure()`. */
69
+ export const CONFIGURE_TYPEHASH_FIELDS = [
70
+ { name: "account", type: "address" },
71
+ { name: "paramsHash", type: "bytes32" },
72
+ { name: "nonce", type: "uint256" },
73
+ { name: "deadline", type: "uint256" },
74
+ { name: "epoch", type: "uint256" },
75
+ ];
76
+ export const CONFIGURE_TYPES = {
77
+ Configure: CONFIGURE_TYPEHASH_FIELDS,
78
+ };
79
+ //# sourceMappingURL=ConfigurablePermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurablePermission.js","sourceRoot":"","sources":["../../src/abis/ConfigurablePermission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;YACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B;QACD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;SAClC;QACD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACtC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;CACO,CAAC;AAEX,uFAAuF;AACvF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,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;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,yBAAyB;CAC5B,CAAC"}
@@ -51,6 +51,15 @@ export declare const SailKernelAbi: readonly [{
51
51
  }, {
52
52
  readonly name: "feePolicy";
53
53
  readonly type: "address";
54
+ }, {
55
+ readonly name: "feeAsset";
56
+ readonly type: "address";
57
+ }, {
58
+ readonly name: "deadline";
59
+ readonly type: "uint256";
60
+ }, {
61
+ readonly name: "ownerSig";
62
+ readonly type: "bytes";
54
63
  }];
55
64
  readonly outputs: readonly [];
56
65
  }, {
@@ -107,6 +116,36 @@ export declare const SailKernelAbi: readonly [{
107
116
  readonly type: "bytes";
108
117
  }];
109
118
  readonly outputs: readonly [];
119
+ }, {
120
+ readonly type: "function";
121
+ readonly name: "revokeSession";
122
+ readonly stateMutability: "nonpayable";
123
+ readonly inputs: readonly [{
124
+ readonly name: "account";
125
+ readonly type: "address";
126
+ }, {
127
+ readonly name: "deadline";
128
+ readonly type: "uint256";
129
+ }, {
130
+ readonly name: "sig";
131
+ readonly type: "bytes";
132
+ }];
133
+ readonly outputs: readonly [];
134
+ }, {
135
+ readonly type: "function";
136
+ readonly name: "activateSession";
137
+ readonly stateMutability: "nonpayable";
138
+ readonly inputs: readonly [{
139
+ readonly name: "account";
140
+ readonly type: "address";
141
+ }, {
142
+ readonly name: "deadline";
143
+ readonly type: "uint256";
144
+ }, {
145
+ readonly name: "sig";
146
+ readonly type: "bytes";
147
+ }];
148
+ readonly outputs: readonly [];
110
149
  }, {
111
150
  readonly type: "function";
112
151
  readonly name: "dispatch";
@@ -310,6 +349,9 @@ export declare const SailKernelAbi: readonly [{
310
349
  }, {
311
350
  readonly name: "feePolicy";
312
351
  readonly type: "address";
352
+ }, {
353
+ readonly name: "feeAsset";
354
+ readonly type: "address";
313
355
  }, {
314
356
  readonly name: "sessionActive";
315
357
  readonly type: "bool";
@@ -1 +1 @@
1
- {"version":3,"file":"SailKernel.d.ts","sourceRoot":"","sources":["../../src/abis/SailKernel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqThB,CAAC"}
1
+ {"version":3,"file":"SailKernel.d.ts","sourceRoot":"","sources":["../../src/abis/SailKernel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwVhB,CAAC"}
@@ -23,6 +23,10 @@ export const SailKernelAbi = [
23
23
  ],
24
24
  outputs: [{ name: "account", type: "address" }],
25
25
  },
26
+ // Post-#53: two-step registration. Requires msg.sender == the Safe (trusted-proxy
27
+ // codehash + trusted-singleton pin) and a Safe owner signature over the
28
+ // RegisterAccount EIP-712 digest (verified via checkSignatures). Must be submitted
29
+ // through the Safe's execTransaction, not the owner EOA. See buildRegisterAccountTypedData.
26
30
  {
27
31
  type: "function",
28
32
  name: "registerAccount",
@@ -31,6 +35,9 @@ export const SailKernelAbi = [
31
35
  { name: "permissionSigner", type: "address" },
32
36
  { name: "manager", type: "address" },
33
37
  { name: "feePolicy", type: "address" },
38
+ { name: "feeAsset", type: "address" },
39
+ { name: "deadline", type: "uint256" },
40
+ { name: "ownerSig", type: "bytes" },
34
41
  ],
35
42
  outputs: [],
36
43
  },
@@ -81,6 +88,32 @@ export const SailKernelAbi = [
81
88
  ],
82
89
  outputs: [],
83
90
  },
91
+ // ── Session kill switch ───────────────────────────────────────────────────
92
+ // Suspend/resume manager dispatch rights. Both are permissionSigner-signed
93
+ // (RevokeSession/ActivateSession EIP-712, nonce = signerNonces[account]) and
94
+ // rotate the manager/batch nonce epochs so any pre-signed dispatch is invalidated.
95
+ {
96
+ type: "function",
97
+ name: "revokeSession",
98
+ stateMutability: "nonpayable",
99
+ inputs: [
100
+ { name: "account", type: "address" },
101
+ { name: "deadline", type: "uint256" },
102
+ { name: "sig", type: "bytes" },
103
+ ],
104
+ outputs: [],
105
+ },
106
+ {
107
+ type: "function",
108
+ name: "activateSession",
109
+ stateMutability: "nonpayable",
110
+ inputs: [
111
+ { name: "account", type: "address" },
112
+ { name: "deadline", type: "uint256" },
113
+ { name: "sig", type: "bytes" },
114
+ ],
115
+ outputs: [],
116
+ },
84
117
  // ── Manager dispatch ──────────────────────────────────────────────────────
85
118
  {
86
119
  type: "function",
@@ -220,6 +253,7 @@ export const SailKernelAbi = [
220
253
  { name: "permissionSigner", type: "address" },
221
254
  { name: "manager", type: "address" },
222
255
  { name: "feePolicy", type: "address" },
256
+ { name: "feeAsset", type: "address" },
223
257
  { name: "sessionActive", type: "bool" },
224
258
  ],
225
259
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SailKernel.js","sourceRoot":"","sources":["../../src/abis/SailKernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SailKernel.js","sourceRoot":"","sources":["../../src/abis/SailKernel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { SailKernelAbi } from "./SailKernel.js";
2
2
  export { MandateFactoryAbi } from "./MandateFactory.js";
3
3
  export { SailGovernanceAbi } from "./SailGovernance.js";
4
+ export { ConfigurablePermissionAbi, CONFIGURE_TYPES } from "./ConfigurablePermission.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC"}
@@ -4,4 +4,5 @@
4
4
  export { SailKernelAbi } from "./SailKernel.js";
5
5
  export { MandateFactoryAbi } from "./MandateFactory.js";
6
6
  export { SailGovernanceAbi } from "./SailGovernance.js";
7
+ export { ConfigurablePermissionAbi, CONFIGURE_TYPES } from "./ConfigurablePermission.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gFAAgF;AAChF,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import type { ChainConfig } from "./types.js";
2
- /**
3
- * Registry of live SailKernel deployments, keyed by EVM chainId.
4
- *
5
- * All entries were updated to the CREATE2-deterministic deployment (gitCommit
6
- * 1199b33) in which every core contract lands at the same address on every chain.
7
- * Add new chains here as SailKernel is deployed on additional networks.
8
- */
9
2
  export declare const chains: Record<number, ChainConfig>;
10
3
  /** Returns the ChainConfig for a given chainId, or throws if unsupported. */
11
4
  export declare function getChain(chainId: number): ChainConfig;
5
+ /**
6
+ * Public default RPC URLs keyed by chainId — the canonical fallback map derived
7
+ * from the chain registry. Consumers (CLI, UI, dashboard server) should import
8
+ * this instead of hand-maintaining their own copies. Returns a plain
9
+ * `Record<number, string>` for easy spreading/merging with env-provided URLs.
10
+ */
11
+ export declare const defaultRpcUrls: Record<number, string>;
12
+ /** The public default RPC URL for a chainId, or undefined if unsupported. */
13
+ export declare function getDefaultRpcUrl(chainId: number): string | undefined;
12
14
  //# sourceMappingURL=chains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6E9C,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAQrD"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc9C,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqI9C,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAQrD;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEjD,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE"}
@@ -1,20 +1,24 @@
1
1
  /**
2
2
  * Registry of live SailKernel deployments, keyed by EVM chainId.
3
3
  *
4
- * All entries were updated to the CREATE2-deterministic deployment (gitCommit
5
- * 1199b33) in which every core contract lands at the same address on every chain.
6
- * Add new chains here as SailKernel is deployed on additional networks.
4
+ * All entries run the Safe-governed CREATE2-deterministic deployment (gitCommit
5
+ * 1dc1960, create2-2026-07-01) in which every core contract lands at the same
6
+ * address on every chain. Add new chains here as SailKernel is deployed on
7
+ * additional networks.
7
8
  */
9
+ const CREATE2_KERNEL = "0x38b508756c976e876EFF05a29E731A4d348BA6ED";
10
+ const CREATE2_MANDATE_FACTORY = "0x6d2C802ffa0d9A8Ed69A5Bf22c1b63ccB566B8Fc";
11
+ const CREATE2_GOVERNANCE = "0x4315B37cA4A315A7042af1Fcb37F8436f4D24356";
8
12
  export const chains = {
9
13
  // Ethereum mainnet
10
14
  1: {
11
15
  chainId: 1,
12
16
  name: "Ethereum",
13
17
  rpcEnvVar: "ETH_MAINNET_RPC_URL",
14
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
15
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
16
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
17
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
18
+ defaultRpcUrl: "https://eth.llamarpc.com",
19
+ kernel: CREATE2_KERNEL,
20
+ mandateFactory: CREATE2_MANDATE_FACTORY,
21
+ governance: CREATE2_GOVERNANCE,
18
22
  dispatchModel: "selective",
19
23
  protocols: {},
20
24
  },
@@ -23,11 +27,10 @@ export const chains = {
23
27
  chainId: 8453,
24
28
  name: "Base",
25
29
  rpcEnvVar: "BASE_RPC_URL",
26
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
27
- // Supersedes 0x6319d3dfDDe3804ba93D65752b00c52bFb05a1ab (SAIL-405).
28
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
29
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
30
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
30
+ defaultRpcUrl: "https://mainnet.base.org",
31
+ kernel: CREATE2_KERNEL,
32
+ mandateFactory: CREATE2_MANDATE_FACTORY,
33
+ governance: CREATE2_GOVERNANCE,
31
34
  dispatchModel: "selective",
32
35
  protocols: {},
33
36
  },
@@ -36,11 +39,22 @@ export const chains = {
36
39
  chainId: 42161,
37
40
  name: "Arbitrum",
38
41
  rpcEnvVar: "ARBITRUM_RPC_URL",
39
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
40
- // Supersedes 0x2716B12832DED0EF5688519c5Fe069EFc0374E02 (SAIL-405).
41
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
42
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
43
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
42
+ defaultRpcUrl: "https://arb1.arbitrum.io/rpc",
43
+ kernel: CREATE2_KERNEL,
44
+ mandateFactory: CREATE2_MANDATE_FACTORY,
45
+ governance: CREATE2_GOVERNANCE,
46
+ dispatchModel: "selective",
47
+ protocols: {},
48
+ },
49
+ // Optimism mainnet
50
+ 10: {
51
+ chainId: 10,
52
+ name: "Optimism",
53
+ rpcEnvVar: "OPTIMISM_RPC_URL",
54
+ defaultRpcUrl: "https://mainnet.optimism.io",
55
+ kernel: CREATE2_KERNEL,
56
+ mandateFactory: CREATE2_MANDATE_FACTORY,
57
+ governance: CREATE2_GOVERNANCE,
44
58
  dispatchModel: "selective",
45
59
  protocols: {},
46
60
  },
@@ -49,11 +63,58 @@ export const chains = {
49
63
  chainId: 130,
50
64
  name: "Unichain",
51
65
  rpcEnvVar: "UNICHAIN_RPC_URL",
52
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
53
- // Supersedes 0xD985029960a9B7C2E7E38e102C448b8b8539B156 (SAIL-406).
54
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
55
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
56
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
66
+ defaultRpcUrl: "https://mainnet.unichain.org",
67
+ kernel: CREATE2_KERNEL,
68
+ mandateFactory: CREATE2_MANDATE_FACTORY,
69
+ governance: CREATE2_GOVERNANCE,
70
+ dispatchModel: "selective",
71
+ protocols: {},
72
+ },
73
+ // BSC mainnet
74
+ 56: {
75
+ chainId: 56,
76
+ name: "BSC",
77
+ rpcEnvVar: "BSC_RPC_URL",
78
+ defaultRpcUrl: "https://bsc-dataseed.binance.org",
79
+ kernel: CREATE2_KERNEL,
80
+ mandateFactory: CREATE2_MANDATE_FACTORY,
81
+ governance: CREATE2_GOVERNANCE,
82
+ dispatchModel: "selective",
83
+ protocols: {},
84
+ },
85
+ // World Chain mainnet
86
+ 480: {
87
+ chainId: 480,
88
+ name: "World Chain",
89
+ rpcEnvVar: "WORLD_RPC_URL",
90
+ defaultRpcUrl: "https://worldchain-mainnet.g.alchemy.com/public",
91
+ kernel: CREATE2_KERNEL,
92
+ mandateFactory: CREATE2_MANDATE_FACTORY,
93
+ governance: CREATE2_GOVERNANCE,
94
+ dispatchModel: "selective",
95
+ protocols: {},
96
+ },
97
+ // HyperEVM mainnet
98
+ 999: {
99
+ chainId: 999,
100
+ name: "HyperEVM",
101
+ rpcEnvVar: "HYPEREVM_RPC_URL",
102
+ defaultRpcUrl: "https://rpc.hyperliquid.xyz/evm",
103
+ kernel: CREATE2_KERNEL,
104
+ mandateFactory: CREATE2_MANDATE_FACTORY,
105
+ governance: CREATE2_GOVERNANCE,
106
+ dispatchModel: "selective",
107
+ protocols: {},
108
+ },
109
+ // MegaETH mainnet
110
+ 4326: {
111
+ chainId: 4326,
112
+ name: "MegaETH",
113
+ rpcEnvVar: "MEGAETH_RPC_URL",
114
+ defaultRpcUrl: "https://mainnet.megaeth.com/rpc",
115
+ kernel: CREATE2_KERNEL,
116
+ mandateFactory: CREATE2_MANDATE_FACTORY,
117
+ governance: CREATE2_GOVERNANCE,
57
118
  dispatchModel: "selective",
58
119
  protocols: {},
59
120
  },
@@ -62,11 +123,10 @@ export const chains = {
62
123
  chainId: 84532,
63
124
  name: "Base Sepolia",
64
125
  rpcEnvVar: "BASE_SEPOLIA_RPC_URL",
65
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
66
- // Supersedes 0xf1D0F4C9893612627409948BAa9d82a01a373799 (SAIL-405).
67
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
68
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
69
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
126
+ defaultRpcUrl: "https://sepolia.base.org",
127
+ kernel: CREATE2_KERNEL,
128
+ mandateFactory: CREATE2_MANDATE_FACTORY,
129
+ governance: CREATE2_GOVERNANCE,
70
130
  dispatchModel: "selective",
71
131
  protocols: {},
72
132
  },
@@ -75,10 +135,10 @@ export const chains = {
75
135
  chainId: 11155111,
76
136
  name: "Eth Sepolia",
77
137
  rpcEnvVar: "SEPOLIA_RPC_URL",
78
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
79
- kernel: "0x02ABC18B65A328de2e749F56ba79ACF2718a6659",
80
- mandateFactory: "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2",
81
- governance: "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC",
138
+ defaultRpcUrl: "https://ethereum-sepolia-rpc.publicnode.com",
139
+ kernel: CREATE2_KERNEL,
140
+ mandateFactory: CREATE2_MANDATE_FACTORY,
141
+ governance: CREATE2_GOVERNANCE,
82
142
  dispatchModel: "selective",
83
143
  protocols: {},
84
144
  },
@@ -87,8 +147,19 @@ export const chains = {
87
147
  export function getChain(chainId) {
88
148
  const config = chains[chainId];
89
149
  if (!config) {
90
- throw new Error(`Chain ${chainId} is not supported. Supported chains: 1 (Ethereum), 8453 (Base), 42161 (Arbitrum), 130 (Unichain), 84532 (Base Sepolia), 11155111 (Eth Sepolia).`);
150
+ throw new Error(`Chain ${chainId} is not supported. Supported chains: 1 (Ethereum), 8453 (Base), 42161 (Arbitrum), 10 (Optimism), 130 (Unichain), 56 (BSC), 480 (World Chain), 999 (HyperEVM), 4326 (MegaETH), 84532 (Base Sepolia), 11155111 (Eth Sepolia).`);
91
151
  }
92
152
  return config;
93
153
  }
154
+ /**
155
+ * Public default RPC URLs keyed by chainId — the canonical fallback map derived
156
+ * from the chain registry. Consumers (CLI, UI, dashboard server) should import
157
+ * this instead of hand-maintaining their own copies. Returns a plain
158
+ * `Record<number, string>` for easy spreading/merging with env-provided URLs.
159
+ */
160
+ export const defaultRpcUrls = Object.fromEntries(Object.values(chains).map((c) => [c.chainId, c.defaultRpcUrl]));
161
+ /** The public default RPC URL for a chainId, or undefined if unsupported. */
162
+ export function getDefaultRpcUrl(chainId) {
163
+ return chains[chainId]?.defaultRpcUrl;
164
+ }
94
165
  //# sourceMappingURL=chains.js.map