@dev.sail.money/sailor 0.0.2-20 → 0.0.2-22
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/examples/permissions/BoundedApproveAndCallBatch.sol +179 -0
- package/examples/permissions/BoundedBet_Limitless_Base.sol +8 -7
- package/examples/permissions/BoundedBorrow_AaveV3_Arbitrum.sol +13 -13
- package/examples/permissions/BoundedPerp_GMXv2_Arbitrum.sol +50 -39
- package/examples/permissions/BoundedStake_Venice_Base.sol +85 -0
- package/examples/permissions/BoundedSupply_AaveV3_Arbitrum.sol +84 -0
- package/examples/permissions/BoundedSwap_UniswapV3_Base.sol +11 -9
- package/examples/permissions/BoundedSwap_UniswapV4_Unichain.sol +10 -8
- package/examples/permissions/BoundedTransfer_ERC20_Ethereum.sol +6 -6
- package/examples/permissions/BoundedVault_ERC4626_Base.sol +97 -0
- package/examples/permissions/README.md +29 -2
- package/examples/permissions/interfaces/IBatchPermission.sol +38 -0
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +3288 -2394
- package/packages/cli/dist/server.cjs +110 -140
- package/packages/sdk/dist/deployments.d.ts +14 -7
- package/packages/sdk/dist/deployments.d.ts.map +1 -1
- package/packages/sdk/dist/deployments.js +132 -141
- package/packages/sdk/dist/deployments.js.map +1 -1
- package/packages/sdk/dist/index.d.ts +1 -1
- package/packages/sdk/dist/index.d.ts.map +1 -1
- package/packages/sdk/dist/index.js +1 -1
- 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 +83 -0
- package/packages/sdk/dist/safe.d.ts.map +1 -1
- package/packages/sdk/dist/safe.js +92 -1
- package/packages/sdk/dist/safe.js.map +1 -1
- package/packages/ui/dist/assets/{add-BrylwREe.js → add-C--RBwJe.js} +1 -1
- package/packages/ui/dist/assets/{all-wallets-DGR35dSU.js → all-wallets-_xwd_eso.js} +1 -1
- package/packages/ui/dist/assets/{app-store-BpM1x6bI.js → app-store-CIQsK1zU.js} +1 -1
- package/packages/ui/dist/assets/{apple-xvs7JX23.js → apple-BdlAnnmO.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-CF6xPQbH.js → arrow-bottom-B5p_6Dat.js} +1 -1
- package/packages/ui/dist/assets/{arrow-bottom-circle-r0A6jlRF.js → arrow-bottom-circle-D7c6JPTF.js} +1 -1
- package/packages/ui/dist/assets/{arrow-left-Ce6MJKC0.js → arrow-left-SA4NpEnP.js} +1 -1
- package/packages/ui/dist/assets/{arrow-right-CiCNIsI0.js → arrow-right-mOJNWujS.js} +1 -1
- package/packages/ui/dist/assets/{arrow-top-TI5RQSIc.js → arrow-top-CvPVVpHl.js} +1 -1
- package/packages/ui/dist/assets/{bank-CmrK2TRa.js → bank-B2j2rPm9.js} +1 -1
- package/packages/ui/dist/assets/{basic-BhoXad_6.js → basic-Bw6cXOlk.js} +1 -1
- package/packages/ui/dist/assets/{browser-BWCT-XSy.js → browser-CUSNF__N.js} +1 -1
- package/packages/ui/dist/assets/{card-v1fl0QNj.js → card-CpKLox49.js} +1 -1
- package/packages/ui/dist/assets/{ccip-BkGqsEgG.js → ccip-XB9iQjXB.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-CiQnNFee.js → checkmark-BRpXeSCK.js} +1 -1
- package/packages/ui/dist/assets/{checkmark-bold-B63f9SW6.js → checkmark-bold-BkPvoqxo.js} +1 -1
- package/packages/ui/dist/assets/{chevron-bottom-DpBpDiYb.js → chevron-bottom-CtK0W2av.js} +1 -1
- package/packages/ui/dist/assets/{chevron-left-o_G-ctyg.js → chevron-left-NayfPMDy.js} +1 -1
- package/packages/ui/dist/assets/{chevron-right-I9LAJ9De.js → chevron-right-BPU2hCfA.js} +1 -1
- package/packages/ui/dist/assets/{chevron-top-JRwGHMKH.js → chevron-top-CTXwC4nM.js} +1 -1
- package/packages/ui/dist/assets/{chrome-store-Cw9skzSt.js → chrome-store-eWIk0-YZ.js} +1 -1
- package/packages/ui/dist/assets/{clock-BK_Lu0EB.js → clock-VmYiq5jB.js} +1 -1
- package/packages/ui/dist/assets/{close-DWFjOyu7.js → close-NfBukMzW.js} +1 -1
- package/packages/ui/dist/assets/{coinPlaceholder-gi3wDlPb.js → coinPlaceholder-BWOeJc6j.js} +1 -1
- package/packages/ui/dist/assets/{compass-Dlpsn_k-.js → compass-oRk8W3iM.js} +1 -1
- package/packages/ui/dist/assets/{copy-BzNKdXeG.js → copy-GcYQZOsF.js} +1 -1
- package/packages/ui/dist/assets/{core-BN9UnMip.js → core-B_rvnvkC.js} +3 -3
- package/packages/ui/dist/assets/cursor-BAViuJWh.js +3 -0
- package/packages/ui/dist/assets/{cursor-transparent-B3RZ6Udt.js → cursor-transparent-CGox3wZ-.js} +1 -1
- package/packages/ui/dist/assets/{desktop-rngwE1T9.js → desktop-DU4yyiV4.js} +1 -1
- package/packages/ui/dist/assets/{disconnect-_DzDsvsZ.js → disconnect-CJm9NnxK.js} +1 -1
- package/packages/ui/dist/assets/{discord-B9qQB66m.js → discord-MxDL8Eq6.js} +1 -1
- package/packages/ui/dist/assets/{etherscan-D7hlQ8Z3.js → etherscan-CkCvlZiA.js} +1 -1
- package/packages/ui/dist/assets/{events-DrkgavVp.js → events-CkyJn32_.js} +1 -1
- package/packages/ui/dist/assets/{exclamation-triangle-iCvLVoM-.js → exclamation-triangle-hH1JdYAZ.js} +1 -1
- package/packages/ui/dist/assets/{extension-CjGcOeuB.js → extension-DTMrXG5m.js} +1 -1
- package/packages/ui/dist/assets/{external-link-DTkyjOr4.js → external-link-GSwn5MzD.js} +1 -1
- package/packages/ui/dist/assets/{facebook-DoO2uCiE.js → facebook-Vw_uyzaE.js} +1 -1
- package/packages/ui/dist/assets/{fallback-Y8-BiCNG.js → fallback-BL3U4ZRT.js} +1 -1
- package/packages/ui/dist/assets/{farcaster-Dyz6wiZi.js → farcaster-F-_di36M.js} +1 -1
- package/packages/ui/dist/assets/{filters-Bd5PxMiz.js → filters-DQzcstDl.js} +1 -1
- package/packages/ui/dist/assets/{github-CmqSJCq6.js → github-BSq3_rEd.js} +1 -1
- package/packages/ui/dist/assets/{google-i_MKKqQP.js → google-BU4QXiDS.js} +1 -1
- package/packages/ui/dist/assets/{help-circle-_ER8-V35.js → help-circle-CuF4iPyF.js} +1 -1
- package/packages/ui/dist/assets/{id-D2adRwvh.js → id-BQWlv0a_.js} +1 -1
- package/packages/ui/dist/assets/{image-q_rpi7cn.js → image-BPNySDPo.js} +1 -1
- package/packages/ui/dist/assets/{index-CzevBC-K.js → index-BMPQOOgv.js} +1 -1
- package/packages/ui/dist/assets/{index-Bdl623mb.js → index-CMyY4FOR.js} +3 -3
- package/packages/ui/dist/assets/{index-BLD08Nrb.js → index-CsbiKM3b.js} +1 -1
- package/packages/ui/dist/assets/{index-BwoSt5mL.js → index-D0SPxlSM.js} +1 -1
- package/packages/ui/dist/assets/{index-B6Wb3mjQ.js → index-D2wgBslE.js} +1 -1
- package/packages/ui/dist/assets/{index-DJQDBPts.js → index-Dc9_WV0G.js} +76 -76
- package/packages/ui/dist/assets/{index.es-D6UPoR2j.js → index.es-CvyDIsY4.js} +4 -4
- package/packages/ui/dist/assets/{info-Ck7GYYmo.js → info-D20yslek.js} +1 -1
- package/packages/ui/dist/assets/{info-circle-DtA5FQXd.js → info-circle-BEjvYTHa.js} +1 -1
- package/packages/ui/dist/assets/{lightbulb-DR3jyzkK.js → lightbulb-DfvLi5mQ.js} +1 -1
- package/packages/ui/dist/assets/{mail-BK_pW_tL.js → mail-CkgaIJAd.js} +1 -1
- package/packages/ui/dist/assets/{metamask-sdk-IZbe4GJ_.js → metamask-sdk-O-IBvvGq.js} +1 -1
- package/packages/ui/dist/assets/{mobile-CLG-4Yut.js → mobile-CGc88WfG.js} +1 -1
- package/packages/ui/dist/assets/{more-BBqkkVbe.js → more-DnX8wlTn.js} +1 -1
- package/packages/ui/dist/assets/{network-placeholder-kf7EWfmj.js → network-placeholder-DDrgA4a3.js} +1 -1
- package/packages/ui/dist/assets/{nftPlaceholder-BEFwtFPl.js → nftPlaceholder-DhHWPuD3.js} +1 -1
- package/packages/ui/dist/assets/{off-DKjJt-l0.js → off-D1CsYvPQ.js} +1 -1
- package/packages/ui/dist/assets/{parseSignature-KWl5TpQf.js → parseSignature-BlZUbtEc.js} +1 -1
- package/packages/ui/dist/assets/{play-store-DBVkWbwG.js → play-store-Dbkk8PTZ.js} +1 -1
- package/packages/ui/dist/assets/{plus-BQzagKUL.js → plus-B8jXpls3.js} +1 -1
- package/packages/ui/dist/assets/{qr-code-DVwEgFEM.js → qr-code-CDuJ3ftj.js} +1 -1
- package/packages/ui/dist/assets/{recycle-horizontal-D2E6B1Kh.js → recycle-horizontal-ZFGjaHsZ.js} +1 -1
- package/packages/ui/dist/assets/{refresh-CUavEsqn.js → refresh-D0rMEDtF.js} +1 -1
- package/packages/ui/dist/assets/{reown-logo-mAAAaf4E.js → reown-logo-NlCNVmgd.js} +1 -1
- package/packages/ui/dist/assets/{search-BAnb6iT_.js → search-CrJAA2qW.js} +1 -1
- package/packages/ui/dist/assets/{secp256k1-CBUZgsE-.js → secp256k1-mJj6W2AI.js} +1 -1
- package/packages/ui/dist/assets/{send-BYjfitxS.js → send-C7CoRziM.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontal-C-4qjxwd.js → swapHorizontal-fD3wbCGJ.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalBold-zA-cWlfT.js → swapHorizontalBold-Cc-jQ6as.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalMedium-gIIVXh3I.js → swapHorizontalMedium-DlJW6uX1.js} +1 -1
- package/packages/ui/dist/assets/{swapHorizontalRoundedBold-CwtQpc9E.js → swapHorizontalRoundedBold-1VHOerLO.js} +1 -1
- package/packages/ui/dist/assets/{swapVertical-wrdYsAkk.js → swapVertical-CKaRlkZK.js} +1 -1
- package/packages/ui/dist/assets/{telegram-3aqbBSMX.js → telegram-DnCYed4D.js} +1 -1
- package/packages/ui/dist/assets/{three-dots-BNRpZX3L.js → three-dots-BFluoxma.js} +1 -1
- package/packages/ui/dist/assets/{twitch-Bya9c1W1.js → twitch-BXGv98S9.js} +1 -1
- package/packages/ui/dist/assets/{twitterIcon-1thOj_Z5.js → twitterIcon-C6IdXEe5.js} +1 -1
- package/packages/ui/dist/assets/{verify-D8ggGSfI.js → verify-D_QGyiLQ.js} +1 -1
- package/packages/ui/dist/assets/{verify-filled-CeZM7920.js → verify-filled-DIW8QKL9.js} +1 -1
- package/packages/ui/dist/assets/{w3m-modal-CUwD6iiA.js → w3m-modal-Do9U160p.js} +1 -1
- package/packages/ui/dist/assets/{wallet-Baz0DeMJ.js → wallet-CcARZnOx.js} +1 -1
- package/packages/ui/dist/assets/{wallet-placeholder-3yAnyuC4.js → wallet-placeholder-X1coFzQa.js} +1 -1
- package/packages/ui/dist/assets/{walletconnect-CfkgbqAq.js → walletconnect-Glte9ia7.js} +1 -1
- package/packages/ui/dist/assets/{warning-circle-BfOqu3HN.js → warning-circle-j-3V4KTo.js} +1 -1
- package/packages/ui/dist/assets/{x-CxAcJv-O.js → x-Bcc52c_T.js} +1 -1
- package/packages/ui/dist/index.html +1 -1
- package/templates/default/AGENTS.md +20 -1
- package/packages/ui/dist/assets/cursor-BWdjWDLC.js +0 -3
|
@@ -40463,178 +40463,148 @@ var REGISTER_PERMISSION_TYPEHASHES = {
|
|
|
40463
40463
|
};
|
|
40464
40464
|
|
|
40465
40465
|
// ../sdk/dist/deployments.js
|
|
40466
|
+
var CREATE2_KERNEL = "0x02ABC18B65A328de2e749F56ba79ACF2718a6659";
|
|
40467
|
+
var CREATE2_GOVERNANCE = "0x7A478118715791728BDE3bc7A4D7ECfdEB89C6EC";
|
|
40468
|
+
var CREATE2_TIMELOCK = "0xE48Ba8DB6d748adafD13155c3590f62e58a77f56";
|
|
40469
|
+
var CREATE2_SAFE_MODULE_ENABLER = "0x7897Cb53a4be4a2eaAf46D60573C4Fd83b33fE1F";
|
|
40470
|
+
var CREATE2_MANDATE_FACTORY = "0x14EDd6c2a56EfC0d71E215ab13094B9AF90543d2";
|
|
40471
|
+
var CREATE2_STANDARD_FEE_POLICY = "0xe7B5901b839cFFDEd9D4108A22712C8BfdA1D80D";
|
|
40472
|
+
var CREATE2_TREASURY = "0xB01dCE443d052e44b7D13726c0EC9fFB7f5815B6";
|
|
40466
40473
|
var sailDeployments = {
|
|
40467
|
-
|
|
40468
|
-
|
|
40469
|
-
//
|
|
40470
|
-
//
|
|
40471
|
-
|
|
40472
|
-
|
|
40473
|
-
|
|
40474
|
-
|
|
40475
|
-
|
|
40476
|
-
|
|
40477
|
-
|
|
40478
|
-
|
|
40479
|
-
|
|
40480
|
-
|
|
40481
|
-
kernel: "0xf1D0F4C9893612627409948BAa9d82a01a373799",
|
|
40482
|
-
permissionFactory: "0xdfF6a2272F667cDf78Af4681b9c88A219998db95",
|
|
40483
|
-
standardFeePolicy: "0x05570F7973b46Eb9Ed4518422891EFC26BD58b97",
|
|
40484
|
-
safeModuleEnabler: "0xB2C2B52d94412e3472C9fb2B52186eA12a935869",
|
|
40485
|
-
treasury: "0xB01dCE443d052e44b7D13726c0EC9fFB7f5815B6",
|
|
40474
|
+
// ── Ethereum mainnet ─────────────────────────────────────────────────────────
|
|
40475
|
+
1: {
|
|
40476
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
|
|
40477
|
+
// allowlistBootstrapped=true (genesis bootstrap), zero fees, 48h timelock.
|
|
40478
|
+
chainId: 1,
|
|
40479
|
+
blockNumber: 25280925,
|
|
40480
|
+
deployer: CREATE2_TREASURY,
|
|
40481
|
+
governance: CREATE2_GOVERNANCE,
|
|
40482
|
+
timelock: CREATE2_TIMELOCK,
|
|
40483
|
+
kernel: CREATE2_KERNEL,
|
|
40484
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40485
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40486
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40487
|
+
treasury: CREATE2_TREASURY,
|
|
40486
40488
|
maxPermissionFeeWei: 1000000000000000n,
|
|
40487
40489
|
initialBaseFee: 0n,
|
|
40488
40490
|
initialComplexityRate: 0n,
|
|
40489
40491
|
dispatchModel: "selective",
|
|
40490
|
-
// selective: verified on-chain DISPATCH_TYPEHASH 0xbe50c5391dcf9e08d11d2c30dbee822c14ad07af2ceb503c778d265801fb0e5c
|
|
40491
40492
|
knownTemplates: [],
|
|
40492
40493
|
standaloneTemplates: {}
|
|
40493
40494
|
},
|
|
40495
|
+
// ── Base mainnet ─────────────────────────────────────────────────────────────
|
|
40494
40496
|
8453: {
|
|
40495
|
-
//
|
|
40496
|
-
//
|
|
40497
|
-
//
|
|
40498
|
-
// local CREATE2 proxy prediction carried over; allowlistBootstrapped=true,
|
|
40499
|
-
// zero fees, onboarding live. Supersedes 0x20eff0DbE752e22655A6dAA5A94521FA06CDdE06.
|
|
40500
|
-
// Only `core` was redeployed; shared/standalone permission templates are NOT yet
|
|
40501
|
-
// deployed against this kernel (run the templates targets + refill the maps first).
|
|
40497
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
|
|
40498
|
+
// 0x6319d3dfDDe3804ba93D65752b00c52bFb05a1ab (SAIL-405 redeploy).
|
|
40499
|
+
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
40502
40500
|
chainId: 8453,
|
|
40503
|
-
blockNumber:
|
|
40504
|
-
deployer:
|
|
40505
|
-
governance:
|
|
40506
|
-
timelock:
|
|
40507
|
-
kernel:
|
|
40508
|
-
|
|
40509
|
-
standardFeePolicy:
|
|
40510
|
-
safeModuleEnabler:
|
|
40511
|
-
treasury:
|
|
40501
|
+
blockNumber: 47115338,
|
|
40502
|
+
deployer: CREATE2_TREASURY,
|
|
40503
|
+
governance: CREATE2_GOVERNANCE,
|
|
40504
|
+
timelock: CREATE2_TIMELOCK,
|
|
40505
|
+
kernel: CREATE2_KERNEL,
|
|
40506
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40507
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40508
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40509
|
+
treasury: CREATE2_TREASURY,
|
|
40512
40510
|
maxPermissionFeeWei: 1000000000000000n,
|
|
40513
40511
|
initialBaseFee: 0n,
|
|
40514
40512
|
initialComplexityRate: 0n,
|
|
40515
40513
|
dispatchModel: "selective",
|
|
40516
|
-
// selective: verified on-chain DISPATCH_TYPEHASH 0xbe50c5391dcf9e08d11d2c30dbee822c14ad07af2ceb503c778d265801fb0e5c
|
|
40517
40514
|
knownTemplates: [],
|
|
40518
40515
|
standaloneTemplates: {}
|
|
40519
40516
|
},
|
|
40517
|
+
// ── Arbitrum mainnet ─────────────────────────────────────────────────────────
|
|
40520
40518
|
42161: {
|
|
40521
|
-
//
|
|
40522
|
-
//
|
|
40523
|
-
//
|
|
40524
|
-
// local CREATE2 proxy prediction carried over; allowlistBootstrapped=true,
|
|
40525
|
-
// zero fees, onboarding live. Supersedes 0x9AF32E0C395fb31f5cA28994351F8fAE3003e125.
|
|
40526
|
-
// Bootstrap was sent as a standalone tx post-core-deploy; identical end state to Base.
|
|
40527
|
-
// Only `core` was redeployed; shared/standalone permission templates are NOT yet
|
|
40528
|
-
// deployed against this kernel (run the templates targets + refill the maps first).
|
|
40519
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
|
|
40520
|
+
// 0x2716B12832DED0EF5688519c5Fe069EFc0374E02 (SAIL-405 redeploy).
|
|
40521
|
+
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
40529
40522
|
chainId: 42161,
|
|
40530
|
-
blockNumber:
|
|
40531
|
-
deployer:
|
|
40532
|
-
governance:
|
|
40533
|
-
timelock:
|
|
40534
|
-
kernel:
|
|
40535
|
-
|
|
40536
|
-
standardFeePolicy:
|
|
40537
|
-
safeModuleEnabler:
|
|
40538
|
-
treasury:
|
|
40523
|
+
blockNumber: 471736462,
|
|
40524
|
+
deployer: CREATE2_TREASURY,
|
|
40525
|
+
governance: CREATE2_GOVERNANCE,
|
|
40526
|
+
timelock: CREATE2_TIMELOCK,
|
|
40527
|
+
kernel: CREATE2_KERNEL,
|
|
40528
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40529
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40530
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40531
|
+
treasury: CREATE2_TREASURY,
|
|
40539
40532
|
maxPermissionFeeWei: 1000000000000000n,
|
|
40540
40533
|
initialBaseFee: 0n,
|
|
40541
40534
|
initialComplexityRate: 0n,
|
|
40542
40535
|
dispatchModel: "selective",
|
|
40543
|
-
// selective: verified on-chain DISPATCH_TYPEHASH 0xbe50c5391dcf9e08d11d2c30dbee822c14ad07af2ceb503c778d265801fb0e5c
|
|
40544
40536
|
knownTemplates: [],
|
|
40545
40537
|
standaloneTemplates: {}
|
|
40546
40538
|
},
|
|
40539
|
+
// ── Unichain mainnet ─────────────────────────────────────────────────────────
|
|
40547
40540
|
130: {
|
|
40548
|
-
//
|
|
40549
|
-
//
|
|
40550
|
-
//
|
|
40551
|
-
//
|
|
40552
|
-
//
|
|
40553
|
-
// 0xd7d408eb…fb4c), zero fees, onboarding live without the 48h timelock.
|
|
40554
|
-
// First chain to ship permission templates against the kernel.
|
|
40541
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
|
|
40542
|
+
// 0xD985029960a9B7C2E7E38e102C448b8b8539B156 (SAIL-406 deploy).
|
|
40543
|
+
// NOTE: knownTemplates and standaloneTemplates from SAIL-406 were deployed
|
|
40544
|
+
// against the old kernel 0xD985029... and are now invalid. They must be
|
|
40545
|
+
// redeployed against the new kernel 0x02ABC1... and re-populated here.
|
|
40555
40546
|
chainId: 130,
|
|
40556
|
-
blockNumber:
|
|
40557
|
-
deployer:
|
|
40558
|
-
governance:
|
|
40559
|
-
timelock:
|
|
40560
|
-
kernel:
|
|
40561
|
-
|
|
40562
|
-
standardFeePolicy:
|
|
40563
|
-
safeModuleEnabler:
|
|
40564
|
-
treasury:
|
|
40547
|
+
blockNumber: 50271704,
|
|
40548
|
+
deployer: CREATE2_TREASURY,
|
|
40549
|
+
governance: CREATE2_GOVERNANCE,
|
|
40550
|
+
timelock: CREATE2_TIMELOCK,
|
|
40551
|
+
kernel: CREATE2_KERNEL,
|
|
40552
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40553
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40554
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40555
|
+
treasury: CREATE2_TREASURY,
|
|
40565
40556
|
maxPermissionFeeWei: 1000000000000000n,
|
|
40566
40557
|
initialBaseFee: 0n,
|
|
40567
40558
|
initialComplexityRate: 0n,
|
|
40568
40559
|
dispatchModel: "selective",
|
|
40569
|
-
//
|
|
40570
|
-
|
|
40571
|
-
|
|
40572
|
-
|
|
40573
|
-
|
|
40574
|
-
|
|
40575
|
-
|
|
40576
|
-
|
|
40577
|
-
|
|
40578
|
-
|
|
40579
|
-
|
|
40580
|
-
|
|
40581
|
-
|
|
40582
|
-
|
|
40583
|
-
|
|
40584
|
-
|
|
40585
|
-
|
|
40586
|
-
|
|
40587
|
-
|
|
40588
|
-
|
|
40589
|
-
|
|
40590
|
-
|
|
40591
|
-
|
|
40592
|
-
|
|
40593
|
-
|
|
40594
|
-
|
|
40595
|
-
|
|
40596
|
-
|
|
40597
|
-
|
|
40598
|
-
|
|
40599
|
-
|
|
40600
|
-
|
|
40601
|
-
|
|
40602
|
-
|
|
40603
|
-
|
|
40604
|
-
|
|
40605
|
-
|
|
40606
|
-
|
|
40607
|
-
|
|
40608
|
-
|
|
40609
|
-
|
|
40610
|
-
|
|
40611
|
-
|
|
40612
|
-
|
|
40613
|
-
|
|
40614
|
-
|
|
40615
|
-
|
|
40616
|
-
|
|
40617
|
-
label: "Shared Transfer Target",
|
|
40618
|
-
description: "Allows transfers only to a pre-approved target address."
|
|
40619
|
-
}
|
|
40620
|
-
],
|
|
40621
|
-
standaloneTemplates: {
|
|
40622
|
-
// EIP-1167 clone LOGIC addresses — the `impl` argument to
|
|
40623
|
-
// PermissionFactory.deployAndAttach(account, impl, salt, initData). A clone
|
|
40624
|
-
// is created and configured per account via its initialize(...).
|
|
40625
|
-
azuroPrediction: "0xd48cdBB25bF0A214dEffECac3c9431650834b046",
|
|
40626
|
-
boundedApprove: "0xbF7089A905081054c9dA628707f2e1EF70A7F300",
|
|
40627
|
-
boundedBorrow: "0x17D466309C7E0237960f68126Cc4A109D194ac28",
|
|
40628
|
-
boundedDeposit: "0xf49E304EDf806AF46E8f17740e56C1CBFad5d264",
|
|
40629
|
-
boundedLiFi: "0x6a0171013FeD6B2Eda16A4dd4DB33Fa34b7F3e3f",
|
|
40630
|
-
boundedSwap: "0x06696F9dd4bD0994f55b075600627Dc6E54635c9",
|
|
40631
|
-
boundedWithdraw: "0xE207CfC8c2204b15ee5fD22B79472929706c7E4b",
|
|
40632
|
-
gmxPerp: "0xB1bb967aC11D61C0599c8458D9B950461db5D4E9",
|
|
40633
|
-
gainsNetworkPerp: "0x1297673f71A9be02bc876Dbd0ceaB3c96D268bE3",
|
|
40634
|
-
limitlessPrediction: "0x2bE4280d8816626e1dea4E94A83d9334A971AF90",
|
|
40635
|
-
synthetixPerp: "0x711a70B16D013a9B96Bd6733F4b3097e5787f860",
|
|
40636
|
-
transferTarget: "0x8428155b6b9eea4E78b9a52c2312752eD04Baf16"
|
|
40637
|
-
}
|
|
40560
|
+
// Templates cleared: the SAIL-406 shared + standalone templates were deployed
|
|
40561
|
+
// against the old kernel (0xD985029...) and are invalid against the new one.
|
|
40562
|
+
// Re-populate after redeploying templates against 0x02ABC1...
|
|
40563
|
+
knownTemplates: [],
|
|
40564
|
+
standaloneTemplates: {}
|
|
40565
|
+
},
|
|
40566
|
+
// ── Base Sepolia (testnet) ───────────────────────────────────────────────────
|
|
40567
|
+
84532: {
|
|
40568
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33). Supersedes
|
|
40569
|
+
// 0xf1D0F4C9893612627409948BAa9d82a01a373799 (SAIL-405 redeploy).
|
|
40570
|
+
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
40571
|
+
chainId: 84532,
|
|
40572
|
+
blockNumber: 42625843,
|
|
40573
|
+
deployer: CREATE2_TREASURY,
|
|
40574
|
+
governance: CREATE2_GOVERNANCE,
|
|
40575
|
+
timelock: CREATE2_TIMELOCK,
|
|
40576
|
+
kernel: CREATE2_KERNEL,
|
|
40577
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40578
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40579
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40580
|
+
treasury: CREATE2_TREASURY,
|
|
40581
|
+
maxPermissionFeeWei: 1000000000000000n,
|
|
40582
|
+
initialBaseFee: 0n,
|
|
40583
|
+
initialComplexityRate: 0n,
|
|
40584
|
+
dispatchModel: "selective",
|
|
40585
|
+
knownTemplates: [],
|
|
40586
|
+
standaloneTemplates: {}
|
|
40587
|
+
},
|
|
40588
|
+
// ── Eth Sepolia (testnet) ────────────────────────────────────────────────────
|
|
40589
|
+
11155111: {
|
|
40590
|
+
// CREATE2 deterministic deploy (2026-06-09, gitCommit 1199b33).
|
|
40591
|
+
// allowlistBootstrapped=true, zero fees, 48h timelock.
|
|
40592
|
+
chainId: 11155111,
|
|
40593
|
+
blockNumber: 11023571,
|
|
40594
|
+
deployer: CREATE2_TREASURY,
|
|
40595
|
+
governance: CREATE2_GOVERNANCE,
|
|
40596
|
+
timelock: CREATE2_TIMELOCK,
|
|
40597
|
+
kernel: CREATE2_KERNEL,
|
|
40598
|
+
mandateFactory: CREATE2_MANDATE_FACTORY,
|
|
40599
|
+
standardFeePolicy: CREATE2_STANDARD_FEE_POLICY,
|
|
40600
|
+
safeModuleEnabler: CREATE2_SAFE_MODULE_ENABLER,
|
|
40601
|
+
treasury: CREATE2_TREASURY,
|
|
40602
|
+
maxPermissionFeeWei: 1000000000000000n,
|
|
40603
|
+
initialBaseFee: 0n,
|
|
40604
|
+
initialComplexityRate: 0n,
|
|
40605
|
+
dispatchModel: "selective",
|
|
40606
|
+
knownTemplates: [],
|
|
40607
|
+
standaloneTemplates: {}
|
|
40638
40608
|
}
|
|
40639
40609
|
};
|
|
40640
40610
|
function getSailDeployment(chainId) {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { DispatchModel } from "./capabilities.js";
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Chains with a bundled Sail Protocol deployment.
|
|
5
|
+
* Mainnets: Ethereum (1), Base (8453), Arbitrum (42161), Unichain (130).
|
|
6
|
+
* Testnets: Base Sepolia (84532), Eth Sepolia (11155111).
|
|
7
|
+
*
|
|
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.
|
|
10
|
+
*/
|
|
11
|
+
export type SailChainId = 1 | 8453 | 42161 | 130 | 84532 | 11155111;
|
|
5
12
|
/** A pre-audited mandate template available on a chain. */
|
|
6
13
|
export type KnownTemplate = {
|
|
7
14
|
kind: string;
|
|
@@ -21,7 +28,7 @@ export type CloneTemplateParam = {
|
|
|
21
28
|
* Rich, self-describing metadata for an EIP-1167 clone permission template — the
|
|
22
29
|
* wizard-/tooling-facing companion to the bare `standaloneTemplates` address map.
|
|
23
30
|
* `address` mirrors `standaloneTemplates[key]` (the clone LOGIC). A clone is created
|
|
24
|
-
* per account via `
|
|
31
|
+
* per account via `MandateFactory.deployAndAttach(account, address, salt,
|
|
25
32
|
* initData)`, where `initData` ABI-encodes a call to `initialize(initParams…)`.
|
|
26
33
|
*/
|
|
27
34
|
export type CloneTemplateInfo = {
|
|
@@ -46,7 +53,7 @@ export type SailDeployment = {
|
|
|
46
53
|
governance: Address;
|
|
47
54
|
timelock: Address;
|
|
48
55
|
kernel: Address;
|
|
49
|
-
|
|
56
|
+
mandateFactory: Address;
|
|
50
57
|
standardFeePolicy: Address;
|
|
51
58
|
safeModuleEnabler: Address;
|
|
52
59
|
treasury: Address;
|
|
@@ -57,15 +64,15 @@ export type SailDeployment = {
|
|
|
57
64
|
* Dispatch model this kernel implements, as a static hint. Verified on-chain
|
|
58
65
|
* against each kernel's DISPATCH_TYPEHASH. The SDK still prefers live detection
|
|
59
66
|
* (detectKernelCapabilities) and uses this only as a fallback when the on-chain
|
|
60
|
-
* read is unavailable. All
|
|
61
|
-
*
|
|
67
|
+
* read is unavailable. All deployed chains run the "selective" model, verified
|
|
68
|
+
* on-chain against each kernel's DISPATCH_TYPEHASH.
|
|
62
69
|
*/
|
|
63
70
|
dispatchModel?: DispatchModel;
|
|
64
71
|
/** Pre-audited shared mandate templates available on this chain. */
|
|
65
72
|
knownTemplates?: KnownTemplate[];
|
|
66
73
|
/**
|
|
67
74
|
* Standalone (EIP-1167 clone) permission template LOGIC addresses, keyed by a
|
|
68
|
-
* short name. These are the `impl` argument to
|
|
75
|
+
* short name. These are the `impl` argument to MandateFactory.deployAndAttach.
|
|
69
76
|
*/
|
|
70
77
|
standaloneTemplates?: Record<string, Address>;
|
|
71
78
|
/**
|
|
@@ -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
|
|
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"}
|