@sherwoodagent/cli 0.74.2 → 0.75.0
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/dist/{abis-D7EDCKVZ.js → abis-OLIDCWDS.js} +2 -2
- package/dist/{addresses-OFFTM6NG.js → addresses-JJPQTF6S.js} +4 -4
- package/dist/{agent-IJOOONON.js → agent-FYRYTKYM.js} +8 -8
- package/dist/{chat-3PM3GP3C.js → chat-CO244AHH.js} +9 -9
- package/dist/{chunk-6MV4ESXM.js → chunk-3TZIOAPH.js} +25 -1
- package/dist/chunk-3TZIOAPH.js.map +1 -0
- package/dist/{chunk-RE3PPAXZ.js → chunk-EVTDWMXQ.js} +5 -5
- package/dist/{chunk-RE3PPAXZ.js.map → chunk-EVTDWMXQ.js.map} +1 -1
- package/dist/{chunk-2OHX3O55.js → chunk-FP5DZCOM.js} +3 -3
- package/dist/{chunk-UINMHN6S.js → chunk-I6X6NL65.js} +2 -2
- package/dist/{chunk-LHVSS27T.js → chunk-LSVCF24W.js} +2 -2
- package/dist/{chunk-RAP6MUMB.js → chunk-M7CGUYUX.js} +7 -7
- package/dist/{chunk-7BMCLMSE.js → chunk-MEMYGZWQ.js} +3 -3
- package/dist/{chunk-BD4ZV7FQ.js → chunk-RGFA732Z.js} +3 -3
- package/dist/{chunk-DGLLSZ2D.js → chunk-T2HVR3O6.js} +2 -2
- package/dist/{chunk-WBQMGZ5X.js → chunk-TI64P5R4.js} +5 -5
- package/dist/{chunk-JF7KAVOM.js → chunk-TN7J5LXW.js} +5 -5
- package/dist/{chunk-I2PC6TBZ.js → chunk-TU655ZTV.js} +1 -22
- package/dist/chunk-TU655ZTV.js.map +1 -0
- package/dist/{chunk-N3NVFSDQ.js → chunk-WCX7DKLQ.js} +5 -5
- package/dist/{chunk-MUINMYCE.js → chunk-WGXZ623D.js} +5 -5
- package/dist/{client-C3C6IXAH.js → client-GRPJRISD.js} +4 -4
- package/dist/{config-7HU4X7EK.js → config-ZGFS4I7K.js} +12 -4
- package/dist/{eas-G4TPLJ6S.js → eas-4RIW3IS4.js} +7 -7
- package/dist/{governor-PYQQ7QRG.js → governor-7KETSN47.js} +7 -7
- package/dist/index.js +411 -62
- package/dist/index.js.map +1 -1
- package/dist/{network-WU2QC3L4.js → network-UP2X5XDW.js} +3 -3
- package/dist/{price-DGGB6W2G.js → price-LAQSXN7M.js} +7 -7
- package/dist/{providers-YOOQFBN2.js → providers-2J6LL67W.js} +5 -5
- package/dist/{research-KX3LCAOQ.js → research-FHQCSLTZ.js} +9 -9
- package/dist/{session-GUVSID3Z.js → session-JQ3IF3IV.js} +12 -12
- package/dist/{trade-WDPMFFYB.js → trade-5EYPZN7M.js} +18 -18
- package/dist/{vault-WDRLJLJ6.js → vault-5YYTHS5W.js} +9 -9
- package/dist/{xmtp-Q4ZSQV2Q.js → xmtp-OZ5PJFCT.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-6MV4ESXM.js.map +0 -1
- package/dist/chunk-I2PC6TBZ.js.map +0 -1
- /package/dist/{abis-D7EDCKVZ.js.map → abis-OLIDCWDS.js.map} +0 -0
- /package/dist/{addresses-OFFTM6NG.js.map → addresses-JJPQTF6S.js.map} +0 -0
- /package/dist/{agent-IJOOONON.js.map → agent-FYRYTKYM.js.map} +0 -0
- /package/dist/{chat-3PM3GP3C.js.map → chat-CO244AHH.js.map} +0 -0
- /package/dist/{chunk-2OHX3O55.js.map → chunk-FP5DZCOM.js.map} +0 -0
- /package/dist/{chunk-UINMHN6S.js.map → chunk-I6X6NL65.js.map} +0 -0
- /package/dist/{chunk-LHVSS27T.js.map → chunk-LSVCF24W.js.map} +0 -0
- /package/dist/{chunk-RAP6MUMB.js.map → chunk-M7CGUYUX.js.map} +0 -0
- /package/dist/{chunk-7BMCLMSE.js.map → chunk-MEMYGZWQ.js.map} +0 -0
- /package/dist/{chunk-BD4ZV7FQ.js.map → chunk-RGFA732Z.js.map} +0 -0
- /package/dist/{chunk-DGLLSZ2D.js.map → chunk-T2HVR3O6.js.map} +0 -0
- /package/dist/{chunk-WBQMGZ5X.js.map → chunk-TI64P5R4.js.map} +0 -0
- /package/dist/{chunk-JF7KAVOM.js.map → chunk-TN7J5LXW.js.map} +0 -0
- /package/dist/{chunk-N3NVFSDQ.js.map → chunk-WCX7DKLQ.js.map} +0 -0
- /package/dist/{chunk-MUINMYCE.js.map → chunk-WGXZ623D.js.map} +0 -0
- /package/dist/{client-C3C6IXAH.js.map → client-GRPJRISD.js.map} +0 -0
- /package/dist/{config-7HU4X7EK.js.map → config-ZGFS4I7K.js.map} +0 -0
- /package/dist/{eas-G4TPLJ6S.js.map → eas-4RIW3IS4.js.map} +0 -0
- /package/dist/{governor-PYQQ7QRG.js.map → governor-7KETSN47.js.map} +0 -0
- /package/dist/{network-WU2QC3L4.js.map → network-UP2X5XDW.js.map} +0 -0
- /package/dist/{price-DGGB6W2G.js.map → price-LAQSXN7M.js.map} +0 -0
- /package/dist/{providers-YOOQFBN2.js.map → providers-2J6LL67W.js.map} +0 -0
- /package/dist/{research-KX3LCAOQ.js.map → research-FHQCSLTZ.js.map} +0 -0
- /package/dist/{session-GUVSID3Z.js.map → session-JQ3IF3IV.js.map} +0 -0
- /package/dist/{trade-WDPMFFYB.js.map → trade-5EYPZN7M.js.map} +0 -0
- /package/dist/{vault-WDRLJLJ6.js.map → vault-5YYTHS5W.js.map} +0 -0
- /package/dist/{xmtp-Q4ZSQV2Q.js.map → xmtp-OZ5PJFCT.js.map} +0 -0
|
@@ -3081,13 +3081,6 @@ var BASE_STRATEGY_ABI = [
|
|
|
3081
3081
|
inputs: [],
|
|
3082
3082
|
outputs: [{ name: "", type: "bool" }]
|
|
3083
3083
|
},
|
|
3084
|
-
{
|
|
3085
|
-
name: "hcSelf",
|
|
3086
|
-
type: "function",
|
|
3087
|
-
stateMutability: "view",
|
|
3088
|
-
inputs: [],
|
|
3089
|
-
outputs: [{ name: "", type: "address" }]
|
|
3090
|
-
},
|
|
3091
3084
|
{
|
|
3092
3085
|
name: "initialize",
|
|
3093
3086
|
type: "function",
|
|
@@ -3276,13 +3269,6 @@ var HYPERLIQUID_PERP_STRATEGY_ABI = [
|
|
|
3276
3269
|
inputs: [],
|
|
3277
3270
|
outputs: [{ name: "", type: "bool" }]
|
|
3278
3271
|
},
|
|
3279
|
-
{
|
|
3280
|
-
name: "hcSelf",
|
|
3281
|
-
type: "function",
|
|
3282
|
-
stateMutability: "view",
|
|
3283
|
-
inputs: [],
|
|
3284
|
-
outputs: [{ name: "", type: "address" }]
|
|
3285
|
-
},
|
|
3286
3272
|
{
|
|
3287
3273
|
name: "hyperCoreFinalized",
|
|
3288
3274
|
type: "function",
|
|
@@ -3667,13 +3653,6 @@ var PORTFOLIO_STRATEGY_ABI = [
|
|
|
3667
3653
|
inputs: [],
|
|
3668
3654
|
outputs: [{ name: "", type: "uint8[]" }]
|
|
3669
3655
|
},
|
|
3670
|
-
{
|
|
3671
|
-
name: "hcSelf",
|
|
3672
|
-
type: "function",
|
|
3673
|
-
stateMutability: "view",
|
|
3674
|
-
inputs: [],
|
|
3675
|
-
outputs: [{ name: "", type: "address" }]
|
|
3676
|
-
},
|
|
3677
3656
|
{
|
|
3678
3657
|
name: "initialize",
|
|
3679
3658
|
type: "function",
|
|
@@ -3884,4 +3863,4 @@ export {
|
|
|
3884
3863
|
PORTFOLIO_STRATEGY_ABI,
|
|
3885
3864
|
SYNTHRA_QUOTER_ABI
|
|
3886
3865
|
};
|
|
3887
|
-
//# sourceMappingURL=chunk-
|
|
3866
|
+
//# sourceMappingURL=chunk-TU655ZTV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/abis.ts"],"sourcesContent":["/**\n * AUTO-GENERATED by cli/scripts/codegen-contracts.ts — do not edit.\n * Regenerate: npm run codegen\n *\n * Contract ABIs for viem type inference. Sherwood contract ABIs are emitted\n * in full from the Foundry build artifacts of the sherwood-protocol checkout\n * (its out/ dir — run `forge build` there first); third-party protocol ABIs\n * (Uniswap, EAS, Venice, Durin, Synthra, …) have no artifact and are\n * hand-maintained in cli/src/lib/codegen/render.ts.\n */\n\n// ── SyndicateVault (ERC-4626 + ERC20Votes + governor integration) ──\n\nexport const SYNDICATE_VAULT_ABI = [\n {\n name: \"CLOCK_MODE\",\n type: \"function\",\n stateMutability: \"pure\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"MAX_AGENTS_PER_VAULT\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_AGENT_FEE_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PAGE_LIMIT\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"UPGRADE_INTERFACE_VERSION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"activeStrategyAdapter\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"agentFeeBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"agentsPaginated\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"offset\", type: \"uint256\" }, { name: \"limit\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"address[]\" }],\n },\n {\n name: \"allowance\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"owner\", type: \"address\" }, { name: \"spender\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"approve\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"spender\", type: \"address\" }, { name: \"value\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"approveDepositor\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"depositor\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"approveDepositors\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"depositors\", type: \"address[]\" }],\n outputs: [],\n },\n {\n name: \"approvedDepositorsPaginated\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"offset\", type: \"uint256\" }, { name: \"limit\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"address[]\" }],\n },\n {\n name: \"asset\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"balanceOf\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"checkpoints\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }, { name: \"pos\", type: \"uint32\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [{ name: \"_key\", type: \"uint48\" }, { name: \"_value\", type: \"uint208\" }],\n },\n ],\n },\n {\n name: \"clock\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint48\" }],\n },\n {\n name: \"convertToAssets\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"shares\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"convertToShares\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"assets\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"decimals\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"delegate\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"delegatee\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"delegateBySig\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"delegatee\", type: \"address\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"expiry\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n outputs: [],\n },\n {\n name: \"delegates\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"deposit\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"assets\", type: \"uint256\" }, { name: \"receiver\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"eip712Domain\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n { name: \"fields\", type: \"bytes1\" },\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n { name: \"salt\", type: \"bytes32\" },\n { name: \"extensions\", type: \"uint256[]\" },\n ],\n },\n {\n name: \"executeGovernorBatch\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"calls\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"factory\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"getAgentCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getPastTotalSupply\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"timepoint\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getPastVotes\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }, { name: \"timepoint\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getVotes\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"governor\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"p\",\n type: \"tuple\",\n components: [\n { name: \"asset\", type: \"address\" },\n { name: \"name\", type: \"string\" },\n { name: \"symbol\", type: \"string\" },\n { name: \"owner\", type: \"address\" },\n { name: \"executorImpl\", type: \"address\" },\n { name: \"openDeposits\", type: \"bool\" },\n { name: \"agentRegistry\", type: \"address\" },\n { name: \"managementFeeBps\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"isAgent\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"agentAddress\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"isApprovedDepositor\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"depositor\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"managementFeeBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"maxDeposit\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"maxMint\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"receiver\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"maxRedeem\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"owner_\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"maxWithdraw\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"owner_\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"mint\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"shares\", type: \"uint256\" }, { name: \"receiver\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"name\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"nonces\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"owner\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"numCheckpoints\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"onERC721Received\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"\", type: \"address\" },\n { name: \"\", type: \"address\" },\n { name: \"\", type: \"uint256\" },\n { name: \"\", type: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\" }],\n },\n {\n name: \"onProposalSettled\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"openDeposits\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"owner\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n { name: \"pause\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"paused\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"pendingQueueShares\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"previewDeposit\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"assets\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"previewMint\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"shares\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"previewRedeem\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"shares\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"previewWithdraw\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"assets\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"proxiableUUID\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"redeem\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"shares\", type: \"uint256\" },\n { name: \"receiver\", type: \"address\" },\n { name: \"owner\", type: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"redemptionsLocked\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"registerAgent\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"agentId\", type: \"uint256\" }, { name: \"agentAddress\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"removeAgent\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"agentAddress\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"removeDepositor\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"depositor\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"renounceOwnership\",\n type: \"function\",\n stateMutability: \"pure\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"requestDeposit\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"assets\", type: \"uint256\" }, { name: \"receiver\", type: \"address\" }],\n outputs: [{ name: \"requestId\", type: \"uint256\" }],\n },\n {\n name: \"requestRedeem\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"shares\", type: \"uint256\" }, { name: \"owner_\", type: \"address\" }],\n outputs: [{ name: \"requestId\", type: \"uint256\" }],\n },\n {\n name: \"rescueERC20\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [],\n },\n {\n name: \"rescueERC721\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"to\", type: \"address\" },\n ],\n outputs: [],\n },\n {\n name: \"rescueEth\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"to\", type: \"address\" }, { name: \"amount\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"reservedQueueAssets\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"rotateOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newOwner\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setAgentFeeBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"bps\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setOpenDeposits\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"open\", type: \"bool\" }],\n outputs: [],\n },\n {\n name: \"setWithdrawalQueue\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"q\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"settleDeposit\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"shares\", type: \"uint256\" }, { name: \"to\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"settleRedeem\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"shares\", type: \"uint256\" },\n { name: \"assets\", type: \"uint256\" },\n { name: \"to\", type: \"address\" },\n ],\n outputs: [],\n },\n {\n name: \"strategyBurn\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"shares\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"strategyMint\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"to\", type: \"address\" }, { name: \"shares\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"symbol\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"totalAssets\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"totalSupply\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"transfer\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"to\", type: \"address\" }, { name: \"value\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"transferFrom\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"transferOwnership\",\n type: \"function\",\n stateMutability: \"pure\",\n inputs: [{ name: \"\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"transferPerformanceFee\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"asset_\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [],\n },\n { name: \"unpause\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"upgradeToAndCall\",\n type: \"function\",\n stateMutability: \"payable\",\n inputs: [{ name: \"newImplementation\", type: \"address\" }, { name: \"data\", type: \"bytes\" }],\n outputs: [],\n },\n {\n name: \"withdraw\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"assets\", type: \"uint256\" },\n { name: \"receiver\", type: \"address\" },\n { name: \"owner\", type: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"withdrawalQueue\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"AgentFeeUpdated\",\n type: \"event\",\n inputs: [{ name: \"bps\", type: \"uint256\", indexed: false }],\n },\n {\n name: \"AgentRegistered\",\n type: \"event\",\n inputs: [\n { name: \"agentId\", type: \"uint256\", indexed: true },\n { name: \"agentAddress\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"AgentRemoved\",\n type: \"event\",\n inputs: [{ name: \"agentAddress\", type: \"address\", indexed: true }],\n },\n {\n name: \"Approval\",\n type: \"event\",\n inputs: [\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"spender\", type: \"address\", indexed: true },\n { name: \"value\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"DelegateChanged\",\n type: \"event\",\n inputs: [\n { name: \"delegator\", type: \"address\", indexed: true },\n { name: \"fromDelegate\", type: \"address\", indexed: true },\n { name: \"toDelegate\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"DelegateVotesChanged\",\n type: \"event\",\n inputs: [\n { name: \"delegate\", type: \"address\", indexed: true },\n { name: \"previousVotes\", type: \"uint256\", indexed: false },\n { name: \"newVotes\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"Deposit\",\n type: \"event\",\n inputs: [\n { name: \"sender\", type: \"address\", indexed: true },\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"assets\", type: \"uint256\", indexed: false },\n { name: \"shares\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"DepositRequested\",\n type: \"event\",\n inputs: [\n { name: \"requestId\", type: \"uint256\", indexed: true },\n { name: \"receiver\", type: \"address\", indexed: true },\n { name: \"assets\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"DepositorApproved\",\n type: \"event\",\n inputs: [{ name: \"depositor\", type: \"address\", indexed: true }],\n },\n {\n name: \"DepositorRemoved\",\n type: \"event\",\n inputs: [{ name: \"depositor\", type: \"address\", indexed: true }],\n },\n { name: \"EIP712DomainChanged\", type: \"event\", inputs: [] },\n {\n name: \"GovernorBatchExecuted\",\n type: \"event\",\n inputs: [\n { name: \"governor\", type: \"address\", indexed: true },\n { name: \"callCount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"Initialized\",\n type: \"event\",\n inputs: [{ name: \"version\", type: \"uint64\", indexed: false }],\n },\n {\n name: \"OpenDepositsUpdated\",\n type: \"event\",\n inputs: [{ name: \"open\", type: \"bool\", indexed: false }],\n },\n {\n name: \"OwnershipTransferred\",\n type: \"event\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true },\n { name: \"newOwner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"Paused\",\n type: \"event\",\n inputs: [{ name: \"account\", type: \"address\", indexed: false }],\n },\n {\n name: \"RedeemRequested\",\n type: \"event\",\n inputs: [\n { name: \"requestId\", type: \"uint256\", indexed: true },\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"shares\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"Transfer\",\n type: \"event\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true },\n { name: \"to\", type: \"address\", indexed: true },\n { name: \"value\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"Unpaused\",\n type: \"event\",\n inputs: [{ name: \"account\", type: \"address\", indexed: false }],\n },\n {\n name: \"Upgraded\",\n type: \"event\",\n inputs: [{ name: \"implementation\", type: \"address\", indexed: true }],\n },\n {\n name: \"Withdraw\",\n type: \"event\",\n inputs: [\n { name: \"sender\", type: \"address\", indexed: true },\n { name: \"receiver\", type: \"address\", indexed: true },\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"assets\", type: \"uint256\", indexed: false },\n { name: \"shares\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"WithdrawalQueueSet\",\n type: \"event\",\n inputs: [{ name: \"queue\", type: \"address\", indexed: true }],\n },\n { name: \"AddressEmptyCode\", type: \"error\", inputs: [{ name: \"target\", type: \"address\" }] },\n { name: \"AgentAlreadyRegistered\", type: \"error\", inputs: [] },\n { name: \"AgentCapExceeded\", type: \"error\", inputs: [] },\n { name: \"AgentFeeTooHigh\", type: \"error\", inputs: [] },\n { name: \"AgentNotActive\", type: \"error\", inputs: [] },\n { name: \"AmountExceedsBalance\", type: \"error\", inputs: [] },\n { name: \"CannotRescueAsset\", type: \"error\", inputs: [] },\n { name: \"CheckpointUnorderedInsertion\", type: \"error\", inputs: [] },\n { name: \"DepositorAlreadyApproved\", type: \"error\", inputs: [] },\n { name: \"DepositorNotApproved\", type: \"error\", inputs: [] },\n { name: \"DepositsLocked\", type: \"error\", inputs: [] },\n { name: \"ECDSAInvalidSignature\", type: \"error\", inputs: [] },\n {\n name: \"ECDSAInvalidSignatureLength\",\n type: \"error\",\n inputs: [{ name: \"length\", type: \"uint256\" }],\n },\n { name: \"ECDSAInvalidSignatureS\", type: \"error\", inputs: [{ name: \"s\", type: \"bytes32\" }] },\n {\n name: \"ERC1967InvalidImplementation\",\n type: \"error\",\n inputs: [{ name: \"implementation\", type: \"address\" }],\n },\n { name: \"ERC1967NonPayable\", type: \"error\", inputs: [] },\n {\n name: \"ERC20ExceededSafeSupply\",\n type: \"error\",\n inputs: [{ name: \"increasedSupply\", type: \"uint256\" }, { name: \"cap\", type: \"uint256\" }],\n },\n {\n name: \"ERC20InsufficientAllowance\",\n type: \"error\",\n inputs: [\n { name: \"spender\", type: \"address\" },\n { name: \"allowance\", type: \"uint256\" },\n { name: \"needed\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC20InsufficientBalance\",\n type: \"error\",\n inputs: [\n { name: \"sender\", type: \"address\" },\n { name: \"balance\", type: \"uint256\" },\n { name: \"needed\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC20InvalidApprover\",\n type: \"error\",\n inputs: [{ name: \"approver\", type: \"address\" }],\n },\n {\n name: \"ERC20InvalidReceiver\",\n type: \"error\",\n inputs: [{ name: \"receiver\", type: \"address\" }],\n },\n { name: \"ERC20InvalidSender\", type: \"error\", inputs: [{ name: \"sender\", type: \"address\" }] },\n { name: \"ERC20InvalidSpender\", type: \"error\", inputs: [{ name: \"spender\", type: \"address\" }] },\n {\n name: \"ERC4626ExceededMaxDeposit\",\n type: \"error\",\n inputs: [\n { name: \"receiver\", type: \"address\" },\n { name: \"assets\", type: \"uint256\" },\n { name: \"max\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC4626ExceededMaxMint\",\n type: \"error\",\n inputs: [\n { name: \"receiver\", type: \"address\" },\n { name: \"shares\", type: \"uint256\" },\n { name: \"max\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC4626ExceededMaxRedeem\",\n type: \"error\",\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"shares\", type: \"uint256\" },\n { name: \"max\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC4626ExceededMaxWithdraw\",\n type: \"error\",\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"assets\", type: \"uint256\" },\n { name: \"max\", type: \"uint256\" },\n ],\n },\n {\n name: \"ERC5805FutureLookup\",\n type: \"error\",\n inputs: [{ name: \"timepoint\", type: \"uint256\" }, { name: \"clock\", type: \"uint48\" }],\n },\n { name: \"ERC6372InconsistentClock\", type: \"error\", inputs: [] },\n { name: \"EnforcedPause\", type: \"error\", inputs: [] },\n { name: \"ExecutorCodehashMismatch\", type: \"error\", inputs: [] },\n { name: \"ExpectedPause\", type: \"error\", inputs: [] },\n { name: \"FailedCall\", type: \"error\", inputs: [] },\n { name: \"GovernorNotSet\", type: \"error\", inputs: [] },\n {\n name: \"InsufficientBalance\",\n type: \"error\",\n inputs: [{ name: \"balance\", type: \"uint256\" }, { name: \"needed\", type: \"uint256\" }],\n },\n { name: \"InsufficientShares\", type: \"error\", inputs: [] },\n {\n name: \"InvalidAccountNonce\",\n type: \"error\",\n inputs: [{ name: \"account\", type: \"address\" }, { name: \"currentNonce\", type: \"uint256\" }],\n },\n { name: \"InvalidAgentAddress\", type: \"error\", inputs: [] },\n { name: \"InvalidAgentRegistry\", type: \"error\", inputs: [] },\n { name: \"InvalidAsset\", type: \"error\", inputs: [] },\n { name: \"InvalidDepositor\", type: \"error\", inputs: [] },\n { name: \"InvalidExecutorImpl\", type: \"error\", inputs: [] },\n { name: \"InvalidInitialization\", type: \"error\", inputs: [] },\n { name: \"InvalidOwner\", type: \"error\", inputs: [] },\n { name: \"NotActiveAgent\", type: \"error\", inputs: [] },\n { name: \"NotActiveStrategy\", type: \"error\", inputs: [] },\n { name: \"NotAgentOwner\", type: \"error\", inputs: [] },\n { name: \"NotApprovedDepositor\", type: \"error\", inputs: [] },\n { name: \"NotFactory\", type: \"error\", inputs: [] },\n { name: \"NotGovernor\", type: \"error\", inputs: [] },\n { name: \"NotInitializing\", type: \"error\", inputs: [] },\n { name: \"NotQueue\", type: \"error\", inputs: [] },\n { name: \"OwnableInvalidOwner\", type: \"error\", inputs: [{ name: \"owner\", type: \"address\" }] },\n {\n name: \"OwnableUnauthorizedAccount\",\n type: \"error\",\n inputs: [{ name: \"account\", type: \"address\" }],\n },\n { name: \"QueueReserveBreached\", type: \"error\", inputs: [] },\n { name: \"RedemptionsLocked\", type: \"error\", inputs: [] },\n { name: \"RedemptionsNotLocked\", type: \"error\", inputs: [] },\n { name: \"ReentrancyGuardReentrantCall\", type: \"error\", inputs: [] },\n {\n name: \"SafeCastOverflowedUintDowncast\",\n type: \"error\",\n inputs: [{ name: \"bits\", type: \"uint8\" }, { name: \"value\", type: \"uint256\" }],\n },\n {\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n { name: \"SharesLocked\", type: \"error\", inputs: [] },\n { name: \"SimulationFailed\", type: \"error\", inputs: [] },\n { name: \"TransferFailed\", type: \"error\", inputs: [] },\n { name: \"UUPSUnauthorizedCallContext\", type: \"error\", inputs: [] },\n {\n name: \"UUPSUnsupportedProxiableUUID\",\n type: \"error\",\n inputs: [{ name: \"slot\", type: \"bytes32\" }],\n },\n {\n name: \"VotesExpiredSignature\",\n type: \"error\",\n inputs: [{ name: \"expiry\", type: \"uint256\" }],\n },\n { name: \"WithdrawalQueueAlreadySet\", type: \"error\", inputs: [] },\n { name: \"WithdrawalQueueNotSet\", type: \"error\", inputs: [] },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n { name: \"ZeroAssets\", type: \"error\", inputs: [] },\n] as const;\n\n// ── Uniswap Quoter V2 ──\n\nexport const UNISWAP_QUOTER_V2_ABI = [\n {\n name: \"quoteExactInputSingle\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"tokenIn\", type: \"address\" },\n { name: \"tokenOut\", type: \"address\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"sqrtPriceLimitX96\", type: \"uint160\" },\n ],\n },\n ],\n outputs: [\n { name: \"amountOut\", type: \"uint256\" },\n { name: \"sqrtPriceX96After\", type: \"uint160\" },\n { name: \"initializedTicksCrossed\", type: \"uint32\" },\n { name: \"gasEstimate\", type: \"uint256\" },\n ],\n },\n {\n name: \"quoteExactInput\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"path\", type: \"bytes\" }, { name: \"amountIn\", type: \"uint256\" }],\n outputs: [\n { name: \"amountOut\", type: \"uint256\" },\n { name: \"sqrtPriceX96AfterList\", type: \"uint160[]\" },\n { name: \"initializedTicksCrossedList\", type: \"uint32[]\" },\n { name: \"gasEstimate\", type: \"uint256\" },\n ],\n },\n] as const;\n\n// ── Uniswap SwapRouter (multi-hop) ──\n\nexport const SWAP_ROUTER_ABI = [\n {\n name: \"exactInput\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"path\", type: \"bytes\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"amountOutMinimum\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [{ name: \"amountOut\", type: \"uint256\" }],\n },\n] as const;\n\n// ── Uniswap SwapRouter (single-hop) ──\n\nexport const SWAP_ROUTER_EXACT_INPUT_SINGLE_ABI = [\n {\n name: \"exactInputSingle\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"tokenIn\", type: \"address\" },\n { name: \"tokenOut\", type: \"address\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"amountOutMinimum\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", type: \"uint160\" },\n ],\n },\n ],\n outputs: [{ name: \"amountOut\", type: \"uint256\" }],\n },\n] as const;\n\n// ── ERC20 ──\n\nexport const ERC20_ABI = [\n {\n name: \"approve\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"spender\", type: \"address\" }, { name: \"amount\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"balanceOf\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"allowance\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"owner\", type: \"address\" }, { name: \"spender\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"decimals\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"symbol\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"transfer\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"to\", type: \"address\" }, { name: \"amount\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"transferFrom\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n] as const;\n\n// ── SyndicateFactory ──\n\nexport const SYNDICATE_FACTORY_ABI = [\n {\n name: \"MAX_MANAGEMENT_FEE_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PAGE_LIMIT\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"UPGRADE_INTERFACE_VERSION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"agentRegistry\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"beacon\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"createSyndicate\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"creatorAgentId\", type: \"uint256\" },\n {\n name: \"config\",\n type: \"tuple\",\n components: [\n { name: \"metadataURI\", type: \"string\" },\n { name: \"asset\", type: \"address\" },\n { name: \"name\", type: \"string\" },\n { name: \"symbol\", type: \"string\" },\n { name: \"openDeposits\", type: \"bool\" },\n { name: \"subdomain\", type: \"string\" },\n ],\n },\n ],\n outputs: [{ name: \"syndicateId\", type: \"uint256\" }, { name: \"vault\", type: \"address\" }],\n },\n {\n name: \"creationFee\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"creationFeeRecipient\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"creationFeeToken\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"deactivate\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"syndicateId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"ensRegistrar\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"executorImpl\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"getActiveSyndicates\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"offset\", type: \"uint256\" }, { name: \"limit\", type: \"uint256\" }],\n outputs: [\n {\n name: \"result\",\n type: \"tuple[]\",\n components: [\n { name: \"id\", type: \"uint256\" },\n { name: \"vault\", type: \"address\" },\n { name: \"creator\", type: \"address\" },\n { name: \"metadataURI\", type: \"string\" },\n { name: \"createdAt\", type: \"uint256\" },\n { name: \"active\", type: \"bool\" },\n { name: \"subdomain\", type: \"string\" },\n ],\n },\n { name: \"total\", type: \"uint256\" },\n ],\n },\n {\n name: \"getAllActiveSyndicates\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"id\", type: \"uint256\" },\n { name: \"vault\", type: \"address\" },\n { name: \"creator\", type: \"address\" },\n { name: \"metadataURI\", type: \"string\" },\n { name: \"createdAt\", type: \"uint256\" },\n { name: \"active\", type: \"bool\" },\n { name: \"subdomain\", type: \"string\" },\n ],\n },\n ],\n },\n {\n name: \"governorOf\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"vault\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"guardianRegistry\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"p\",\n type: \"tuple\",\n components: [\n { name: \"owner\", type: \"address\" },\n { name: \"executorImpl\", type: \"address\" },\n { name: \"vaultImpl\", type: \"address\" },\n { name: \"ensRegistrar\", type: \"address\" },\n { name: \"agentRegistry\", type: \"address\" },\n { name: \"beacon\", type: \"address\" },\n { name: \"protocolConfig\", type: \"address\" },\n { name: \"managementFeeBps\", type: \"uint256\" },\n { name: \"guardianRegistry\", type: \"address\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"isSubdomainAvailable\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"subdomain\", type: \"string\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"managementFeeBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"owner\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"priceRouter\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"protocolConfig\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"proxiableUUID\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"renounceOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"rotateOwner\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"vault\", type: \"address\" }, { name: \"newOwner\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setBeacon\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newBeacon\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setCreationFee\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n { name: \"recipient\", type: \"address\" },\n ],\n outputs: [],\n },\n {\n name: \"setEnsRegistrar\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newRegistrar\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setGuardianRegistry\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newRegistry\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setManagementFeeBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newBps\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setParamsOverride\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault\", type: \"address\" },\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"votingPeriod\", type: \"uint256\" },\n { name: \"executionWindow\", type: \"uint256\" },\n { name: \"vetoThresholdBps\", type: \"uint256\" },\n { name: \"maxPerformanceFeeBps\", type: \"uint256\" },\n { name: \"cooldownPeriod\", type: \"uint256\" },\n { name: \"collaborationWindow\", type: \"uint256\" },\n { name: \"maxCoProposers\", type: \"uint256\" },\n { name: \"minStrategyDuration\", type: \"uint256\" },\n { name: \"maxStrategyDuration\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"setPriceRouter\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newRouter\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setProtocolConfig\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newConfig\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setUpgradesEnabled\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"enabled\", type: \"bool\" }],\n outputs: [],\n },\n {\n name: \"setVaultImpl\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newVaultImpl\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"subdomainToSyndicate\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"string\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"syndicateCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"syndicates\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"uint256\" }],\n outputs: [\n { name: \"id\", type: \"uint256\" },\n { name: \"vault\", type: \"address\" },\n { name: \"creator\", type: \"address\" },\n { name: \"metadataURI\", type: \"string\" },\n { name: \"createdAt\", type: \"uint256\" },\n { name: \"active\", type: \"bool\" },\n { name: \"subdomain\", type: \"string\" },\n ],\n },\n {\n name: \"transferOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newOwner\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"updateMetadata\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"syndicateId\", type: \"uint256\" }, { name: \"metadataURI\", type: \"string\" }],\n outputs: [],\n },\n {\n name: \"upgradeToAndCall\",\n type: \"function\",\n stateMutability: \"payable\",\n inputs: [{ name: \"newImplementation\", type: \"address\" }, { name: \"data\", type: \"bytes\" }],\n outputs: [],\n },\n {\n name: \"upgradeVault\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"vault\", type: \"address\" }, { name: \"expectedImpl\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"upgradesEnabled\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"vaultImpl\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"vaultToSyndicate\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"BeaconUpdated\",\n type: \"event\",\n inputs: [\n { name: \"oldBeacon\", type: \"address\", indexed: true },\n { name: \"newBeacon\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"CreationFeeUpdated\",\n type: \"event\",\n inputs: [\n { name: \"token\", type: \"address\", indexed: false },\n { name: \"amount\", type: \"uint256\", indexed: false },\n { name: \"recipient\", type: \"address\", indexed: false },\n ],\n },\n {\n name: \"EnsRegistrarUpdated\",\n type: \"event\",\n inputs: [\n { name: \"oldRegistrar\", type: \"address\", indexed: true },\n { name: \"newRegistrar\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"EnsRegistrationFailed\",\n type: \"event\",\n inputs: [\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"subdomain\", type: \"string\", indexed: false },\n ],\n },\n {\n name: \"GovernorDeployed\",\n type: \"event\",\n inputs: [\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"governor\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"GuardianRegistrySet\",\n type: \"event\",\n inputs: [\n { name: \"oldRegistry\", type: \"address\", indexed: true },\n { name: \"newRegistry\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"Initialized\",\n type: \"event\",\n inputs: [{ name: \"version\", type: \"uint64\", indexed: false }],\n },\n {\n name: \"ManagementFeeBpsUpdated\",\n type: \"event\",\n inputs: [\n { name: \"oldBps\", type: \"uint256\", indexed: false },\n { name: \"newBps\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"MetadataUpdated\",\n type: \"event\",\n inputs: [\n { name: \"id\", type: \"uint256\", indexed: true },\n { name: \"metadataURI\", type: \"string\", indexed: false },\n ],\n },\n {\n name: \"OwnerRotated\",\n type: \"event\",\n inputs: [\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"newOwner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"OwnershipTransferred\",\n type: \"event\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true },\n { name: \"newOwner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"PriceRouterUpdated\",\n type: \"event\",\n inputs: [{ name: \"router\", type: \"address\", indexed: true }],\n },\n {\n name: \"ProtocolConfigUpdated\",\n type: \"event\",\n inputs: [\n { name: \"oldConfig\", type: \"address\", indexed: true },\n { name: \"newConfig\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"SyndicateCreated\",\n type: \"event\",\n inputs: [\n { name: \"id\", type: \"uint256\", indexed: true },\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"creator\", type: \"address\", indexed: true },\n { name: \"metadataURI\", type: \"string\", indexed: false },\n { name: \"subdomain\", type: \"string\", indexed: false },\n ],\n },\n {\n name: \"SyndicateDeactivated\",\n type: \"event\",\n inputs: [{ name: \"id\", type: \"uint256\", indexed: true }],\n },\n {\n name: \"Upgraded\",\n type: \"event\",\n inputs: [{ name: \"implementation\", type: \"address\", indexed: true }],\n },\n {\n name: \"UpgradesEnabledUpdated\",\n type: \"event\",\n inputs: [{ name: \"enabled\", type: \"bool\", indexed: false }],\n },\n {\n name: \"VaultImplUpdated\",\n type: \"event\",\n inputs: [\n { name: \"oldImpl\", type: \"address\", indexed: false },\n { name: \"newImpl\", type: \"address\", indexed: false },\n ],\n },\n {\n name: \"VaultUpgraded\",\n type: \"event\",\n inputs: [\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"newImpl\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"WithdrawalQueueDeployed\",\n type: \"event\",\n inputs: [\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"queue\", type: \"address\", indexed: true },\n ],\n },\n { name: \"AddressEmptyCode\", type: \"error\", inputs: [{ name: \"target\", type: \"address\" }] },\n {\n name: \"ERC1967InvalidImplementation\",\n type: \"error\",\n inputs: [{ name: \"implementation\", type: \"address\" }],\n },\n { name: \"ERC1967NonPayable\", type: \"error\", inputs: [] },\n { name: \"FailedCall\", type: \"error\", inputs: [] },\n { name: \"InsufficientCreationFee\", type: \"error\", inputs: [] },\n { name: \"InvalidAgentRegistry\", type: \"error\", inputs: [] },\n { name: \"InvalidBeacon\", type: \"error\", inputs: [] },\n { name: \"InvalidENSRegistrar\", type: \"error\", inputs: [] },\n { name: \"InvalidExecutorImpl\", type: \"error\", inputs: [] },\n { name: \"InvalidFeeToken\", type: \"error\", inputs: [] },\n { name: \"InvalidGuardianRegistry\", type: \"error\", inputs: [] },\n { name: \"InvalidInitialization\", type: \"error\", inputs: [] },\n { name: \"InvalidProtocolConfig\", type: \"error\", inputs: [] },\n { name: \"InvalidSyndicateConfig\", type: \"error\", inputs: [] },\n { name: \"InvalidVaultImpl\", type: \"error\", inputs: [] },\n { name: \"ManagementFeeTooHigh\", type: \"error\", inputs: [] },\n { name: \"NotAgentOwner\", type: \"error\", inputs: [] },\n { name: \"NotCreator\", type: \"error\", inputs: [] },\n { name: \"NotInitializing\", type: \"error\", inputs: [] },\n { name: \"NotVaultOwnerOrCreator\", type: \"error\", inputs: [] },\n { name: \"OwnableInvalidOwner\", type: \"error\", inputs: [{ name: \"owner\", type: \"address\" }] },\n {\n name: \"OwnableUnauthorizedAccount\",\n type: \"error\",\n inputs: [{ name: \"account\", type: \"address\" }],\n },\n { name: \"PreparedStakeNotFound\", type: \"error\", inputs: [] },\n { name: \"ProposalActive\", type: \"error\", inputs: [] },\n { name: \"ProposalsOpen\", type: \"error\", inputs: [] },\n { name: \"RegistryFactoryMismatch\", type: \"error\", inputs: [] },\n {\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n { name: \"StrategyActive\", type: \"error\", inputs: [] },\n { name: \"SubdomainTaken\", type: \"error\", inputs: [] },\n { name: \"SubdomainTooShort\", type: \"error\", inputs: [] },\n { name: \"UUPSUnauthorizedCallContext\", type: \"error\", inputs: [] },\n {\n name: \"UUPSUnsupportedProxiableUUID\",\n type: \"error\",\n inputs: [{ name: \"slot\", type: \"bytes32\" }],\n },\n { name: \"UpgradesDisabled\", type: \"error\", inputs: [] },\n { name: \"VaultImplMismatch\", type: \"error\", inputs: [] },\n { name: \"VaultNotDeployed\", type: \"error\", inputs: [] },\n { name: \"VaultStillStaked\", type: \"error\", inputs: [] },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n] as const;\n\n// ── ProtocolConfig (protocol-wide fee parameters) ──\n\nexport const PROTOCOL_CONFIG_ABI = [\n {\n name: \"MAX_GUARDIAN_FEE_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PROTOCOL_FEE_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"acceptOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"guardianFeeBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"guardiansFeeRecipient\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"owner\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"pendingOwner\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"protocolFeeBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"renounceOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"setGuardianFeeBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setGuardiansFeeRecipient\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newRecipient\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setProtocolFeeBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setProtocolFeeRecipient\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newRecipient\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"transferOwnership\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newOwner\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"GuardiansFeeRecipientSet\",\n type: \"event\",\n inputs: [\n { name: \"oldRecipient\", type: \"address\", indexed: true },\n { name: \"newRecipient\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"OwnershipTransferStarted\",\n type: \"event\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true },\n { name: \"newOwner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"OwnershipTransferred\",\n type: \"event\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true },\n { name: \"newOwner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"ParameterChangeFinalized\",\n type: \"event\",\n inputs: [\n { name: \"paramKey\", type: \"bytes32\", indexed: true },\n { name: \"oldValue\", type: \"uint256\", indexed: false },\n { name: \"newValue\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"ProtocolFeeRecipientSet\",\n type: \"event\",\n inputs: [\n { name: \"oldRecipient\", type: \"address\", indexed: true },\n { name: \"newRecipient\", type: \"address\", indexed: true },\n ],\n },\n { name: \"InvalidGuardianFeeBps\", type: \"error\", inputs: [] },\n { name: \"InvalidGuardiansFeeRecipient\", type: \"error\", inputs: [] },\n { name: \"InvalidProtocolFeeBps\", type: \"error\", inputs: [] },\n { name: \"InvalidProtocolFeeRecipient\", type: \"error\", inputs: [] },\n { name: \"OwnableInvalidOwner\", type: \"error\", inputs: [{ name: \"owner\", type: \"address\" }] },\n {\n name: \"OwnableUnauthorizedAccount\",\n type: \"error\",\n inputs: [{ name: \"account\", type: \"address\" }],\n },\n] as const;\n\n// ── L2 Registry (Durin ENS — text records) ──\n\nexport const L2_REGISTRY_ABI = [\n {\n name: \"setText\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"node\", type: \"bytes32\" },\n { name: \"key\", type: \"string\" },\n { name: \"value\", type: \"string\" },\n ],\n outputs: [],\n },\n {\n name: \"text\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"node\", type: \"bytes32\" }, { name: \"key\", type: \"string\" }],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n] as const;\n\n// ── StrategyRegistry (no Foundry artifact — hand-maintained) ──\n\nexport const STRATEGY_REGISTRY_ABI = [\n {\n name: \"registerStrategy\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"implementation\", type: \"address\" },\n { name: \"strategyTypeId\", type: \"uint256\" },\n { name: \"name\", type: \"string\" },\n { name: \"metadataURI\", type: \"string\" },\n ],\n outputs: [{ name: \"strategyId\", type: \"uint256\" }],\n },\n {\n name: \"getStrategy\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"strategyId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"implementation\", type: \"address\" },\n { name: \"creator\", type: \"address\" },\n { name: \"strategyTypeId\", type: \"uint256\" },\n { name: \"active\", type: \"bool\" },\n { name: \"name\", type: \"string\" },\n { name: \"metadataURI\", type: \"string\" },\n ],\n },\n ],\n },\n {\n name: \"getStrategiesByType\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"strategyTypeId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256[]\" }],\n },\n {\n name: \"getStrategiesByCreator\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"creator\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256[]\" }],\n },\n {\n name: \"strategyCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"isStrategyActive\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"strategyId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"deactivateStrategy\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"strategyId\", type: \"uint256\" }],\n outputs: [],\n },\n] as const;\n\n// ── Venice Staking (sVVV = staking contract ERC-20) ──\n\nexport const VENICE_STAKING_ABI = [\n {\n name: \"stake\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"recipient\", type: \"address\" }, { name: \"amount\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"initiateUnstake\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"amount\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"finalizeUnstake\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"mintDiem\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"sVVVAmountToLock\", type: \"uint256\" },\n { name: \"minDiemAmountOut\", type: \"uint256\" },\n ],\n outputs: [],\n },\n {\n name: \"balanceOf\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"pendingRewards\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"_user\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"cooldownDuration\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getDiemAmountOut\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"sVVVAmountToLock\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n { name: \"claim\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"burnDiem\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"diemAmountToBurn\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"balanceOfUnlocked\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"user\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n] as const;\n\n// ── EAS (Ethereum Attestation Service) ──\n\nexport const EAS_ABI = [\n {\n name: \"attest\",\n type: \"function\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"request\",\n type: \"tuple\",\n components: [\n { name: \"schema\", type: \"bytes32\" },\n {\n name: \"data\",\n type: \"tuple\",\n components: [\n { name: \"recipient\", type: \"address\" },\n { name: \"expirationTime\", type: \"uint64\" },\n { name: \"revocable\", type: \"bool\" },\n { name: \"refUID\", type: \"bytes32\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n ],\n },\n ],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"revoke\",\n type: \"function\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"request\",\n type: \"tuple\",\n components: [\n { name: \"schema\", type: \"bytes32\" },\n {\n name: \"data\",\n type: \"tuple\",\n components: [{ name: \"uid\", type: \"bytes32\" }, { name: \"value\", type: \"uint256\" }],\n },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"getAttestation\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"uid\", type: \"bytes32\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"uid\", type: \"bytes32\" },\n { name: \"schema\", type: \"bytes32\" },\n { name: \"time\", type: \"uint64\" },\n { name: \"expirationTime\", type: \"uint64\" },\n { name: \"revocationTime\", type: \"uint64\" },\n { name: \"refUID\", type: \"bytes32\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"attester\", type: \"address\" },\n { name: \"revocable\", type: \"bool\" },\n { name: \"data\", type: \"bytes\" },\n ],\n },\n ],\n },\n] as const;\n\n// ── SyndicateGovernor ──\n\nexport const SYNDICATE_GOVERNOR_ABI = [\n {\n name: \"ABSOLUTE_MAX_CO_PROPOSERS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"ABSOLUTE_MAX_STRATEGY_DURATION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"ABSOLUTE_MIN_STRATEGY_DURATION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_COLLABORATION_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_COOLDOWN_PERIOD\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_EXECUTION_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PERFORMANCE_FEE_CAP\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_VETO_THRESHOLD_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_VOTING_PERIOD\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_COLLABORATION_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_COOLDOWN_PERIOD\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_EXECUTION_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_SPLIT_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_VETO_THRESHOLD_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_VOTING_PERIOD\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"PARAM_COLLAB_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_COOLDOWN\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_EXECUTION_WINDOW\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_MAX_CO_PROPOSERS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_MAX_PERF_FEE\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_MAX_STRATEGY_DURATION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_MIN_STRATEGY_DURATION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_VETO_THRESHOLD_BPS\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"PARAM_VOTING_PERIOD\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"approveCollaboration\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"cancelEmergencySettle\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"cancelProposal\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"claimUnclaimedFees\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"vault\", type: \"address\" }, { name: \"token\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"emergencyCancel\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"emergencySettleWithCalls\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\" },\n {\n name: \"calls\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"executeProposal\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"factory\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"finalizeEmergencySettle\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"forceSetParams\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"votingPeriod\", type: \"uint256\" },\n { name: \"executionWindow\", type: \"uint256\" },\n { name: \"vetoThresholdBps\", type: \"uint256\" },\n { name: \"maxPerformanceFeeBps\", type: \"uint256\" },\n { name: \"cooldownPeriod\", type: \"uint256\" },\n { name: \"collaborationWindow\", type: \"uint256\" },\n { name: \"maxCoProposers\", type: \"uint256\" },\n { name: \"minStrategyDuration\", type: \"uint256\" },\n { name: \"maxStrategyDuration\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"getActiveProposal\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getCapitalSnapshot\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getCoProposers\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [{ name: \"agent\", type: \"address\" }, { name: \"splitBps\", type: \"uint256\" }],\n },\n ],\n },\n {\n name: \"getCooldownEnd\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"getExecuteCalls\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n ],\n },\n {\n name: \"getGovernorParams\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"votingPeriod\", type: \"uint256\" },\n { name: \"executionWindow\", type: \"uint256\" },\n { name: \"vetoThresholdBps\", type: \"uint256\" },\n { name: \"maxPerformanceFeeBps\", type: \"uint256\" },\n { name: \"cooldownPeriod\", type: \"uint256\" },\n { name: \"collaborationWindow\", type: \"uint256\" },\n { name: \"maxCoProposers\", type: \"uint256\" },\n { name: \"minStrategyDuration\", type: \"uint256\" },\n { name: \"maxStrategyDuration\", type: \"uint256\" },\n ],\n },\n ],\n },\n {\n name: \"getProposal\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"p\",\n type: \"tuple\",\n components: [\n { name: \"id\", type: \"uint256\" },\n { name: \"proposer\", type: \"address\" },\n { name: \"vault\", type: \"address\" },\n { name: \"strategy\", type: \"address\" },\n { name: \"metadataURI\", type: \"string\" },\n { name: \"performanceFeeBps\", type: \"uint256\" },\n { name: \"strategyDuration\", type: \"uint256\" },\n { name: \"votesFor\", type: \"uint256\" },\n { name: \"votesAgainst\", type: \"uint256\" },\n { name: \"votesAbstain\", type: \"uint256\" },\n { name: \"snapshotTimestamp\", type: \"uint256\" },\n { name: \"voteEnd\", type: \"uint256\" },\n { name: \"reviewEnd\", type: \"uint256\" },\n { name: \"executeBy\", type: \"uint256\" },\n { name: \"executedAt\", type: \"uint256\" },\n { name: \"state\", type: \"uint8\" },\n { name: \"vetoThresholdBps\", type: \"uint256\" },\n { name: \"snapshotProtocolFeeBps\", type: \"uint256\" },\n { name: \"snapshotProtocolFeeRecipient\", type: \"address\" },\n { name: \"snapshotGuardianFeeBps\", type: \"uint256\" },\n { name: \"snapshotGuardiansFeeRecipient\", type: \"address\" },\n { name: \"selfManagesFees\", type: \"bool\" },\n ],\n },\n ],\n },\n {\n name: \"getProposalState\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"getProposalView\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"v\",\n type: \"tuple\",\n components: [\n { name: \"voteEnd\", type: \"uint256\" },\n { name: \"reviewEnd\", type: \"uint256\" },\n { name: \"vault\", type: \"address\" },\n ],\n },\n ],\n },\n {\n name: \"getSettlementCalls\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n ],\n },\n {\n name: \"getVoteWeight\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }, { name: \"voter\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"guardianRegistry\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"hasVoted\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }, { name: \"voter\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault_\", type: \"address\" },\n { name: \"guardianRegistry_\", type: \"address\" },\n { name: \"protocolConfig_\", type: \"address\" },\n { name: \"factory_\", type: \"address\" },\n {\n name: \"params_\",\n type: \"tuple\",\n components: [\n { name: \"votingPeriod\", type: \"uint256\" },\n { name: \"executionWindow\", type: \"uint256\" },\n { name: \"vetoThresholdBps\", type: \"uint256\" },\n { name: \"maxPerformanceFeeBps\", type: \"uint256\" },\n { name: \"cooldownPeriod\", type: \"uint256\" },\n { name: \"collaborationWindow\", type: \"uint256\" },\n { name: \"maxCoProposers\", type: \"uint256\" },\n { name: \"minStrategyDuration\", type: \"uint256\" },\n { name: \"maxStrategyDuration\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n name: \"openProposalCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"proposalCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"propose\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault\", type: \"address\" },\n { name: \"strategy\", type: \"address\" },\n { name: \"metadataURI\", type: \"string\" },\n { name: \"strategyDuration\", type: \"uint256\" },\n {\n name: \"executeCalls\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n {\n name: \"settlementCalls\",\n type: \"tuple[]\",\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n { name: \"value\", type: \"uint256\" },\n ],\n },\n {\n name: \"coProposers\",\n type: \"tuple[]\",\n components: [{ name: \"agent\", type: \"address\" }, { name: \"splitBps\", type: \"uint256\" }],\n },\n ],\n outputs: [{ name: \"proposalId\", type: \"uint256\" }],\n },\n {\n name: \"protocolConfig\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"rejectCollaboration\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"resolveProposalState\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setCollaborationWindow\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setCooldownPeriod\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setExecutionWindow\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setMaxCoProposers\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setMaxPerformanceFeeBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setMaxStrategyDuration\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setMinStrategyDuration\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setProtocolConfig\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newConfig\", type: \"address\" }],\n outputs: [],\n },\n {\n name: \"setVetoThresholdBps\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"setVotingPeriod\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"newValue\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"settleProposal\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"unclaimedFees\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"token\", type: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"unstick\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"vault\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"vetoProposal\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }],\n outputs: [],\n },\n {\n name: \"vote\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"proposalId\", type: \"uint256\" }, { name: \"support\", type: \"uint8\" }],\n outputs: [],\n },\n {\n name: \"CollaborationApproved\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"agent\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"CollaborationDeadlineExpired\",\n type: \"event\",\n inputs: [{ name: \"proposalId\", type: \"uint256\", indexed: true }],\n },\n {\n name: \"CollaborationRejected\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"agent\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"CollaborationTransitionedToPending\",\n type: \"event\",\n inputs: [{ name: \"proposalId\", type: \"uint256\", indexed: true }],\n },\n {\n name: \"CollaborativeProposalCreated\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"leadProposer\", type: \"address\", indexed: true },\n { name: \"coProposers\", type: \"address[]\", indexed: false },\n { name: \"splitsBps\", type: \"uint256[]\", indexed: false },\n ],\n },\n {\n name: \"EmergencySettleCancelled\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"owner\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"EmergencySettleFinalized\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"pnl\", type: \"int256\", indexed: false },\n ],\n },\n {\n name: \"EmergencySettleProposed\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"callsHash\", type: \"bytes32\", indexed: false },\n { name: \"reviewEnd\", type: \"uint64\", indexed: false },\n ],\n },\n {\n name: \"EmergencySettled\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"pnl\", type: \"int256\", indexed: false },\n { name: \"customCallCount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"FeeClaimed\",\n type: \"event\",\n inputs: [\n { name: \"recipient\", type: \"address\", indexed: true },\n { name: \"token\", type: \"address\", indexed: true },\n { name: \"amount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"FeeClamped\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"snapshotted\", type: \"uint256\", indexed: true },\n { name: \"clamped\", type: \"uint256\", indexed: true },\n ],\n },\n {\n name: \"FeeTransferFailed\",\n type: \"event\",\n inputs: [\n { name: \"recipient\", type: \"address\", indexed: true },\n { name: \"token\", type: \"address\", indexed: true },\n { name: \"amount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"GuardianFeeAccrued\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"asset\", type: \"address\", indexed: true },\n { name: \"recipient\", type: \"address\", indexed: true },\n { name: \"amount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"GuardianReviewResolved\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"blocked\", type: \"bool\", indexed: false },\n ],\n },\n {\n name: \"Initialized\",\n type: \"event\",\n inputs: [{ name: \"version\", type: \"uint64\", indexed: false }],\n },\n {\n name: \"ParameterChangeFinalized\",\n type: \"event\",\n inputs: [\n { name: \"paramKey\", type: \"bytes32\", indexed: true },\n { name: \"oldValue\", type: \"uint256\", indexed: false },\n { name: \"newValue\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"ProposalCancelled\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"cancelledBy\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"ProposalCreated\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"proposer\", type: \"address\", indexed: true },\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"performanceFeeBps\", type: \"uint256\", indexed: false },\n { name: \"strategyDuration\", type: \"uint256\", indexed: false },\n { name: \"executeCallCount\", type: \"uint256\", indexed: false },\n { name: \"settlementCallCount\", type: \"uint256\", indexed: false },\n { name: \"metadataURI\", type: \"string\", indexed: false },\n ],\n },\n {\n name: \"ProposalExecuted\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"capitalSnapshot\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"ProposalSettled\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"vault\", type: \"address\", indexed: true },\n { name: \"pnl\", type: \"int256\", indexed: false },\n { name: \"performanceFee\", type: \"uint256\", indexed: false },\n { name: \"duration\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"ProposalVetoed\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"vetoedBy\", type: \"address\", indexed: true },\n ],\n },\n {\n name: \"VaultAdded\",\n type: \"event\",\n inputs: [{ name: \"vault\", type: \"address\", indexed: true }],\n },\n {\n name: \"VaultRemoved\",\n type: \"event\",\n inputs: [{ name: \"vault\", type: \"address\", indexed: true }],\n },\n {\n name: \"VoteCast\",\n type: \"event\",\n inputs: [\n { name: \"proposalId\", type: \"uint256\", indexed: true },\n { name: \"voter\", type: \"address\", indexed: true },\n { name: \"support\", type: \"uint8\", indexed: false },\n { name: \"weight\", type: \"uint256\", indexed: false },\n ],\n },\n { name: \"AlreadyApproved\", type: \"error\", inputs: [] },\n { name: \"AlreadyVoted\", type: \"error\", inputs: [] },\n { name: \"CancelNotAllowedNearQuorum\", type: \"error\", inputs: [] },\n { name: \"CoProposerShareUnderflow\", type: \"error\", inputs: [] },\n { name: \"CollaborationExpired\", type: \"error\", inputs: [] },\n { name: \"CooldownNotElapsed\", type: \"error\", inputs: [] },\n { name: \"DuplicateCoProposer\", type: \"error\", inputs: [] },\n { name: \"EmergencyNotProposed\", type: \"error\", inputs: [] },\n { name: \"EmergencySettleBlocked\", type: \"error\", inputs: [] },\n { name: \"EmergencySettleNotReady\", type: \"error\", inputs: [] },\n { name: \"EmptyExecuteCalls\", type: \"error\", inputs: [] },\n { name: \"EmptySettlementCalls\", type: \"error\", inputs: [] },\n { name: \"ExecutionWindowExpired\", type: \"error\", inputs: [] },\n { name: \"InvalidCollaborationWindow\", type: \"error\", inputs: [] },\n { name: \"InvalidCooldownPeriod\", type: \"error\", inputs: [] },\n { name: \"InvalidExecutionWindow\", type: \"error\", inputs: [] },\n { name: \"InvalidGuardianFeeBps\", type: \"error\", inputs: [] },\n { name: \"InvalidGuardiansFeeRecipient\", type: \"error\", inputs: [] },\n { name: \"InvalidInitialization\", type: \"error\", inputs: [] },\n { name: \"InvalidMaxCoProposers\", type: \"error\", inputs: [] },\n { name: \"InvalidMaxPerformanceFeeBps\", type: \"error\", inputs: [] },\n { name: \"InvalidProtocolFeeBps\", type: \"error\", inputs: [] },\n { name: \"InvalidProtocolFeeRecipient\", type: \"error\", inputs: [] },\n { name: \"InvalidSplits\", type: \"error\", inputs: [] },\n { name: \"InvalidStrategyDurationBounds\", type: \"error\", inputs: [] },\n { name: \"InvalidVault\", type: \"error\", inputs: [] },\n { name: \"InvalidVetoThresholdBps\", type: \"error\", inputs: [] },\n { name: \"InvalidVotingPeriod\", type: \"error\", inputs: [] },\n { name: \"LeadSplitTooLow\", type: \"error\", inputs: [] },\n { name: \"MetadataURITooLong\", type: \"error\", inputs: [] },\n { name: \"NoVotingPower\", type: \"error\", inputs: [] },\n { name: \"NotAuthorized\", type: \"error\", inputs: [] },\n { name: \"NotCoProposer\", type: \"error\", inputs: [] },\n { name: \"NotDraftState\", type: \"error\", inputs: [] },\n { name: \"NotFactory\", type: \"error\", inputs: [] },\n { name: \"NotInGuardianReview\", type: \"error\", inputs: [] },\n { name: \"NotInitializing\", type: \"error\", inputs: [] },\n { name: \"NotLeadProposer\", type: \"error\", inputs: [] },\n { name: \"NotProposer\", type: \"error\", inputs: [] },\n { name: \"NotRegisteredAgent\", type: \"error\", inputs: [] },\n { name: \"NotVaultOwner\", type: \"error\", inputs: [] },\n { name: \"NotWithinVotingPeriod\", type: \"error\", inputs: [] },\n { name: \"OwnerBondInsufficient\", type: \"error\", inputs: [] },\n { name: \"ParamsFrozenDuringProposal\", type: \"error\", inputs: [] },\n { name: \"ProposalInDraft\", type: \"error\", inputs: [] },\n { name: \"ProposalNotApproved\", type: \"error\", inputs: [] },\n { name: \"ProposalNotCancellable\", type: \"error\", inputs: [] },\n { name: \"ProposalNotExecuted\", type: \"error\", inputs: [] },\n { name: \"ProposalNotFound\", type: \"error\", inputs: [] },\n { name: \"Reentrancy\", type: \"error\", inputs: [] },\n { name: \"RegistryNotSet\", type: \"error\", inputs: [] },\n { name: \"SplitTooLow\", type: \"error\", inputs: [] },\n { name: \"StrategyAlreadyActive\", type: \"error\", inputs: [] },\n { name: \"StrategyDurationNotElapsed\", type: \"error\", inputs: [] },\n { name: \"StrategyDurationTooLong\", type: \"error\", inputs: [] },\n { name: \"StrategyDurationTooShort\", type: \"error\", inputs: [] },\n { name: \"TooManyCalls\", type: \"error\", inputs: [] },\n { name: \"TooManyCoProposers\", type: \"error\", inputs: [] },\n { name: \"VaultAlreadyRegistered\", type: \"error\", inputs: [] },\n { name: \"VaultHasOpenProposal\", type: \"error\", inputs: [] },\n { name: \"VaultNotRegistered\", type: \"error\", inputs: [] },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n] as const;\n\n// ── EAS Schema Registry ──\n\nexport const SCHEMA_REGISTRY_ABI = [\n {\n name: \"register\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"schema\", type: \"string\" },\n { name: \"resolver\", type: \"address\" },\n { name: \"revocable\", type: \"bool\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n name: \"Registered\",\n type: \"event\",\n inputs: [\n { name: \"uid\", type: \"bytes32\", indexed: true },\n { name: \"registerer\", type: \"address\", indexed: true },\n ],\n },\n] as const;\n\n// ── BaseStrategy (IStrategy + lifecycle views) ──\n\nexport const BASE_STRATEGY_ABI = [\n { name: \"execute\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"executed\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault_\", type: \"address\" },\n { name: \"proposer_\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n ],\n outputs: [],\n },\n {\n name: \"name\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"positions\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"venue\", type: \"address\" },\n { name: \"kind\", type: \"bytes32\" },\n { name: \"ref\", type: \"bytes\" },\n ],\n },\n ],\n },\n {\n name: \"proposer\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"selfManagesFees\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n { name: \"settle\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"state\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"updateParams\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"data\", type: \"bytes\" }],\n outputs: [],\n },\n {\n name: \"vault\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n { name: \"AlreadyExecuted\", type: \"error\", inputs: [] },\n { name: \"AlreadyInitialized\", type: \"error\", inputs: [] },\n { name: \"AlreadySettled\", type: \"error\", inputs: [] },\n { name: \"NotExecuted\", type: \"error\", inputs: [] },\n { name: \"NotProposer\", type: \"error\", inputs: [] },\n { name: \"NotVault\", type: \"error\", inputs: [] },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n] as const;\n\n// ── HyperliquidPerpStrategy ──\n\nexport const HYPERLIQUID_PERP_STRATEGY_ABI = [\n {\n name: \"asset\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"assetTraded\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"uint32\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"cumulativeSwept\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"depositAmount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n { name: \"execute\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"executed\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"finalizeForHyperCore\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"uint64\" },\n { name: \"variant\", type: \"uint8\" },\n { name: \"createNonce\", type: \"uint64\" },\n ],\n outputs: [],\n },\n {\n name: \"getMarginSummary\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"summary\",\n type: \"tuple\",\n components: [\n { name: \"accountValue\", type: \"int64\" },\n { name: \"marginUsed\", type: \"uint64\" },\n { name: \"ntlPos\", type: \"uint64\" },\n { name: \"rawUsd\", type: \"int64\" },\n ],\n },\n ],\n },\n {\n name: \"getPosition\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"pos\",\n type: \"tuple\",\n components: [\n { name: \"szi\", type: \"int64\" },\n { name: \"entryNtl\", type: \"uint64\" },\n { name: \"isolatedRawUsd\", type: \"int64\" },\n { name: \"leverage\", type: \"uint32\" },\n { name: \"isIsolated\", type: \"bool\" },\n ],\n },\n ],\n },\n {\n name: \"getSpotBalance\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"balance\",\n type: \"tuple\",\n components: [\n { name: \"total\", type: \"uint64\" },\n { name: \"hold\", type: \"uint64\" },\n { name: \"entryNtl\", type: \"uint64\" },\n ],\n },\n ],\n },\n {\n name: \"hasActiveStopLoss\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"hyperCoreFinalized\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"inFlightToHc\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault_\", type: \"address\" },\n { name: \"proposer_\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n ],\n outputs: [],\n },\n {\n name: \"initiateReturn\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"lastRecoverBlock\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"lastTradeReset\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"leverage\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"maxPositionSize\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"maxTradesPerDay\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"moveSpotToPerp\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"name\",\n type: \"function\",\n stateMutability: \"pure\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"perpAssetIndex\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"positions\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"ps\",\n type: \"tuple[]\",\n components: [\n { name: \"venue\", type: \"address\" },\n { name: \"kind\", type: \"bytes32\" },\n { name: \"ref\", type: \"bytes\" },\n ],\n },\n ],\n },\n {\n name: \"proposer\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"recoverHcResiduals\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"returnsInitiated\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"returnsInitiatedBlock\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"selfManagesFees\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n { name: \"settle\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"settled\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"state\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"sweepToVault\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"tradedAssets\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [{ name: \"\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"tradesToday\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint32\" }],\n },\n {\n name: \"updateParams\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"data\", type: \"bytes\" }],\n outputs: [],\n },\n {\n name: \"vault\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"FundsParked\",\n type: \"event\",\n inputs: [{ name: \"amount\", type: \"uint256\", indexed: false }],\n },\n {\n name: \"FundsSwept\",\n type: \"event\",\n inputs: [{ name: \"amount\", type: \"uint256\", indexed: false }],\n },\n {\n name: \"HyperCoreFinalized\",\n type: \"event\",\n inputs: [\n { name: \"token\", type: \"uint64\", indexed: false },\n { name: \"variant\", type: \"uint8\", indexed: false },\n { name: \"createNonce\", type: \"uint64\", indexed: false },\n ],\n },\n {\n name: \"PositionClosed\",\n type: \"event\",\n inputs: [\n { name: \"asset\", type: \"uint32\", indexed: false },\n { name: \"limitPx\", type: \"uint64\", indexed: false },\n { name: \"sz\", type: \"uint64\", indexed: false },\n ],\n },\n {\n name: \"PositionOpened\",\n type: \"event\",\n inputs: [\n { name: \"asset\", type: \"uint32\", indexed: false },\n { name: \"isBuy\", type: \"bool\", indexed: false },\n { name: \"limitPx\", type: \"uint64\", indexed: false },\n { name: \"sz\", type: \"uint64\", indexed: false },\n { name: \"leverage\", type: \"uint32\", indexed: false },\n ],\n },\n { name: \"ReturnsInitiated\", type: \"event\", inputs: [] },\n { name: \"Settled\", type: \"event\", inputs: [] },\n {\n name: \"StopLossUpdated\",\n type: \"event\",\n inputs: [{ name: \"triggerPx\", type: \"uint64\", indexed: false }],\n },\n { name: \"AccountMarginSummaryPrecompileCallFailed\", type: \"error\", inputs: [] },\n { name: \"AlreadyExecuted\", type: \"error\", inputs: [] },\n { name: \"AlreadyFinalized\", type: \"error\", inputs: [] },\n { name: \"AlreadyInitialized\", type: \"error\", inputs: [] },\n { name: \"AlreadySettled\", type: \"error\", inputs: [] },\n { name: \"DepositAmountTooLarge\", type: \"error\", inputs: [] },\n { name: \"InvalidAction\", type: \"error\", inputs: [] },\n { name: \"InvalidAmount\", type: \"error\", inputs: [] },\n { name: \"MaxTradesExceeded\", type: \"error\", inputs: [] },\n { name: \"NotAuthorized\", type: \"error\", inputs: [] },\n { name: \"NotExecuted\", type: \"error\", inputs: [] },\n { name: \"NotProposer\", type: \"error\", inputs: [] },\n { name: \"NotSweepable\", type: \"error\", inputs: [] },\n { name: \"NotVault\", type: \"error\", inputs: [] },\n { name: \"Position2PrecompileCallFailed\", type: \"error\", inputs: [] },\n {\n name: \"PositionTooLarge\",\n type: \"error\",\n inputs: [{ name: \"actual\", type: \"uint256\" }, { name: \"max\", type: \"uint256\" }],\n },\n { name: \"ReturnsNotInitiated\", type: \"error\", inputs: [] },\n {\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n { name: \"SettleTooSoon\", type: \"error\", inputs: [] },\n { name: \"SpotBalancePrecompileCallFailed\", type: \"error\", inputs: [] },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n] as const;\n\n// ── PortfolioStrategy ──\n\nexport const PORTFOLIO_STRATEGY_ABI = [\n {\n name: \"BPS_DENOMINATOR\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_BASKET_SIZE\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PUSH_PRICE_AGE\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MAX_PUSH_PRICE_AGE_CAP\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"MIN_PUSH_PRICE_AGE\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"PRICE_PRECISION\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"allocationCount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"asset\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"assetDecimals\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"chainlinkVerifier\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n { name: \"execute\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"executed\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n name: \"getAllocations\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"token\", type: \"address\" },\n { name: \"targetWeightBps\", type: \"uint256\" },\n { name: \"tokenAmount\", type: \"uint256\" },\n { name: \"investedAmount\", type: \"uint256\" },\n ],\n },\n ],\n },\n {\n name: \"getPriceDecimals\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8[]\" }],\n },\n {\n name: \"getSwapExtraData\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes[]\" }],\n },\n {\n name: \"getTokenDecimals\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8[]\" }],\n },\n {\n name: \"initialize\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"vault_\", type: \"address\" },\n { name: \"proposer_\", type: \"address\" },\n { name: \"data\", type: \"bytes\" },\n ],\n outputs: [],\n },\n {\n name: \"maxSlippageBps\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"name\",\n type: \"function\",\n stateMutability: \"pure\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n name: \"positions\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n components: [\n { name: \"venue\", type: \"address\" },\n { name: \"kind\", type: \"bytes32\" },\n { name: \"ref\", type: \"bytes\" },\n ],\n },\n ],\n },\n {\n name: \"proposer\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"rebalance\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n name: \"rebalanceDelta\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"priceReports\", type: \"bytes[]\" }],\n outputs: [],\n },\n {\n name: \"selfManagesFees\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n { name: \"settle\", type: \"function\", stateMutability: \"nonpayable\", inputs: [], outputs: [] },\n {\n name: \"state\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n name: \"swapAdapter\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"totalAmount\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n name: \"updateParams\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"data\", type: \"bytes\" }],\n outputs: [],\n },\n {\n name: \"vault\",\n type: \"function\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n name: \"Rebalanced\",\n type: \"event\",\n inputs: [\n { name: \"tokens\", type: \"address[]\", indexed: false },\n { name: \"oldWeights\", type: \"uint256[]\", indexed: false },\n { name: \"newWeights\", type: \"uint256[]\", indexed: false },\n { name: \"oldBalances\", type: \"uint256[]\", indexed: false },\n { name: \"newBalances\", type: \"uint256[]\", indexed: false },\n { name: \"totalAssetValue\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"RebalancedDelta\",\n type: \"event\",\n inputs: [\n { name: \"tokens\", type: \"address[]\", indexed: false },\n { name: \"oldWeights\", type: \"uint256[]\", indexed: false },\n { name: \"newWeights\", type: \"uint256[]\", indexed: false },\n { name: \"oldBalances\", type: \"uint256[]\", indexed: false },\n { name: \"newBalances\", type: \"uint256[]\", indexed: false },\n { name: \"totalAssetValue\", type: \"uint256\", indexed: false },\n { name: \"swapsExecuted\", type: \"uint256\", indexed: false },\n ],\n },\n {\n name: \"WeightsUpdated\",\n type: \"event\",\n inputs: [\n { name: \"tokens\", type: \"address[]\", indexed: false },\n { name: \"oldWeights\", type: \"uint256[]\", indexed: false },\n { name: \"newWeights\", type: \"uint256[]\", indexed: false },\n ],\n },\n { name: \"AlreadyExecuted\", type: \"error\", inputs: [] },\n { name: \"AlreadyInitialized\", type: \"error\", inputs: [] },\n { name: \"AlreadySettled\", type: \"error\", inputs: [] },\n { name: \"DuplicateToken\", type: \"error\", inputs: [{ name: \"token\", type: \"address\" }] },\n { name: \"InvalidAmount\", type: \"error\", inputs: [] },\n { name: \"InvalidFeedId\", type: \"error\", inputs: [] },\n { name: \"InvalidPriceAge\", type: \"error\", inputs: [] },\n { name: \"InvalidPriceDecimals\", type: \"error\", inputs: [] },\n { name: \"InvalidSlippage\", type: \"error\", inputs: [] },\n { name: \"InvalidWeights\", type: \"error\", inputs: [] },\n { name: \"LengthMismatch\", type: \"error\", inputs: [] },\n { name: \"NotExecuted\", type: \"error\", inputs: [] },\n { name: \"NotProposer\", type: \"error\", inputs: [] },\n { name: \"NotVault\", type: \"error\", inputs: [] },\n { name: \"QuoteUnavailable\", type: \"error\", inputs: [] },\n { name: \"RebalancingInProgress\", type: \"error\", inputs: [] },\n {\n name: \"SafeERC20FailedOperation\",\n type: \"error\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n { name: \"StalePrice\", type: \"error\", inputs: [] },\n { name: \"SwapFailed\", type: \"error\", inputs: [] },\n { name: \"TooManyTokens\", type: \"error\", inputs: [] },\n {\n name: \"WrongFeedId\",\n type: \"error\",\n inputs: [\n { name: \"index\", type: \"uint256\" },\n { name: \"expected\", type: \"bytes32\" },\n { name: \"actual\", type: \"bytes32\" },\n ],\n },\n { name: \"ZeroAddress\", type: \"error\", inputs: [] },\n] as const;\n\n// ── Synthra QuoterV2 (Robinhood testnet — different ABI from Uniswap) ──\n// Flat params (not struct), returns only amountOut (not 4-tuple).\n// Confirmed by ISynthraQuoter in sherwood-protocol src/adapters/SynthraSwapAdapter.sol.\n\nexport const SYNTHRA_QUOTER_ABI = [\n {\n name: \"quoteExactInputSingle\",\n type: \"function\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"tokenIn\", type: \"address\" },\n { name: \"tokenOut\", type: \"address\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", type: \"uint160\" },\n ],\n outputs: [{ name: \"amountOut\", type: \"uint256\" }],\n },\n] as const;\n"],"mappings":"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","names":[]}
|