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

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 (231) hide show
  1. package/AGENTS.md +7 -7
  2. package/LICENSE +1 -1
  3. package/README.md +64 -472
  4. package/package.json +11 -6
  5. package/packages/cli/README.md +1 -1
  6. package/packages/cli/dist/index.cjs +1469 -463
  7. package/packages/cli/dist/server.cjs +19796 -21737
  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 +0 -7
  22. package/packages/sdk/dist/chains.d.ts.map +1 -1
  23. package/packages/sdk/dist/chains.js +81 -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 +3 -2
  42. package/packages/sdk/dist/index.d.ts.map +1 -1
  43. package/packages/sdk/dist/index.js +3 -2
  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/package.json +6 -2
  52. package/packages/ui/dist/assets/{add-BX5reKtK.js → add-CBbu2pe_.js} +2 -2
  53. package/packages/ui/dist/assets/{all-wallets-IZ3PlVF-.js → all-wallets-C1oy4NUu.js} +2 -2
  54. package/packages/ui/dist/assets/{app-store-ARgRdMdF.js → app-store-DKqyf0Zv.js} +1 -1
  55. package/packages/ui/dist/assets/{apple-VCaqsI9w.js → apple-DyoIbCFy.js} +2 -2
  56. package/packages/ui/dist/assets/{arrow-bottom-circle-h5vFiZ2I.js → arrow-bottom-circle-CMS-OqZQ.js} +2 -2
  57. package/packages/ui/dist/assets/arrow-bottom-pUWeEqYu.js +8 -0
  58. package/packages/ui/dist/assets/arrow-left-B81HMJNL.js +8 -0
  59. package/packages/ui/dist/assets/arrow-right-Z5czoKlC.js +8 -0
  60. package/packages/ui/dist/assets/arrow-top-C6ym1oll.js +8 -0
  61. package/packages/ui/dist/assets/{bank-6c28yOM9.js → bank-B41nlslf.js} +2 -2
  62. package/packages/ui/dist/assets/{basic-CJnbTfSd.js → basic-CWqOb7CV.js} +177 -177
  63. package/packages/ui/dist/assets/{browser-CDKlxM3D.js → browser-DDKdqoZ9.js} +2 -2
  64. package/packages/ui/dist/assets/{card-DQdED02q.js → card-BgOmTajq.js} +2 -2
  65. package/packages/ui/dist/assets/ccip-CtJUKWRd.js +1 -0
  66. package/packages/ui/dist/assets/{checkmark-JoRNVoFV.js → checkmark-CGqQipH4.js} +2 -2
  67. package/packages/ui/dist/assets/{checkmark-bold-B6bGHVIs.js → checkmark-bold-Ci5xf90j.js} +2 -2
  68. package/packages/ui/dist/assets/chevron-bottom-D7Xert17.js +8 -0
  69. package/packages/ui/dist/assets/chevron-left-BGbUebR2.js +8 -0
  70. package/packages/ui/dist/assets/chevron-right-xVsESnHU.js +8 -0
  71. package/packages/ui/dist/assets/chevron-top-DEA9cR6v.js +8 -0
  72. package/packages/ui/dist/assets/{chrome-store-D-fiJ9qJ.js → chrome-store-BsyI-4PI.js} +2 -2
  73. package/packages/ui/dist/assets/{clock-xCPkzwjj.js → clock-Dct9oQ3M.js} +2 -2
  74. package/packages/ui/dist/assets/{close-BkqmPpWG.js → close-BvSCnI2y.js} +2 -2
  75. package/packages/ui/dist/assets/{coinPlaceholder-PIvN9oq_.js → coinPlaceholder-p7RiWkon.js} +2 -2
  76. package/packages/ui/dist/assets/{compass-CW5kWcxW.js → compass-BUeeZqX4.js} +2 -2
  77. package/packages/ui/dist/assets/{copy-DUZlAQJJ.js → copy-C5jXbxLq.js} +2 -2
  78. package/packages/ui/dist/assets/core-CiAm42Mq.js +907 -0
  79. package/packages/ui/dist/assets/cursor-C0T7JWFO.js +3 -0
  80. package/packages/ui/dist/assets/{cursor-transparent-BUAMB0G1.js → cursor-transparent-BZp3-JmA.js} +2 -2
  81. package/packages/ui/dist/assets/{desktop-BxdlwV8P.js → desktop-BIui_Lzb.js} +2 -2
  82. package/packages/ui/dist/assets/{disconnect-GelNh3mn.js → disconnect-B3Bxdchp.js} +2 -2
  83. package/packages/ui/dist/assets/{discord-N0jnxkzC.js → discord-VWI0yDyx.js} +2 -2
  84. package/packages/ui/dist/assets/{etherscan-B41u7wF4.js → etherscan-BpBvUT9i.js} +2 -2
  85. package/packages/ui/dist/assets/events-DQ172AOg.js +1 -0
  86. package/packages/ui/dist/assets/{exclamation-triangle-BWJC56FC.js → exclamation-triangle-o1TJHIUw.js} +2 -2
  87. package/packages/ui/dist/assets/{extension-G6I6oogw.js → extension-4RaLvbh5.js} +2 -2
  88. package/packages/ui/dist/assets/external-link-BHIwjDgj.js +8 -0
  89. package/packages/ui/dist/assets/{facebook-47twy32b.js → facebook-Bes5g-wN.js} +2 -2
  90. package/packages/ui/dist/assets/{farcaster-DYqnqCqs.js → farcaster-CiJ-352m.js} +2 -2
  91. package/packages/ui/dist/assets/{filters-dF6xeJnE.js → filters-DMOteumb.js} +2 -2
  92. package/packages/ui/dist/assets/{github-DbW4Ihz2.js → github-D2nDec9X.js} +2 -2
  93. package/packages/ui/dist/assets/{google-TKm7G8LF.js → google-lZZlQZPQ.js} +2 -2
  94. package/packages/ui/dist/assets/{help-circle-CY3qTmsG.js → help-circle-D4cSSziR.js} +1 -1
  95. package/packages/ui/dist/assets/{id-JpHW4q14.js → id-BmhXZq5P.js} +2 -2
  96. package/packages/ui/dist/assets/{image-Dip2fG98.js → image-Dz4FPeET.js} +2 -2
  97. package/packages/ui/dist/assets/index-B07bCKJ8.css +1 -0
  98. package/packages/ui/dist/assets/index-BV8s6ez1.js +1 -0
  99. package/packages/ui/dist/assets/index-BeUp3nOq.js +1 -0
  100. package/packages/ui/dist/assets/index-CvRylmZJ.js +16 -0
  101. package/packages/ui/dist/assets/{index-q0mGElxZ.js → index-DeoQO45V.js} +3 -3
  102. package/packages/ui/dist/assets/index-Et5S3ZaW.js +47 -0
  103. package/packages/ui/dist/assets/index-LiKeH8Cd.js +1780 -0
  104. package/packages/ui/dist/assets/index.es-dfpEui-9.js +26 -0
  105. package/packages/ui/dist/assets/{info-B1enFsqh.js → info-77RSvIMg.js} +2 -2
  106. package/packages/ui/dist/assets/{info-circle-D4j3FISs.js → info-circle-CWsII-NN.js} +2 -2
  107. package/packages/ui/dist/assets/{lightbulb-DZbKr-vS.js → lightbulb-BZXzm7XE.js} +2 -2
  108. package/packages/ui/dist/assets/{mail-D-TO_uVQ.js → mail-DMG1YqB0.js} +2 -2
  109. package/packages/ui/dist/assets/metamask-sdk-K1x_iqcc.js +542 -0
  110. package/packages/ui/dist/assets/{mobile-Bkmwzav2.js → mobile-DuJfOBSk.js} +2 -2
  111. package/packages/ui/dist/assets/{more-D1_I_jiB.js → more-Cs9ySK2F.js} +2 -2
  112. package/packages/ui/dist/assets/{network-placeholder-DUaFjoXh.js → network-placeholder-CMDPmB1E.js} +2 -2
  113. package/packages/ui/dist/assets/{nftPlaceholder-Cc0iUryh.js → nftPlaceholder-Cj0f9y2u.js} +2 -2
  114. package/packages/ui/dist/assets/{off-BvX71sse.js → off-9zSSsm-e.js} +2 -2
  115. package/packages/ui/dist/assets/{play-store-XzLbtbTd.js → play-store-CPwIb8Gj.js} +2 -2
  116. package/packages/ui/dist/assets/{plus-B77_RmYR.js → plus-BOHQri8o.js} +2 -2
  117. package/packages/ui/dist/assets/{qr-code-BNeIhB1d.js → qr-code-DqhbK276.js} +1 -1
  118. package/packages/ui/dist/assets/{recycle-horizontal-B9sX-yty.js → recycle-horizontal-BpGM56Qz.js} +2 -2
  119. package/packages/ui/dist/assets/{refresh-BWRygnjm.js → refresh-BPzZlhTP.js} +2 -2
  120. package/packages/ui/dist/assets/{reown-logo-DCAEsGFm.js → reown-logo-OCkI0xzo.js} +2 -2
  121. package/packages/ui/dist/assets/{search-ZXIqrawS.js → search-B1JEJvwq.js} +2 -2
  122. package/packages/ui/dist/assets/{secp256k1-Doz05h4g.js → secp256k1-BqUeV9Cb.js} +1 -1
  123. package/packages/ui/dist/assets/{send-BQcO0jNC.js → send-JNsDlNoq.js} +2 -2
  124. package/packages/ui/dist/assets/{swapHorizontal-4yZEzz2K.js → swapHorizontal-C3Z1FImK.js} +2 -2
  125. package/packages/ui/dist/assets/{swapHorizontalBold-DxBKu3sl.js → swapHorizontalBold-Cmdy2iAn.js} +2 -2
  126. package/packages/ui/dist/assets/{swapHorizontalMedium-DAQYJ2JK.js → swapHorizontalMedium-DFX57Nn9.js} +2 -2
  127. package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CUlZzFJ6.js → swapHorizontalRoundedBold-baB389c8.js} +2 -2
  128. package/packages/ui/dist/assets/{swapVertical-CjWHAaDM.js → swapVertical-DmAYGfK1.js} +2 -2
  129. package/packages/ui/dist/assets/{telegram-JBeabiJP.js → telegram-BHbYE-nI.js} +2 -2
  130. package/packages/ui/dist/assets/{three-dots-D3R8OjSx.js → three-dots-BwRWl6qJ.js} +2 -2
  131. package/packages/ui/dist/assets/{twitch-1f9z7xVO.js → twitch-Drx0q6B6.js} +2 -2
  132. package/packages/ui/dist/assets/{twitterIcon-BW7n2xnp.js → twitterIcon-AuJ2KQ6p.js} +2 -2
  133. package/packages/ui/dist/assets/{verify-Cs5owI38.js → verify-Dkrd3q7o.js} +2 -2
  134. package/packages/ui/dist/assets/{verify-filled-Ci5sx5qS.js → verify-filled-B9e3-nz-.js} +2 -2
  135. package/packages/ui/dist/assets/{w3m-modal-DnWtss8u.js → w3m-modal-DtkEjQA7.js} +1 -1
  136. package/packages/ui/dist/assets/{wallet-MaGNqaW-.js → wallet-CqYzSiBd.js} +2 -2
  137. package/packages/ui/dist/assets/{wallet-placeholder-kTOy12_L.js → wallet-placeholder-B05kTN_K.js} +2 -2
  138. package/packages/ui/dist/assets/{walletconnect-CyuP92jg.js → walletconnect-BwoPXLaS.js} +3 -3
  139. package/packages/ui/dist/assets/{warning-circle-BImUCdpG.js → warning-circle-DK9Ai8rT.js} +2 -2
  140. package/packages/ui/dist/assets/{x-II45JHpV.js → x-BNdh5DVW.js} +2 -2
  141. package/packages/ui/dist/index.html +2 -2
  142. package/templates/default/.agents/skills/sail-mandates/SKILL.md +1 -1
  143. package/templates/default/.agents/skills/sail-mandates/references/approvals.md +3 -3
  144. package/templates/default/.agents/skills/sail-mandates/references/examples-index.md +3 -3
  145. package/templates/default/.agents/skills/sail-onboarding/SKILL.md +34 -33
  146. package/templates/default/.agents/skills/sail-servers/SKILL.md +1 -0
  147. package/templates/default/.agents/skills/sail-swap-quote/SKILL.md +76 -0
  148. package/templates/default/.agents/skills/sail-template-approve-batch/SKILL.md +98 -0
  149. package/templates/default/.agents/skills/sail-template-borrow/SKILL.md +68 -0
  150. package/templates/default/.agents/skills/sail-template-deposit/SKILL.md +61 -0
  151. package/templates/default/.agents/skills/sail-template-swap/SKILL.md +207 -0
  152. package/templates/default/.agents/skills/sail-template-swap-no-oracle/SKILL.md +100 -0
  153. package/templates/default/.agents/skills/sail-template-transfer/SKILL.md +52 -0
  154. package/templates/default/.agents/skills/sail-template-withdraw/SKILL.md +50 -0
  155. package/templates/default/.agents/skills/sail-templates/SKILL.md +142 -0
  156. package/templates/default/.agents/skills/sail-templates/catalog.mjs +200 -0
  157. package/templates/default/.agents/skills/sail-templates/deployed.json +133 -0
  158. package/templates/default/.agents/skills/sail-templates/oracles/IOracle.sol +13 -0
  159. package/templates/default/.agents/skills/sail-templates/oracles/UniV3TwapOracle.sol +114 -0
  160. package/templates/default/.agents/skills/sail-templates/oracles/libs/FullMath.sol +62 -0
  161. package/templates/default/.agents/skills/sail-templates/oracles/libs/TickMath.sol +44 -0
  162. package/templates/default/.agents/skills/sail-templates/references/config-schemas.md +139 -0
  163. package/templates/default/.agents/skills/sail-templates/references/reuse-flow.md +139 -0
  164. package/templates/default/.agents/skills/sail-token-resolve/SKILL.md +174 -0
  165. package/templates/default/.env.example +9 -0
  166. package/templates/default/AGENTS.md +107 -13
  167. package/templates/default/docs/PERMISSION_MODEL.md +2 -2
  168. package/{examples → templates/default/examples}/custom-mandate/.sail/contracts/interfaces/IPermission.sol +4 -0
  169. package/{examples → templates/default/examples}/custom-mandate/README.md +4 -1
  170. package/{examples → templates/default/examples}/permissions/interfaces/IBatchPermission.sol +2 -0
  171. package/{examples → templates/default/examples}/permissions/interfaces/IPermission.sol +4 -0
  172. package/templates/default/scripts/quote-swap.mjs +211 -0
  173. package/templates/default/scripts/resolve-token.mjs +992 -0
  174. package/templates/default/scripts/shared-template-addr.mjs +110 -0
  175. package/templates/default/test/BoundedCallPermission.t.sol +2 -1
  176. package/docs/PERMISSION_MODEL.md +0 -93
  177. package/examples/README.md +0 -24
  178. package/examples/lifi-permissions/LifiBoundedApprovePermissionCloneable.sol +0 -84
  179. package/examples/lifi-permissions/LifiDiamondSwapPermissionCloneable.sol +0 -97
  180. package/examples/lifi-permissions/README.md +0 -53
  181. package/packages/ui/dist/assets/arrow-bottom-Cwptw8fW.js +0 -8
  182. package/packages/ui/dist/assets/arrow-left-bM1TRcV9.js +0 -8
  183. package/packages/ui/dist/assets/arrow-right-BYd_N4Jr.js +0 -8
  184. package/packages/ui/dist/assets/arrow-top-CLUnwVE2.js +0 -8
  185. package/packages/ui/dist/assets/ccip-BL7RIPfY.js +0 -1
  186. package/packages/ui/dist/assets/chevron-bottom-BMCelIEu.js +0 -8
  187. package/packages/ui/dist/assets/chevron-left-ryPLhHCc.js +0 -8
  188. package/packages/ui/dist/assets/chevron-right-CdDNRv7f.js +0 -8
  189. package/packages/ui/dist/assets/chevron-top-BxWIjjGk.js +0 -8
  190. package/packages/ui/dist/assets/core-von2c1sc.js +0 -907
  191. package/packages/ui/dist/assets/cursor-BzRVY7BD.js +0 -3
  192. package/packages/ui/dist/assets/events-C9icG2YB.js +0 -1
  193. package/packages/ui/dist/assets/external-link-BPaGQf4a.js +0 -8
  194. package/packages/ui/dist/assets/fallback-BTfJeGjh.js +0 -1
  195. package/packages/ui/dist/assets/index-BGJ_8fMk.js +0 -1
  196. package/packages/ui/dist/assets/index-Bq3PAopp.js +0 -16
  197. package/packages/ui/dist/assets/index-C4_cA5XW.js +0 -1
  198. package/packages/ui/dist/assets/index-CaDN0gL4.js +0 -1
  199. package/packages/ui/dist/assets/index-DLElIcBr.js +0 -1789
  200. package/packages/ui/dist/assets/index-lhNfD4jA.css +0 -1
  201. package/packages/ui/dist/assets/index.es-BaCKS_tW.js +0 -26
  202. package/packages/ui/dist/assets/metamask-sdk-DljW3QD1.js +0 -542
  203. package/packages/ui/dist/assets/native-CJ5et6AR.js +0 -1
  204. package/packages/ui/dist/assets/parseSignature-BAS-wKoj.js +0 -1
  205. package/scripts/check-docs.mjs +0 -309
  206. package/scripts/check-init.mjs +0 -123
  207. package/scripts/check-update.mjs +0 -177
  208. package/scripts/clean.mjs +0 -17
  209. package/scripts/pack.mjs +0 -21
  210. package/templates/default/.agents/skills/sail-overview/SKILL.md +0 -100
  211. package/templates/default/.agents/skills/sail-sailor/SKILL.md +0 -190
  212. package/templates/default/.agents/skills/sail-setup/SKILL.md +0 -38
  213. package/templates/default/.gitlab-ci.yml +0 -58
  214. /package/{examples → templates/default/examples}/custom-mandate/foundry.toml +0 -0
  215. /package/{examples → templates/default/examples}/custom-mandate/mandates/BoundedCallPermission.sol +0 -0
  216. /package/{examples → templates/default/examples}/custom-mandate/mandates/README.md +0 -0
  217. /package/{examples → templates/default/examples}/custom-mandate/mandates/SailCalldata.sol +0 -0
  218. /package/{examples → templates/default/examples}/permissions/BoundedApproveAndCallBatch.sol +0 -0
  219. /package/{examples → templates/default/examples}/permissions/BoundedBorrow_AaveV3_Arbitrum.sol +0 -0
  220. /package/{examples → templates/default/examples}/permissions/BoundedLimitless_Base.sol +0 -0
  221. /package/{examples → templates/default/examples}/permissions/BoundedPerp_GMXv2_Arbitrum.sol +0 -0
  222. /package/{examples → templates/default/examples}/permissions/BoundedStake_Venice_Base.sol +0 -0
  223. /package/{examples → templates/default/examples}/permissions/BoundedSupply_AaveV3_Arbitrum.sol +0 -0
  224. /package/{examples → templates/default/examples}/permissions/BoundedSwapNative_UniswapV3_Base.sol +0 -0
  225. /package/{examples → templates/default/examples}/permissions/BoundedSwap_UniswapV3_Base.sol +0 -0
  226. /package/{examples → templates/default/examples}/permissions/BoundedSwap_UniswapV4_Unichain.sol +0 -0
  227. /package/{examples → templates/default/examples}/permissions/BoundedTransfer_ERC20_Ethereum.sol +0 -0
  228. /package/{examples → templates/default/examples}/permissions/BoundedVault_ERC4626_Base.sol +0 -0
  229. /package/{examples → templates/default/examples}/permissions/README.md +0 -0
  230. /package/{examples → templates/default/examples}/permissions/SailCalldata.sol +0 -0
  231. /package/{examples → templates/default/examples}/permissions/foundry.toml +0 -0
