@floorlaunchpad/sdk-evm 0.0.0-stage → 0.1.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.
Files changed (67) hide show
  1. package/LICENSE +61 -0
  2. package/README.md +154 -2
  3. package/dist/abi/floor.d.ts +1315 -0
  4. package/dist/abi/floor.d.ts.map +1 -0
  5. package/dist/abi/floor.js +154 -0
  6. package/dist/abi/floor.js.map +1 -0
  7. package/dist/abi/generated.d.ts +12824 -0
  8. package/dist/abi/generated.d.ts.map +1 -0
  9. package/dist/abi/generated.js +1264 -0
  10. package/dist/abi/generated.js.map +1 -0
  11. package/dist/abi/index.d.ts +2 -0
  12. package/dist/abi/index.d.ts.map +1 -0
  13. package/dist/abi/index.js +2 -0
  14. package/dist/abi/index.js.map +1 -0
  15. package/dist/adapter.d.ts +89 -0
  16. package/dist/adapter.d.ts.map +1 -0
  17. package/dist/adapter.js +250 -0
  18. package/dist/adapter.js.map +1 -0
  19. package/dist/deployments.d.ts +154 -0
  20. package/dist/deployments.d.ts.map +1 -0
  21. package/dist/deployments.js +368 -0
  22. package/dist/deployments.js.map +1 -0
  23. package/dist/errors.d.ts +56 -0
  24. package/dist/errors.d.ts.map +1 -0
  25. package/dist/errors.js +42 -0
  26. package/dist/errors.js.map +1 -0
  27. package/dist/events.d.ts +45 -0
  28. package/dist/events.d.ts.map +1 -0
  29. package/dist/events.js +78 -0
  30. package/dist/events.js.map +1 -0
  31. package/dist/fees.d.ts +100 -0
  32. package/dist/fees.d.ts.map +1 -0
  33. package/dist/fees.js +156 -0
  34. package/dist/fees.js.map +1 -0
  35. package/dist/index.d.ts +18 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +18 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/pool.d.ts +63 -0
  40. package/dist/pool.d.ts.map +1 -0
  41. package/dist/pool.js +118 -0
  42. package/dist/pool.js.map +1 -0
  43. package/dist/reads.d.ts +107 -0
  44. package/dist/reads.d.ts.map +1 -0
  45. package/dist/reads.js +201 -0
  46. package/dist/reads.js.map +1 -0
  47. package/dist/router.d.ts +99 -0
  48. package/dist/router.d.ts.map +1 -0
  49. package/dist/router.js +132 -0
  50. package/dist/router.js.map +1 -0
  51. package/dist/sale.d.ts +79 -0
  52. package/dist/sale.d.ts.map +1 -0
  53. package/dist/sale.js +123 -0
  54. package/dist/sale.js.map +1 -0
  55. package/dist/send.d.ts +64 -0
  56. package/dist/send.d.ts.map +1 -0
  57. package/dist/send.js +137 -0
  58. package/dist/send.js.map +1 -0
  59. package/dist/simulate.d.ts +180 -0
  60. package/dist/simulate.d.ts.map +1 -0
  61. package/dist/simulate.js +270 -0
  62. package/dist/simulate.js.map +1 -0
  63. package/dist/trade.d.ts +140 -0
  64. package/dist/trade.d.ts.map +1 -0
  65. package/dist/trade.js +170 -0
  66. package/dist/trade.js.map +1 -0
  67. package/package.json +43 -4
