@dev.sail.money/sailor 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +111 -0
- package/LICENSE +21 -0
- package/README.md +337 -0
- package/docs/PERMISSION_MODEL.md +93 -0
- package/examples/permissions/BoundedBet_Limitless_Base.sol +96 -0
- package/examples/permissions/BoundedBorrow_AaveV3_Arbitrum.sol +94 -0
- package/examples/permissions/BoundedPerp_GMXv2_Arbitrum.sol +143 -0
- package/examples/permissions/BoundedSwap_UniswapV3_Base.sol +113 -0
- package/examples/permissions/BoundedSwap_UniswapV4_Unichain.sol +144 -0
- package/examples/permissions/BoundedTransfer_ERC20_Ethereum.sol +73 -0
- package/examples/permissions/README.md +52 -0
- package/examples/permissions/foundry.toml +10 -0
- package/examples/permissions/interfaces/IPermission.sol +18 -0
- package/package.json +39 -0
- package/packages/cli/README.md +34 -0
- package/packages/cli/dist/index.cjs +42801 -0
- package/packages/cli/dist/server.cjs +51202 -0
- package/packages/sdk/README.md +65 -0
- package/packages/sdk/dist/abis/MandateFactory.d.ts +140 -0
- package/packages/sdk/dist/abis/MandateFactory.d.ts.map +1 -0
- package/packages/sdk/dist/abis/MandateFactory.js +93 -0
- package/packages/sdk/dist/abis/MandateFactory.js.map +1 -0
- package/packages/sdk/dist/abis/SailGovernance.d.ts +57 -0
- package/packages/sdk/dist/abis/SailGovernance.d.ts.map +1 -0
- package/packages/sdk/dist/abis/SailGovernance.js +52 -0
- package/packages/sdk/dist/abis/SailGovernance.js.map +1 -0
- package/packages/sdk/dist/abis/SailKernel.d.ts +466 -0
- package/packages/sdk/dist/abis/SailKernel.d.ts.map +1 -0
- package/packages/sdk/dist/abis/SailKernel.js +311 -0
- package/packages/sdk/dist/abis/SailKernel.js.map +1 -0
- package/packages/sdk/dist/abis/index.d.ts +4 -0
- package/packages/sdk/dist/abis/index.d.ts.map +1 -0
- package/packages/sdk/dist/abis/index.js +7 -0
- package/packages/sdk/dist/abis/index.js.map +1 -0
- package/packages/sdk/dist/capabilities.d.ts +77 -0
- package/packages/sdk/dist/capabilities.d.ts.map +1 -0
- package/packages/sdk/dist/capabilities.js +158 -0
- package/packages/sdk/dist/capabilities.js.map +1 -0
- package/packages/sdk/dist/client.d.ts +37 -0
- package/packages/sdk/dist/client.d.ts.map +1 -0
- package/packages/sdk/dist/client.js +646 -0
- package/packages/sdk/dist/client.js.map +1 -0
- package/packages/sdk/dist/deployments.d.ts +82 -0
- package/packages/sdk/dist/deployments.d.ts.map +1 -0
- package/packages/sdk/dist/deployments.js +197 -0
- package/packages/sdk/dist/deployments.js.map +1 -0
- package/packages/sdk/dist/discovery.d.ts +10 -0
- package/packages/sdk/dist/discovery.d.ts.map +1 -0
- package/packages/sdk/dist/discovery.js +41 -0
- package/packages/sdk/dist/discovery.js.map +1 -0
- package/packages/sdk/dist/eip712.d.ts +257 -0
- package/packages/sdk/dist/eip712.d.ts.map +1 -0
- package/packages/sdk/dist/eip712.js +255 -0
- package/packages/sdk/dist/eip712.js.map +1 -0
- package/packages/sdk/dist/errors.d.ts +47 -0
- package/packages/sdk/dist/errors.d.ts.map +1 -0
- package/packages/sdk/dist/errors.js +168 -0
- package/packages/sdk/dist/errors.js.map +1 -0
- package/packages/sdk/dist/fees.d.ts +16 -0
- package/packages/sdk/dist/fees.d.ts.map +1 -0
- package/packages/sdk/dist/fees.js +51 -0
- package/packages/sdk/dist/fees.js.map +1 -0
- package/packages/sdk/dist/index.d.ts +23 -0
- package/packages/sdk/dist/index.d.ts.map +1 -0
- package/packages/sdk/dist/index.js +16 -0
- package/packages/sdk/dist/index.js.map +1 -0
- package/packages/sdk/dist/intelligence.d.ts +923 -0
- package/packages/sdk/dist/intelligence.d.ts.map +1 -0
- package/packages/sdk/dist/intelligence.js +357 -0
- package/packages/sdk/dist/intelligence.js.map +1 -0
- package/packages/sdk/dist/keyring.d.ts +60 -0
- package/packages/sdk/dist/keyring.d.ts.map +1 -0
- package/packages/sdk/dist/keyring.js +159 -0
- package/packages/sdk/dist/keyring.js.map +1 -0
- package/packages/sdk/dist/lifi.d.ts +83 -0
- package/packages/sdk/dist/lifi.d.ts.map +1 -0
- package/packages/sdk/dist/lifi.js +69 -0
- package/packages/sdk/dist/lifi.js.map +1 -0
- package/packages/sdk/dist/safe.d.ts +158 -0
- package/packages/sdk/dist/safe.d.ts.map +1 -0
- package/packages/sdk/dist/safe.js +163 -0
- package/packages/sdk/dist/safe.js.map +1 -0
- package/packages/sdk/dist/signing.d.ts +106 -0
- package/packages/sdk/dist/signing.d.ts.map +1 -0
- package/packages/sdk/dist/signing.js +2 -0
- package/packages/sdk/dist/signing.js.map +1 -0
- package/packages/sdk/dist/templates/ammLiquidity.d.ts +16 -0
- package/packages/sdk/dist/templates/ammLiquidity.d.ts.map +1 -0
- package/packages/sdk/dist/templates/ammLiquidity.js +60 -0
- package/packages/sdk/dist/templates/ammLiquidity.js.map +1 -0
- package/packages/sdk/dist/templates/approveAndCallBatch.d.ts +14 -0
- package/packages/sdk/dist/templates/approveAndCallBatch.d.ts.map +1 -0
- package/packages/sdk/dist/templates/approveAndCallBatch.js +53 -0
- package/packages/sdk/dist/templates/approveAndCallBatch.js.map +1 -0
- package/packages/sdk/dist/templates/boundedBorrow.d.ts +16 -0
- package/packages/sdk/dist/templates/boundedBorrow.d.ts.map +1 -0
- package/packages/sdk/dist/templates/boundedBorrow.js +56 -0
- package/packages/sdk/dist/templates/boundedBorrow.js.map +1 -0
- package/packages/sdk/dist/templates/boundedSwap.d.ts +16 -0
- package/packages/sdk/dist/templates/boundedSwap.d.ts.map +1 -0
- package/packages/sdk/dist/templates/boundedSwap.js +56 -0
- package/packages/sdk/dist/templates/boundedSwap.js.map +1 -0
- package/packages/sdk/dist/templates/defiBundle.d.ts +14 -0
- package/packages/sdk/dist/templates/defiBundle.d.ts.map +1 -0
- package/packages/sdk/dist/templates/defiBundle.js +52 -0
- package/packages/sdk/dist/templates/defiBundle.js.map +1 -0
- package/packages/sdk/dist/templates/index.d.ts +15 -0
- package/packages/sdk/dist/templates/index.d.ts.map +1 -0
- package/packages/sdk/dist/templates/index.js +8 -0
- package/packages/sdk/dist/templates/index.js.map +1 -0
- package/packages/sdk/dist/templates/pendle.d.ts +14 -0
- package/packages/sdk/dist/templates/pendle.d.ts.map +1 -0
- package/packages/sdk/dist/templates/pendle.js +52 -0
- package/packages/sdk/dist/templates/pendle.js.map +1 -0
- package/packages/sdk/dist/templates/transferTarget.d.ts +10 -0
- package/packages/sdk/dist/templates/transferTarget.d.ts.map +1 -0
- package/packages/sdk/dist/templates/transferTarget.js +42 -0
- package/packages/sdk/dist/templates/transferTarget.js.map +1 -0
- package/packages/sdk/dist/types.d.ts +382 -0
- package/packages/sdk/dist/types.d.ts.map +1 -0
- package/packages/sdk/dist/types.js +2 -0
- package/packages/sdk/dist/types.js.map +1 -0
- package/packages/sdk/package.json +52 -0
- package/packages/ui/dist/assets/Arc-VDBY7LNS-BChRXCXW.js +1 -0
- package/packages/ui/dist/assets/Brave-BRAKJXDS-mq-Xo37j.js +1 -0
- package/packages/ui/dist/assets/Browser-76IHF3Y2-BMhRaC5Z.js +1 -0
- package/packages/ui/dist/assets/Chrome-65Q5P54Y-DR9MQEVr.js +1 -0
- package/packages/ui/dist/assets/Edge-XSPUTORV-DEoZslQE.js +1 -0
- package/packages/ui/dist/assets/Firefox-AAHGJQIP-Bp_Hm04m.js +1 -0
- package/packages/ui/dist/assets/Linux-OO4TNCLJ-B0aw93n9.js +1 -0
- package/packages/ui/dist/assets/Macos-MW4AE7LN-Vvm8Drw3.js +1 -0
- package/packages/ui/dist/assets/Opera-KQZLSACL-Cwv5MDFy.js +1 -0
- package/packages/ui/dist/assets/Safari-ZPL37GXR-C4Ggg6rz.js +1 -0
- package/packages/ui/dist/assets/Windows-PPTHQER6-BlyV2p7Y.js +1 -0
- package/packages/ui/dist/assets/add-DaJhwIBV.js +15 -0
- package/packages/ui/dist/assets/all-wallets-BUxsqWXi.js +6 -0
- package/packages/ui/dist/assets/apechain-SX5YFU6N-q5qBv-mp.js +1 -0
- package/packages/ui/dist/assets/app-store-DkltwTqE.js +17 -0
- package/packages/ui/dist/assets/apple-owVOeaIT.js +18 -0
- package/packages/ui/dist/assets/ar_AR-LIPSOZP5-BQrIDibT.js +1519 -0
- package/packages/ui/dist/assets/arbitrum-WURIBY6W-CqVkHBr5.js +1 -0
- package/packages/ui/dist/assets/arrow-bottom-D2mmNJve.js +8 -0
- package/packages/ui/dist/assets/arrow-bottom-circle-CbNYijx-.js +11 -0
- package/packages/ui/dist/assets/arrow-left-DJB61s4C.js +8 -0
- package/packages/ui/dist/assets/arrow-right-BBrsQ9R4.js +8 -0
- package/packages/ui/dist/assets/arrow-top-Cil6bOc8.js +8 -0
- package/packages/ui/dist/assets/assets-Q6ZU7ZJ5-P8HioiAD.js +1 -0
- package/packages/ui/dist/assets/avalanche-KOMJD3XY-Dsn_JPR4.js +1 -0
- package/packages/ui/dist/assets/bank-CbwEmRo3.js +14 -0
- package/packages/ui/dist/assets/base-OAXLRA4F-CoYTVIiL.js +1 -0
- package/packages/ui/dist/assets/base-QS6CYWIN-CsjdbWCf.js +1 -0
- package/packages/ui/dist/assets/basic-CLNfjw3m.js +2128 -0
- package/packages/ui/dist/assets/berachain-NJECWIVC-DumxnFvf.js +1 -0
- package/packages/ui/dist/assets/blast-V555OVXZ-BbhJh1tj.js +1 -0
- package/packages/ui/dist/assets/browser-B5TtF4Pb.js +14 -0
- package/packages/ui/dist/assets/bsc-N647EYR2-B2nLKXWV.js +1 -0
- package/packages/ui/dist/assets/card-CO7BVB-C.js +14 -0
- package/packages/ui/dist/assets/ccip-2W7K3_J3.js +1 -0
- package/packages/ui/dist/assets/celo-GEP4TUHG-CenIBYLU.js +1 -0
- package/packages/ui/dist/assets/checkmark-BEtSHq9m.js +11 -0
- package/packages/ui/dist/assets/checkmark-bold-D9xGHzPE.js +8 -0
- package/packages/ui/dist/assets/chevron-bottom-BDztht6i.js +8 -0
- package/packages/ui/dist/assets/chevron-left-EV4GFNbc.js +8 -0
- package/packages/ui/dist/assets/chevron-right-B4_bB9oR.js +8 -0
- package/packages/ui/dist/assets/chevron-top-D54xPNzF.js +8 -0
- package/packages/ui/dist/assets/chrome-store-DYUpAJJq.js +61 -0
- package/packages/ui/dist/assets/clock-Ca1T1Soz.js +8 -0
- package/packages/ui/dist/assets/close-BZqWjurK.js +8 -0
- package/packages/ui/dist/assets/coinPlaceholder-e6fl2XDo.js +8 -0
- package/packages/ui/dist/assets/compass-DCLC7zIh.js +8 -0
- package/packages/ui/dist/assets/connect-UA7M4XW6-IY3X6Bmr.js +1 -0
- package/packages/ui/dist/assets/copy-Th2AaD-O.js +15 -0
- package/packages/ui/dist/assets/core-Ckx_cyuH.js +907 -0
- package/packages/ui/dist/assets/create-FASO7PVG-D_rvSpre.js +1 -0
- package/packages/ui/dist/assets/cronos-HJPAQTAE-BEOvlOC4.js +1 -0
- package/packages/ui/dist/assets/cursor-DV7rOqbJ.js +3 -0
- package/packages/ui/dist/assets/cursor-transparent-BKHeABKB.js +12 -0
- package/packages/ui/dist/assets/de_DE-YE3KOFHU-BRt5ztUe.js +1519 -0
- package/packages/ui/dist/assets/degen-FQQ4XGHB-CeHTs88l.js +1 -0
- package/packages/ui/dist/assets/desktop-CBjY8t6F.js +9 -0
- package/packages/ui/dist/assets/disconnect-DbSs2cli.js +8 -0
- package/packages/ui/dist/assets/discord-ZlLOAUkM.js +17 -0
- package/packages/ui/dist/assets/es_419-7LMPU7G4-DH7rM0yQ.js +1519 -0
- package/packages/ui/dist/assets/ethereum-RGGVA4PY-SWGOlkuk.js +1 -0
- package/packages/ui/dist/assets/etherscan-CKUrqWYN.js +6 -0
- package/packages/ui/dist/assets/events-CiKP71cK.js +1 -0
- package/packages/ui/dist/assets/exclamation-triangle-DA1QzFiO.js +4 -0
- package/packages/ui/dist/assets/extension-BVJkmvpJ.js +8 -0
- package/packages/ui/dist/assets/external-link-D_bsR7B2.js +8 -0
- package/packages/ui/dist/assets/facebook-CmFmhojx.js +26 -0
- package/packages/ui/dist/assets/fallback-Ofl6uSnB.js +1 -0
- package/packages/ui/dist/assets/farcaster-Co-M3Ss8.js +12 -0
- package/packages/ui/dist/assets/filters-B1WwNaFU.js +8 -0
- package/packages/ui/dist/assets/flow-5FQJFCTK-CUie2reO.js +1 -0
- package/packages/ui/dist/assets/fr_FR-VBJP3ZLL-B-_ocunw.js +1519 -0
- package/packages/ui/dist/assets/github-CP4fP6gn.js +18 -0
- package/packages/ui/dist/assets/gnosis-37ZC4RBL-B137OtHZ.js +1 -0
- package/packages/ui/dist/assets/google-CsOIXJ6V.js +18 -0
- package/packages/ui/dist/assets/gravity-J5YQHTYH-Bj6B0uod.js +1 -0
- package/packages/ui/dist/assets/hardhat-TX56IT5N-CV1FY-wE.js +1 -0
- package/packages/ui/dist/assets/help-circle-DiMkomdF.js +12 -0
- package/packages/ui/dist/assets/hi_IN-WBVD5XYI-D73g2UFs.js +1519 -0
- package/packages/ui/dist/assets/hyperevm-VKPAA4SA-CHwraEsx.js +1 -0
- package/packages/ui/dist/assets/id-lmscL5LX.js +12 -0
- package/packages/ui/dist/assets/id_ID-SBYANJ7G-Cjpa4ay6.js +1519 -0
- package/packages/ui/dist/assets/image-B-ubJrY5.js +4 -0
- package/packages/ui/dist/assets/index-BaukYv-x.js +16 -0
- package/packages/ui/dist/assets/index-CF0KMmke.js +395 -0
- package/packages/ui/dist/assets/index-CKxgNxS9.css +1 -0
- package/packages/ui/dist/assets/index-CZR1Qjhs.js +1 -0
- package/packages/ui/dist/assets/index-DVgfCzCo.js +1 -0
- package/packages/ui/dist/assets/index-Dbh5V1Z0.js +1 -0
- package/packages/ui/dist/assets/index-Q2Yai4Fe.js +2103 -0
- package/packages/ui/dist/assets/index.es-C78cE5SI.js +26 -0
- package/packages/ui/dist/assets/info-Cqg57EVo.js +3 -0
- package/packages/ui/dist/assets/info-circle-DkeSWNKV.js +12 -0
- package/packages/ui/dist/assets/ink-FZMYZWHG-62p-5IK5.js +1 -0
- package/packages/ui/dist/assets/ja_JP-ZRMWJV3I-DXbifiMm.js +1519 -0
- package/packages/ui/dist/assets/kaia-65D2U3PU-JmuLQ4gC.js +1 -0
- package/packages/ui/dist/assets/ko_KR-FR54RFUG-upinSHjQ.js +1519 -0
- package/packages/ui/dist/assets/lightbulb-DNlO4qKh.js +3 -0
- package/packages/ui/dist/assets/linea-QRMVQ5DY-DuI3vv0d.js +1 -0
- package/packages/ui/dist/assets/login-UP3DZBGS-Db_wM5oQ.js +1 -0
- package/packages/ui/dist/assets/mail-kVQ8Jb9Y.js +8 -0
- package/packages/ui/dist/assets/manta-SI27YFEJ-CpVOKa06.js +1 -0
- package/packages/ui/dist/assets/mantle-CKIUT334-DR2WgqzU.js +1 -0
- package/packages/ui/dist/assets/metaMaskWallet-EI6MED72-D5HFOsnz.js +1 -0
- package/packages/ui/dist/assets/metamask-sdk-CBalSvz7.js +542 -0
- package/packages/ui/dist/assets/mobile-BEteuhF7.js +9 -0
- package/packages/ui/dist/assets/monad-4KWC6TSS-DVXSkpiz.js +1 -0
- package/packages/ui/dist/assets/more-DBWmXQli.js +11 -0
- package/packages/ui/dist/assets/ms_MY-EZSGYYYQ-4cPLK-3L.js +1519 -0
- package/packages/ui/dist/assets/native-CJ5et6AR.js +1 -0
- package/packages/ui/dist/assets/network-placeholder-Dg1uUHiL.js +14 -0
- package/packages/ui/dist/assets/nftPlaceholder-i3AHSiD9.js +8 -0
- package/packages/ui/dist/assets/off-BtMm0fi2.js +8 -0
- package/packages/ui/dist/assets/optimism-HAF2GUT7-ec6Nqxs9.js +1 -0
- package/packages/ui/dist/assets/parseSignature-Cb5FlWWg.js +1 -0
- package/packages/ui/dist/assets/play-store-iKKkXa6a.js +32 -0
- package/packages/ui/dist/assets/plus-CA5NaRtb.js +13 -0
- package/packages/ui/dist/assets/polygon-WW6ZI7PM-DXlmm4L1.js +1 -0
- package/packages/ui/dist/assets/pt_BR-JQFQ3P4L-DOHfdcA2.js +1519 -0
- package/packages/ui/dist/assets/qr-code-D2kiqR7h.js +6 -0
- package/packages/ui/dist/assets/rainbowWallet-O26YNBMX-DUhYus-9.js +1 -0
- package/packages/ui/dist/assets/recycle-horizontal-Dcme7R03.js +9 -0
- package/packages/ui/dist/assets/refresh-Dega3sDp.js +8 -0
- package/packages/ui/dist/assets/refresh-S4T5V5GX-CwqIaaxK.js +1 -0
- package/packages/ui/dist/assets/reown-logo-xNkksyWJ.js +12 -0
- package/packages/ui/dist/assets/ronin-EMCPYXZT-N-QBHZdV.js +1 -0
- package/packages/ui/dist/assets/ru_RU-Z42UEJBP-Cvb2oWxQ.js +1519 -0
- package/packages/ui/dist/assets/safeWallet-5MNKTR5Z-D-5imDLD.js +1 -0
- package/packages/ui/dist/assets/sanko-RHQYXGM5-OX010CbN.js +1 -0
- package/packages/ui/dist/assets/scan-4UYSQ56Q-CjMz6-XC.js +1 -0
- package/packages/ui/dist/assets/scroll-5OBGQVOV-DJFECiai.js +1 -0
- package/packages/ui/dist/assets/search-HYl7NO8x.js +8 -0
- package/packages/ui/dist/assets/secp256k1-Cxd6_SiH.js +1 -0
- package/packages/ui/dist/assets/send-CJU8CUAo.js +15 -0
- package/packages/ui/dist/assets/sign-A7IJEUT5-CGsRnPrd.js +1 -0
- package/packages/ui/dist/assets/superposition-HG6MMR2Y-bRkgatRO.js +1 -0
- package/packages/ui/dist/assets/swapHorizontal-IMUKiUre.js +8 -0
- package/packages/ui/dist/assets/swapHorizontalBold-CNYnNJ9-.js +8 -0
- package/packages/ui/dist/assets/swapHorizontalMedium-B9VxEYsT.js +16 -0
- package/packages/ui/dist/assets/swapHorizontalRoundedBold-Dz33l_Jh.js +8 -0
- package/packages/ui/dist/assets/swapVertical-CHUmjVJ0.js +8 -0
- package/packages/ui/dist/assets/telegram-kl9S2mbU.js +16 -0
- package/packages/ui/dist/assets/th_TH-4YB4VSB2-BUipNP-V.js +1519 -0
- package/packages/ui/dist/assets/three-dots-U5lhA1Am.js +5 -0
- package/packages/ui/dist/assets/tr_TR-5FKHPPIO-D5jTpIm9.js +1519 -0
- package/packages/ui/dist/assets/twitch-KTEUWXEp.js +18 -0
- package/packages/ui/dist/assets/twitterIcon-BHiq8mRg.js +6 -0
- package/packages/ui/dist/assets/uk_UA-ZD4IBC52-DgnQrpzl.js +1519 -0
- package/packages/ui/dist/assets/unichain-C5BWO2ZY-BfguYsnu.js +1 -0
- package/packages/ui/dist/assets/verify-CfN-BXNd.js +8 -0
- package/packages/ui/dist/assets/verify-filled-DwZccetj.js +8 -0
- package/packages/ui/dist/assets/vi_VN-5EVRZKLY-x078672g.js +1519 -0
- package/packages/ui/dist/assets/w3m-modal-CS-PFqPE.js +642 -0
- package/packages/ui/dist/assets/wallet-DVlGkhOY.js +8 -0
- package/packages/ui/dist/assets/wallet-placeholder-CvR_iEWX.js +14 -0
- package/packages/ui/dist/assets/walletConnectWallet-YHWKVTDY-D3lyiczV.js +1 -0
- package/packages/ui/dist/assets/walletconnect-8pZBDvVI.js +30 -0
- package/packages/ui/dist/assets/warning-circle-ylLEE0Yp.js +12 -0
- package/packages/ui/dist/assets/x-C_TBsTMj.js +12 -0
- package/packages/ui/dist/assets/xdc-KJ3TDBYO-DNV6zchh.js +1 -0
- package/packages/ui/dist/assets/zetachain-TLDS5IPW-Udhyw16T.js +1 -0
- package/packages/ui/dist/assets/zh_CN-4XK5YJPR-Bt6Yz5Ek.js +1519 -0
- package/packages/ui/dist/assets/zh_HK-N4YN2WSI-Cvzl1V16.js +1519 -0
- package/packages/ui/dist/assets/zh_TW-CNCRXH6Z-BNelatfN.js +1519 -0
- package/packages/ui/dist/assets/zksync-DH7HK5U4-Dt4usFw6.js +1 -0
- package/packages/ui/dist/assets/zora-FYL5H3IO-iB4wygST.js +1 -0
- package/packages/ui/dist/index.html +14 -0
- package/scripts/check-docs.mjs +262 -0
- package/scripts/check-init.mjs +109 -0
- package/scripts/postinstall.js +366 -0
- package/templates/custom-mandate/.sail/contracts/interfaces/IPermission.sol +18 -0
- package/templates/custom-mandate/README.md +85 -0
- package/templates/custom-mandate/foundry.toml +8 -0
- package/templates/custom-mandate/mandates/BoundedCallPermission.sol +35 -0
- package/templates/custom-mandate/mandates/README.md +16 -0
- package/templates/dca-rebalancer/.cursor/rules +25 -0
- package/templates/dca-rebalancer/.env.example +6 -0
- package/templates/dca-rebalancer/.github/workflows/agent-tick.yml +32 -0
- package/templates/dca-rebalancer/.sail/.gitkeep +0 -0
- package/templates/dca-rebalancer/.sail/README.md +13 -0
- package/templates/dca-rebalancer/.sail/config.json +10 -0
- package/templates/dca-rebalancer/AGENTS.md +246 -0
- package/templates/dca-rebalancer/AGENT_PLAYBOOK.md +110 -0
- package/templates/dca-rebalancer/CLAUDE.md +2 -0
- package/templates/dca-rebalancer/README.md +16 -0
- package/templates/dca-rebalancer/_gitignore +13 -0
- package/templates/dca-rebalancer/docs/PERMISSION_MODEL.md +93 -0
- package/templates/dca-rebalancer/package.json +17 -0
- package/templates/dca-rebalancer/src/agent.ts +253 -0
- package/templates/dca-rebalancer/src/config.ts +27 -0
- package/templates/dca-rebalancer/src/mandate.ts +67 -0
- package/templates/dca-rebalancer/tsconfig.json +8 -0
- package/templates/dca-rebalancer/ui/README.md +3 -0
- package/templates/lifi-permissions/LifiBoundedApprovePermissionCloneable.sol +84 -0
- package/templates/lifi-permissions/LifiDiamondSwapPermissionCloneable.sol +97 -0
- package/templates/lifi-permissions/README.md +53 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @sail.money/sdk
|
|
2
|
+
|
|
3
|
+
> **Pre-1.0 — unstable.** The Sail Protocol trusted core is under an ongoing
|
|
4
|
+
> external audit by [Octane Security](https://octane.security). The API may
|
|
5
|
+
> change between releases while the protocol is in audit. Do not use staging
|
|
6
|
+
> deployments with funds you are not prepared to lose.
|
|
7
|
+
|
|
8
|
+
TypeScript SDK for Sail Protocol — the on-chain SMA (Separately Managed
|
|
9
|
+
Account) infrastructure. Peer-depends on `viem ^2`.
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
npm install @sail.money/sdk viem
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Key exports
|
|
18
|
+
|
|
19
|
+
| Export | What it does |
|
|
20
|
+
|---|---|
|
|
21
|
+
| `SailorClient` | Full client: account, mandate, dispatch, session, fees |
|
|
22
|
+
| `buildDispatchSignature` | Self-detecting EIP-712 Dispatch signer (reads on-chain model; no footguns) |
|
|
23
|
+
| `detectKernelCapabilities` | Reads `DISPATCH_TYPEHASH` on-chain; identifies conjunctive vs selective kernel |
|
|
24
|
+
| `sailKernelDomain` | EIP-712 domain for any SailKernel |
|
|
25
|
+
| `DISPATCH_EIP712_FIELDS` | Typed struct field lists keyed by dispatch model |
|
|
26
|
+
| `LocalKeyring` | Encrypted manager key (geth keystore v3) |
|
|
27
|
+
| `sailDeployments` | Live staging addresses (Base, Base Sepolia, Arbitrum, Unichain) |
|
|
28
|
+
| `SailIntelligence` | Typed client for the Sail Intelligence API |
|
|
29
|
+
|
|
30
|
+
## Dispatch signing
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { buildDispatchSignature, LocalKeyring } from "@sail.money/sdk";
|
|
34
|
+
import { createPublicClient, http } from "viem";
|
|
35
|
+
|
|
36
|
+
const publicClient = createPublicClient({ chain: base, transport: http(rpcUrl) });
|
|
37
|
+
const manager = await LocalKeyring.load("path/to/manager.json", passphrase);
|
|
38
|
+
|
|
39
|
+
const { signature, nonce, deadline, dispatchModel } = await buildDispatchSignature({
|
|
40
|
+
publicClient,
|
|
41
|
+
kernel: "0x6319d3dfDDe3804ba93D65752b00c52bFb05a1ab", // Base
|
|
42
|
+
chainId: 8453,
|
|
43
|
+
account: mySafe,
|
|
44
|
+
permission: myPermission,
|
|
45
|
+
call: { target: router, value: 0n, data: swapCalldata },
|
|
46
|
+
manager,
|
|
47
|
+
});
|
|
48
|
+
// Submit: kernel.dispatch(account, permission, target, value, data, signature, deadline)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`buildDispatchSignature` reads the kernel's on-chain `DISPATCH_TYPEHASH` to
|
|
52
|
+
select the correct struct automatically — you cannot pass the wrong model.
|
|
53
|
+
|
|
54
|
+
## Full client
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { SailorClient } from "@sail.money/sdk";
|
|
58
|
+
|
|
59
|
+
const client = new SailorClient({ rpcUrl: "https://...", chainId: 8453 });
|
|
60
|
+
// Read-only operations (no signer required):
|
|
61
|
+
const caps = await client.capabilities();
|
|
62
|
+
// State-changing operations require a signer:
|
|
63
|
+
const exec = client.withSigner(walletClient);
|
|
64
|
+
await exec.dispatch.single(safe, permission, call, manager);
|
|
65
|
+
```
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MandateFactory ABI — the bundled (configure → register) orchestrator.
|
|
3
|
+
* Mirrors contracts/factory/MandateFactory.sol in SailProtocol.
|
|
4
|
+
*
|
|
5
|
+
* Only the functions the SDK calls are included.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MandateFactoryAbi: readonly [{
|
|
8
|
+
readonly type: "function";
|
|
9
|
+
readonly name: "attach";
|
|
10
|
+
readonly stateMutability: "payable";
|
|
11
|
+
readonly inputs: readonly [{
|
|
12
|
+
readonly name: "account";
|
|
13
|
+
readonly type: "address";
|
|
14
|
+
}, {
|
|
15
|
+
readonly name: "template";
|
|
16
|
+
readonly type: "address";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "params";
|
|
19
|
+
readonly type: "bytes";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "configureDeadline";
|
|
22
|
+
readonly type: "uint256";
|
|
23
|
+
}, {
|
|
24
|
+
readonly name: "configureSig";
|
|
25
|
+
readonly type: "bytes";
|
|
26
|
+
}, {
|
|
27
|
+
readonly name: "kernelSig";
|
|
28
|
+
readonly type: "bytes";
|
|
29
|
+
}];
|
|
30
|
+
readonly outputs: readonly [];
|
|
31
|
+
}, {
|
|
32
|
+
readonly type: "function";
|
|
33
|
+
readonly name: "attachBatch";
|
|
34
|
+
readonly stateMutability: "payable";
|
|
35
|
+
readonly inputs: readonly [{
|
|
36
|
+
readonly name: "account";
|
|
37
|
+
readonly type: "address";
|
|
38
|
+
}, {
|
|
39
|
+
readonly name: "templates";
|
|
40
|
+
readonly type: "address[]";
|
|
41
|
+
}, {
|
|
42
|
+
readonly name: "params";
|
|
43
|
+
readonly type: "bytes[]";
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "configureDeadlines";
|
|
46
|
+
readonly type: "uint256[]";
|
|
47
|
+
}, {
|
|
48
|
+
readonly name: "configureSigs";
|
|
49
|
+
readonly type: "bytes[]";
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "kernelDeadline";
|
|
52
|
+
readonly type: "uint256";
|
|
53
|
+
}, {
|
|
54
|
+
readonly name: "kernelBatchSig";
|
|
55
|
+
readonly type: "bytes";
|
|
56
|
+
}];
|
|
57
|
+
readonly outputs: readonly [];
|
|
58
|
+
}, {
|
|
59
|
+
readonly type: "function";
|
|
60
|
+
readonly name: "reconfigure";
|
|
61
|
+
readonly stateMutability: "nonpayable";
|
|
62
|
+
readonly inputs: readonly [{
|
|
63
|
+
readonly name: "account";
|
|
64
|
+
readonly type: "address";
|
|
65
|
+
}, {
|
|
66
|
+
readonly name: "template";
|
|
67
|
+
readonly type: "address";
|
|
68
|
+
}, {
|
|
69
|
+
readonly name: "params";
|
|
70
|
+
readonly type: "bytes";
|
|
71
|
+
}, {
|
|
72
|
+
readonly name: "deadline";
|
|
73
|
+
readonly type: "uint256";
|
|
74
|
+
}, {
|
|
75
|
+
readonly name: "configureSig";
|
|
76
|
+
readonly type: "bytes";
|
|
77
|
+
}];
|
|
78
|
+
readonly outputs: readonly [];
|
|
79
|
+
}, {
|
|
80
|
+
readonly type: "function";
|
|
81
|
+
readonly name: "replace";
|
|
82
|
+
readonly stateMutability: "payable";
|
|
83
|
+
readonly inputs: readonly [{
|
|
84
|
+
readonly name: "account";
|
|
85
|
+
readonly type: "address";
|
|
86
|
+
}, {
|
|
87
|
+
readonly name: "oldTemplate";
|
|
88
|
+
readonly type: "address";
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "newTemplate";
|
|
91
|
+
readonly type: "address";
|
|
92
|
+
}, {
|
|
93
|
+
readonly name: "newParams";
|
|
94
|
+
readonly type: "bytes";
|
|
95
|
+
}, {
|
|
96
|
+
readonly name: "configureDeadline";
|
|
97
|
+
readonly type: "uint256";
|
|
98
|
+
}, {
|
|
99
|
+
readonly name: "configureSig";
|
|
100
|
+
readonly type: "bytes";
|
|
101
|
+
}, {
|
|
102
|
+
readonly name: "kernelReplaceSig";
|
|
103
|
+
readonly type: "bytes";
|
|
104
|
+
}];
|
|
105
|
+
readonly outputs: readonly [];
|
|
106
|
+
}, {
|
|
107
|
+
readonly type: "function";
|
|
108
|
+
readonly name: "detach";
|
|
109
|
+
readonly stateMutability: "nonpayable";
|
|
110
|
+
readonly inputs: readonly [{
|
|
111
|
+
readonly name: "account";
|
|
112
|
+
readonly type: "address";
|
|
113
|
+
}, {
|
|
114
|
+
readonly name: "template";
|
|
115
|
+
readonly type: "address";
|
|
116
|
+
}, {
|
|
117
|
+
readonly name: "kernelSig";
|
|
118
|
+
readonly type: "bytes";
|
|
119
|
+
}];
|
|
120
|
+
readonly outputs: readonly [];
|
|
121
|
+
}, {
|
|
122
|
+
readonly type: "function";
|
|
123
|
+
readonly name: "detachBatch";
|
|
124
|
+
readonly stateMutability: "nonpayable";
|
|
125
|
+
readonly inputs: readonly [{
|
|
126
|
+
readonly name: "account";
|
|
127
|
+
readonly type: "address";
|
|
128
|
+
}, {
|
|
129
|
+
readonly name: "templates";
|
|
130
|
+
readonly type: "address[]";
|
|
131
|
+
}, {
|
|
132
|
+
readonly name: "kernelDeadline";
|
|
133
|
+
readonly type: "uint256";
|
|
134
|
+
}, {
|
|
135
|
+
readonly name: "kernelBatchSig";
|
|
136
|
+
readonly type: "bytes";
|
|
137
|
+
}];
|
|
138
|
+
readonly outputs: readonly [];
|
|
139
|
+
}];
|
|
140
|
+
//# sourceMappingURL=MandateFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MandateFactory.d.ts","sourceRoot":"","sources":["../../src/abis/MandateFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFpB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MandateFactory ABI — the bundled (configure → register) orchestrator.
|
|
3
|
+
* Mirrors contracts/factory/MandateFactory.sol in SailProtocol.
|
|
4
|
+
*
|
|
5
|
+
* Only the functions the SDK calls are included.
|
|
6
|
+
*/
|
|
7
|
+
export const MandateFactoryAbi = [
|
|
8
|
+
{
|
|
9
|
+
type: "function",
|
|
10
|
+
name: "attach",
|
|
11
|
+
stateMutability: "payable",
|
|
12
|
+
inputs: [
|
|
13
|
+
{ name: "account", type: "address" },
|
|
14
|
+
{ name: "template", type: "address" },
|
|
15
|
+
{ name: "params", type: "bytes" },
|
|
16
|
+
{ name: "configureDeadline", type: "uint256" },
|
|
17
|
+
{ name: "configureSig", type: "bytes" },
|
|
18
|
+
{ name: "kernelSig", type: "bytes" },
|
|
19
|
+
],
|
|
20
|
+
outputs: [],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: "function",
|
|
24
|
+
name: "attachBatch",
|
|
25
|
+
stateMutability: "payable",
|
|
26
|
+
inputs: [
|
|
27
|
+
{ name: "account", type: "address" },
|
|
28
|
+
{ name: "templates", type: "address[]" },
|
|
29
|
+
{ name: "params", type: "bytes[]" },
|
|
30
|
+
{ name: "configureDeadlines", type: "uint256[]" },
|
|
31
|
+
{ name: "configureSigs", type: "bytes[]" },
|
|
32
|
+
{ name: "kernelDeadline", type: "uint256" },
|
|
33
|
+
{ name: "kernelBatchSig", type: "bytes" },
|
|
34
|
+
],
|
|
35
|
+
outputs: [],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: "function",
|
|
39
|
+
name: "reconfigure",
|
|
40
|
+
stateMutability: "nonpayable",
|
|
41
|
+
inputs: [
|
|
42
|
+
{ name: "account", type: "address" },
|
|
43
|
+
{ name: "template", type: "address" },
|
|
44
|
+
{ name: "params", type: "bytes" },
|
|
45
|
+
{ name: "deadline", type: "uint256" },
|
|
46
|
+
{ name: "configureSig", type: "bytes" },
|
|
47
|
+
],
|
|
48
|
+
outputs: [],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
type: "function",
|
|
52
|
+
name: "replace",
|
|
53
|
+
stateMutability: "payable",
|
|
54
|
+
inputs: [
|
|
55
|
+
{ name: "account", type: "address" },
|
|
56
|
+
{ name: "oldTemplate", type: "address" },
|
|
57
|
+
{ name: "newTemplate", type: "address" },
|
|
58
|
+
{ name: "newParams", type: "bytes" },
|
|
59
|
+
{ name: "configureDeadline", type: "uint256" },
|
|
60
|
+
{ name: "configureSig", type: "bytes" },
|
|
61
|
+
{ name: "kernelReplaceSig", type: "bytes" },
|
|
62
|
+
],
|
|
63
|
+
outputs: [],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: "function",
|
|
67
|
+
name: "detach",
|
|
68
|
+
stateMutability: "nonpayable",
|
|
69
|
+
inputs: [
|
|
70
|
+
{ name: "account", type: "address" },
|
|
71
|
+
{ name: "template", type: "address" },
|
|
72
|
+
{ name: "kernelSig", type: "bytes" },
|
|
73
|
+
],
|
|
74
|
+
outputs: [],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
type: "function",
|
|
78
|
+
name: "detachBatch",
|
|
79
|
+
stateMutability: "nonpayable",
|
|
80
|
+
inputs: [
|
|
81
|
+
{ name: "account", type: "address" },
|
|
82
|
+
{ name: "templates", type: "address[]" },
|
|
83
|
+
{ name: "kernelDeadline", type: "uint256" },
|
|
84
|
+
{ name: "kernelBatchSig", type: "bytes" },
|
|
85
|
+
],
|
|
86
|
+
outputs: [],
|
|
87
|
+
},
|
|
88
|
+
];
|
|
89
|
+
// Note: deployAndAttach and predictCloneAddress were removed — they do not
|
|
90
|
+
// exist on the deployed PermissionFactory contract. Clone template deployment
|
|
91
|
+
// goes through PermissionFactory.attach with a configureSig signed by the
|
|
92
|
+
// permission signer, which handles clone deployment + initialization atomically.
|
|
93
|
+
//# sourceMappingURL=MandateFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MandateFactory.js","sourceRoot":"","sources":["../../src/abis/MandateFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SailGovernance ABI — only the views needed to estimate the permission
|
|
3
|
+
* registration fee. The deployed Base/Base-Sepolia governance uses the legacy
|
|
4
|
+
* fee model: baseFee + byteLength * complexityRate, capped at
|
|
5
|
+
* MAX_PERMISSION_FEE_WEI. Newer governance may expose a flat
|
|
6
|
+
* permissionRegistrationFee() instead; estimatePermissionFee falls back to it.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SailGovernanceAbi: readonly [{
|
|
9
|
+
readonly type: "function";
|
|
10
|
+
readonly name: "baseFee";
|
|
11
|
+
readonly stateMutability: "view";
|
|
12
|
+
readonly inputs: readonly [];
|
|
13
|
+
readonly outputs: readonly [{
|
|
14
|
+
readonly type: "uint256";
|
|
15
|
+
}];
|
|
16
|
+
}, {
|
|
17
|
+
readonly type: "function";
|
|
18
|
+
readonly name: "complexityRate";
|
|
19
|
+
readonly stateMutability: "view";
|
|
20
|
+
readonly inputs: readonly [];
|
|
21
|
+
readonly outputs: readonly [{
|
|
22
|
+
readonly type: "uint256";
|
|
23
|
+
}];
|
|
24
|
+
}, {
|
|
25
|
+
readonly type: "function";
|
|
26
|
+
readonly name: "MAX_PERMISSION_FEE_WEI";
|
|
27
|
+
readonly stateMutability: "view";
|
|
28
|
+
readonly inputs: readonly [];
|
|
29
|
+
readonly outputs: readonly [{
|
|
30
|
+
readonly type: "uint256";
|
|
31
|
+
}];
|
|
32
|
+
}, {
|
|
33
|
+
readonly type: "function";
|
|
34
|
+
readonly name: "permissionRegistrationFee";
|
|
35
|
+
readonly stateMutability: "view";
|
|
36
|
+
readonly inputs: readonly [];
|
|
37
|
+
readonly outputs: readonly [{
|
|
38
|
+
readonly type: "uint256";
|
|
39
|
+
}];
|
|
40
|
+
}, {
|
|
41
|
+
readonly type: "function";
|
|
42
|
+
readonly name: "maxPermissionsPerAccount";
|
|
43
|
+
readonly stateMutability: "view";
|
|
44
|
+
readonly inputs: readonly [];
|
|
45
|
+
readonly outputs: readonly [{
|
|
46
|
+
readonly type: "uint256";
|
|
47
|
+
}];
|
|
48
|
+
}, {
|
|
49
|
+
readonly type: "function";
|
|
50
|
+
readonly name: "isPaused";
|
|
51
|
+
readonly stateMutability: "view";
|
|
52
|
+
readonly inputs: readonly [];
|
|
53
|
+
readonly outputs: readonly [{
|
|
54
|
+
readonly type: "bool";
|
|
55
|
+
}];
|
|
56
|
+
}];
|
|
57
|
+
//# sourceMappingURL=SailGovernance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SailGovernance.d.ts","sourceRoot":"","sources":["../../src/abis/SailGovernance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CpB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SailGovernance ABI — only the views needed to estimate the permission
|
|
3
|
+
* registration fee. The deployed Base/Base-Sepolia governance uses the legacy
|
|
4
|
+
* fee model: baseFee + byteLength * complexityRate, capped at
|
|
5
|
+
* MAX_PERMISSION_FEE_WEI. Newer governance may expose a flat
|
|
6
|
+
* permissionRegistrationFee() instead; estimatePermissionFee falls back to it.
|
|
7
|
+
*/
|
|
8
|
+
export const SailGovernanceAbi = [
|
|
9
|
+
{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "baseFee",
|
|
12
|
+
stateMutability: "view",
|
|
13
|
+
inputs: [],
|
|
14
|
+
outputs: [{ type: "uint256" }],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: "function",
|
|
18
|
+
name: "complexityRate",
|
|
19
|
+
stateMutability: "view",
|
|
20
|
+
inputs: [],
|
|
21
|
+
outputs: [{ type: "uint256" }],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: "function",
|
|
25
|
+
name: "MAX_PERMISSION_FEE_WEI",
|
|
26
|
+
stateMutability: "view",
|
|
27
|
+
inputs: [],
|
|
28
|
+
outputs: [{ type: "uint256" }],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: "function",
|
|
32
|
+
name: "permissionRegistrationFee",
|
|
33
|
+
stateMutability: "view",
|
|
34
|
+
inputs: [],
|
|
35
|
+
outputs: [{ type: "uint256" }],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: "function",
|
|
39
|
+
name: "maxPermissionsPerAccount",
|
|
40
|
+
stateMutability: "view",
|
|
41
|
+
inputs: [],
|
|
42
|
+
outputs: [{ type: "uint256" }],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: "function",
|
|
46
|
+
name: "isPaused",
|
|
47
|
+
stateMutability: "view",
|
|
48
|
+
inputs: [],
|
|
49
|
+
outputs: [{ type: "bool" }],
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=SailGovernance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SailGovernance.js","sourceRoot":"","sources":["../../src/abis/SailGovernance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,wBAAwB;QAC9B,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,2BAA2B;QACjC,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,0BAA0B;QAChC,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC5B;CACO,CAAC"}
|