@@ -1,10 +1,10 @@
1
- import { createPublicClient, defineChain, encodeAbiParameters, http, keccak256, parseEventLogs, zeroAddress, } from "viem";
1
+ import { http, createPublicClient, defineChain, encodeAbiParameters, keccak256, parseEventLogs, zeroAddress, } from "viem";
2
2
  import { SailKernelAbi } from "./abis/SailKernel.js";
3
- import { detectKernelCapabilities, } from "./capabilities.js";
3
+ import { detectKernelCapabilities } from "./capabilities.js";
4
4
  import { sailDeployments } from "./deployments.js";
5
+ import { buildConfigureTypedData, buildDispatchSignature, sailKernelDomain, } from "./eip712.js";
5
6
  import { explainKernelRevert } from "./errors.js";
6
- import { buildDispatchSignature, sailKernelDomain, } from "./eip712.js";
7
- import { DEFAULT_SLIPPAGE, ERC20_ALLOWANCE_ABI, encodeApprove, fetchLifiQuote, LIFI_ROUTERS, } from "./lifi.js";
7
+ import { DEFAULT_SLIPPAGE, ERC20_ALLOWANCE_ABI, LIFI_ROUTERS, encodeApprove, fetchLifiQuote, } from "./lifi.js";
8
8
  export { SailKernelAbi } from "./abis/SailKernel.js";