@@ -0,0 +1,1264 @@
1
+ /**
2
+ * GENERATED by `scripts/gen-abi.mjs` from the FLOOR contracts' Foundry build artifacts. Do not edit by hand: change the
3
+ * contracts, rebuild, and run the script again.
4
+ */
5
+ export const POOL_STATE_COMPONENTS = [{ name: 'poolInitializer', type: 'address' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'poolKey', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'poolBound', type: 'bool' }, { name: 'tickSpacing', type: 'int24' }, { name: 'vaultEth', type: 'uint256' }, { name: 'bidEthDeployed', type: 'uint256' }, { name: 'inventoryTokens', type: 'uint256' }, { name: 'floorTick', type: 'int24' }, { name: 'bidLower', type: 'int24' }, { name: 'bidLiquidity', type: 'uint128' }, { name: 'cumulativeVolumeEth', type: 'uint256' }, { name: 'unpaidSkim', type: 'uint256' }, { name: 'needsRatchet', type: 'bool' }, { name: 'wallShape', type: 'uint256' }, { name: 'seedLiq', type: 'uint128' }, { name: 'seedLower', type: 'int24' }, { name: 'seedUpper', type: 'int24' }, { name: 'seedFeesSweptEth', type: 'uint256' }, { name: 'seedFeesSweptTokens', type: 'uint256' }, { name: 'ladderUpper', type: 'int24' }, { name: 'ladderTokensRemaining', type: 'uint256' }, { name: 'ladderProceedsEth', type: 'uint256' }, { name: 'ladderSeeded', type: 'bool' }, { name: 'token', type: 'address' }, { name: 'platformVault', type: 'address' }, { name: 'platformPaidEth', type: 'uint256' }, { name: 'creatorSlotCount', type: 'uint256' }, { name: 'creatorBuyBps', type: 'uint256' }, { name: 'creatorSellBps', type: 'uint256' }, { name: 'creatorPendingMask', type: 'uint256' }, { name: 'recipientClaims', type: 'address' }, { name: 'creatorFeesOwed', type: 'uint256' }, { name: 'creatorFeesPaid', type: 'uint256' }, { name: 'holderRewards', type: 'address' }, { name: 'holderBuyBps', type: 'uint256' }, { name: 'holderSellBps', type: 'uint256' }, { name: 'holderPaidEth', type: 'uint256' }, { name: 'quoteToken', type: 'address' }, { name: 'quoteIsCurrency1', type: 'bool' }, { name: 'custodyVault', type: 'address' }, { name: 'skimBuyAtFloorBps', type: 'uint256' }, { name: 'skimSellAtFloorBps', type: 'uint256' }, { name: 'bidWidth', type: 'int24' }, { name: 'referrer', type: 'address' }, { name: 'referralFeesPaid', type: 'uint256' }, { name: 'quoteUnit', type: 'uint256' }, { name: 'holderOwedEth', type: 'uint256' }, { name: 'referralFeesOwed', type: 'uint256' }, { name: 'teamFeesOwed', type: 'uint256' }, { name: 'teamFeesPaid', type: 'uint256' }, { name: 'teamFeeBps', type: 'uint256' }];
6
+ export const POOL_KEY_COMPONENTS = [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }];
7
+ export const SLOT_VIEW_COMPONENTS = [{ name: 'wallet', type: 'address' }, { name: 'pendingId', type: 'bytes32' }, { name: 'platform', type: 'uint8' }, { name: 'bps', type: 'uint16' }, { name: 'paid', type: 'uint256' }, { name: 'due', type: 'uint256' }, { name: 'tokensPaid', type: 'uint256' }, { name: 'tokensDue', type: 'uint256' }];
8
+ export const SLOT_COMPONENTS = [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }];
9
+ export const HOOK_ABI = [
10
+ { type: 'function', name: 'FORWARD_GAS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
11
+ { type: 'function', name: 'afterAddLiquidity', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'liquidityDelta', type: 'int256' }, { name: 'salt', type: 'bytes32' }] }, { name: 'delta0', type: 'int256' }, { name: 'delta1', type: 'int256' }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }, { name: '', type: 'int256' }] },
12
+ { type: 'function', name: 'afterDonate', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'amount0', type: 'uint256' }, { name: 'amount1', type: 'uint256' }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }] },
13
+ { type: 'function', name: 'afterInitialize', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'sqrtPriceX96', type: 'uint160' }, { name: 'tick', type: 'int24' }], outputs: [{ name: '', type: 'bytes4' }] },
14
+ { type: 'function', name: 'afterRemoveLiquidity', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'liquidityDelta', type: 'int256' }, { name: 'salt', type: 'bytes32' }] }, { name: 'delta0', type: 'int256' }, { name: 'delta1', type: 'int256' }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }, { name: '', type: 'int256' }] },
15
+ { type: 'function', name: 'afterSwap', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'zeroForOne', type: 'bool' }, { name: 'amountSpecified', type: 'int256' }, { name: 'sqrtPriceLimitX96', type: 'uint160' }] }, { name: 'delta', type: 'int256' }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }, { name: '', type: 'int128' }] },
16
+ { type: 'function', name: 'beforeAddLiquidity', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'liquidityDelta', type: 'int256' }, { name: 'salt', type: 'bytes32' }] }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }] },
17
+ { type: 'function', name: 'beforeDonate', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'amount0', type: 'uint256' }, { name: 'amount1', type: 'uint256' }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }] },
18
+ { type: 'function', name: 'beforeInitialize', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'sqrtPriceX96', type: 'uint160' }], outputs: [{ name: '', type: 'bytes4' }] },
19
+ { type: 'function', name: 'beforeRemoveLiquidity', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'liquidityDelta', type: 'int256' }, { name: 'salt', type: 'bytes32' }] }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }] },
20
+ { type: 'function', name: 'beforeSwap', stateMutability: 'nonpayable', inputs: [{ name: 'sender', type: 'address' }, { name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'params', type: 'tuple', components: [{ name: 'zeroForOne', type: 'bool' }, { name: 'amountSpecified', type: 'int256' }, { name: 'sqrtPriceLimitX96', type: 'uint160' }] }, { name: 'hookData', type: 'bytes' }], outputs: [{ name: '', type: 'bytes4' }, { name: '', type: 'int256' }, { name: '', type: 'uint24' }] },
21
+ { type: 'function', name: 'bookTeamSteps', stateMutability: 'nonpayable', inputs: [{ name: 'tokens', type: 'uint256' }], outputs: [] },
22
+ { type: 'function', name: 'claimTeamProceeds', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'bytes32' }, { name: 'slot', type: 'uint8' }, { name: 'to', type: 'address' }], outputs: [{ name: 'paid', type: 'uint256' }] },
23
+ { type: 'function', name: 'configurePlatform', stateMutability: 'nonpayable', inputs: [{ name: 'treasury', type: 'address' }, { name: 'teamTreasury_', type: 'address' }], outputs: [] },
24
+ { type: 'function', name: 'engine', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
25
+ { type: 'function', name: 'execute', stateMutability: 'payable', inputs: [{ name: 'id', type: 'bytes32' }, { name: 'data', type: 'bytes' }], outputs: [{ name: '', type: 'bytes' }] },
26
+ { type: 'function', name: 'flushPlatform', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [{ name: 'total', type: 'uint256' }] },
27
+ { type: 'function', name: 'getHookPermissions', stateMutability: 'pure', inputs: [], outputs: [{ name: 'p', type: 'tuple', components: [{ name: 'beforeInitialize', type: 'bool' }, { name: 'afterInitialize', type: 'bool' }, { name: 'beforeAddLiquidity', type: 'bool' }, { name: 'afterAddLiquidity', type: 'bool' }, { name: 'beforeRemoveLiquidity', type: 'bool' }, { name: 'afterRemoveLiquidity', type: 'bool' }, { name: 'beforeSwap', type: 'bool' }, { name: 'afterSwap', type: 'bool' }, { name: 'beforeDonate', type: 'bool' }, { name: 'afterDonate', type: 'bool' }, { name: 'beforeSwapReturnDelta', type: 'bool' }, { name: 'afterSwapReturnDelta', type: 'bool' }, { name: 'afterAddLiquidityReturnDelta', type: 'bool' }, { name: 'afterRemoveLiquidityReturnDelta', type: 'bool' }] }] },
28
+ { type: 'function', name: 'hasRegisteredQuote', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
29
+ { type: 'function', name: 'platform', stateMutability: 'view', inputs: [], outputs: [{ name: 'treasury', type: 'address' }] },
30
+ { type: 'function', name: 'platformOwed', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: '', type: 'uint256' }] },
31
+ { type: 'function', name: 'poolForAccount', stateMutability: 'view', inputs: [{ name: 'account', type: 'address' }], outputs: [{ name: '', type: 'bytes32' }] },
32
+ { type: 'function', name: 'poolManager', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
33
+ { type: 'function', name: 'poolState', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'poolInitializer', type: 'address' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'poolKey', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'poolBound', type: 'bool' }, { name: 'tickSpacing', type: 'int24' }, { name: 'vaultEth', type: 'uint256' }, { name: 'bidEthDeployed', type: 'uint256' }, { name: 'inventoryTokens', type: 'uint256' }, { name: 'floorTick', type: 'int24' }, { name: 'bidLower', type: 'int24' }, { name: 'bidLiquidity', type: 'uint128' }, { name: 'cumulativeVolumeEth', type: 'uint256' }, { name: 'unpaidSkim', type: 'uint256' }, { name: 'needsRatchet', type: 'bool' }, { name: 'wallShape', type: 'uint256' }, { name: 'seedLiq', type: 'uint128' }, { name: 'seedLower', type: 'int24' }, { name: 'seedUpper', type: 'int24' }, { name: 'seedFeesSweptEth', type: 'uint256' }, { name: 'seedFeesSweptTokens', type: 'uint256' }, { name: 'ladderUpper', type: 'int24' }, { name: 'ladderTokensRemaining', type: 'uint256' }, { name: 'ladderProceedsEth', type: 'uint256' }, { name: 'ladderSeeded', type: 'bool' }, { name: 'token', type: 'address' }, { name: 'platformVault', type: 'address' }, { name: 'platformPaidEth', type: 'uint256' }, { name: 'creatorSlotCount', type: 'uint256' }, { name: 'creatorBuyBps', type: 'uint256' }, { name: 'creatorSellBps', type: 'uint256' }, { name: 'creatorPendingMask', type: 'uint256' }, { name: 'recipientClaims', type: 'address' }, { name: 'creatorFeesOwed', type: 'uint256' }, { name: 'creatorFeesPaid', type: 'uint256' }, { name: 'holderRewards', type: 'address' }, { name: 'holderBuyBps', type: 'uint256' }, { name: 'holderSellBps', type: 'uint256' }, { name: 'holderPaidEth', type: 'uint256' }, { name: 'quoteToken', type: 'address' }, { name: 'quoteIsCurrency1', type: 'bool' }, { name: 'custodyVault', type: 'address' }, { name: 'skimBuyAtFloorBps', type: 'uint256' }, { name: 'skimSellAtFloorBps', type: 'uint256' }, { name: 'bidWidth', type: 'int24' }, { name: 'referrer', type: 'address' }, { name: 'referralFeesPaid', type: 'uint256' }, { name: 'quoteUnit', type: 'uint256' }, { name: 'holderOwedEth', type: 'uint256' }, { name: 'referralFeesOwed', type: 'uint256' }, { name: 'teamFeesOwed', type: 'uint256' }, { name: 'teamFeesPaid', type: 'uint256' }, { name: 'teamFeeBps', type: 'uint256' }] }] },
34
+ { type: 'function', name: 'predictVault', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }, { name: '', type: 'address' }, { name: '', type: 'address' }], outputs: [{ name: '', type: 'address' }] },
35
+ { type: 'function', name: 'referrals', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
36
+ { type: 'function', name: 'registerPool', stateMutability: 'nonpayable', inputs: [{ name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'config', type: 'tuple', components: [{ name: 'liftMaxBps', type: 'uint256' }, { name: 'platformVault', type: 'address' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'creator', type: 'address' }, { name: 'creatorBuyBps', type: 'uint256' }, { name: 'creatorSellBps', type: 'uint256' }, { name: 'holderRewards', type: 'address' }, { name: 'holderBuyBps', type: 'uint256' }, { name: 'holderSellBps', type: 'uint256' }, { name: 'pendingRecipientId', type: 'bytes32' }, { name: 'pendingPlatform', type: 'uint8' }, { name: 'pendingHandle', type: 'string' }, { name: 'recipientClaims', type: 'address' }, { name: 'quoteToken', type: 'address' }, { name: 'feeAdmin', type: 'address' }, { name: 'referrer', type: 'address' }] }, { name: 'launch', type: 'address' }, { name: 'referrer2', type: 'address' }, { name: 'referrer3', type: 'address' }, { name: 'creatorSlots', type: 'bytes' }], outputs: [{ name: 'id', type: 'bytes32' }] },
37
+ { type: 'function', name: 'registry', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
38
+ { type: 'function', name: 'setTeamFeeRates', stateMutability: 'nonpayable', inputs: [{ name: 'poolBps', type: 'uint16' }, { name: 'saleBps', type: 'uint16' }], outputs: [] },
39
+ { type: 'function', name: 'setup', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
40
+ { type: 'function', name: 'sweepStairFees', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: 'tip', type: 'uint256' }] },
41
+ { type: 'function', name: 'sweepTeamFees', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [{ name: 'total', type: 'uint256' }] },
42
+ { type: 'function', name: 'sweepTeamProceeds', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [{ name: 'total', type: 'uint256' }] },
43
+ { type: 'function', name: 'teamFeeRates', stateMutability: 'view', inputs: [], outputs: [{ name: 'poolBps', type: 'uint16' }, { name: 'saleBps', type: 'uint16' }] },
44
+ { type: 'function', name: 'teamSteps', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'payeeCount', type: 'uint8' }, { name: 'lockUntil', type: 'uint64' }, { name: 'lockDays', type: 'uint16' }, { name: 'registered', type: 'bool' }, { name: 'booked', type: 'bool' }, { name: 'payeePendingMask', type: 'uint256' }, { name: 'tokens', type: 'uint256' }, { name: 'held', type: 'uint256' }, { name: 'owed', type: 'uint256' }, { name: 'paid', type: 'uint256' }, { name: 'proceeds', type: 'uint256' }, { name: 'forfeited', type: 'uint256' }, { name: 'feesToVault', type: 'uint256' }, { name: 'withdrawn', type: 'uint256' }, { name: 'step', type: 'uint96[16]' }, { name: 'tippedAt', type: 'uint64' }, { name: 'soldTokens', type: 'uint256' }, { name: 'released', type: 'uint256' }, { name: 'clamped', type: 'uint256' }, { name: 'outMask', type: 'uint256' }, { name: 'partTokens', type: 'uint256' }, { name: 'partQuote', type: 'uint256' }] }] },
45
+ { type: 'function', name: 'teamTreasury', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
46
+ { type: 'function', name: 'twapObservation', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'timestamp', type: 'uint32' }, { name: 'tickCumulative', type: 'int56' }, { name: 'lastTick', type: 'int24' }, { name: 'newest', type: 'uint8' }] }] },
47
+ { type: 'function', name: 'twapTick', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }, { name: 'window', type: 'uint32' }], outputs: [{ name: '', type: 'int24' }] },
48
+ { type: 'function', name: 'unlockCallback', stateMutability: 'nonpayable', inputs: [{ name: 'data', type: 'bytes' }], outputs: [{ name: '', type: 'bytes' }] },
49
+ { type: 'function', name: 'vaultBeacon', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
50
+ { type: 'function', name: 'views', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
51
+ { type: 'function', name: 'configureReferralVault', stateMutability: 'nonpayable', inputs: [{ name: 'vault', type: 'address' }], outputs: [] },
52
+ { type: 'function', name: 'creditSaleReferral', stateMutability: 'nonpayable', inputs: [{ name: 'launch', type: 'address' }, { name: 'trader', type: 'address' }, { name: 'tfee', type: 'uint256' }], outputs: [{ name: 'sum', type: 'uint256' }] },
53
+ { type: 'function', name: 'referralOwedOf', stateMutability: 'view', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
54
+ { type: 'function', name: 'referralUnsweptOf', stateMutability: 'view', inputs: [{ name: 'poolId', type: 'bytes32' }], outputs: [{ name: '', type: 'uint256' }] },
55
+ { type: 'function', name: 'referralVault', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
56
+ { type: 'function', name: 'restoreReferralOwed', stateMutability: 'nonpayable', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [] },
57
+ { type: 'function', name: 'saleReferralSum', stateMutability: 'view', inputs: [{ name: 'trader', type: 'address' }, { name: 'tfee', type: 'uint256' }], outputs: [{ name: '', type: 'uint256' }] },
58
+ { type: 'function', name: 'setTraderUpline', stateMutability: 'nonpayable', inputs: [{ name: 'trader', type: 'address' }, { name: 't1', type: 'address' }, { name: 't2', type: 'address' }, { name: 't3', type: 'address' }], outputs: [] },
59
+ { type: 'function', name: 'sweepReferralFees', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [] },
60
+ { type: 'function', name: 'takeReferralOwed', stateMutability: 'nonpayable', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }], outputs: [{ name: 'amount', type: 'uint256' }] },
61
+ { type: 'function', name: 'traderUplineOf', stateMutability: 'view', inputs: [{ name: 'trader', type: 'address' }], outputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }, { name: '', type: 'address' }] },
62
+ { type: 'event', name: 'CreatorClaimed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'to', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
63
+ { type: 'event', name: 'CreatorSlotSet', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: false }, { name: 'platform', type: 'uint8', indexed: false }, { name: 'handle', type: 'string', indexed: false }, { name: 'bps', type: 'uint16', indexed: false }] },
64
+ { type: 'event', name: 'CustodyVaultCreated', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'vault', type: 'address', indexed: true }] },
65
+ { type: 'event', name: 'HookFee', anonymous: false, inputs: [{ name: 'id', type: 'bytes32', indexed: true }, { name: 'sender', type: 'address', indexed: true }, { name: 'feeAmount0', type: 'uint128', indexed: false }, { name: 'feeAmount1', type: 'uint128', indexed: false }] },
66
+ { type: 'event', name: 'PlatformConfigured', anonymous: false, inputs: [{ name: 'treasury', type: 'address', indexed: true }, { name: 'teamTreasury', type: 'address', indexed: true }] },
67
+ { type: 'event', name: 'PlatformCutFlushed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
68
+ { type: 'event', name: 'PlatformFlushSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'quote', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
69
+ { type: 'event', name: 'PoolRegistered', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'launch', type: 'address', indexed: true }, { name: 'factory', type: 'address', indexed: true }] },
70
+ { type: 'event', name: 'RecipientResolved', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'recipient', type: 'address', indexed: true }] },
71
+ { type: 'event', name: 'ReferralUpline', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'referrer', type: 'address', indexed: false }, { name: 'referrer2', type: 'address', indexed: true }, { name: 'referrer3', type: 'address', indexed: true }] },
72
+ { type: 'event', name: 'StairSweepTip', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'caller', type: 'address', indexed: true }, { name: 'swept', type: 'uint256', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
73
+ { type: 'event', name: 'TeamFeeRatesSet', anonymous: false, inputs: [{ name: 'poolBps', type: 'uint16', indexed: false }, { name: 'saleBps', type: 'uint16', indexed: false }] },
74
+ { type: 'event', name: 'TeamFeesSweepSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'quote', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
75
+ { type: 'event', name: 'TeamFeesSwept', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'quote', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
76
+ { type: 'event', name: 'TeamPayeeResolved', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }] },
77
+ { type: 'event', name: 'TeamPayeeSet', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: false }, { name: 'platform', type: 'uint8', indexed: false }, { name: 'handle', type: 'string', indexed: false }, { name: 'bps', type: 'uint16', indexed: false }] },
78
+ { type: 'event', name: 'TeamProceedsPaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
79
+ { type: 'event', name: 'TeamProceedsSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
80
+ { type: 'event', name: 'TeamStepsBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'lockUntil', type: 'uint64', indexed: false }] },
81
+ { type: 'event', name: 'TeamStepsRegistered', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lockDays', type: 'uint16', indexed: false }, { name: 'payeeCount', type: 'uint8', indexed: false }] },
82
+ { type: 'event', name: 'TeamTokensWithdrawn', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }] },
83
+ { type: 'event', name: 'BidReplaced', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokensAbsorbed', type: 'uint256', indexed: false }, { name: 'ethBack', type: 'uint256', indexed: false }, { name: 'fromLower', type: 'int24', indexed: false }, { name: 'toLower', type: 'int24', indexed: false }] },
84
+ { type: 'event', name: 'CreatorFee', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'ethAmount', type: 'uint256', indexed: false }, { name: 'isBuy', type: 'bool', indexed: false }] },
85
+ { type: 'event', name: 'HolderRewardsReleased', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'to', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
86
+ { type: 'event', name: 'HolderTax', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'ethAmount', type: 'uint256', indexed: false }, { name: 'isBuy', type: 'bool', indexed: false }] },
87
+ { type: 'event', name: 'LadderSeeded', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'openTick', type: 'int24', indexed: false }] },
88
+ { type: 'event', name: 'PlatformCut', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'ethForwarded', type: 'uint256', indexed: false }] },
89
+ { type: 'event', name: 'PolRaised', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'fromEdge', type: 'int24', indexed: false }, { name: 'toEdge', type: 'int24', indexed: false }, { name: 'quoteMoved', type: 'uint256', indexed: false }, { name: 'tokensReadded', type: 'uint256', indexed: false }] },
90
+ { type: 'event', name: 'Ratcheted', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'floorTick', type: 'int24', indexed: false }, { name: 'askTick', type: 'int24', indexed: false }, { name: 'vaultEth', type: 'uint256', indexed: false }, { name: 'inventoryTokens', type: 'uint256', indexed: false }, { name: 'bounty', type: 'uint256', indexed: false }] },
91
+ { type: 'event', name: 'ReferralAccrued', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'referrer', type: 'address', indexed: true }, { name: 'asset', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'grossCreatorFee', type: 'uint256', indexed: false }] },
92
+ { type: 'event', name: 'ReferralClaimed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'referrer', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
93
+ { type: 'event', name: 'ReferralTierClaimed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tier', type: 'uint8', indexed: true }, { name: 'referrer', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
94
+ { type: 'event', name: 'SeedFeesSwept', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'ethAmount', type: 'uint256', indexed: false }, { name: 'tokenAmount', type: 'uint256', indexed: false }] },
95
+ { type: 'event', name: 'Seeded', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'from', type: 'address', indexed: true }, { name: 'liquidity', type: 'uint128', indexed: false }, { name: 'ethUsed', type: 'uint256', indexed: false }, { name: 'tokensUsed', type: 'uint256', indexed: false }] },
96
+ { type: 'event', name: 'Skimmed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'ethAmount', type: 'uint256', indexed: false }, { name: 'skimBps', type: 'uint256', indexed: false }] },
97
+ { type: 'event', name: 'PlatformCutDeferred', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
98
+ { type: 'event', name: 'ReferralFeesSweepSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
99
+ { type: 'event', name: 'ReferralFeesSwept', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
100
+ { type: 'event', name: 'ReferralVaultConfigured', anonymous: false, inputs: [{ name: 'vault', type: 'address', indexed: true }] },
101
+ { type: 'event', name: 'SaleTraderReferralBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'trader', type: 'address', indexed: true }, { name: 's1', type: 'uint256', indexed: false }, { name: 's2', type: 'uint256', indexed: false }, { name: 's3', type: 'uint256', indexed: false }] },
102
+ { type: 'event', name: 'TraderReferralBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'trader', type: 'address', indexed: true }, { name: 's1', type: 'uint256', indexed: false }, { name: 's2', type: 'uint256', indexed: false }, { name: 's3', type: 'uint256', indexed: false }] },
103
+ { type: 'event', name: 'CushionParked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lower', type: 'int24', indexed: false }, { name: 'upper', type: 'int24', indexed: false }] },
104
+ { type: 'event', name: 'CushionPlaced', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lower', type: 'int24', indexed: false }, { name: 'upper', type: 'int24', indexed: false }, { name: 'quote', type: 'uint256', indexed: false }] },
105
+ { type: 'event', name: 'StairFeesSwept', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'quote', type: 'uint256', indexed: false }, { name: 'tokens', type: 'uint256', indexed: false }] },
106
+ { type: 'event', name: 'StairsCollected', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'collected', type: 'uint256', indexed: false }, { name: 'toFloor', type: 'uint256', indexed: false }, { name: 'toPol', type: 'uint256', indexed: false }] },
107
+ { type: 'event', name: 'StairsPlaced', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'next', type: 'uint8', indexed: false }, { name: 'askTick', type: 'int24', indexed: false }, { name: 'tokens', type: 'uint256', indexed: false }] },
108
+ { type: 'event', name: 'VaultTokensFed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'step', type: 'uint8', indexed: false }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'bought', type: 'uint256', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'need', type: 'uint256', indexed: false }] },
109
+ { type: 'event', name: 'ReserveSplit', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'from', type: 'uint8', indexed: false }, { name: 'to', type: 'uint8', indexed: false }, { name: 'left', type: 'uint256', indexed: false }] },
110
+ { type: 'event', name: 'TeamProceedsOwed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'asked', type: 'uint256', indexed: false }, { name: 'owed', type: 'uint256', indexed: false }] },
111
+ { type: 'event', name: 'TeamStepsLaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'onSteps', type: 'uint256', indexed: false }, { name: 'held', type: 'uint256', indexed: false }] },
112
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
113
+ { type: 'error', name: 'BadPlatformConfig', inputs: [] },
114
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
115
+ { type: 'error', name: 'BadReferralTiers', inputs: [] },
116
+ { type: 'error', name: 'BadSlot', inputs: [{ name: 'slot', type: 'uint8' }] },
117
+ { type: 'error', name: 'BadTeamSteps', inputs: [] },
118
+ { type: 'error', name: 'BadTeamTreasury', inputs: [] },
119
+ { type: 'error', name: 'ChildCreationFailed', inputs: [] },
120
+ { type: 'error', name: 'DeploymentFailed', inputs: [] },
121
+ { type: 'error', name: 'ExactOutNotSupported', inputs: [] },
122
+ { type: 'error', name: 'HookNotImplemented', inputs: [] },
123
+ { type: 'error', name: 'InvalidPool', inputs: [] },
124
+ { type: 'error', name: 'InvalidRegistration', inputs: [] },
125
+ { type: 'error', name: 'NativeCutNowhere', inputs: [] },
126
+ { type: 'error', name: 'NotPlatformAdmin', inputs: [] },
127
+ { type: 'error', name: 'NotPoolManager', inputs: [] },
128
+ { type: 'error', name: 'NotTeamGovernance', inputs: [] },
129
+ { type: 'error', name: 'NotTeamPayee', inputs: [] },
130
+ { type: 'error', name: 'PlatformAlreadyConfigured', inputs: [] },
131
+ { type: 'error', name: 'RegistrationOnly', inputs: [] },
132
+ { type: 'error', name: 'TeamFeeAboveCap', inputs: [] },
133
+ { type: 'error', name: 'TeamStepsLocked', inputs: [{ name: 'lockUntil', type: 'uint64' }] },
134
+ { type: 'error', name: 'TwapUnavailable', inputs: [] },
135
+ { type: 'error', name: 'TwapWindowTooLong', inputs: [] },
136
+ { type: 'error', name: 'UnauthorizedFactory', inputs: [] },
137
+ { type: 'error', name: 'UnknownPool', inputs: [] },
138
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
139
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
140
+ { type: 'error', name: 'AlreadyBound', inputs: [] },
141
+ { type: 'error', name: 'BadQuoteToken', inputs: [] },
142
+ { type: 'error', name: 'BadRange', inputs: [] },
143
+ { type: 'error', name: 'BadRecipientConfig', inputs: [] },
144
+ { type: 'error', name: 'BadReferralTier', inputs: [] },
145
+ { type: 'error', name: 'BidReplaceReentered', inputs: [] },
146
+ { type: 'error', name: 'BidReplaceStarved', inputs: [] },
147
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
148
+ { type: 'error', name: 'HolderReleaseExceedsOwed', inputs: [] },
149
+ { type: 'error', name: 'HolderReleaseFailed', inputs: [] },
150
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
151
+ { type: 'error', name: 'LadderAlreadySeeded', inputs: [] },
152
+ { type: 'error', name: 'NetSlotTaken', inputs: [] },
153
+ { type: 'error', name: 'NotBound', inputs: [] },
154
+ { type: 'error', name: 'NotDynamicFee', inputs: [] },
155
+ { type: 'error', name: 'NotHolderRewards', inputs: [] },
156
+ { type: 'error', name: 'NotInitializer', inputs: [] },
157
+ { type: 'error', name: 'OnlySelf', inputs: [] },
158
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
159
+ { type: 'error', name: 'ReferralClaimFailed', inputs: [] },
160
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
161
+ { type: 'error', name: 'SeedRangeFixed', inputs: [] },
162
+ { type: 'error', name: 'WrongPool', inputs: [] },
163
+ { type: 'error', name: 'AlreadyResolved', inputs: [] },
164
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
165
+ { type: 'error', name: 'CreatorTransferFailed', inputs: [] },
166
+ { type: 'error', name: 'NotClaims', inputs: [] },
167
+ { type: 'error', name: 'PlatformCutRequired', inputs: [] },
168
+ { type: 'error', name: 'PlatformNotConfigured', inputs: [] },
169
+ { type: 'error', name: 'RecipientPendingClaim', inputs: [] },
170
+ { type: 'error', name: 'SeedTransferFailed', inputs: [] },
171
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
172
+ { type: 'error', name: 'BadReferralVault', inputs: [] },
173
+ { type: 'error', name: 'BadTraderUpline', inputs: [] },
174
+ { type: 'error', name: 'NotPoolLaunch', inputs: [] },
175
+ { type: 'error', name: 'NotReferralVault', inputs: [] },
176
+ { type: 'error', name: 'BadNativeToken', inputs: [] },
177
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
178
+ { type: 'error', name: 'OwnerBooksExceedHoldings', inputs: [] },
179
+ { type: 'error', name: 'ReserveBooksShort', inputs: [] },
180
+ { type: 'error', name: 'TeamWithdrawOverShare', inputs: [] },
181
+ ];
182
+ export const HOOK_WRITE_ABI = [
183
+ { type: 'function', name: 'execute', stateMutability: 'payable', inputs: [{ name: 'id', type: 'bytes32' }, { name: 'data', type: 'bytes' }], outputs: [{ name: '', type: 'bytes' }] },
184
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
185
+ { type: 'error', name: 'BadPlatformConfig', inputs: [] },
186
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
187
+ { type: 'error', name: 'BadReferralTiers', inputs: [] },
188
+ { type: 'error', name: 'BadSlot', inputs: [{ name: 'slot', type: 'uint8' }] },
189
+ { type: 'error', name: 'BadTeamSteps', inputs: [] },
190
+ { type: 'error', name: 'BadTeamTreasury', inputs: [] },
191
+ { type: 'error', name: 'ChildCreationFailed', inputs: [] },
192
+ { type: 'error', name: 'DeploymentFailed', inputs: [] },
193
+ { type: 'error', name: 'ExactOutNotSupported', inputs: [] },
194
+ { type: 'error', name: 'HookNotImplemented', inputs: [] },
195
+ { type: 'error', name: 'InvalidPool', inputs: [] },
196
+ { type: 'error', name: 'InvalidRegistration', inputs: [] },
197
+ { type: 'error', name: 'NativeCutNowhere', inputs: [] },
198
+ { type: 'error', name: 'NotPlatformAdmin', inputs: [] },
199
+ { type: 'error', name: 'NotPoolManager', inputs: [] },
200
+ { type: 'error', name: 'NotTeamGovernance', inputs: [] },
201
+ { type: 'error', name: 'NotTeamPayee', inputs: [] },
202
+ { type: 'error', name: 'PlatformAlreadyConfigured', inputs: [] },
203
+ { type: 'error', name: 'RegistrationOnly', inputs: [] },
204
+ { type: 'error', name: 'TeamFeeAboveCap', inputs: [] },
205
+ { type: 'error', name: 'TeamStepsLocked', inputs: [{ name: 'lockUntil', type: 'uint64' }] },
206
+ { type: 'error', name: 'TwapUnavailable', inputs: [] },
207
+ { type: 'error', name: 'TwapWindowTooLong', inputs: [] },
208
+ { type: 'error', name: 'UnauthorizedFactory', inputs: [] },
209
+ { type: 'error', name: 'UnknownPool', inputs: [] },
210
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
211
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
212
+ { type: 'error', name: 'AlreadyBound', inputs: [] },
213
+ { type: 'error', name: 'BadQuoteToken', inputs: [] },
214
+ { type: 'error', name: 'BadRange', inputs: [] },
215
+ { type: 'error', name: 'BadRecipientConfig', inputs: [] },
216
+ { type: 'error', name: 'BadReferralTier', inputs: [] },
217
+ { type: 'error', name: 'BidReplaceReentered', inputs: [] },
218
+ { type: 'error', name: 'BidReplaceStarved', inputs: [] },
219
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
220
+ { type: 'error', name: 'HolderReleaseExceedsOwed', inputs: [] },
221
+ { type: 'error', name: 'HolderReleaseFailed', inputs: [] },
222
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
223
+ { type: 'error', name: 'LadderAlreadySeeded', inputs: [] },
224
+ { type: 'error', name: 'NetSlotTaken', inputs: [] },
225
+ { type: 'error', name: 'NotBound', inputs: [] },
226
+ { type: 'error', name: 'NotDynamicFee', inputs: [] },
227
+ { type: 'error', name: 'NotHolderRewards', inputs: [] },
228
+ { type: 'error', name: 'NotInitializer', inputs: [] },
229
+ { type: 'error', name: 'OnlySelf', inputs: [] },
230
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
231
+ { type: 'error', name: 'ReferralClaimFailed', inputs: [] },
232
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
233
+ { type: 'error', name: 'SeedRangeFixed', inputs: [] },
234
+ { type: 'error', name: 'WrongPool', inputs: [] },
235
+ { type: 'error', name: 'AlreadyResolved', inputs: [] },
236
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
237
+ { type: 'error', name: 'CreatorTransferFailed', inputs: [] },
238
+ { type: 'error', name: 'NotClaims', inputs: [] },
239
+ { type: 'error', name: 'PlatformCutRequired', inputs: [] },
240
+ { type: 'error', name: 'PlatformNotConfigured', inputs: [] },
241
+ { type: 'error', name: 'RecipientPendingClaim', inputs: [] },
242
+ { type: 'error', name: 'SeedTransferFailed', inputs: [] },
243
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
244
+ { type: 'error', name: 'BadReferralVault', inputs: [] },
245
+ { type: 'error', name: 'BadTraderUpline', inputs: [] },
246
+ { type: 'error', name: 'NotPoolLaunch', inputs: [] },
247
+ { type: 'error', name: 'NotReferralVault', inputs: [] },
248
+ { type: 'error', name: 'BadNativeToken', inputs: [] },
249
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
250
+ { type: 'error', name: 'OwnerBooksExceedHoldings', inputs: [] },
251
+ { type: 'error', name: 'ReserveBooksShort', inputs: [] },
252
+ { type: 'error', name: 'TeamWithdrawOverShare', inputs: [] },
253
+ ];
254
+ export const POOL_ABI = [
255
+ { type: 'function', name: 'bidEthDeployed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
256
+ { type: 'function', name: 'bidLiquidity', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint128' }] },
257
+ { type: 'function', name: 'bidLower', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
258
+ { type: 'function', name: 'bidWidth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
259
+ { type: 'function', name: 'creatorBuyBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
260
+ { type: 'function', name: 'creatorFeesOwed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
261
+ { type: 'function', name: 'creatorFeesPaid', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
262
+ { type: 'function', name: 'creatorPendingMask', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
263
+ { type: 'function', name: 'creatorSellBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
264
+ { type: 'function', name: 'creatorSlot', stateMutability: 'view', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'wallet', type: 'address' }, { name: 'pendingId', type: 'bytes32' }, { name: 'bps', type: 'uint16' }] },
265
+ { type: 'function', name: 'creatorSlotCount', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
266
+ { type: 'function', name: 'creatorSlots', stateMutability: 'view', inputs: [], outputs: [{ name: 'v', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'pendingId', type: 'bytes32' }, { name: 'platform', type: 'uint8' }, { name: 'bps', type: 'uint16' }, { name: 'paid', type: 'uint256' }, { name: 'due', type: 'uint256' }, { name: 'tokensPaid', type: 'uint256' }, { name: 'tokensDue', type: 'uint256' }] }] },
267
+ { type: 'function', name: 'cumulativeVolumeEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
268
+ { type: 'function', name: 'floorTick', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
269
+ { type: 'function', name: 'holderBuyBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
270
+ { type: 'function', name: 'holderPaidEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
271
+ { type: 'function', name: 'holderRewards', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
272
+ { type: 'function', name: 'holderSellBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
273
+ { type: 'function', name: 'inventoryTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
274
+ { type: 'function', name: 'ladderProceedsEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
275
+ { type: 'function', name: 'ladderSeeded', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
276
+ { type: 'function', name: 'ladderTokensRemaining', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
277
+ { type: 'function', name: 'ladderUpper', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
278
+ { type: 'function', name: 'liftClaims', stateMutability: 'view', inputs: [], outputs: [{ name: 'quote', type: 'uint256' }, { name: 'base', type: 'uint256' }] },
279
+ { type: 'function', name: 'maxBounty', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
280
+ { type: 'function', name: 'needsRatchet', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
281
+ { type: 'function', name: 'platformPaidEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
282
+ { type: 'function', name: 'platformVault', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
283
+ { type: 'function', name: 'poolBound', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
284
+ { type: 'function', name: 'poolInitializer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
285
+ { type: 'function', name: 'poolKey', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }, { name: '', type: 'uint24' }, { name: '', type: 'int24' }, { name: '', type: 'address' }] },
286
+ { type: 'function', name: 'quoteIsCurrency1', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
287
+ { type: 'function', name: 'quoteToken', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
288
+ { type: 'function', name: 'quoteUnit', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
289
+ { type: 'function', name: 'recipientClaims', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
290
+ { type: 'function', name: 'referralTiers', stateMutability: 'view', inputs: [], outputs: [{ name: 'wallets', type: 'address[3]' }, { name: 'paid', type: 'uint256[3]' }, { name: 'due', type: 'uint256[3]' }] },
291
+ { type: 'function', name: 'seedFeesSweptEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
292
+ { type: 'function', name: 'seedFeesSweptTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
293
+ { type: 'function', name: 'seedLiq', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint128' }] },
294
+ { type: 'function', name: 'seedLower', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
295
+ { type: 'function', name: 'seedUpper', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
296
+ { type: 'function', name: 'skimBuyAtFloorBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
297
+ { type: 'function', name: 'skimBuyFarBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
298
+ { type: 'function', name: 'skimSellAtFloorBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
299
+ { type: 'function', name: 'skimSellFarBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
300
+ { type: 'function', name: 'stairReserve', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'tuple', components: [{ name: 'own', type: 'uint8' }, { name: 'last', type: 'uint8' }, { name: 'excess', type: 'uint96' }, { name: 'rem', type: 'uint96[16]' }, { name: 'plan', type: 'uint96[16]' }, { name: 'team', type: 'uint96[16]' }, { name: 'gone', type: 'uint96[16]' }] }] },
301
+ { type: 'function', name: 'stairs', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'tuple', components: [{ name: 'next', type: 'uint8' }, { name: 'placed', type: 'bool' }, { name: 'base', type: 'int24' }, { name: 'tailCheap', type: 'int24' }, { name: 'tailLiq', type: 'uint128' }, { name: 'tailTokens', type: 'uint96' }, { name: 'relistLower', type: 'int24' }, { name: 'relistUpper', type: 'int24' }, { name: 'relistTokens', type: 'uint96' }, { name: 'relistLiq', type: 'uint128' }, { name: 'cushionLower', type: 'int24' }, { name: 'cushionUpper', type: 'int24' }, { name: 'cushionLiq', type: 'uint128' }, { name: 'cushionQuote', type: 'uint256' }, { name: 'cushionFed', type: 'uint256' }, { name: 'pending', type: 'uint256' }, { name: 'step', type: 'tuple[16]', components: [{ name: 'cheap', type: 'int24' }, { name: 'liq', type: 'uint128' }, { name: 'tokens', type: 'uint96' }] }, { name: 'boughtTokens', type: 'uint128' }, { name: 'boughtCost', type: 'uint128' }, { name: 'sweptQuote', type: 'uint256' }, { name: 'cushionFees', type: 'uint256' }, { name: 'cushionBasisTokens', type: 'uint128' }, { name: 'cushionBasisCost', type: 'uint128' }, { name: 'cushionInPool', type: 'uint256' }] }] },
302
+ { type: 'function', name: 'teamPayee', stateMutability: 'view', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'wallet', type: 'address' }, { name: 'pendingId', type: 'bytes32' }, { name: 'bps', type: 'uint16' }] },
303
+ { type: 'function', name: 'teamPayees', stateMutability: 'view', inputs: [], outputs: [{ name: 'v', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'pendingId', type: 'bytes32' }, { name: 'platform', type: 'uint8' }, { name: 'bps', type: 'uint16' }, { name: 'paid', type: 'uint256' }, { name: 'due', type: 'uint256' }, { name: 'tokensPaid', type: 'uint256' }, { name: 'tokensDue', type: 'uint256' }] }] },
304
+ { type: 'function', name: 'tickSpacing', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
305
+ { type: 'function', name: 'token', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
306
+ { type: 'function', name: 'unpaidSkim', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
307
+ { type: 'function', name: 'vaultEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
308
+ { type: 'function', name: 'wallShape', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
309
+ { type: 'function', name: 'claimCreatorFees', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'paid', type: 'uint256' }] },
310
+ { type: 'function', name: 'registerTeamSteps', stateMutability: 'nonpayable', inputs: [{ name: 'payees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }, { name: 'lockDays', type: 'uint16' }], outputs: [] },
311
+ { type: 'function', name: 'resolveRecipient', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }, { name: 'recipient', type: 'address' }], outputs: [] },
312
+ { type: 'function', name: 'resolveTeamPayee', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }, { name: 'payee', type: 'address' }], outputs: [] },
313
+ { type: 'function', name: 'withdrawTeamTokens', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'tokens', type: 'uint256' }] },
314
+ { type: 'function', name: 'BID_BAND_TICKS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
315
+ { type: 'function', name: 'BOUNTY_BPS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
316
+ { type: 'function', name: 'LP_FEE', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint24' }] },
317
+ { type: 'function', name: 'MAX_CREATOR_BPS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
318
+ { type: 'function', name: 'MAX_HOLDER_BPS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
319
+ { type: 'function', name: 'MAX_SKIM_FAR_BPS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
320
+ { type: 'function', name: 'MIN_BID_ETH', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
321
+ { type: 'function', name: 'PLATFORM_BPS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
322
+ { type: 'function', name: 'backingEth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
323
+ { type: 'function', name: 'backingRawQuotePerToken', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
324
+ { type: 'function', name: 'bidRawQuotePerToken', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
325
+ { type: 'function', name: 'bindPool', stateMutability: 'nonpayable', inputs: [{ name: 'key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }], outputs: [] },
326
+ { type: 'function', name: 'bookTeamFees', stateMutability: 'payable', inputs: [{ name: '', type: 'uint256' }], outputs: [] },
327
+ { type: 'function', name: 'circulatingSupply', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
328
+ { type: 'function', name: 'claimReferralFees', stateMutability: 'nonpayable', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
329
+ { type: 'function', name: 'claimReferralFees', stateMutability: 'nonpayable', inputs: [{ name: '', type: 'uint8' }], outputs: [{ name: '', type: 'uint256' }] },
330
+ { type: 'function', name: 'closeExhausted', stateMutability: 'nonpayable', inputs: [], outputs: [] },
331
+ { type: 'function', name: 'floorSetup', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
332
+ { type: 'function', name: 'hookMath', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
333
+ { type: 'function', name: 'liveFloorTick', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
334
+ { type: 'function', name: 'payTeam', stateMutability: 'nonpayable', inputs: [{ name: 'to', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
335
+ { type: 'function', name: 'polTokensAtTick', stateMutability: 'view', inputs: [{ name: 'tick', type: 'int24' }], outputs: [{ name: 't', type: 'uint256' }] },
336
+ { type: 'function', name: 'ratchet', stateMutability: 'nonpayable', inputs: [], outputs: [] },
337
+ { type: 'function', name: 'releaseHolderRewards', stateMutability: 'nonpayable', inputs: [{ name: '', type: 'address' }, { name: '', type: 'uint256' }], outputs: [] },
338
+ { type: 'function', name: 'replaceBidInSwap', stateMutability: 'nonpayable', inputs: [], outputs: [] },
339
+ { type: 'function', name: 'seedFloor', stateMutability: 'payable', inputs: [], outputs: [] },
340
+ { type: 'function', name: 'seedFloor', stateMutability: 'payable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
341
+ { type: 'function', name: 'seedInventory', stateMutability: 'nonpayable', inputs: [{ name: 'tokens', type: 'uint256' }, { name: 'openTick', type: 'int24' }], outputs: [] },
342
+ { type: 'function', name: 'seedLiquidity', stateMutability: 'payable', inputs: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'tokenAmount', type: 'uint256' }], outputs: [] },
343
+ { type: 'function', name: 'seedLiquidity', stateMutability: 'payable', inputs: [{ name: 'tickLower', type: 'int24' }, { name: 'tickUpper', type: 'int24' }, { name: 'tokenAmount', type: 'uint256' }, { name: 'quoteAmount', type: 'uint256' }], outputs: [] },
344
+ { type: 'function', name: 'sellableSupply', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
345
+ { type: 'function', name: 'sellableSupplyAtTick', stateMutability: 'view', inputs: [{ name: 'tick', type: 'int24' }], outputs: [{ name: '', type: 'uint256' }] },
346
+ { type: 'function', name: 'sweepStairFees', stateMutability: 'nonpayable', inputs: [], outputs: [] },
347
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
348
+ { type: 'error', name: 'BadPlatformConfig', inputs: [] },
349
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
350
+ { type: 'error', name: 'BadReferralTiers', inputs: [] },
351
+ { type: 'error', name: 'BadSlot', inputs: [{ name: 'slot', type: 'uint8' }] },
352
+ { type: 'error', name: 'BadTeamSteps', inputs: [] },
353
+ { type: 'error', name: 'BadTeamTreasury', inputs: [] },
354
+ { type: 'error', name: 'ChildCreationFailed', inputs: [] },
355
+ { type: 'error', name: 'DeploymentFailed', inputs: [] },
356
+ { type: 'error', name: 'ExactOutNotSupported', inputs: [] },
357
+ { type: 'error', name: 'HookNotImplemented', inputs: [] },
358
+ { type: 'error', name: 'InvalidPool', inputs: [] },
359
+ { type: 'error', name: 'InvalidRegistration', inputs: [] },
360
+ { type: 'error', name: 'NativeCutNowhere', inputs: [] },
361
+ { type: 'error', name: 'NotPlatformAdmin', inputs: [] },
362
+ { type: 'error', name: 'NotPoolManager', inputs: [] },
363
+ { type: 'error', name: 'NotTeamGovernance', inputs: [] },
364
+ { type: 'error', name: 'NotTeamPayee', inputs: [] },
365
+ { type: 'error', name: 'PlatformAlreadyConfigured', inputs: [] },
366
+ { type: 'error', name: 'RegistrationOnly', inputs: [] },
367
+ { type: 'error', name: 'TeamFeeAboveCap', inputs: [] },
368
+ { type: 'error', name: 'TeamStepsLocked', inputs: [{ name: 'lockUntil', type: 'uint64' }] },
369
+ { type: 'error', name: 'TwapUnavailable', inputs: [] },
370
+ { type: 'error', name: 'TwapWindowTooLong', inputs: [] },
371
+ { type: 'error', name: 'UnauthorizedFactory', inputs: [] },
372
+ { type: 'error', name: 'UnknownPool', inputs: [] },
373
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
374
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
375
+ { type: 'error', name: 'AlreadyBound', inputs: [] },
376
+ { type: 'error', name: 'BadQuoteToken', inputs: [] },
377
+ { type: 'error', name: 'BadRange', inputs: [] },
378
+ { type: 'error', name: 'BadRecipientConfig', inputs: [] },
379
+ { type: 'error', name: 'BadReferralTier', inputs: [] },
380
+ { type: 'error', name: 'BidReplaceReentered', inputs: [] },
381
+ { type: 'error', name: 'BidReplaceStarved', inputs: [] },
382
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
383
+ { type: 'error', name: 'HolderReleaseExceedsOwed', inputs: [] },
384
+ { type: 'error', name: 'HolderReleaseFailed', inputs: [] },
385
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
386
+ { type: 'error', name: 'LadderAlreadySeeded', inputs: [] },
387
+ { type: 'error', name: 'NetSlotTaken', inputs: [] },
388
+ { type: 'error', name: 'NotBound', inputs: [] },
389
+ { type: 'error', name: 'NotDynamicFee', inputs: [] },
390
+ { type: 'error', name: 'NotHolderRewards', inputs: [] },
391
+ { type: 'error', name: 'NotInitializer', inputs: [] },
392
+ { type: 'error', name: 'OnlySelf', inputs: [] },
393
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
394
+ { type: 'error', name: 'ReferralClaimFailed', inputs: [] },
395
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
396
+ { type: 'error', name: 'SeedRangeFixed', inputs: [] },
397
+ { type: 'error', name: 'WrongPool', inputs: [] },
398
+ { type: 'error', name: 'AlreadyResolved', inputs: [] },
399
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
400
+ { type: 'error', name: 'CreatorTransferFailed', inputs: [] },
401
+ { type: 'error', name: 'NotClaims', inputs: [] },
402
+ { type: 'error', name: 'PlatformCutRequired', inputs: [] },
403
+ { type: 'error', name: 'PlatformNotConfigured', inputs: [] },
404
+ { type: 'error', name: 'RecipientPendingClaim', inputs: [] },
405
+ { type: 'error', name: 'SeedTransferFailed', inputs: [] },
406
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
407
+ { type: 'error', name: 'BadReferralVault', inputs: [] },
408
+ { type: 'error', name: 'BadTraderUpline', inputs: [] },
409
+ { type: 'error', name: 'NotPoolLaunch', inputs: [] },
410
+ { type: 'error', name: 'NotReferralVault', inputs: [] },
411
+ { type: 'error', name: 'BadNativeToken', inputs: [] },
412
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
413
+ { type: 'error', name: 'OwnerBooksExceedHoldings', inputs: [] },
414
+ { type: 'error', name: 'ReserveBooksShort', inputs: [] },
415
+ { type: 'error', name: 'TeamWithdrawOverShare', inputs: [] },
416
+ ];
417
+ export const TEAM_STEPS_HOOK_EVENTS = [
418
+ { type: 'event', name: 'TeamPayeeResolved', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }] },
419
+ { type: 'event', name: 'TeamPayeeSet', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: false }, { name: 'platform', type: 'uint8', indexed: false }, { name: 'handle', type: 'string', indexed: false }, { name: 'bps', type: 'uint16', indexed: false }] },
420
+ { type: 'event', name: 'TeamProceedsPaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
421
+ { type: 'event', name: 'TeamProceedsSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
422
+ { type: 'event', name: 'TeamStepsBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'lockUntil', type: 'uint64', indexed: false }] },
423
+ { type: 'event', name: 'TeamStepsRegistered', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lockDays', type: 'uint16', indexed: false }, { name: 'payeeCount', type: 'uint8', indexed: false }] },
424
+ { type: 'event', name: 'TeamTokensWithdrawn', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }] },
425
+ { type: 'event', name: 'TeamProceedsOwed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'asked', type: 'uint256', indexed: false }, { name: 'owed', type: 'uint256', indexed: false }] },
426
+ { type: 'event', name: 'TeamStepsLaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'onSteps', type: 'uint256', indexed: false }, { name: 'held', type: 'uint256', indexed: false }] },
427
+ ];
428
+ export const TEAM_STEPS_HOOK_ABI = [
429
+ { type: 'function', name: 'bookTeamSteps', stateMutability: 'nonpayable', inputs: [{ name: 'tokens', type: 'uint256' }], outputs: [] },
430
+ { type: 'function', name: 'claimTeamProceeds', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'bytes32' }, { name: 'slot', type: 'uint8' }, { name: 'to', type: 'address' }], outputs: [{ name: 'paid', type: 'uint256' }] },
431
+ { type: 'function', name: 'sweepStairFees', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: 'tip', type: 'uint256' }] },
432
+ { type: 'function', name: 'sweepTeamProceeds', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [{ name: 'total', type: 'uint256' }] },
433
+ { type: 'function', name: 'teamSteps', stateMutability: 'view', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'payeeCount', type: 'uint8' }, { name: 'lockUntil', type: 'uint64' }, { name: 'lockDays', type: 'uint16' }, { name: 'registered', type: 'bool' }, { name: 'booked', type: 'bool' }, { name: 'payeePendingMask', type: 'uint256' }, { name: 'tokens', type: 'uint256' }, { name: 'held', type: 'uint256' }, { name: 'owed', type: 'uint256' }, { name: 'paid', type: 'uint256' }, { name: 'proceeds', type: 'uint256' }, { name: 'forfeited', type: 'uint256' }, { name: 'feesToVault', type: 'uint256' }, { name: 'withdrawn', type: 'uint256' }, { name: 'step', type: 'uint96[16]' }, { name: 'tippedAt', type: 'uint64' }, { name: 'soldTokens', type: 'uint256' }, { name: 'released', type: 'uint256' }, { name: 'clamped', type: 'uint256' }, { name: 'outMask', type: 'uint256' }, { name: 'partTokens', type: 'uint256' }, { name: 'partQuote', type: 'uint256' }] }] },
434
+ { type: 'error', name: 'BadSlot', inputs: [{ name: 'slot', type: 'uint8' }] },
435
+ { type: 'error', name: 'BadTeamSteps', inputs: [] },
436
+ { type: 'error', name: 'BadTeamTreasury', inputs: [] },
437
+ { type: 'error', name: 'NotTeamGovernance', inputs: [] },
438
+ { type: 'error', name: 'NotTeamPayee', inputs: [] },
439
+ { type: 'error', name: 'TeamFeeAboveCap', inputs: [] },
440
+ { type: 'error', name: 'TeamStepsLocked', inputs: [{ name: 'lockUntil', type: 'uint64' }] },
441
+ { type: 'error', name: 'TeamWithdrawOverShare', inputs: [] },
442
+ { type: 'event', name: 'TeamPayeeResolved', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }] },
443
+ { type: 'event', name: 'TeamPayeeSet', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: false }, { name: 'platform', type: 'uint8', indexed: false }, { name: 'handle', type: 'string', indexed: false }, { name: 'bps', type: 'uint16', indexed: false }] },
444
+ { type: 'event', name: 'TeamProceedsPaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
445
+ { type: 'event', name: 'TeamProceedsSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
446
+ { type: 'event', name: 'TeamStepsBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'lockUntil', type: 'uint64', indexed: false }] },
447
+ { type: 'event', name: 'TeamStepsRegistered', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lockDays', type: 'uint16', indexed: false }, { name: 'payeeCount', type: 'uint8', indexed: false }] },
448
+ { type: 'event', name: 'TeamTokensWithdrawn', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }] },
449
+ { type: 'event', name: 'TeamProceedsOwed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'asked', type: 'uint256', indexed: false }, { name: 'owed', type: 'uint256', indexed: false }] },
450
+ { type: 'event', name: 'TeamStepsLaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'onSteps', type: 'uint256', indexed: false }, { name: 'held', type: 'uint256', indexed: false }] },
451
+ ];
452
+ export const STAIR_SWEEP_HOOK_ABI = [
453
+ { type: 'function', name: 'sweepStairFees', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'bytes32' }], outputs: [{ name: 'tip', type: 'uint256' }] },
454
+ ];
455
+ export const HOOK_TRADER_REFERRALS_ABI = [
456
+ { type: 'function', name: 'configureReferralVault', stateMutability: 'nonpayable', inputs: [{ name: 'vault', type: 'address' }], outputs: [] },
457
+ { type: 'function', name: 'creditSaleReferral', stateMutability: 'nonpayable', inputs: [{ name: 'launch', type: 'address' }, { name: 'trader', type: 'address' }, { name: 'tfee', type: 'uint256' }], outputs: [{ name: 'sum', type: 'uint256' }] },
458
+ { type: 'function', name: 'referralOwedOf', stateMutability: 'view', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
459
+ { type: 'function', name: 'referralUnsweptOf', stateMutability: 'view', inputs: [{ name: 'poolId', type: 'bytes32' }], outputs: [{ name: '', type: 'uint256' }] },
460
+ { type: 'function', name: 'referralVault', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
461
+ { type: 'function', name: 'restoreReferralOwed', stateMutability: 'nonpayable', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [] },
462
+ { type: 'function', name: 'saleReferralSum', stateMutability: 'view', inputs: [{ name: 'trader', type: 'address' }, { name: 'tfee', type: 'uint256' }], outputs: [{ name: '', type: 'uint256' }] },
463
+ { type: 'function', name: 'setTraderUpline', stateMutability: 'nonpayable', inputs: [{ name: 'trader', type: 'address' }, { name: 't1', type: 'address' }, { name: 't2', type: 'address' }, { name: 't3', type: 'address' }], outputs: [] },
464
+ { type: 'function', name: 'sweepReferralFees', stateMutability: 'nonpayable', inputs: [{ name: 'poolIds', type: 'bytes32[]' }], outputs: [] },
465
+ { type: 'function', name: 'takeReferralOwed', stateMutability: 'nonpayable', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }], outputs: [{ name: 'amount', type: 'uint256' }] },
466
+ { type: 'function', name: 'traderUplineOf', stateMutability: 'view', inputs: [{ name: 'trader', type: 'address' }], outputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }, { name: '', type: 'address' }] },
467
+ { type: 'event', name: 'ReferralFeesSweepSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
468
+ { type: 'event', name: 'ReferralFeesSwept', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
469
+ { type: 'event', name: 'ReferralVaultConfigured', anonymous: false, inputs: [{ name: 'vault', type: 'address', indexed: true }] },
470
+ { type: 'event', name: 'SaleTraderReferralBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'trader', type: 'address', indexed: true }, { name: 's1', type: 'uint256', indexed: false }, { name: 's2', type: 'uint256', indexed: false }, { name: 's3', type: 'uint256', indexed: false }] },
471
+ { type: 'event', name: 'TraderReferralBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'trader', type: 'address', indexed: true }, { name: 's1', type: 'uint256', indexed: false }, { name: 's2', type: 'uint256', indexed: false }, { name: 's3', type: 'uint256', indexed: false }] },
472
+ { type: 'error', name: 'BadReferralVault', inputs: [] },
473
+ { type: 'error', name: 'BadTraderUpline', inputs: [] },
474
+ { type: 'error', name: 'NotPlatformAdmin', inputs: [] },
475
+ { type: 'error', name: 'NotPoolLaunch', inputs: [] },
476
+ { type: 'error', name: 'NotReferralVault', inputs: [] },
477
+ ];
478
+ export const TEAM_FEE_SETTINGS_ABI = [
479
+ { type: 'function', name: 'teamFeeRates', stateMutability: 'view', inputs: [], outputs: [{ name: 'poolBps', type: 'uint16' }, { name: 'saleBps', type: 'uint16' }] },
480
+ { type: 'event', name: 'TeamFeeRatesSet', anonymous: false, inputs: [{ name: 'poolBps', type: 'uint16', indexed: false }, { name: 'saleBps', type: 'uint16', indexed: false }] },
481
+ ];
482
+ export const TOKEN_ABI = [
483
+ { type: 'function', name: 'DOMAIN_SEPARATOR', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },
484
+ { type: 'function', name: 'PERMIT2', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
485
+ { type: 'function', name: 'TOTAL_SUPPLY', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
486
+ { type: 'function', name: 'allowance', stateMutability: 'view', inputs: [{ name: 'owner', type: 'address' }, { name: 'spender', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
487
+ { type: 'function', name: 'approve', stateMutability: 'nonpayable', inputs: [{ name: 'spender', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [{ name: '', type: 'bool' }] },
488
+ { type: 'function', name: 'balanceOf', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
489
+ { type: 'function', name: 'bindLaunch', stateMutability: 'nonpayable', inputs: [{ name: 'l', type: 'address' }], outputs: [] },
490
+ { type: 'function', name: 'bindOFTAdapter', stateMutability: 'nonpayable', inputs: [{ name: 'adapter', type: 'address' }], outputs: [] },
491
+ { type: 'function', name: 'bindRewards', stateMutability: 'nonpayable', inputs: [{ name: '_rewards', type: 'address' }], outputs: [] },
492
+ { type: 'function', name: 'burn', stateMutability: 'nonpayable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
493
+ { type: 'function', name: 'decimals', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
494
+ { type: 'function', name: 'deployer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
495
+ { type: 'function', name: 'initialize', stateMutability: 'nonpayable', inputs: [{ name: 'name_', type: 'string' }, { name: 'symbol_', type: 'string' }, { name: 'recipient', type: 'address' }], outputs: [] },
496
+ { type: 'function', name: 'launch', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
497
+ { type: 'function', name: 'name', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'string' }] },
498
+ { type: 'function', name: 'nonces', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
499
+ { type: 'function', name: 'oftAdapter', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
500
+ { type: 'function', name: 'permit', stateMutability: 'nonpayable', inputs: [{ name: 'owner', type: 'address' }, { name: 'spender', type: 'address' }, { name: 'value', type: 'uint256' }, { name: 'deadline', type: 'uint256' }, { name: 'v', type: 'uint8' }, { name: 'r', type: 'bytes32' }, { name: 's', type: 'bytes32' }], outputs: [] },
501
+ { type: 'function', name: 'permit2Off', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
502
+ { type: 'function', name: 'rewards', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
503
+ { type: 'function', name: 'rewardsBound', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
504
+ { type: 'function', name: 'sellBack', stateMutability: 'nonpayable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
505
+ { type: 'function', name: 'symbol', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'string' }] },
506
+ { type: 'function', name: 'totalBurned', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
507
+ { type: 'function', name: 'totalSupply', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
508
+ { type: 'function', name: 'transfer', stateMutability: 'nonpayable', inputs: [{ name: 'to', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [{ name: '', type: 'bool' }] },
509
+ { type: 'function', name: 'transferFrom', stateMutability: 'nonpayable', inputs: [{ name: 'from', type: 'address' }, { name: 'to', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [{ name: '', type: 'bool' }] },
510
+ { type: 'function', name: 'unlock', stateMutability: 'nonpayable', inputs: [], outputs: [] },
511
+ { type: 'function', name: 'unlocked', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
512
+ { type: 'event', name: 'Approval', anonymous: false, inputs: [{ name: 'owner', type: 'address', indexed: true }, { name: 'spender', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
513
+ { type: 'event', name: 'Burned', anonymous: false, inputs: [{ name: 'from', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
514
+ { type: 'event', name: 'Initialized', anonymous: false, inputs: [{ name: 'version', type: 'uint64', indexed: false }] },
515
+ { type: 'event', name: 'LaunchBound', anonymous: false, inputs: [{ name: 'launch', type: 'address', indexed: true }] },
516
+ { type: 'event', name: 'OFTAdapterBound', anonymous: false, inputs: [{ name: 'adapter', type: 'address', indexed: true }] },
517
+ { type: 'event', name: 'RewardsBound', anonymous: false, inputs: [{ name: 'rewards', type: 'address', indexed: false }] },
518
+ { type: 'event', name: 'Transfer', anonymous: false, inputs: [{ name: 'from', type: 'address', indexed: true }, { name: 'to', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
519
+ { type: 'event', name: 'Unlocked', anonymous: false, inputs: [] },
520
+ { type: 'error', name: 'AlreadyBound', inputs: [] },
521
+ { type: 'error', name: 'InvalidAdapter', inputs: [] },
522
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
523
+ { type: 'error', name: 'InvalidLaunch', inputs: [] },
524
+ { type: 'error', name: 'InvalidRecipient', inputs: [] },
525
+ { type: 'error', name: 'Locked', inputs: [] },
526
+ { type: 'error', name: 'NotDeployer', inputs: [] },
527
+ { type: 'error', name: 'NotInitializing', inputs: [] },
528
+ { type: 'error', name: 'NotLaunch', inputs: [] },
529
+ ];
530
+ export const LAUNCH_ABI = [
531
+ { type: 'function', name: 'REFERRAL_INTAKE_GAS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
532
+ { type: 'function', name: 'allocation', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
533
+ { type: 'function', name: 'buy', stateMutability: 'payable', inputs: [], outputs: [] },
534
+ { type: 'function', name: 'buy', stateMutability: 'payable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
535
+ { type: 'function', name: 'buyFor', stateMutability: 'payable', inputs: [{ name: 'recipient', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [] },
536
+ { type: 'function', name: 'canGraduate', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
537
+ { type: 'function', name: 'claimTeamTokens', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'amount', type: 'uint256' }] },
538
+ { type: 'function', name: 'contributed', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
539
+ { type: 'function', name: 'floorShareBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
540
+ { type: 'function', name: 'funded', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
541
+ { type: 'function', name: 'graduate', stateMutability: 'nonpayable', inputs: [], outputs: [] },
542
+ { type: 'function', name: 'graduated', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
543
+ { type: 'function', name: 'hook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
544
+ { type: 'function', name: 'initialize', stateMutability: 'nonpayable', inputs: [{ name: '_token', type: 'address' }, { name: '_hook', type: 'address' }, { name: '_poolManager', type: 'address' }, { name: '_key', type: 'tuple', components: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] }, { name: 'c', type: 'tuple', components: [{ name: 'saleTokens', type: 'uint256' }, { name: 'polTokens', type: 'uint256' }, { name: 'vaultTokens', type: 'uint256' }, { name: 'p0', type: 'uint256' }, { name: 'p1', type: 'uint256' }, { name: 'tranches', type: 'uint8' }, { name: 'floorShareBps', type: 'uint256' }, { name: 'teamFeeBps', type: 'uint16' }] }], outputs: [] },
545
+ { type: 'function', name: 'key', stateMutability: 'view', inputs: [], outputs: [{ name: 'currency0', type: 'address' }, { name: 'currency1', type: 'address' }, { name: 'fee', type: 'uint24' }, { name: 'tickSpacing', type: 'int24' }, { name: 'hooks', type: 'address' }] },
546
+ { type: 'function', name: 'onSellBack', stateMutability: 'nonpayable', inputs: [{ name: 'who', type: 'address' }, { name: 'tokens', type: 'uint256' }], outputs: [] },
547
+ { type: 'function', name: 'openTick', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
548
+ { type: 'function', name: 'p0', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
549
+ { type: 'function', name: 'p1', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
550
+ { type: 'function', name: 'polTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
551
+ { type: 'function', name: 'poolManager', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
552
+ { type: 'function', name: 'quoteToken', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
553
+ { type: 'function', name: 'raised', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
554
+ { type: 'function', name: 'saleTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
555
+ { type: 'function', name: 'sold', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
556
+ { type: 'function', name: 'teamBuy', stateMutability: 'payable', inputs: [{ name: 'buyer', type: 'address' }, { name: 'terms', type: 'uint256' }, { name: 'payees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }], outputs: [] },
557
+ { type: 'function', name: 'teamBuyCost', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
558
+ { type: 'function', name: 'teamBuySellBack', stateMutability: 'nonpayable', inputs: [], outputs: [] },
559
+ { type: 'function', name: 'teamBuyer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
560
+ { type: 'function', name: 'teamCliffs', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint64' }] },
561
+ { type: 'function', name: 'teamFeeBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint16' }] },
562
+ { type: 'function', name: 'teamOwed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
563
+ { type: 'function', name: 'teamStart', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint64' }] },
564
+ { type: 'function', name: 'teamStepTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
565
+ { type: 'function', name: 'teamVested', stateMutability: 'view', inputs: [], outputs: [{ name: 'v', type: 'uint256' }] },
566
+ { type: 'function', name: 'teamWalletClaimed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
567
+ { type: 'function', name: 'teamWalletClaimedBy', stateMutability: 'view', inputs: [{ name: '', type: 'uint8' }], outputs: [{ name: '', type: 'uint256' }] },
568
+ { type: 'function', name: 'teamWalletTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
569
+ { type: 'function', name: 'token', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
570
+ { type: 'function', name: 'tranchePrice', stateMutability: 'view', inputs: [{ name: 'i', type: 'uint256' }], outputs: [{ name: '', type: 'uint256' }] },
571
+ { type: 'function', name: 'trancheSize', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
572
+ { type: 'function', name: 'tranches', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
573
+ { type: 'function', name: 'vaultTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
574
+ { type: 'event', name: 'Bought', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'ethSpent', type: 'uint256', indexed: false }, { name: 'soldTotal', type: 'uint256', indexed: false }, { name: 'raisedTotal', type: 'uint256', indexed: false }] },
575
+ { type: 'event', name: 'BoughtFor', anonymous: false, inputs: [{ name: 'payer', type: 'address', indexed: true }, { name: 'recipient', type: 'address', indexed: true }, { name: 'quoteSpent', type: 'uint256', indexed: false }] },
576
+ { type: 'event', name: 'Graduated', anonymous: false, inputs: [{ name: 'raised', type: 'uint256', indexed: false }, { name: 'floorEth', type: 'uint256', indexed: false }, { name: 'polEth', type: 'uint256', indexed: false }, { name: 'ladderTokens', type: 'uint256', indexed: false }, { name: 'openTick', type: 'int24', indexed: false }] },
577
+ { type: 'event', name: 'Initialized', anonymous: false, inputs: [{ name: 'version', type: 'uint64', indexed: false }] },
578
+ { type: 'event', name: 'SaleReferralSkipped', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'sum', type: 'uint256', indexed: false }] },
579
+ { type: 'event', name: 'SoldBack', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'ethReturned', type: 'uint256', indexed: false }, { name: 'soldTotal', type: 'uint256', indexed: false }, { name: 'raisedTotal', type: 'uint256', indexed: false }] },
580
+ { type: 'event', name: 'TeamBought', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'stepTokens', type: 'uint256', indexed: false }, { name: 'walletTokens', type: 'uint256', indexed: false }, { name: 'cliffs', type: 'uint64', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
581
+ { type: 'event', name: 'TeamBuySoldBack', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
582
+ { type: 'event', name: 'TeamFeeCharged', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'fee', type: 'uint256', indexed: false }, { name: 'sellBack', type: 'bool', indexed: false }] },
583
+ { type: 'event', name: 'TeamTokensVested', anonymous: false, inputs: [{ name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
584
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
585
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
586
+ { type: 'error', name: 'AlreadyGraduated', inputs: [] },
587
+ { type: 'error', name: 'BadConfig', inputs: [] },
588
+ { type: 'error', name: 'BadQuote', inputs: [] },
589
+ { type: 'error', name: 'BadRecipient', inputs: [] },
590
+ { type: 'error', name: 'BadTeamBuy', inputs: [{ name: 'code', type: 'uint8' }] },
591
+ { type: 'error', name: 'CannotGraduate', inputs: [] },
592
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
593
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
594
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
595
+ { type: 'error', name: 'NotFactory', inputs: [] },
596
+ { type: 'error', name: 'NotFunded', inputs: [] },
597
+ { type: 'error', name: 'NotGraduated', inputs: [] },
598
+ { type: 'error', name: 'NotInitializing', inputs: [] },
599
+ { type: 'error', name: 'NotToken', inputs: [] },
600
+ { type: 'error', name: 'Nothing', inputs: [] },
601
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
602
+ { type: 'error', name: 'ReferralCallReentered', inputs: [] },
603
+ { type: 'error', name: 'ReferralIntakeOutOfGas', inputs: [] },
604
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
605
+ { type: 'error', name: 'SaleOver', inputs: [] },
606
+ { type: 'error', name: 'TeamBuyPayment', inputs: [{ name: 'expected', type: 'uint256' }] },
607
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
608
+ ];
609
+ export const TEAM_BUY_LAUNCH_EVENTS = [
610
+ { type: 'event', name: 'TeamBought', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'stepTokens', type: 'uint256', indexed: false }, { name: 'walletTokens', type: 'uint256', indexed: false }, { name: 'cliffs', type: 'uint64', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
611
+ { type: 'event', name: 'TeamBuySoldBack', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
612
+ { type: 'event', name: 'TeamFeeCharged', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'fee', type: 'uint256', indexed: false }, { name: 'sellBack', type: 'bool', indexed: false }] },
613
+ { type: 'event', name: 'TeamTokensVested', anonymous: false, inputs: [{ name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
614
+ ];
615
+ export const TEAM_BUY_LAUNCH_ABI = [
616
+ { type: 'function', name: 'claimTeamTokens', stateMutability: 'nonpayable', inputs: [{ name: 'slot', type: 'uint8' }], outputs: [{ name: 'amount', type: 'uint256' }] },
617
+ { type: 'function', name: 'teamBuy', stateMutability: 'payable', inputs: [{ name: 'buyer', type: 'address' }, { name: 'terms', type: 'uint256' }, { name: 'payees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }], outputs: [] },
618
+ { type: 'function', name: 'teamBuyCost', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
619
+ { type: 'function', name: 'teamBuySellBack', stateMutability: 'nonpayable', inputs: [], outputs: [] },
620
+ { type: 'function', name: 'teamBuyer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
621
+ { type: 'function', name: 'teamCliffs', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint64' }] },
622
+ { type: 'function', name: 'teamFeeBps', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint16' }] },
623
+ { type: 'function', name: 'teamOwed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
624
+ { type: 'function', name: 'teamStart', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint64' }] },
625
+ { type: 'function', name: 'teamStepTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
626
+ { type: 'function', name: 'teamVested', stateMutability: 'view', inputs: [], outputs: [{ name: 'v', type: 'uint256' }] },
627
+ { type: 'function', name: 'teamWalletClaimed', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
628
+ { type: 'function', name: 'teamWalletClaimedBy', stateMutability: 'view', inputs: [{ name: '', type: 'uint8' }], outputs: [{ name: '', type: 'uint256' }] },
629
+ { type: 'function', name: 'teamWalletTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
630
+ { type: 'event', name: 'TeamBought', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'stepTokens', type: 'uint256', indexed: false }, { name: 'walletTokens', type: 'uint256', indexed: false }, { name: 'cliffs', type: 'uint64', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
631
+ { type: 'event', name: 'TeamBuySoldBack', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
632
+ { type: 'event', name: 'TeamFeeCharged', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'fee', type: 'uint256', indexed: false }, { name: 'sellBack', type: 'bool', indexed: false }] },
633
+ { type: 'event', name: 'TeamTokensVested', anonymous: false, inputs: [{ name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
634
+ { type: 'error', name: 'BadTeamBuy', inputs: [{ name: 'code', type: 'uint8' }] },
635
+ { type: 'error', name: 'TeamBuyPayment', inputs: [{ name: 'expected', type: 'uint256' }] },
636
+ ];
637
+ export const TEAM_PAYEE_READ_ABI = [
638
+ { type: 'function', name: 'launch', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
639
+ { type: 'function', name: 'teamStepTokens', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
640
+ ];
641
+ export const HOLDER_REWARDS_ABI = [
642
+ { type: 'function', name: 'accrue', stateMutability: 'nonpayable', inputs: [{ name: 'poolId', type: 'bytes32' }, { name: 'amount', type: 'uint256' }], outputs: [] },
643
+ { type: 'function', name: 'book', stateMutability: 'view', inputs: [{ name: 'token', type: 'address' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'poolId', type: 'bytes32' }, { name: 'quote', type: 'address' }, { name: 'launch', type: 'address' }, { name: 'rewardPerShareE36', type: 'uint256' }, { name: 'eligibleSupply', type: 'uint256' }, { name: 'unallocated', type: 'uint256' }, { name: 'accrued', type: 'uint256' }, { name: 'released', type: 'uint256' }, { name: 'registered', type: 'bool' }] }] },
644
+ { type: 'function', name: 'claim', stateMutability: 'nonpayable', inputs: [{ name: 'token', type: 'address' }], outputs: [{ name: 'paid', type: 'uint256' }] },
645
+ { type: 'function', name: 'claimAll', stateMutability: 'nonpayable', inputs: [{ name: 'tokens', type: 'address[]' }, { name: 'referralClaims', type: 'tuple[]', components: [{ name: 'poolId', type: 'bytes32' }, { name: 'tier', type: 'uint8' }] }, { name: 'creatorClaims', type: 'tuple[]', components: [{ name: 'poolId', type: 'bytes32' }, { name: 'slot', type: 'uint8' }] }], outputs: [{ name: 'paid', type: 'uint256[]' }] },
646
+ { type: 'function', name: 'claimMany', stateMutability: 'nonpayable', inputs: [{ name: 'tokens', type: 'address[]' }], outputs: [{ name: 'paid', type: 'uint256[]' }] },
647
+ { type: 'function', name: 'claimable', stateMutability: 'view', inputs: [{ name: 'token', type: 'address' }, { name: 'holder', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
648
+ { type: 'function', name: 'claimed', stateMutability: 'view', inputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
649
+ { type: 'function', name: 'excludedIn', stateMutability: 'view', inputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
650
+ { type: 'function', name: 'freshSupplyOf', stateMutability: 'view', inputs: [{ name: 'token', type: 'address' }], outputs: [{ name: 'amount', type: 'uint256' }, { name: 'blockNumber', type: 'uint256' }] },
651
+ { type: 'function', name: 'globallyExcluded', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
652
+ { type: 'function', name: 'hook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
653
+ { type: 'function', name: 'initialize', stateMutability: 'nonpayable', inputs: [{ name: 'hook_', type: 'address' }, { name: 'registry_', type: 'address' }, { name: 'poolManager_', type: 'address' }, { name: 'vesting_', type: 'address' }], outputs: [] },
654
+ { type: 'function', name: 'isExcluded', stateMutability: 'view', inputs: [{ name: 'token', type: 'address' }, { name: 'account', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
655
+ { type: 'function', name: 'onTransfer', stateMutability: 'nonpayable', inputs: [{ name: 'from', type: 'address' }, { name: 'to', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [] },
656
+ { type: 'function', name: 'owed', stateMutability: 'view', inputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
657
+ { type: 'function', name: 'registerLaunch', stateMutability: 'nonpayable', inputs: [{ name: 'token', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'launch', type: 'address' }, { name: 'oftAdapter', type: 'address' }, { name: 'custodyVault', type: 'address' }, { name: 'quote', type: 'address' }], outputs: [] },
658
+ { type: 'function', name: 'registry', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
659
+ { type: 'function', name: 'shares', stateMutability: 'view', inputs: [{ name: '', type: 'address' }, { name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
660
+ { type: 'function', name: 'sync', stateMutability: 'nonpayable', inputs: [{ name: 'token', type: 'address' }, { name: 'holder', type: 'address' }], outputs: [] },
661
+ { type: 'function', name: 'tokenOf', stateMutability: 'view', inputs: [{ name: '', type: 'bytes32' }], outputs: [{ name: '', type: 'address' }] },
662
+ { type: 'event', name: 'Accrued', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'eligibleSupply', type: 'uint256', indexed: false }] },
663
+ { type: 'event', name: 'ClaimSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'kind', type: 'uint8', indexed: true }, { name: 'reason', type: 'bytes', indexed: false }] },
664
+ { type: 'event', name: 'Claimed', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'holder', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
665
+ { type: 'event', name: 'Initialized', anonymous: false, inputs: [{ name: 'version', type: 'uint64', indexed: false }] },
666
+ { type: 'event', name: 'LaunchRegistered', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'launch', type: 'address', indexed: true }, { name: 'quote', type: 'address', indexed: false }] },
667
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
668
+ { type: 'error', name: 'BadInitialization', inputs: [] },
669
+ { type: 'error', name: 'BadRegistration', inputs: [] },
670
+ { type: 'error', name: 'BatchGasTooLow', inputs: [] },
671
+ { type: 'error', name: 'BookOverdrawn', inputs: [] },
672
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
673
+ { type: 'error', name: 'NotApprovedFactory', inputs: [] },
674
+ { type: 'error', name: 'NotHook', inputs: [] },
675
+ { type: 'error', name: 'NotInitializing', inputs: [] },
676
+ { type: 'error', name: 'Reentrancy', inputs: [] },
677
+ { type: 'error', name: 'UnknownPool', inputs: [] },
678
+ { type: 'error', name: 'UnknownToken', inputs: [] },
679
+ ];
680
+ export const CLAIMS_ABI = [
681
+ { type: 'function', name: 'acceptGovernance', stateMutability: 'nonpayable', inputs: [], outputs: [] },
682
+ { type: 'function', name: 'attestor', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
683
+ { type: 'function', name: 'claimPool', stateMutability: 'nonpayable', inputs: [{ name: 'hook', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'slot', type: 'uint8' }, { name: 'recipient', type: 'address' }, { name: 'deadline', type: 'uint256' }, { name: 'signature', type: 'bytes' }], outputs: [] },
684
+ { type: 'function', name: 'claimPoolPayee', stateMutability: 'nonpayable', inputs: [{ name: 'hook', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'slot', type: 'uint8' }, { name: 'recipient', type: 'address' }, { name: 'deadline', type: 'uint256' }, { name: 'signature', type: 'bytes' }], outputs: [] },
685
+ { type: 'function', name: 'eip712Domain', stateMutability: 'view', inputs: [], outputs: [{ name: 'fields', type: 'bytes1' }, { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'chainId', type: 'uint256' }, { name: 'verifyingContract', type: 'address' }, { name: 'salt', type: 'bytes32' }, { name: 'extensions', type: 'uint256[]' }] },
686
+ { type: 'function', name: 'governance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
687
+ { type: 'function', name: 'pendingGovernance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
688
+ { type: 'function', name: 'setAttestor', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
689
+ { type: 'function', name: 'setGovernance', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
690
+ { type: 'function', name: 'supportsSlotClaims', stateMutability: 'pure', inputs: [], outputs: [{ name: '', type: 'bool' }] },
691
+ { type: 'event', name: 'AttestorChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'attestor', type: 'address', indexed: true }] },
692
+ { type: 'event', name: 'EIP712DomainChanged', anonymous: false, inputs: [] },
693
+ { type: 'event', name: 'GovernanceChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'governance', type: 'address', indexed: true }, { name: 'accepted', type: 'bool', indexed: false }] },
694
+ { type: 'event', name: 'PoolPayeeClaimed', anonymous: false, inputs: [{ name: 'hook', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: false }, { name: 'recipient', type: 'address', indexed: false }] },
695
+ { type: 'event', name: 'PoolRecipientClaimed', anonymous: false, inputs: [{ name: 'hook', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: false }, { name: 'recipient', type: 'address', indexed: false }] },
696
+ { type: 'event', name: 'PoolRoleClaimed', anonymous: false, inputs: [{ name: 'wallet', type: 'address', indexed: true }, { name: 'hook', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'role', type: 'uint8', indexed: false }] },
697
+ { type: 'error', name: 'AttestorIsGovernance', inputs: [] },
698
+ { type: 'error', name: 'BadSigner', inputs: [] },
699
+ { type: 'error', name: 'ECDSAInvalidSignature', inputs: [] },
700
+ { type: 'error', name: 'ECDSAInvalidSignatureLength', inputs: [{ name: 'length', type: 'uint256' }] },
701
+ { type: 'error', name: 'ECDSAInvalidSignatureS', inputs: [{ name: 's', type: 'bytes32' }] },
702
+ { type: 'error', name: 'Expired', inputs: [] },
703
+ { type: 'error', name: 'GovernanceIsAttestor', inputs: [] },
704
+ { type: 'error', name: 'InvalidShortString', inputs: [] },
705
+ { type: 'error', name: 'NotGovernance', inputs: [] },
706
+ { type: 'error', name: 'NotPending', inputs: [] },
707
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
708
+ { type: 'error', name: 'StringTooLong', inputs: [{ name: 'str', type: 'string' }] },
709
+ { type: 'error', name: 'ZeroAttestor', inputs: [] },
710
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
711
+ { type: 'error', name: 'ZeroRecipient', inputs: [] },
712
+ ];
713
+ export const TEAM_PAYEE_CLAIMS_ABI = [
714
+ { type: 'function', name: 'claimPoolPayee', stateMutability: 'nonpayable', inputs: [{ name: 'hook', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'slot', type: 'uint8' }, { name: 'recipient', type: 'address' }, { name: 'deadline', type: 'uint256' }, { name: 'signature', type: 'bytes' }], outputs: [] },
715
+ { type: 'event', name: 'PoolPayeeClaimed', anonymous: false, inputs: [{ name: 'hook', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: false }, { name: 'recipient', type: 'address', indexed: false }] },
716
+ ];
717
+ export const GOVERNANCE_ABI = [
718
+ { type: 'function', name: 'acceptGovernance', stateMutability: 'nonpayable', inputs: [], outputs: [] },
719
+ { type: 'function', name: 'governance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
720
+ { type: 'function', name: 'pendingGovernance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
721
+ { type: 'function', name: 'setGovernance', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
722
+ { type: 'event', name: 'GovernanceChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'governance', type: 'address', indexed: true }, { name: 'accepted', type: 'bool', indexed: false }] },
723
+ { type: 'error', name: 'NotGovernance', inputs: [] },
724
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
725
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
726
+ ];
727
+ export const CLAIMS_ROTATION_ABI = [
728
+ { type: 'function', name: 'setAttestor', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
729
+ { type: 'event', name: 'AttestorChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'attestor', type: 'address', indexed: true }] },
730
+ { type: 'error', name: 'AttestorIsGovernance', inputs: [] },
731
+ { type: 'error', name: 'GovernanceIsAttestor', inputs: [] },
732
+ { type: 'error', name: 'ZeroAttestor', inputs: [] },
733
+ { type: 'function', name: 'acceptGovernance', stateMutability: 'nonpayable', inputs: [], outputs: [] },
734
+ { type: 'function', name: 'governance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
735
+ { type: 'function', name: 'pendingGovernance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
736
+ { type: 'function', name: 'setGovernance', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
737
+ { type: 'event', name: 'GovernanceChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'governance', type: 'address', indexed: true }, { name: 'accepted', type: 'bool', indexed: false }] },
738
+ { type: 'error', name: 'NotGovernance', inputs: [] },
739
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
740
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
741
+ ];
742
+ export const WALLET_SCAN_ABI = [
743
+ { type: 'function', name: 'launch', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
744
+ { type: 'event', name: 'LaunchRole', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'role', type: 'uint8', indexed: true }] },
745
+ { type: 'event', name: 'PoolRoleClaimed', anonymous: false, inputs: [{ name: 'wallet', type: 'address', indexed: true }, { name: 'hook', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'role', type: 'uint8', indexed: false }] },
746
+ ];
747
+ export const REGISTRY_ABI = [
748
+ { type: 'function', name: 'admin', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
749
+ { type: 'function', name: 'approveFactory', stateMutability: 'nonpayable', inputs: [{ name: 'factory', type: 'address' }], outputs: [] },
750
+ { type: 'function', name: 'at', stateMutability: 'view', inputs: [{ name: 'i', type: 'uint256' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'launch', type: 'address' }, { name: 'token', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'mode', type: 'uint8' }, { name: 'at', type: 'uint64' }, { name: 'registrar', type: 'address' }] }] },
751
+ { type: 'function', name: 'count', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
752
+ { type: 'function', name: 'entryOf', stateMutability: 'view', inputs: [{ name: 'launch', type: 'address' }], outputs: [{ name: 'e', type: 'tuple', components: [{ name: 'launch', type: 'address' }, { name: 'token', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'mode', type: 'uint8' }, { name: 'at', type: 'uint64' }, { name: 'registrar', type: 'address' }] }] },
753
+ { type: 'function', name: 'isApprovedFactory', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
754
+ { type: 'function', name: 'isRegistered', stateMutability: 'view', inputs: [{ name: 'launch', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
755
+ { type: 'function', name: 'page', stateMutability: 'view', inputs: [{ name: 'start', type: 'uint256' }, { name: 'n', type: 'uint256' }], outputs: [{ name: 'out', type: 'tuple[]', components: [{ name: 'launch', type: 'address' }, { name: 'token', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'mode', type: 'uint8' }, { name: 'at', type: 'uint64' }, { name: 'registrar', type: 'address' }] }] },
756
+ { type: 'function', name: 'refreshPoolId', stateMutability: 'nonpayable', inputs: [{ name: 'launch', type: 'address' }], outputs: [] },
757
+ { type: 'function', name: 'register', stateMutability: 'nonpayable', inputs: [{ name: 'launch', type: 'address' }, { name: 'mode', type: 'uint8' }], outputs: [{ name: 'id', type: 'uint256' }] },
758
+ { type: 'function', name: 'removeFactory', stateMutability: 'nonpayable', inputs: [{ name: 'factory', type: 'address' }], outputs: [] },
759
+ { type: 'function', name: 'renounceAdmin', stateMutability: 'nonpayable', inputs: [], outputs: [] },
760
+ { type: 'function', name: 'transferAdmin', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
761
+ { type: 'event', name: 'AdminRenounced', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }] },
762
+ { type: 'event', name: 'AdminTransferred', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'next', type: 'address', indexed: true }] },
763
+ { type: 'event', name: 'FactoryApproved', anonymous: false, inputs: [{ name: 'factory', type: 'address', indexed: true }, { name: 'by', type: 'address', indexed: true }] },
764
+ { type: 'event', name: 'FactoryRemoved', anonymous: false, inputs: [{ name: 'factory', type: 'address', indexed: true }, { name: 'by', type: 'address', indexed: true }] },
765
+ { type: 'event', name: 'Launched', anonymous: false, inputs: [{ name: 'launch', type: 'address', indexed: true }, { name: 'token', type: 'address', indexed: true }, { name: 'hook', type: 'address', indexed: true }, { name: 'rewards', type: 'address', indexed: false }, { name: 'poolId', type: 'bytes32', indexed: false }, { name: 'mode', type: 'uint8', indexed: false }, { name: 'name', type: 'string', indexed: false }, { name: 'symbol', type: 'string', indexed: false }, { name: 'registrar', type: 'address', indexed: false }] },
766
+ { type: 'error', name: 'AlreadyApproved', inputs: [] },
767
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
768
+ { type: 'error', name: 'NotAContract', inputs: [] },
769
+ { type: 'error', name: 'NotALaunch', inputs: [] },
770
+ { type: 'error', name: 'NotAdmin', inputs: [] },
771
+ { type: 'error', name: 'NotApprovedFactory', inputs: [] },
772
+ { type: 'error', name: 'ZeroAdmin', inputs: [] },
773
+ ];
774
+ export const FACTORY_ABI = [
775
+ { type: 'function', name: 'HOOK_FLAGS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint160' }] },
776
+ { type: 'function', name: 'POL', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
777
+ { type: 'function', name: 'ROLE_CREATOR', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
778
+ { type: 'function', name: 'ROLE_FEE_RECIPIENT', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
779
+ { type: 'function', name: 'ROLE_REFERRER_1', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
780
+ { type: 'function', name: 'ROLE_REFERRER_2', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
781
+ { type: 'function', name: 'ROLE_REFERRER_3', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
782
+ { type: 'function', name: 'ROLE_TEAM_PAYEE', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
783
+ { type: 'function', name: 'SALE', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
784
+ { type: 'function', name: 'SUPPLY', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
785
+ { type: 'function', name: 'TICK_SPACING', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
786
+ { type: 'function', name: 'VAULT', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
787
+ { type: 'function', name: 'codeStore', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
788
+ { type: 'function', name: 'createLaunch', stateMutability: 'payable', inputs: [{ name: 'p', type: 'tuple', components: [{ name: 'mode', type: 'uint8' }, { name: 'name', type: 'string' }, { name: 'symbol', type: 'string' }, { name: 'recipients', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }, { name: 'ethUsd', type: 'uint64' }, { name: 'graduationMcapUsd', type: 'uint64' }, { name: 'skimBuyBps', type: 'uint16' }, { name: 'skimSellBps', type: 'uint16' }, { name: 'creatorBuyBps', type: 'uint16' }, { name: 'creatorSellBps', type: 'uint16' }, { name: 'holderBuyBps', type: 'uint16' }, { name: 'holderSellBps', type: 'uint16' }, { name: 'quoteToken', type: 'address' }, { name: 'saleBps', type: 'uint16' }, { name: 'polBps', type: 'uint16' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint16' }, { name: 'teamBuyBps', type: 'uint16' }, { name: 'teamBuyWalletBps', type: 'uint16' }, { name: 'teamBuyLockDays', type: 'uint16' }, { name: 'teamBuyCliffDays', type: 'uint64' }, { name: 'teamPayees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }] }, { name: 'launchSalt', type: 'bytes32' }, { name: '', type: 'bytes32' }], outputs: [{ name: 'a', type: 'tuple', components: [{ name: 'deployment', type: 'address' }, { name: 'token', type: 'address' }, { name: 'launch', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'oftAdapter', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'custodyVault', type: 'address' }] }] },
789
+ { type: 'function', name: 'creatorOf', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'address' }] },
790
+ { type: 'function', name: 'deploymentAddress', stateMutability: 'view', inputs: [{ name: 'creator', type: 'address' }, { name: 'launchSalt', type: 'bytes32' }], outputs: [{ name: '', type: 'address' }] },
791
+ { type: 'function', name: 'deploymentCodeHash', stateMutability: 'pure', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },
792
+ { type: 'function', name: 'holderRewards', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
793
+ { type: 'function', name: 'initialize', stateMutability: 'nonpayable', inputs: [{ name: '_manager', type: 'address' }, { name: '_vesting', type: 'address' }, { name: '_registry', type: 'address' }, { name: '_codeStore', type: 'address' }, { name: '_oftDeployer', type: 'address' }, { name: '_recipientClaims', type: 'address' }], outputs: [] },
794
+ { type: 'function', name: 'manager', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
795
+ { type: 'function', name: 'oftDeployer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
796
+ { type: 'function', name: 'predictLaunch', stateMutability: 'view', inputs: [{ name: 'creator', type: 'address' }, { name: 'p', type: 'tuple', components: [{ name: 'mode', type: 'uint8' }, { name: 'name', type: 'string' }, { name: 'symbol', type: 'string' }, { name: 'recipients', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }, { name: 'ethUsd', type: 'uint64' }, { name: 'graduationMcapUsd', type: 'uint64' }, { name: 'skimBuyBps', type: 'uint16' }, { name: 'skimSellBps', type: 'uint16' }, { name: 'creatorBuyBps', type: 'uint16' }, { name: 'creatorSellBps', type: 'uint16' }, { name: 'holderBuyBps', type: 'uint16' }, { name: 'holderSellBps', type: 'uint16' }, { name: 'quoteToken', type: 'address' }, { name: 'saleBps', type: 'uint16' }, { name: 'polBps', type: 'uint16' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint16' }, { name: 'teamBuyBps', type: 'uint16' }, { name: 'teamBuyWalletBps', type: 'uint16' }, { name: 'teamBuyLockDays', type: 'uint16' }, { name: 'teamBuyCliffDays', type: 'uint64' }, { name: 'teamPayees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }] }, { name: 'launchSalt', type: 'bytes32' }, { name: '', type: 'bytes32' }], outputs: [{ name: 'a', type: 'tuple', components: [{ name: 'deployment', type: 'address' }, { name: 'token', type: 'address' }, { name: 'launch', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'oftAdapter', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'custodyVault', type: 'address' }] }] },
797
+ { type: 'function', name: 'presets', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
798
+ { type: 'function', name: 'quoteTreasury', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
799
+ { type: 'function', name: 'recipientClaims', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
800
+ { type: 'function', name: 'registry', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
801
+ { type: 'function', name: 'singletonHook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
802
+ { type: 'function', name: 'vesting', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
803
+ { type: 'event', name: 'Initialized', anonymous: false, inputs: [{ name: 'version', type: 'uint64', indexed: false }] },
804
+ { type: 'event', name: 'LaunchCreated', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'hook', type: 'address', indexed: true }, { name: 'launch', type: 'address', indexed: true }, { name: 'rewards', type: 'address', indexed: false }, { name: 'poolId', type: 'bytes32', indexed: false }, { name: 'mode', type: 'uint8', indexed: false }, { name: 'creator', type: 'address', indexed: false }, { name: 'graduationMcapUsd', type: 'uint256', indexed: false }, { name: 'ethUsd', type: 'uint256', indexed: false }] },
805
+ { type: 'event', name: 'LaunchRole', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'role', type: 'uint8', indexed: true }] },
806
+ { type: 'error', name: 'AddressMismatch', inputs: [] },
807
+ { type: 'error', name: 'BadConfig', inputs: [] },
808
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
809
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
810
+ { type: 'error', name: 'BadSplit', inputs: [{ name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }] },
811
+ { type: 'error', name: 'BadTeamBuy', inputs: [{ name: 'code', type: 'uint8' }] },
812
+ { type: 'error', name: 'HookDoesNotOwnPlatformCut', inputs: [] },
813
+ { type: 'error', name: 'HookHasNoTeamFee', inputs: [] },
814
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
815
+ { type: 'error', name: 'NotInitializing', inputs: [] },
816
+ { type: 'error', name: 'PresetDisabled', inputs: [{ name: 'id', type: 'uint8' }] },
817
+ { type: 'error', name: 'QuoteNotApproved', inputs: [{ name: 'quote', type: 'address' }] },
818
+ { type: 'error', name: 'QuoteUnitMismatch', inputs: [{ name: 'factoryUnit', type: 'uint256' }, { name: 'poolUnit', type: 'uint256' }] },
819
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
820
+ { type: 'error', name: 'TeamStepsOverCap', inputs: [{ name: 'shareBps', type: 'uint256' }] },
821
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
822
+ ];
823
+ export const PLATFORM_TREASURY_ABI = [
824
+ { type: 'function', name: 'FLOOR_QUOTE_PROBE_GAS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
825
+ { type: 'function', name: 'acceptGovernance', stateMutability: 'nonpayable', inputs: [], outputs: [] },
826
+ { type: 'function', name: 'acceptsQuote', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
827
+ { type: 'function', name: 'allowAllQuotes', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
828
+ { type: 'function', name: 'approveQuote', stateMutability: 'nonpayable', inputs: [{ name: 'quote', type: 'address' }, { name: 'maxBounty', type: 'uint256' }], outputs: [] },
829
+ { type: 'function', name: 'approveQuotes', stateMutability: 'nonpayable', inputs: [{ name: 'quotes', type: 'address[]' }, { name: 'maxBounties', type: 'uint256[]' }], outputs: [] },
830
+ { type: 'function', name: 'balanceOf', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
831
+ { type: 'function', name: 'floorQuotePool', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: 'id', type: 'bytes32' }] },
832
+ { type: 'function', name: 'governance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
833
+ { type: 'function', name: 'hook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
834
+ { type: 'function', name: 'intake', stateMutability: 'nonpayable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
835
+ { type: 'function', name: 'intake', stateMutability: 'payable', inputs: [], outputs: [] },
836
+ { type: 'function', name: 'isAllowlistedQuote', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
837
+ { type: 'function', name: 'isApprovedQuote', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
838
+ { type: 'function', name: 'isFloorLaunchToken', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
839
+ { type: 'function', name: 'isFloorQuote', stateMutability: 'view', inputs: [{ name: 'quote', type: 'address' }], outputs: [{ name: '', type: 'bool' }] },
840
+ { type: 'function', name: 'maxBountyOf', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
841
+ { type: 'function', name: 'pendingGovernance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
842
+ { type: 'function', name: 'removeQuote', stateMutability: 'nonpayable', inputs: [{ name: 'quote', type: 'address' }], outputs: [] },
843
+ { type: 'function', name: 'setAllowAllQuotes', stateMutability: 'nonpayable', inputs: [{ name: 'enabled', type: 'bool' }], outputs: [] },
844
+ { type: 'function', name: 'setGovernance', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
845
+ { type: 'function', name: 'setMaxBounty', stateMutability: 'nonpayable', inputs: [{ name: 'quote', type: 'address' }, { name: 'maxBounty', type: 'uint256' }], outputs: [] },
846
+ { type: 'function', name: 'totalReceived', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
847
+ { type: 'function', name: 'totalWithdrawn', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
848
+ { type: 'function', name: 'withdraw', stateMutability: 'nonpayable', inputs: [{ name: 'quote', type: 'address' }, { name: 'to', type: 'address' }, { name: 'amount', type: 'uint256' }], outputs: [] },
849
+ { type: 'event', name: 'AllowAllQuotesSet', anonymous: false, inputs: [{ name: 'enabled', type: 'bool', indexed: false }] },
850
+ { type: 'event', name: 'GovernanceChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'governance', type: 'address', indexed: true }, { name: 'accepted', type: 'bool', indexed: false }] },
851
+ { type: 'event', name: 'Intake', anonymous: false, inputs: [{ name: 'quote', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'vault', type: 'address', indexed: false }, { name: 'amount', type: 'uint256', indexed: false }] },
852
+ { type: 'event', name: 'MaxBountySet', anonymous: false, inputs: [{ name: 'quote', type: 'address', indexed: true }, { name: 'maxBounty', type: 'uint256', indexed: false }] },
853
+ { type: 'event', name: 'QuoteApproved', anonymous: false, inputs: [{ name: 'quote', type: 'address', indexed: true }] },
854
+ { type: 'event', name: 'QuoteRemoved', anonymous: false, inputs: [{ name: 'quote', type: 'address', indexed: true }] },
855
+ { type: 'event', name: 'Withdrawn', anonymous: false, inputs: [{ name: 'quote', type: 'address', indexed: true }, { name: 'to', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
856
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
857
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
858
+ { type: 'error', name: 'AlreadyApproved', inputs: [{ name: 'quote', type: 'address' }] },
859
+ { type: 'error', name: 'BadHook', inputs: [] },
860
+ { type: 'error', name: 'BadQuote', inputs: [{ name: 'quote', type: 'address' }] },
861
+ { type: 'error', name: 'BadWithdrawal', inputs: [] },
862
+ { type: 'error', name: 'ERC777Refused', inputs: [{ name: 'quote', type: 'address' }] },
863
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
864
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
865
+ { type: 'error', name: 'MaxBountyListMismatch', inputs: [{ name: 'quotes', type: 'uint256' }, { name: 'maxBounties', type: 'uint256' }] },
866
+ { type: 'error', name: 'NativeTransferFailed', inputs: [{ name: 'to', type: 'address' }] },
867
+ { type: 'error', name: 'NotApproved', inputs: [{ name: 'quote', type: 'address' }] },
868
+ { type: 'error', name: 'NotGovernance', inputs: [] },
869
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
870
+ { type: 'error', name: 'NotPoolVault', inputs: [{ name: 'caller', type: 'address' }] },
871
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
872
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
873
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
874
+ { type: 'error', name: 'TreasuryIsNotGovernance', inputs: [] },
875
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
876
+ { type: 'error', name: 'ZeroMaxBounty', inputs: [{ name: 'quote', type: 'address' }] },
877
+ ];
878
+ export const PRESET_REGISTRY_ABI = [
879
+ { type: 'function', name: 'MAX_PRESET_ID', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
880
+ { type: 'function', name: 'acceptOwnership', stateMutability: 'nonpayable', inputs: [], outputs: [] },
881
+ { type: 'function', name: 'addPreset', stateMutability: 'nonpayable', inputs: [{ name: 'row', type: 'tuple', components: [{ name: 'graduationMcapUsd', type: 'uint256' }, { name: 'creatorBps', type: 'uint256' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'holderBps', type: 'uint256' }, { name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint256' }, { name: 'stairSteps', type: 'uint256' }, { name: 'stairGrowthBps', type: 'uint256' }, { name: 'teamBuyMaxBps', type: 'uint256' }, { name: 'teamCliffs', type: 'uint64' }, { name: 'enabled', type: 'bool' }] }], outputs: [{ name: 'id', type: 'uint8' }] },
882
+ { type: 'function', name: 'owner', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
883
+ { type: 'function', name: 'pendingOwner', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
884
+ { type: 'function', name: 'presetCount', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
885
+ { type: 'function', name: 'presetOf', stateMutability: 'view', inputs: [{ name: 'id', type: 'uint8' }], outputs: [{ name: '', type: 'tuple', components: [{ name: 'graduationMcapUsd', type: 'uint256' }, { name: 'creatorBps', type: 'uint256' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'holderBps', type: 'uint256' }, { name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint256' }, { name: 'stairSteps', type: 'uint256' }, { name: 'stairGrowthBps', type: 'uint256' }, { name: 'teamBuyMaxBps', type: 'uint256' }, { name: 'teamCliffs', type: 'uint64' }, { name: 'enabled', type: 'bool' }] }] },
886
+ { type: 'function', name: 'renounceOwnership', stateMutability: 'nonpayable', inputs: [], outputs: [] },
887
+ { type: 'function', name: 'setPresetEnabled', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'uint8' }, { name: 'enabled', type: 'bool' }], outputs: [] },
888
+ { type: 'function', name: 'transferOwnership', stateMutability: 'nonpayable', inputs: [{ name: 'newOwner', type: 'address' }], outputs: [] },
889
+ { type: 'event', name: 'OwnershipTransferStarted', anonymous: false, inputs: [{ name: 'previousOwner', type: 'address', indexed: true }, { name: 'newOwner', type: 'address', indexed: true }] },
890
+ { type: 'event', name: 'OwnershipTransferred', anonymous: false, inputs: [{ name: 'previousOwner', type: 'address', indexed: true }, { name: 'newOwner', type: 'address', indexed: true }] },
891
+ { type: 'event', name: 'PresetAdded', anonymous: false, inputs: [{ name: 'id', type: 'uint8', indexed: true }, { name: 'row', type: 'tuple', indexed: false, components: [{ name: 'graduationMcapUsd', type: 'uint256' }, { name: 'creatorBps', type: 'uint256' }, { name: 'skimBuyFarBps', type: 'uint256' }, { name: 'skimSellFarBps', type: 'uint256' }, { name: 'holderBps', type: 'uint256' }, { name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint256' }, { name: 'stairSteps', type: 'uint256' }, { name: 'stairGrowthBps', type: 'uint256' }, { name: 'teamBuyMaxBps', type: 'uint256' }, { name: 'teamCliffs', type: 'uint64' }, { name: 'enabled', type: 'bool' }] }] },
892
+ { type: 'event', name: 'PresetEnabled', anonymous: false, inputs: [{ name: 'id', type: 'uint8', indexed: true }, { name: 'enabled', type: 'bool', indexed: false }] },
893
+ { type: 'error', name: 'BadSplit', inputs: [{ name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }] },
894
+ { type: 'error', name: 'OwnableInvalidOwner', inputs: [{ name: 'owner', type: 'address' }] },
895
+ { type: 'error', name: 'OwnableUnauthorizedAccount', inputs: [{ name: 'account', type: 'address' }] },
896
+ { type: 'error', name: 'PresetDisabled', inputs: [{ name: 'id', type: 'uint8' }] },
897
+ { type: 'error', name: 'PresetInvalid', inputs: [{ name: 'field', type: 'string' }] },
898
+ { type: 'error', name: 'PresetTableFull', inputs: [] },
899
+ { type: 'error', name: 'PresetUnknown', inputs: [{ name: 'id', type: 'uint8' }] },
900
+ ];
901
+ export const VESTING_ABI = [
902
+ { type: 'function', name: 'claim', stateMutability: 'nonpayable', inputs: [{ name: 'id', type: 'uint256' }], outputs: [{ name: 'amount', type: 'uint256' }] },
903
+ { type: 'function', name: 'claimable', stateMutability: 'view', inputs: [{ name: 'id', type: 'uint256' }], outputs: [{ name: '', type: 'uint256' }] },
904
+ { type: 'function', name: 'linearAfterCliff', stateMutability: 'view', inputs: [{ name: '', type: 'uint256' }], outputs: [{ name: '', type: 'bool' }] },
905
+ { type: 'function', name: 'lock', stateMutability: 'nonpayable', inputs: [{ name: 'token', type: 'address' }, { name: 'beneficiary', type: 'address' }, { name: 'amount', type: 'uint256' }, { name: 'cliffSeconds', type: 'uint64' }, { name: 'durationSeconds', type: 'uint64' }], outputs: [{ name: 'id', type: 'uint256' }] },
906
+ { type: 'function', name: 'lockAt', stateMutability: 'nonpayable', inputs: [{ name: 'token', type: 'address' }, { name: 'beneficiary', type: 'address' }, { name: 'amount', type: 'uint256' }, { name: 'start', type: 'uint64' }, { name: 'cliffSeconds', type: 'uint64' }, { name: 'linearSeconds', type: 'uint64' }], outputs: [{ name: 'id', type: 'uint256' }] },
907
+ { type: 'function', name: 'lockCount', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
908
+ { type: 'function', name: 'locks', stateMutability: 'view', inputs: [{ name: '', type: 'uint256' }], outputs: [{ name: 'token', type: 'address' }, { name: 'beneficiary', type: 'address' }, { name: 'total', type: 'uint128' }, { name: 'claimed', type: 'uint128' }, { name: 'start', type: 'uint64' }, { name: 'cliff', type: 'uint64' }, { name: 'end', type: 'uint64' }, { name: 'locker', type: 'address' }] },
909
+ { type: 'function', name: 'locksOf', stateMutability: 'view', inputs: [{ name: 'beneficiary', type: 'address' }], outputs: [{ name: '', type: 'uint256[]' }] },
910
+ { type: 'function', name: 'vested', stateMutability: 'view', inputs: [{ name: 'id', type: 'uint256' }], outputs: [{ name: '', type: 'uint256' }] },
911
+ { type: 'event', name: 'AbsoluteSchedule', anonymous: false, inputs: [{ name: 'id', type: 'uint256', indexed: true }, { name: 'start', type: 'uint64', indexed: false }, { name: 'cliff', type: 'uint64', indexed: false }, { name: 'end', type: 'uint64', indexed: false }, { name: 'linearAfterCliff', type: 'bool', indexed: false }] },
912
+ { type: 'event', name: 'Claimed', anonymous: false, inputs: [{ name: 'id', type: 'uint256', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
913
+ { type: 'event', name: 'Locked', anonymous: false, inputs: [{ name: 'id', type: 'uint256', indexed: true }, { name: 'token', type: 'address', indexed: true }, { name: 'beneficiary', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'cliff', type: 'uint64', indexed: false }, { name: 'end', type: 'uint64', indexed: false }, { name: 'locker', type: 'address', indexed: false }] },
914
+ { type: 'error', name: 'BadSchedule', inputs: [] },
915
+ { type: 'error', name: 'MathOverflowedMulDiv', inputs: [] },
916
+ { type: 'error', name: 'NotBeneficiary', inputs: [] },
917
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
918
+ { type: 'error', name: 'TransferFailed', inputs: [] },
919
+ ];
920
+ export const VESTING_LOCKER_ABI = [
921
+ { type: 'function', name: 'locks', stateMutability: 'view', inputs: [{ name: '', type: 'uint256' }], outputs: [{ name: 'token', type: 'address' }, { name: 'beneficiary', type: 'address' }, { name: 'total', type: 'uint128' }, { name: 'claimed', type: 'uint128' }, { name: 'start', type: 'uint64' }, { name: 'cliff', type: 'uint64' }, { name: 'end', type: 'uint64' }, { name: 'locker', type: 'address' }] },
922
+ { type: 'event', name: 'Locked', anonymous: false, inputs: [{ name: 'id', type: 'uint256', indexed: true }, { name: 'token', type: 'address', indexed: true }, { name: 'beneficiary', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'cliff', type: 'uint64', indexed: false }, { name: 'end', type: 'uint64', indexed: false }, { name: 'locker', type: 'address', indexed: false }] },
923
+ ];
924
+ export const FLOOR_ZAP_ABI = [
925
+ { type: 'function', name: 'buyWithEth', stateMutability: 'payable', inputs: [{ name: 'sale', type: 'address' }, { name: 'stockAmount', type: 'uint256' }, { name: 'swapCalldata', type: 'bytes' }], outputs: [] },
926
+ { type: 'function', name: 'registry', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
927
+ { type: 'function', name: 'router', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
928
+ { type: 'event', name: 'ZapBuy', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'sale', type: 'address', indexed: true }, { name: 'ethSpent', type: 'uint256', indexed: false }, { name: 'stockAmount', type: 'uint256', indexed: false }] },
929
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
930
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
931
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
932
+ { type: 'error', name: 'NativeSale', inputs: [] },
933
+ { type: 'error', name: 'NotRouter', inputs: [] },
934
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
935
+ { type: 'error', name: 'RefundFailed', inputs: [] },
936
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
937
+ { type: 'error', name: 'ShortFill', inputs: [] },
938
+ { type: 'error', name: 'SwapFailed', inputs: [{ name: 'reason', type: 'bytes' }] },
939
+ { type: 'error', name: 'UnknownSale', inputs: [] },
940
+ ];
941
+ export const FLOOR_SWAP_RATCHET_ABI = [
942
+ { type: 'function', name: 'PERMIT2', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
943
+ { type: 'function', name: 'hook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
944
+ { type: 'function', name: 'router', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
945
+ { type: 'function', name: 'swapAndRatchet', stateMutability: 'payable', inputs: [{ name: 's', type: 'tuple', components: [{ name: 'poolId', type: 'bytes32' }, { name: 'tokenIn', type: 'address' }, { name: 'amountIn', type: 'uint256' }, { name: 'tokenOut', type: 'address' }, { name: 'minOut', type: 'uint256' }, { name: 'routerCalldata', type: 'bytes' }, { name: 'ratchet', type: 'bool' }, { name: 'sweep', type: 'bool' }] }], outputs: [{ name: 'amountOut', type: 'uint256' }, { name: 'tip', type: 'uint256' }] },
946
+ { type: 'function', name: 'swapAndRatchetWithPermit', stateMutability: 'payable', inputs: [{ name: 's', type: 'tuple', components: [{ name: 'poolId', type: 'bytes32' }, { name: 'tokenIn', type: 'address' }, { name: 'amountIn', type: 'uint256' }, { name: 'tokenOut', type: 'address' }, { name: 'minOut', type: 'uint256' }, { name: 'routerCalldata', type: 'bytes' }, { name: 'ratchet', type: 'bool' }, { name: 'sweep', type: 'bool' }] }, { name: 'permit', type: 'tuple', components: [{ name: 'details', type: 'tuple', components: [{ name: 'token', type: 'address' }, { name: 'amount', type: 'uint160' }, { name: 'expiration', type: 'uint48' }, { name: 'nonce', type: 'uint48' }] }, { name: 'spender', type: 'address' }, { name: 'sigDeadline', type: 'uint256' }] }, { name: 'signature', type: 'bytes' }], outputs: [{ name: 'amountOut', type: 'uint256' }, { name: 'tip', type: 'uint256' }] },
947
+ { type: 'event', name: 'RatchetFailed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'reason', type: 'bytes', indexed: false }] },
948
+ { type: 'event', name: 'SwapAndRatchet', anonymous: false, inputs: [{ name: 'trader', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokenIn', type: 'address', indexed: false }, { name: 'tokenOut', type: 'address', indexed: false }, { name: 'amountInSpent', type: 'uint256', indexed: false }, { name: 'amountOut', type: 'uint256', indexed: false }, { name: 'ratchet', type: 'uint8', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
949
+ { type: 'event', name: 'SweepFailed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'reason', type: 'bytes', indexed: false }] },
950
+ { type: 'event', name: 'SweepTipped', anonymous: false, inputs: [{ name: 'trader', type: 'address', indexed: true }, { name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tip', type: 'uint256', indexed: false }] },
951
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
952
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
953
+ { type: 'error', name: 'AmountTooLarge', inputs: [] },
954
+ { type: 'error', name: 'BadConfig', inputs: [] },
955
+ { type: 'error', name: 'BadPermit', inputs: [] },
956
+ { type: 'error', name: 'BadValue', inputs: [] },
957
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
958
+ { type: 'error', name: 'NotInCall', inputs: [] },
959
+ { type: 'error', name: 'PayoutFailed', inputs: [] },
960
+ { type: 'error', name: 'RatchetOutOfGas', inputs: [] },
961
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
962
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
963
+ { type: 'error', name: 'SameToken', inputs: [] },
964
+ { type: 'error', name: 'ShortFill', inputs: [{ name: 'amountOut', type: 'uint256' }, { name: 'minOut', type: 'uint256' }] },
965
+ { type: 'error', name: 'SwapFailed', inputs: [{ name: 'reason', type: 'bytes' }] },
966
+ { type: 'error', name: 'SweepOutOfGas', inputs: [] },
967
+ { type: 'error', name: 'UnknownPool', inputs: [] },
968
+ { type: 'error', name: 'ZeroAmount', inputs: [] },
969
+ ];
970
+ export const FLOOR_TRADER_REFERRALS_ABI = [
971
+ { type: 'function', name: 'NATIVE_SEND_GAS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
972
+ { type: 'function', name: 'TRADER_LINK_TYPEHASH', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },
973
+ { type: 'function', name: 'acceptGovernance', stateMutability: 'nonpayable', inputs: [], outputs: [] },
974
+ { type: 'function', name: 'attestor', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
975
+ { type: 'function', name: 'claim', stateMutability: 'nonpayable', inputs: [{ name: 'referrer', type: 'address' }, { name: 'quote', type: 'address' }, { name: 'pools', type: 'bytes32[]' }], outputs: [{ name: 'paid', type: 'uint256' }] },
976
+ { type: 'function', name: 'eip712Domain', stateMutability: 'view', inputs: [], outputs: [{ name: 'fields', type: 'bytes1' }, { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'chainId', type: 'uint256' }, { name: 'verifyingContract', type: 'address' }, { name: 'salt', type: 'bytes32' }, { name: 'extensions', type: 'uint256[]' }] },
977
+ { type: 'function', name: 'governance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
978
+ { type: 'function', name: 'held', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'uint256' }] },
979
+ { type: 'function', name: 'hook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
980
+ { type: 'function', name: 'intake', stateMutability: 'nonpayable', inputs: [{ name: 'amount', type: 'uint256' }], outputs: [] },
981
+ { type: 'function', name: 'intake', stateMutability: 'payable', inputs: [], outputs: [] },
982
+ { type: 'function', name: 'intakeSaleReferral', stateMutability: 'payable', inputs: [{ name: 'quote', type: 'address' }, { name: 'who', type: 'address' }, { name: 'fee', type: 'uint256' }], outputs: [{ name: 'sum', type: 'uint256' }] },
983
+ { type: 'function', name: 'link', stateMutability: 'nonpayable', inputs: [{ name: 'trader', type: 'address' }, { name: 'tier1', type: 'address' }, { name: 'tier2', type: 'address' }, { name: 'tier3', type: 'address' }, { name: 'deadline', type: 'uint256' }, { name: 'sig', type: 'bytes' }], outputs: [] },
984
+ { type: 'function', name: 'linkOf', stateMutability: 'view', inputs: [{ name: 'trader', type: 'address' }], outputs: [{ name: 'tier1', type: 'address' }, { name: 'tier2', type: 'address' }, { name: 'tier3', type: 'address' }] },
985
+ { type: 'function', name: 'nativeScale', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
986
+ { type: 'function', name: 'nativeToken', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bool' }] },
987
+ { type: 'function', name: 'pendingGovernance', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
988
+ { type: 'function', name: 'pushTo', stateMutability: 'nonpayable', inputs: [{ name: 'trader', type: 'address' }], outputs: [] },
989
+ { type: 'function', name: 'setAttestor', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
990
+ { type: 'function', name: 'setGovernance', stateMutability: 'nonpayable', inputs: [{ name: 'next', type: 'address' }], outputs: [] },
991
+ { type: 'function', name: 'weth', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
992
+ { type: 'event', name: 'AttestorChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'attestor', type: 'address', indexed: true }] },
993
+ { type: 'event', name: 'EIP712DomainChanged', anonymous: false, inputs: [] },
994
+ { type: 'event', name: 'GovernanceChanged', anonymous: false, inputs: [{ name: 'previous', type: 'address', indexed: true }, { name: 'governance', type: 'address', indexed: true }, { name: 'accepted', type: 'bool', indexed: false }] },
995
+ { type: 'event', name: 'ReferralIntake', anonymous: false, inputs: [{ name: 'from', type: 'address', indexed: true }, { name: 'quote', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
996
+ { type: 'event', name: 'TraderLinked', anonymous: false, inputs: [{ name: 'trader', type: 'address', indexed: true }, { name: 'tier1', type: 'address', indexed: true }, { name: 'tier2', type: 'address', indexed: false }, { name: 'tier3', type: 'address', indexed: false }] },
997
+ { type: 'event', name: 'TraderReferralClaimed', anonymous: false, inputs: [{ name: 'referrer', type: 'address', indexed: true }, { name: 'quote', type: 'address', indexed: true }, { name: 'paid', type: 'uint256', indexed: false }, { name: 'leftOwed', type: 'uint256', indexed: false }] },
998
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
999
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
1000
+ { type: 'error', name: 'AlreadyLinked', inputs: [] },
1001
+ { type: 'error', name: 'AttestorIsGovernance', inputs: [] },
1002
+ { type: 'error', name: 'BadConfig', inputs: [] },
1003
+ { type: 'error', name: 'BadQuote', inputs: [{ name: 'quote', type: 'address' }] },
1004
+ { type: 'error', name: 'BadShape', inputs: [] },
1005
+ { type: 'error', name: 'BadSigner', inputs: [] },
1006
+ { type: 'error', name: 'BadValue', inputs: [] },
1007
+ { type: 'error', name: 'ECDSAInvalidSignature', inputs: [] },
1008
+ { type: 'error', name: 'ECDSAInvalidSignatureLength', inputs: [{ name: 'length', type: 'uint256' }] },
1009
+ { type: 'error', name: 'ECDSAInvalidSignatureS', inputs: [{ name: 's', type: 'bytes32' }] },
1010
+ { type: 'error', name: 'Expired', inputs: [] },
1011
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
1012
+ { type: 'error', name: 'GovernanceIsAttestor', inputs: [] },
1013
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
1014
+ { type: 'error', name: 'InvalidShortString', inputs: [] },
1015
+ { type: 'error', name: 'NativePayFailed', inputs: [{ name: 'to', type: 'address' }] },
1016
+ { type: 'error', name: 'NotGovernance', inputs: [] },
1017
+ { type: 'error', name: 'NotLaunch', inputs: [{ name: 'caller', type: 'address' }] },
1018
+ { type: 'error', name: 'NotLinked', inputs: [] },
1019
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
1020
+ { type: 'error', name: 'NotPoolVault', inputs: [{ name: 'caller', type: 'address' }] },
1021
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
1022
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
1023
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
1024
+ { type: 'error', name: 'StringTooLong', inputs: [{ name: 'str', type: 'string' }] },
1025
+ { type: 'error', name: 'WethPayFailed', inputs: [{ name: 'to', type: 'address' }] },
1026
+ { type: 'error', name: 'ZeroAttestor', inputs: [] },
1027
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
1028
+ ];
1029
+ export const FACTORY_TEAM_ABI = [
1030
+ { type: 'function', name: 'HOOK_FLAGS', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint160' }] },
1031
+ { type: 'function', name: 'POL', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
1032
+ { type: 'function', name: 'ROLE_CREATOR', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1033
+ { type: 'function', name: 'ROLE_FEE_RECIPIENT', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1034
+ { type: 'function', name: 'ROLE_REFERRER_1', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1035
+ { type: 'function', name: 'ROLE_REFERRER_2', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1036
+ { type: 'function', name: 'ROLE_REFERRER_3', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1037
+ { type: 'function', name: 'ROLE_TEAM_PAYEE', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
1038
+ { type: 'function', name: 'SALE', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
1039
+ { type: 'function', name: 'SUPPLY', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
1040
+ { type: 'function', name: 'TICK_SPACING', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'int24' }] },
1041
+ { type: 'function', name: 'VAULT', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint256' }] },
1042
+ { type: 'function', name: 'codeStore', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1043
+ { type: 'function', name: 'createLaunch', stateMutability: 'payable', inputs: [{ name: 'p', type: 'tuple', components: [{ name: 'mode', type: 'uint8' }, { name: 'name', type: 'string' }, { name: 'symbol', type: 'string' }, { name: 'recipients', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }, { name: 'ethUsd', type: 'uint64' }, { name: 'graduationMcapUsd', type: 'uint64' }, { name: 'skimBuyBps', type: 'uint16' }, { name: 'skimSellBps', type: 'uint16' }, { name: 'creatorBuyBps', type: 'uint16' }, { name: 'creatorSellBps', type: 'uint16' }, { name: 'holderBuyBps', type: 'uint16' }, { name: 'holderSellBps', type: 'uint16' }, { name: 'quoteToken', type: 'address' }, { name: 'saleBps', type: 'uint16' }, { name: 'polBps', type: 'uint16' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint16' }, { name: 'teamBuyBps', type: 'uint16' }, { name: 'teamBuyWalletBps', type: 'uint16' }, { name: 'teamBuyLockDays', type: 'uint16' }, { name: 'teamBuyCliffDays', type: 'uint64' }, { name: 'teamPayees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }] }, { name: 'launchSalt', type: 'bytes32' }, { name: '', type: 'bytes32' }], outputs: [{ name: 'a', type: 'tuple', components: [{ name: 'deployment', type: 'address' }, { name: 'token', type: 'address' }, { name: 'launch', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'oftAdapter', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'custodyVault', type: 'address' }] }] },
1044
+ { type: 'function', name: 'creatorOf', stateMutability: 'view', inputs: [{ name: '', type: 'address' }], outputs: [{ name: '', type: 'address' }] },
1045
+ { type: 'function', name: 'deploymentAddress', stateMutability: 'view', inputs: [{ name: 'creator', type: 'address' }, { name: 'launchSalt', type: 'bytes32' }], outputs: [{ name: '', type: 'address' }] },
1046
+ { type: 'function', name: 'deploymentCodeHash', stateMutability: 'pure', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },
1047
+ { type: 'function', name: 'holderRewards', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1048
+ { type: 'function', name: 'initialize', stateMutability: 'nonpayable', inputs: [{ name: '_manager', type: 'address' }, { name: '_vesting', type: 'address' }, { name: '_registry', type: 'address' }, { name: '_codeStore', type: 'address' }, { name: '_oftDeployer', type: 'address' }, { name: '_recipientClaims', type: 'address' }], outputs: [] },
1049
+ { type: 'function', name: 'manager', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1050
+ { type: 'function', name: 'oftDeployer', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1051
+ { type: 'function', name: 'predictLaunch', stateMutability: 'view', inputs: [{ name: 'creator', type: 'address' }, { name: 'p', type: 'tuple', components: [{ name: 'mode', type: 'uint8' }, { name: 'name', type: 'string' }, { name: 'symbol', type: 'string' }, { name: 'recipients', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }, { name: 'ethUsd', type: 'uint64' }, { name: 'graduationMcapUsd', type: 'uint64' }, { name: 'skimBuyBps', type: 'uint16' }, { name: 'skimSellBps', type: 'uint16' }, { name: 'creatorBuyBps', type: 'uint16' }, { name: 'creatorSellBps', type: 'uint16' }, { name: 'holderBuyBps', type: 'uint16' }, { name: 'holderSellBps', type: 'uint16' }, { name: 'quoteToken', type: 'address' }, { name: 'saleBps', type: 'uint16' }, { name: 'polBps', type: 'uint16' }, { name: 'skimSellAtFloorMultipleBps', type: 'uint16' }, { name: 'teamBuyBps', type: 'uint16' }, { name: 'teamBuyWalletBps', type: 'uint16' }, { name: 'teamBuyLockDays', type: 'uint16' }, { name: 'teamBuyCliffDays', type: 'uint64' }, { name: 'teamPayees', type: 'tuple[]', components: [{ name: 'wallet', type: 'address' }, { name: 'bps', type: 'uint16' }, { name: 'platform', type: 'uint8' }, { name: 'handle', type: 'string' }] }] }, { name: 'launchSalt', type: 'bytes32' }, { name: '', type: 'bytes32' }], outputs: [{ name: 'a', type: 'tuple', components: [{ name: 'deployment', type: 'address' }, { name: 'token', type: 'address' }, { name: 'launch', type: 'address' }, { name: 'hook', type: 'address' }, { name: 'rewards', type: 'address' }, { name: 'oftAdapter', type: 'address' }, { name: 'poolId', type: 'bytes32' }, { name: 'custodyVault', type: 'address' }] }] },
1052
+ { type: 'function', name: 'presets', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1053
+ { type: 'function', name: 'quoteTreasury', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1054
+ { type: 'function', name: 'recipientClaims', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1055
+ { type: 'function', name: 'registry', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1056
+ { type: 'function', name: 'singletonHook', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1057
+ { type: 'function', name: 'vesting', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },
1058
+ { type: 'event', name: 'Initialized', anonymous: false, inputs: [{ name: 'version', type: 'uint64', indexed: false }] },
1059
+ { type: 'event', name: 'LaunchCreated', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'hook', type: 'address', indexed: true }, { name: 'launch', type: 'address', indexed: true }, { name: 'rewards', type: 'address', indexed: false }, { name: 'poolId', type: 'bytes32', indexed: false }, { name: 'mode', type: 'uint8', indexed: false }, { name: 'creator', type: 'address', indexed: false }, { name: 'graduationMcapUsd', type: 'uint256', indexed: false }, { name: 'ethUsd', type: 'uint256', indexed: false }] },
1060
+ { type: 'event', name: 'LaunchRole', anonymous: false, inputs: [{ name: 'token', type: 'address', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'role', type: 'uint8', indexed: true }] },
1061
+ { type: 'error', name: 'AddressMismatch', inputs: [] },
1062
+ { type: 'error', name: 'BadConfig', inputs: [] },
1063
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
1064
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
1065
+ { type: 'error', name: 'BadSplit', inputs: [{ name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }] },
1066
+ { type: 'error', name: 'BadTeamBuy', inputs: [{ name: 'code', type: 'uint8' }] },
1067
+ { type: 'error', name: 'HookDoesNotOwnPlatformCut', inputs: [] },
1068
+ { type: 'error', name: 'HookHasNoTeamFee', inputs: [] },
1069
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
1070
+ { type: 'error', name: 'NotInitializing', inputs: [] },
1071
+ { type: 'error', name: 'PresetDisabled', inputs: [{ name: 'id', type: 'uint8' }] },
1072
+ { type: 'error', name: 'QuoteNotApproved', inputs: [{ name: 'quote', type: 'address' }] },
1073
+ { type: 'error', name: 'QuoteUnitMismatch', inputs: [{ name: 'factoryUnit', type: 'uint256' }, { name: 'poolUnit', type: 'uint256' }] },
1074
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
1075
+ { type: 'error', name: 'TeamStepsOverCap', inputs: [{ name: 'shareBps', type: 'uint256' }] },
1076
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
1077
+ { type: 'event', name: 'TeamBought', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'stepTokens', type: 'uint256', indexed: false }, { name: 'walletTokens', type: 'uint256', indexed: false }, { name: 'cliffs', type: 'uint64', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
1078
+ { type: 'event', name: 'TeamBuySoldBack', anonymous: false, inputs: [{ name: 'buyer', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'cost', type: 'uint256', indexed: false }, { name: 'fee', type: 'uint256', indexed: false }] },
1079
+ { type: 'event', name: 'TeamFeeCharged', anonymous: false, inputs: [{ name: 'who', type: 'address', indexed: true }, { name: 'fee', type: 'uint256', indexed: false }, { name: 'sellBack', type: 'bool', indexed: false }] },
1080
+ { type: 'event', name: 'TeamTokensVested', anonymous: false, inputs: [{ name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
1081
+ { type: 'event', name: 'TeamPayeeResolved', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }] },
1082
+ { type: 'event', name: 'TeamPayeeSet', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'wallet', type: 'address', indexed: true }, { name: 'pendingId', type: 'bytes32', indexed: false }, { name: 'platform', type: 'uint8', indexed: false }, { name: 'handle', type: 'string', indexed: false }, { name: 'bps', type: 'uint16', indexed: false }] },
1083
+ { type: 'event', name: 'TeamProceedsPaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }, { name: 'tip', type: 'uint256', indexed: false }] },
1084
+ { type: 'event', name: 'TeamProceedsSkipped', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'amount', type: 'uint256', indexed: false }] },
1085
+ { type: 'event', name: 'TeamStepsBooked', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }, { name: 'lockUntil', type: 'uint64', indexed: false }] },
1086
+ { type: 'event', name: 'TeamStepsRegistered', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'lockDays', type: 'uint16', indexed: false }, { name: 'payeeCount', type: 'uint8', indexed: false }] },
1087
+ { type: 'event', name: 'TeamTokensWithdrawn', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'slot', type: 'uint8', indexed: true }, { name: 'payee', type: 'address', indexed: true }, { name: 'tokens', type: 'uint256', indexed: false }] },
1088
+ { type: 'event', name: 'TeamProceedsOwed', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'asked', type: 'uint256', indexed: false }, { name: 'owed', type: 'uint256', indexed: false }] },
1089
+ { type: 'event', name: 'TeamStepsLaid', anonymous: false, inputs: [{ name: 'poolId', type: 'bytes32', indexed: true }, { name: 'onSteps', type: 'uint256', indexed: false }, { name: 'held', type: 'uint256', indexed: false }] },
1090
+ ];
1091
+ export const FLOOR_ERRORS_ABI = [
1092
+ { type: 'error', name: 'AlreadyRegistered', inputs: [] },
1093
+ { type: 'error', name: 'BadPlatformConfig', inputs: [] },
1094
+ { type: 'error', name: 'BadRecipients', inputs: [{ name: 'code', type: 'uint8' }] },
1095
+ { type: 'error', name: 'BadReferralTiers', inputs: [] },
1096
+ { type: 'error', name: 'BadSlot', inputs: [{ name: 'slot', type: 'uint8' }] },
1097
+ { type: 'error', name: 'BadTeamSteps', inputs: [] },
1098
+ { type: 'error', name: 'BadTeamTreasury', inputs: [] },
1099
+ { type: 'error', name: 'ChildCreationFailed', inputs: [] },
1100
+ { type: 'error', name: 'DeploymentFailed', inputs: [] },
1101
+ { type: 'error', name: 'ExactOutNotSupported', inputs: [] },
1102
+ { type: 'error', name: 'HookNotImplemented', inputs: [] },
1103
+ { type: 'error', name: 'InvalidPool', inputs: [] },
1104
+ { type: 'error', name: 'InvalidRegistration', inputs: [] },
1105
+ { type: 'error', name: 'NativeCutNowhere', inputs: [] },
1106
+ { type: 'error', name: 'NotPlatformAdmin', inputs: [] },
1107
+ { type: 'error', name: 'NotPoolManager', inputs: [] },
1108
+ { type: 'error', name: 'NotTeamGovernance', inputs: [] },
1109
+ { type: 'error', name: 'NotTeamPayee', inputs: [] },
1110
+ { type: 'error', name: 'PlatformAlreadyConfigured', inputs: [] },
1111
+ { type: 'error', name: 'RegistrationOnly', inputs: [] },
1112
+ { type: 'error', name: 'TeamFeeAboveCap', inputs: [] },
1113
+ { type: 'error', name: 'TeamStepsLocked', inputs: [{ name: 'lockUntil', type: 'uint64' }] },
1114
+ { type: 'error', name: 'TwapUnavailable', inputs: [] },
1115
+ { type: 'error', name: 'TwapWindowTooLong', inputs: [] },
1116
+ { type: 'error', name: 'UnauthorizedFactory', inputs: [] },
1117
+ { type: 'error', name: 'UnknownPool', inputs: [] },
1118
+ { type: 'error', name: 'AddressEmptyCode', inputs: [{ name: 'target', type: 'address' }] },
1119
+ { type: 'error', name: 'AddressInsufficientBalance', inputs: [{ name: 'account', type: 'address' }] },
1120
+ { type: 'error', name: 'AlreadyBound', inputs: [] },
1121
+ { type: 'error', name: 'BadQuoteToken', inputs: [] },
1122
+ { type: 'error', name: 'BadRange', inputs: [] },
1123
+ { type: 'error', name: 'BadRecipientConfig', inputs: [] },
1124
+ { type: 'error', name: 'BadReferralTier', inputs: [] },
1125
+ { type: 'error', name: 'BidReplaceReentered', inputs: [] },
1126
+ { type: 'error', name: 'BidReplaceStarved', inputs: [] },
1127
+ { type: 'error', name: 'FailedInnerCall', inputs: [] },
1128
+ { type: 'error', name: 'HolderReleaseExceedsOwed', inputs: [] },
1129
+ { type: 'error', name: 'HolderReleaseFailed', inputs: [] },
1130
+ { type: 'error', name: 'InexactQuoteTransfer', inputs: [] },
1131
+ { type: 'error', name: 'LadderAlreadySeeded', inputs: [] },
1132
+ { type: 'error', name: 'NetSlotTaken', inputs: [] },
1133
+ { type: 'error', name: 'NotBound', inputs: [] },
1134
+ { type: 'error', name: 'NotDynamicFee', inputs: [] },
1135
+ { type: 'error', name: 'NotHolderRewards', inputs: [] },
1136
+ { type: 'error', name: 'NotInitializer', inputs: [] },
1137
+ { type: 'error', name: 'OnlySelf', inputs: [] },
1138
+ { type: 'error', name: 'ReentrantQuoteTransfer', inputs: [] },
1139
+ { type: 'error', name: 'ReferralClaimFailed', inputs: [] },
1140
+ { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address' }] },
1141
+ { type: 'error', name: 'SeedRangeFixed', inputs: [] },
1142
+ { type: 'error', name: 'WrongPool', inputs: [] },
1143
+ { type: 'error', name: 'AlreadyResolved', inputs: [] },
1144
+ { type: 'error', name: 'BadSkimSellMultiple', inputs: [{ name: 'multipleBps', type: 'uint256' }] },
1145
+ { type: 'error', name: 'CreatorTransferFailed', inputs: [] },
1146
+ { type: 'error', name: 'NotClaims', inputs: [] },
1147
+ { type: 'error', name: 'PlatformCutRequired', inputs: [] },
1148
+ { type: 'error', name: 'PlatformNotConfigured', inputs: [] },
1149
+ { type: 'error', name: 'RecipientPendingClaim', inputs: [] },
1150
+ { type: 'error', name: 'SeedTransferFailed', inputs: [] },
1151
+ { type: 'error', name: 'SkimSellAtFloorTooHigh', inputs: [{ name: 'skimSellAtFloorBps', type: 'uint256' }] },
1152
+ { type: 'error', name: 'BadReferralVault', inputs: [] },
1153
+ { type: 'error', name: 'BadTraderUpline', inputs: [] },
1154
+ { type: 'error', name: 'NotPoolLaunch', inputs: [] },
1155
+ { type: 'error', name: 'NotReferralVault', inputs: [] },
1156
+ { type: 'error', name: 'BadNativeToken', inputs: [] },
1157
+ { type: 'error', name: 'ZeroDenominator', inputs: [] },
1158
+ { type: 'error', name: 'OwnerBooksExceedHoldings', inputs: [] },
1159
+ { type: 'error', name: 'ReserveBooksShort', inputs: [] },
1160
+ { type: 'error', name: 'TeamWithdrawOverShare', inputs: [] },
1161
+ { type: 'error', name: 'InvalidAdapter', inputs: [] },
1162
+ { type: 'error', name: 'InvalidInitialization', inputs: [] },
1163
+ { type: 'error', name: 'InvalidLaunch', inputs: [] },
1164
+ { type: 'error', name: 'InvalidRecipient', inputs: [] },
1165
+ { type: 'error', name: 'Locked', inputs: [] },
1166
+ { type: 'error', name: 'NotDeployer', inputs: [] },
1167
+ { type: 'error', name: 'NotInitializing', inputs: [] },
1168
+ { type: 'error', name: 'NotLaunch', inputs: [] },
1169
+ { type: 'error', name: 'AlreadyGraduated', inputs: [] },
1170
+ { type: 'error', name: 'BadConfig', inputs: [] },
1171
+ { type: 'error', name: 'BadQuote', inputs: [] },
1172
+ { type: 'error', name: 'BadRecipient', inputs: [] },
1173
+ { type: 'error', name: 'BadTeamBuy', inputs: [{ name: 'code', type: 'uint8' }] },
1174
+ { type: 'error', name: 'CannotGraduate', inputs: [] },
1175
+ { type: 'error', name: 'NotFactory', inputs: [] },
1176
+ { type: 'error', name: 'NotFunded', inputs: [] },
1177
+ { type: 'error', name: 'NotGraduated', inputs: [] },
1178
+ { type: 'error', name: 'NotToken', inputs: [] },
1179
+ { type: 'error', name: 'Nothing', inputs: [] },
1180
+ { type: 'error', name: 'ReferralCallReentered', inputs: [] },
1181
+ { type: 'error', name: 'ReferralIntakeOutOfGas', inputs: [] },
1182
+ { type: 'error', name: 'SaleOver', inputs: [] },
1183
+ { type: 'error', name: 'TeamBuyPayment', inputs: [{ name: 'expected', type: 'uint256' }] },
1184
+ { type: 'error', name: 'BadInitialization', inputs: [] },
1185
+ { type: 'error', name: 'BadRegistration', inputs: [] },
1186
+ { type: 'error', name: 'BatchGasTooLow', inputs: [] },
1187
+ { type: 'error', name: 'BookOverdrawn', inputs: [] },
1188
+ { type: 'error', name: 'NotApprovedFactory', inputs: [] },
1189
+ { type: 'error', name: 'NotHook', inputs: [] },
1190
+ { type: 'error', name: 'Reentrancy', inputs: [] },
1191
+ { type: 'error', name: 'UnknownToken', inputs: [] },
1192
+ { type: 'error', name: 'AttestorIsGovernance', inputs: [] },
1193
+ { type: 'error', name: 'BadSigner', inputs: [] },
1194
+ { type: 'error', name: 'ECDSAInvalidSignature', inputs: [] },
1195
+ { type: 'error', name: 'ECDSAInvalidSignatureLength', inputs: [{ name: 'length', type: 'uint256' }] },
1196
+ { type: 'error', name: 'ECDSAInvalidSignatureS', inputs: [{ name: 's', type: 'bytes32' }] },
1197
+ { type: 'error', name: 'Expired', inputs: [] },
1198
+ { type: 'error', name: 'GovernanceIsAttestor', inputs: [] },
1199
+ { type: 'error', name: 'InvalidShortString', inputs: [] },
1200
+ { type: 'error', name: 'NotGovernance', inputs: [] },
1201
+ { type: 'error', name: 'NotPending', inputs: [] },
1202
+ { type: 'error', name: 'NotPendingGovernance', inputs: [] },
1203
+ { type: 'error', name: 'StringTooLong', inputs: [{ name: 'str', type: 'string' }] },
1204
+ { type: 'error', name: 'ZeroAttestor', inputs: [] },
1205
+ { type: 'error', name: 'ZeroGovernance', inputs: [] },
1206
+ { type: 'error', name: 'ZeroRecipient', inputs: [] },
1207
+ { type: 'error', name: 'AlreadyApproved', inputs: [] },
1208
+ { type: 'error', name: 'NotAContract', inputs: [] },
1209
+ { type: 'error', name: 'NotALaunch', inputs: [] },
1210
+ { type: 'error', name: 'NotAdmin', inputs: [] },
1211
+ { type: 'error', name: 'ZeroAdmin', inputs: [] },
1212
+ { type: 'error', name: 'AddressMismatch', inputs: [] },
1213
+ { type: 'error', name: 'BadSplit', inputs: [{ name: 'saleBps', type: 'uint256' }, { name: 'polBps', type: 'uint256' }] },
1214
+ { type: 'error', name: 'HookDoesNotOwnPlatformCut', inputs: [] },
1215
+ { type: 'error', name: 'HookHasNoTeamFee', inputs: [] },
1216
+ { type: 'error', name: 'PresetDisabled', inputs: [{ name: 'id', type: 'uint8' }] },
1217
+ { type: 'error', name: 'QuoteNotApproved', inputs: [{ name: 'quote', type: 'address' }] },
1218
+ { type: 'error', name: 'QuoteUnitMismatch', inputs: [{ name: 'factoryUnit', type: 'uint256' }, { name: 'poolUnit', type: 'uint256' }] },
1219
+ { type: 'error', name: 'TeamStepsOverCap', inputs: [{ name: 'shareBps', type: 'uint256' }] },
1220
+ { type: 'error', name: 'AlreadyApproved', inputs: [{ name: 'quote', type: 'address' }] },
1221
+ { type: 'error', name: 'BadHook', inputs: [] },
1222
+ { type: 'error', name: 'BadQuote', inputs: [{ name: 'quote', type: 'address' }] },
1223
+ { type: 'error', name: 'BadWithdrawal', inputs: [] },
1224
+ { type: 'error', name: 'ERC777Refused', inputs: [{ name: 'quote', type: 'address' }] },
1225
+ { type: 'error', name: 'MaxBountyListMismatch', inputs: [{ name: 'quotes', type: 'uint256' }, { name: 'maxBounties', type: 'uint256' }] },
1226
+ { type: 'error', name: 'NativeTransferFailed', inputs: [{ name: 'to', type: 'address' }] },
1227
+ { type: 'error', name: 'NotApproved', inputs: [{ name: 'quote', type: 'address' }] },
1228
+ { type: 'error', name: 'NotPoolVault', inputs: [{ name: 'caller', type: 'address' }] },
1229
+ { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] },
1230
+ { type: 'error', name: 'TreasuryIsNotGovernance', inputs: [] },
1231
+ { type: 'error', name: 'ZeroMaxBounty', inputs: [{ name: 'quote', type: 'address' }] },
1232
+ { type: 'error', name: 'OwnableInvalidOwner', inputs: [{ name: 'owner', type: 'address' }] },
1233
+ { type: 'error', name: 'OwnableUnauthorizedAccount', inputs: [{ name: 'account', type: 'address' }] },
1234
+ { type: 'error', name: 'PresetInvalid', inputs: [{ name: 'field', type: 'string' }] },
1235
+ { type: 'error', name: 'PresetTableFull', inputs: [] },
1236
+ { type: 'error', name: 'PresetUnknown', inputs: [{ name: 'id', type: 'uint8' }] },
1237
+ { type: 'error', name: 'BadSchedule', inputs: [] },
1238
+ { type: 'error', name: 'MathOverflowedMulDiv', inputs: [] },
1239
+ { type: 'error', name: 'NotBeneficiary', inputs: [] },
1240
+ { type: 'error', name: 'TransferFailed', inputs: [] },
1241
+ { type: 'error', name: 'NativeSale', inputs: [] },
1242
+ { type: 'error', name: 'NotRouter', inputs: [] },
1243
+ { type: 'error', name: 'RefundFailed', inputs: [] },
1244
+ { type: 'error', name: 'ShortFill', inputs: [] },
1245
+ { type: 'error', name: 'SwapFailed', inputs: [{ name: 'reason', type: 'bytes' }] },
1246
+ { type: 'error', name: 'UnknownSale', inputs: [] },
1247
+ { type: 'error', name: 'AmountTooLarge', inputs: [] },
1248
+ { type: 'error', name: 'BadPermit', inputs: [] },
1249
+ { type: 'error', name: 'BadValue', inputs: [] },
1250
+ { type: 'error', name: 'NotInCall', inputs: [] },
1251
+ { type: 'error', name: 'PayoutFailed', inputs: [] },
1252
+ { type: 'error', name: 'RatchetOutOfGas', inputs: [] },
1253
+ { type: 'error', name: 'SameToken', inputs: [] },
1254
+ { type: 'error', name: 'ShortFill', inputs: [{ name: 'amountOut', type: 'uint256' }, { name: 'minOut', type: 'uint256' }] },
1255
+ { type: 'error', name: 'SweepOutOfGas', inputs: [] },
1256
+ { type: 'error', name: 'ZeroAmount', inputs: [] },
1257
+ { type: 'error', name: 'AlreadyLinked', inputs: [] },
1258
+ { type: 'error', name: 'BadShape', inputs: [] },
1259
+ { type: 'error', name: 'NativePayFailed', inputs: [{ name: 'to', type: 'address' }] },
1260
+ { type: 'error', name: 'NotLaunch', inputs: [{ name: 'caller', type: 'address' }] },
1261
+ { type: 'error', name: 'NotLinked', inputs: [] },
1262
+ { type: 'error', name: 'WethPayFailed', inputs: [{ name: 'to', type: 'address' }] },
1263
+ ];
1264
+ //# sourceMappingURL=generated.js.map