9
9
  export { MandateFactoryAbi } from "./abis/MandateFactory.js";
10
10
  function notImplemented() {
@@ -23,6 +23,31 @@ function buildPublicClient(config) {
23
23
  function defaultDeadline() {
24
24
  return BigInt(Math.floor(Date.now() / 1000) + 300);
25
25
  }
26
+ /**
27
+ * Minimal ConfigurablePermission ABI — the signer-gated re-config entry point and its
28
+ * per-account nonce. Shared by every launch template (they all extend ConfigurablePermission).
29
+ */
30
+ const CONFIGURABLE_PERMISSION_ABI = [
31
+ {
32
+ type: "function",
33
+ name: "configNonces",
34
+ stateMutability: "view",
35
+ inputs: [{ name: "account", type: "address" }],
36
+ outputs: [{ type: "uint256" }],
37
+ },
38
+ {
39
+ type: "function",
40
+ name: "configure",
41
+ stateMutability: "nonpayable",
42
+ inputs: [
43
+ { name: "account", type: "address" },
44
+ { name: "params", type: "bytes" },
45
+ { name: "deadline", type: "uint256" },
46
+ { name: "sig", type: "bytes" },
47
+ ],
48
+ outputs: [],
49
+ },
50
+ ];
26
51
  /**
27
52
  * Default gas limit for a single dispatch. Passing an explicit limit makes viem
28
53
  * skip its `eth_estimateGas` pre-flight, which a load-balanced RPC can route to a
@@ -107,8 +132,7 @@ class KernelNamespace {
107
132
  */
108
133
  async capabilities() {
109
134
  const kernel = this.requireKernel();
110
- const staticModel = sailDeployments[this.config.chainId]
111
- ?.dispatchModel;
135
+ const staticModel = sailDeployments[this.config.chainId]?.dispatchModel;
112
136
  return detectKernelCapabilities(this.publicClient, kernel, {
113
137
  chainId: this.config.chainId,
114
138
  staticModel,
@@ -200,8 +224,50 @@ class MandateNamespace extends KernelNamespace {
200
224
  value: 0n,
201
225
  });
202
226
  }
203
- reconfigure(_safe, _template, _params, _signer) {
204
- return notImplemented();
227
+ /**
228
+ * Re-configure the per-account bounds of an already-registered shared template.
229
+ * The permission signer signs the template's `Configure` EIP-712 struct — built by
230
+ * `buildConfigureTypedData`, which reads the template's live ERC-5267 domain and emits
231
+ * the v1 or v2 (epoch-bound) schema to match whatever is deployed — and the attached
232
+ * wallet submits `configure(account, params, deadline, sig)`.
233
+ *
234
+ * The config nonce is read fresh on-chain immediately before signing (the template
235
+ * increments it only after a successful verify), so a re-config never reuses a stale nonce.
236
+ */
237
+ async reconfigure(safe, template, params, signer) {
238
+ const kernel = this.requireKernel();
239
+ const wallet = this.requireSigner();
240
+ const encoded = template.encoder.encode(params);
241
+ const deadline = defaultDeadline();
242
+ const nonce = (await this.publicClient.readContract({
243
+ address: template.address,
244
+ abi: CONFIGURABLE_PERMISSION_ABI,
245
+ functionName: "configNonces",
246
+ args: [safe],
247
+ }));
248
+ const td = await buildConfigureTypedData({
249
+ publicClient: this.publicClient,
250
+ kernel,
251
+ template: template.address,
252
+ account: safe,
253
+ params: encoded,
254
+ nonce,
255
+ deadline,
256
+ });
257
+ const sig = await signer.signTyped(td.domain, { primaryType: td.primaryType, types: td.types }, td.message);
258
+ const txHash = await wallet.writeContract({
259
+ address: template.address,
260
+ abi: CONFIGURABLE_PERMISSION_ABI,
261
+ functionName: "configure",
262
+ args: [safe, encoded, deadline, sig],
263
+ });
264
+ // Wait for the receipt and surface a revert: a failed re-config (stale nonce, expired
265
+ // deadline, bad params) must not resolve as success, which would leave the old bounds in
266
+ // place while the caller believes the new ones applied.
267
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
268
+ if (receipt.status !== "success") {
269
+ throw new Error(`configure reverted (tx ${txHash})`);
270
+ }
205
271
  }
206
272
  replace(_safe, _oldTemplate, _newTemplate, _params, _signer) {
207
273
  return notImplemented();
@@ -533,14 +599,70 @@ class StrategyNamespace extends KernelNamespace {
533
599
  }
534
600
  }
535
601
  class SessionNamespace extends KernelNamespace {
536
- revoke(_safe, _signer) {
537
- return notImplemented();
602
+ /**
603
+ * Suspend (`revokeSession`) or resume (`activateSession`) the manager's dispatch rights.
604
+ * Both are permissionSigner-signed over the RevokeSession/ActivateSession EIP-712 struct,
605
+ * with `nonce` read fresh from `signerNonces[account]` immediately before signing — the
606
+ * kernel bumps that nonce by a full epoch on revoke (#70), so it must never be cached. The
607
+ * kernel also rotates the manager/batch nonce epochs, invalidating any pre-signed dispatch.
608
+ */
609
+ async revoke(safe, signer) {
610
+ await this.#submitSessionOp(safe, signer, "RevokeSession", "revokeSession");
538
611
  }
539
- activate(_safe, _signer) {
540
- return notImplemented();
612
+ async activate(safe, signer) {
613
+ await this.#submitSessionOp(safe, signer, "ActivateSession", "activateSession");
541
614
  }
542
- status(_safe) {
543
- return notImplemented();
615
+ async #submitSessionOp(safe, signer, primaryType, fn) {
616
+ const kernel = this.requireKernel();
617
+ const wallet = this.requireSigner();
618
+ const deadline = defaultDeadline();
619
+ // Just-in-time signer nonce (never cache — revoke advances it a full epoch, #70).
620
+ const nonce = (await this.publicClient.readContract({
621
+ address: kernel,
622
+ abi: SailKernelAbi,
623
+ functionName: "signerNonces",
624
+ args: [safe],
625
+ }));
626
+ const sig = await signer.signTyped(sailKernelDomain({ chainId: this.config.chainId, kernel }), {
627
+ primaryType,
628
+ types: {
629
+ [primaryType]: [
630
+ { name: "account", type: "address" },
631
+ { name: "nonce", type: "uint256" },
632
+ { name: "deadline", type: "uint256" },
633
+ ],
634
+ },
635
+ }, { account: safe, nonce, deadline });
636
+ const txHash = await wallet.writeContract({
637
+ address: kernel,
638
+ abi: SailKernelAbi,
639
+ functionName: fn,
640
+ args: [safe, deadline, sig],
641
+ });
642
+ // A kill switch must land before we return — wait for the receipt and surface a revert.
643
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
644
+ if (receipt.status !== "success") {
645
+ throw new Error(`${fn} reverted (tx ${txHash})`);
646
+ }
647
+ }
648
+ async status(safe) {
649
+ const kernel = this.requireKernel();
650
+ // configs returns (permissionSigner, manager, feePolicy, feeAsset, sessionActive).
651
+ const cfg = (await this.publicClient.readContract({
652
+ address: kernel,
653
+ abi: SailKernelAbi,
654
+ functionName: "configs",
655
+ args: [safe],
656
+ }));
657
+ return {
658
+ safe,
659
+ active: cfg[4],
660
+ manager: cfg[1],
661
+ // Block-level markers require an event scan; expose live active/manager state and
662
+ // leave the historical timestamps null.
663
+ activatedAtBlock: null,
664
+ revokedAtBlock: null,
665
+ };
544
666
  }
545
667
  }
546
668
  class FeesNamespace extends KernelNamespace {
@@ -635,8 +757,7 @@ export class SailorClient {
635
757
  if (!kernel) {
636
758
  throw new Error("SailKernel address not configured — set `kernel` in SailorClientConfig.");
637
759
  }
638
- const staticModel = sailDeployments[this.config.chainId]
639
- ?.dispatchModel;
760
+ const staticModel = sailDeployments[this.config.chainId]?.dispatchModel;
640
761
  return detectKernelCapabilities(this.publicClient, kernel, {
641
762
  chainId: this.config.chainId,
642
763
  staticModel,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,15 @@ import type { Address } from "viem";
2
2
  import type { DispatchModel } from "./capabilities.js";
3
3
  /**
4
4
  * Chains with a bundled Sail Protocol deployment.
5
- * Mainnets: Ethereum (1), Base (8453), Arbitrum (42161), Unichain (130).
5
+ * Mainnets: Ethereum (1), Base (8453), Arbitrum (42161), Optimism (10),
6
+ * Unichain (130), BSC (56), World Chain (480), HyperEVM (999), MegaETH (4326).
6
7
  * Testnets: Base Sepolia (84532), Eth Sepolia (11155111).
7
8
  *
8
- * All six chains were redeployed via CREATE2 (global salt, gitCommit 1199b33)
9
- * so every core contract lands at the same address on every chain.
9
+ * All eleven chains run the Safe-governed CREATE2 deployment (global salt,
10
+ * gitCommit 1dc1960, deploy version create2-2026-07-01) so every core contract
11
+ * and every shared template lands at the same address on every chain.
10
12
  */
11
- export type SailChainId = 1 | 8453 | 42161 | 130 | 84532 | 11155111;
13
+ export type SailChainId = 1 | 8453 | 42161 | 10 | 130 | 56 | 480 | 999 | 4326 | 84532 | 11155111;
12
14
  /** A pre-audited mandate template available on a chain. */
13
15
  export type KnownTemplate = {
14
16
  kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpE,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oEAAoE;IACpE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC,CAAC;AAoBF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAwI/D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAMjE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CA4BlF"}
1
+ {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjG,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oEAAoE;IACpE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACtC,CAAC;AAoFF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CA8E/D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAMjE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CA4BlF"}
@@ -1,154 +1,156 @@
1
1
  const zero = "0x0000000000000000000000000000000000000000";
2
2
  /**
3
- * CREATE2-deterministic core addresses — identical on every chain (gitCommit 1199b33,
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 = "0x02ABC18B65A328de2e749F56ba79ACF2718a6659";
11
- const CREATE2_GOVERNANCE = "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC";
12
- const CREATE2_TIMELOCK = "0xE48Ba8DB6d748adafD13155c3590f62e58a77f56";
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 = "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2";
15
- const CREATE2_STANDARD_FEE_POLICY = "0xe7B5901b839cFFDEd9D4108A22712C8BfdA1D80D";
16
- const CREATE2_TREASURY = "0xB01dCE443d052e44b7D13726c0EC9fFB7f5815B6";
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
21
- // allowlistBootstrapped=true (genesis bootstrap), zero fees, 48h timelock.
80
+ ...COMMON_DEPLOYMENT_FIELDS,
22
81
  chainId: 1,
23
- blockNumber: 25280925,
24
- deployer: CREATE2_TREASURY,
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
42
- // 0x6319d3dfDDe3804ba93D65752b00c52bFb05a1ab (SAIL-405 redeploy).
43
- // allowlistBootstrapped=true, zero fees, 48h timelock.
87
+ ...COMMON_DEPLOYMENT_FIELDS,
44
88
  chainId: 8453,
45
- blockNumber: 47115338,
46
- deployer: CREATE2_TREASURY,
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
64
- // 0x2716B12832DED0EF5688519c5Fe069EFc0374E02 (SAIL-405 redeploy).
65
- // allowlistBootstrapped=true, zero fees, 48h timelock.
94
+ ...COMMON_DEPLOYMENT_FIELDS,
66
95
  chainId: 42161,
67
- blockNumber: 471736462,
68
- deployer: CREATE2_TREASURY,
69
- governance: CREATE2_GOVERNANCE,
70
- timelock: CREATE2_TIMELOCK,
71
- kernel: CREATE2_KERNEL,
72
- mandateFactory: CREATE2_MANDATE_FACTORY,
73
- standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
74
- safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
75
- treasury: CREATE2_TREASURY,
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
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: 50271704,
92
- deployer: CREATE2_TREASURY,
93
- governance: CREATE2_GOVERNANCE,
94
- timelock: CREATE2_TIMELOCK,
95
- kernel: CREATE2_KERNEL,
96
- mandateFactory: CREATE2_MANDATE_FACTORY,
97
- standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
98
- safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
99
- treasury: CREATE2_TREASURY,
100
- maxPermissionFeeWei: 1000000000000000n,
101
- initialBaseFee: 0n,
102
- initialComplexityRate: 0n,
103
- dispatchModel: "selective",
104
- // Templates cleared: the SAIL-406 shared + standalone templates were deployed
105
- // against the old kernel (0xD985029...) and are invalid against the new one.
106
- // Re-populate after redeploying templates against 0x02ABC1...
107
- knownTemplates: [],
108
- standaloneTemplates: {},
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
113
- // 0xf1D0F4C9893612627409948BAa9d82a01a373799 (SAIL-405 redeploy).
114
- // allowlistBootstrapped=true, zero fees, 48h timelock.
143
+ ...COMMON_DEPLOYMENT_FIELDS,
115
144
  chainId: 84532,
116
- blockNumber: 42625843,
117
- deployer: CREATE2_TREASURY,
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
- // CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
135
- // allowlistBootstrapped=true, zero fees, 48h timelock.
150
+ ...COMMON_DEPLOYMENT_FIELDS,
136
151
  chainId: 11155111,
137
- blockNumber: 11023571,
138
- deployer: CREATE2_TREASURY,
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":"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"}
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}