sally-defi-ts-sdk 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +263 -0
  3. package/dist/aio/client.d.ts +93 -0
  4. package/dist/aio/client.d.ts.map +1 -0
  5. package/dist/aio/client.js +283 -0
  6. package/dist/aio/client.js.map +1 -0
  7. package/dist/aio/index.d.ts +20 -0
  8. package/dist/aio/index.d.ts.map +1 -0
  9. package/dist/aio/index.js +19 -0
  10. package/dist/aio/index.js.map +1 -0
  11. package/dist/aio/modules/fees.d.ts +19 -0
  12. package/dist/aio/modules/fees.d.ts.map +1 -0
  13. package/dist/aio/modules/fees.js +47 -0
  14. package/dist/aio/modules/fees.js.map +1 -0
  15. package/dist/aio/modules/liquidity.d.ts +47 -0
  16. package/dist/aio/modules/liquidity.d.ts.map +1 -0
  17. package/dist/aio/modules/liquidity.js +115 -0
  18. package/dist/aio/modules/liquidity.js.map +1 -0
  19. package/dist/aio/modules/prices.d.ts +18 -0
  20. package/dist/aio/modules/prices.d.ts.map +1 -0
  21. package/dist/aio/modules/prices.js +48 -0
  22. package/dist/aio/modules/prices.js.map +1 -0
  23. package/dist/aio/modules/swap.d.ts +50 -0
  24. package/dist/aio/modules/swap.d.ts.map +1 -0
  25. package/dist/aio/modules/swap.js +267 -0
  26. package/dist/aio/modules/swap.js.map +1 -0
  27. package/dist/aio/modules/wallet.d.ts +13 -0
  28. package/dist/aio/modules/wallet.d.ts.map +1 -0
  29. package/dist/aio/modules/wallet.js +27 -0
  30. package/dist/aio/modules/wallet.js.map +1 -0
  31. package/dist/aio/token.d.ts +19 -0
  32. package/dist/aio/token.d.ts.map +1 -0
  33. package/dist/aio/token.js +50 -0
  34. package/dist/aio/token.js.map +1 -0
  35. package/dist/client.d.ts +142 -0
  36. package/dist/client.d.ts.map +1 -0
  37. package/dist/client.js +452 -0
  38. package/dist/client.js.map +1 -0
  39. package/dist/constants.d.ts +36 -0
  40. package/dist/constants.d.ts.map +1 -0
  41. package/dist/constants.js +39 -0
  42. package/dist/constants.js.map +1 -0
  43. package/dist/data/deployment.json +1 -0
  44. package/dist/deployment.d.ts +44 -0
  45. package/dist/deployment.d.ts.map +1 -0
  46. package/dist/deployment.js +118 -0
  47. package/dist/deployment.js.map +1 -0
  48. package/dist/errors.d.ts +57 -0
  49. package/dist/errors.d.ts.map +1 -0
  50. package/dist/errors.js +197 -0
  51. package/dist/errors.js.map +1 -0
  52. package/dist/index.d.ts +48 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +47 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/modules/fees.d.ts +32 -0
  57. package/dist/modules/fees.d.ts.map +1 -0
  58. package/dist/modules/fees.js +64 -0
  59. package/dist/modules/fees.js.map +1 -0
  60. package/dist/modules/liquidity.d.ts +134 -0
  61. package/dist/modules/liquidity.d.ts.map +1 -0
  62. package/dist/modules/liquidity.js +277 -0
  63. package/dist/modules/liquidity.js.map +1 -0
  64. package/dist/modules/prices.d.ts +47 -0
  65. package/dist/modules/prices.d.ts.map +1 -0
  66. package/dist/modules/prices.js +85 -0
  67. package/dist/modules/prices.js.map +1 -0
  68. package/dist/modules/swap.d.ts +102 -0
  69. package/dist/modules/swap.d.ts.map +1 -0
  70. package/dist/modules/swap.js +400 -0
  71. package/dist/modules/swap.js.map +1 -0
  72. package/dist/modules/wallet.d.ts +16 -0
  73. package/dist/modules/wallet.d.ts.map +1 -0
  74. package/dist/modules/wallet.js +30 -0
  75. package/dist/modules/wallet.js.map +1 -0
  76. package/dist/permit2.d.ts +97 -0
  77. package/dist/permit2.d.ts.map +1 -0
  78. package/dist/permit2.js +130 -0
  79. package/dist/permit2.js.map +1 -0
  80. package/dist/previews.d.ts +57 -0
  81. package/dist/previews.d.ts.map +1 -0
  82. package/dist/previews.js +69 -0
  83. package/dist/previews.js.map +1 -0
  84. package/dist/safety.d.ts +80 -0
  85. package/dist/safety.d.ts.map +1 -0
  86. package/dist/safety.js +133 -0
  87. package/dist/safety.js.map +1 -0
  88. package/dist/token.d.ts +215 -0
  89. package/dist/token.d.ts.map +1 -0
  90. package/dist/token.js +239 -0
  91. package/dist/token.js.map +1 -0
  92. package/dist/types.d.ts +229 -0
  93. package/dist/types.d.ts.map +1 -0
  94. package/dist/types.js +462 -0
  95. package/dist/types.js.map +1 -0
  96. package/dist/util.d.ts +13 -0
  97. package/dist/util.d.ts.map +1 -0
  98. package/dist/util.js +22 -0
  99. package/dist/util.js.map +1 -0
  100. package/package.json +48 -0
  101. package/src/aio/client.ts +329 -0
  102. package/src/aio/index.ts +20 -0
  103. package/src/aio/modules/fees.ts +60 -0
  104. package/src/aio/modules/liquidity.ts +181 -0
  105. package/src/aio/modules/prices.ts +57 -0
  106. package/src/aio/modules/swap.ts +347 -0
  107. package/src/aio/modules/wallet.ts +34 -0
  108. package/src/aio/token.ts +59 -0
  109. package/src/client.ts +526 -0
  110. package/src/constants.ts +43 -0
  111. package/src/data/deployment.json +1 -0
  112. package/src/deployment.ts +132 -0
  113. package/src/errors.ts +215 -0
  114. package/src/index.ts +90 -0
  115. package/src/modules/fees.ts +78 -0
  116. package/src/modules/liquidity.ts +446 -0
  117. package/src/modules/prices.ts +97 -0
  118. package/src/modules/swap.ts +502 -0
  119. package/src/modules/wallet.ts +37 -0
  120. package/src/permit2.ts +169 -0
  121. package/src/previews.ts +95 -0
  122. package/src/safety.ts +152 -0
  123. package/src/token.ts +254 -0
  124. package/src/types.ts +438 -0
  125. package/src/util.ts +20 -0
@@ -0,0 +1 @@
1
+ {"_guide":{"release":"v2.0.2","updated":"2026-06-21","summary":"Sally DeFi v2.0.2 \u2014 Base + BSC. Frontends/SDKs call only the two proxies; each proxy also serves its sidecar views via read-only fallback.","note":"Trimmed for distribution: addresses + ABIs only. Deployment salts/deployer/factory metadata removed."},"chains":{"bsc":{"chainId":56,"treasury":"0x7777D7dC7ea65F33EC126165e03C6B6030887777","treasuryAbi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"addOwner","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchWithdrawAll","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"active","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"removeOwner","inputs":[{"name":"victim","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapController","inputs":[{"name":"newSC","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"swap","inputs":[{"name":"sc","type":"address","internalType":"address"},{"name":"swapData","type":"tuple","internalType":"struct ISwapControllerMin.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"swapAuto","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"swapController","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawAll","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Executed","inputs":[{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"LabelSet","inputs":[{"name":"label","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnerAdded","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"addedBy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnerRemoved","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"removedBy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Received","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SwapControllerUpdated","inputs":[{"name":"oldSC","type":"address","indexed":true,"internalType":"address"},{"name":"newSC","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasurySwap","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":true,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AlreadyOwner","inputs":[]},{"type":"error","name":"ApproveFailed","inputs":[]},{"type":"error","name":"CallFailed","inputs":[{"name":"returndata","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidMsgValue","inputs":[]},{"type":"error","name":"LastOwnerCannotLeave","inputs":[]},{"type":"error","name":"LengthMismatch","inputs":[]},{"type":"error","name":"NotAnOwner","inputs":[]},{"type":"error","name":"NotOwner","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SwapControllerUnset","inputs":[]},{"type":"error","name":"TransferFailed","inputs":[]},{"type":"error","name":"WrongSwapController","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"swapController":{"proxy":"0x7777D0e2e2d772b5D750540B3932261574e87777","impl":"0x9F484AfA434B6946461abaE04A47796Ef47EE852","abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLUSH_ERC20_GAS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLUSH_NATIVE_GAS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_BPS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_TOKENS_PER_QUERY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"batchFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimBatchFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimReferralFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"emergencyWithdraw","inputs":[{"name":"t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeHybridSwap","inputs":[{"name":"swapData","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"feeBasisPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"feeThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeMaxIndex","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokenCount","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpotPrice","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"price18","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapFee","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"netAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV2","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV3","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV4","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenInfos","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getUsdLiquidity","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"usdLiquidity","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV2","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV3","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV4","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdPriceImpact","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdStables","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWalletBalance","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct ISallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWalletBalanceRaw","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct ISallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWethPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceWeth18","type":"uint256","internalType":"uint256"},{"name":"wethUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_feeThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV3","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV4","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lens","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pancakeV3SwapCallback","inputs":[{"name":"a0","type":"int256","internalType":"int256"},{"name":"a1","type":"int256","internalType":"int256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pendingImpl","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingImplReadyAt","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"perHopSlippageBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"poolManagerV4","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proposeUpgrade","inputs":[{"name":"newImpl","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"referralFeeTokenAt","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"referralFees","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeBasisPoints","inputs":[{"name":"_b","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeThreshold","inputs":[{"name":"_t","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLens","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPerHopSlippageBps","inputs":[{"name":"_bps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTreasury","inputs":[{"name":"_t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUsdStables","inputs":[{"name":"_stables","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUtils","inputs":[{"name":"_v2","type":"address","internalType":"address"},{"name":"_v3","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUtilsV4","inputs":[{"name":"_v4","type":"address","internalType":"address"},{"name":"_pm","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWnative","inputs":[{"name":"_w","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalReferralOwed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"uniswapV3SwapCallback","inputs":[{"name":"a0","type":"int256","internalType":"int256"},{"name":"a1","type":"int256","internalType":"int256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdStables","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"utilsV2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV2"}],"stateMutability":"view"},{"type":"function","name":"utilsV3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV3"}],"stateMutability":"view"},{"type":"function","name":"utilsV4","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV4"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"bytes7","internalType":"bytes7"}],"stateMutability":"pure"},{"type":"function","name":"wnative","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWETH9"}],"stateMutability":"view"},{"type":"event","name":"FeeBasisPointsUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeeCollected","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"treasury","type":"address","indexed":true,"internalType":"address"},{"name":"referral","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FeeThresholdUpdated","inputs":[{"name":"oldThreshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FlushFailed","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"LensSet","inputs":[{"name":"lens","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PerHopSlippageUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SwapExecuted","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":false,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"oldTreasury","type":"address","indexed":true,"internalType":"address"},{"name":"newTreasury","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeProposed","inputs":[{"name":"impl","type":"address","indexed":true,"internalType":"address"},{"name":"readyAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UsdStablesUpdated","inputs":[{"name":"count","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UtilsUpdated","inputs":[{"name":"v2","type":"address","indexed":true,"internalType":"address"},{"name":"v3","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UtilsV4Updated","inputs":[{"name":"utilsV4","type":"address","indexed":true,"internalType":"address"},{"name":"poolManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"WnativeSet","inputs":[{"name":"wnative","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccountingDrift","inputs":[{"name":"owed","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"DeadlineExceeded","inputs":[]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"ETHTransferFailed","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientOutput","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidRange","inputs":[{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidStepCount","inputs":[]},{"type":"error","name":"InvalidSwapVersion","inputs":[]},{"type":"error","name":"LensUnset","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PerStepSlippage","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolTokenMismatch","inputs":[{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"StepDiscontinuity","inputs":[]},{"type":"error","name":"SwapFailed","inputs":[]},{"type":"error","name":"TreasuryUnset","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnauthorizedCallback","inputs":[]},{"type":"error","name":"UnregisteredFactory","inputs":[{"name":"factory","type":"address","internalType":"address"}]},{"type":"error","name":"UpgradeQueued","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroQuote","inputs":[]}]},"liquidityController":{"proxy":"0x7777d7fFF155B043CE0A0785dd8c8c42bEbe7777","impl":"0x4b217Fb08e4ff23530BF2D8e6Cf44Bfac21dC4a9","abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_BPS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_TOKENS_PER_CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_LOCKS_PER_OWNER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_LOCK_DAYS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"addLiquiditySlipstream","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.SlipParams","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV2","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.AddV2P","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"amountADesired","type":"uint256","internalType":"uint256"},{"name":"amountBDesired","type":"uint256","internalType":"uint256"},{"name":"amountAMin","type":"uint256","internalType":"uint256"},{"name":"amountBMin","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"amountA","type":"uint256","internalType":"uint256"},{"name":"amountB","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV3","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.AddV3P","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV4","inputs":[{"name":"p","type":"tuple","internalType":"struct SallyLiquidityController.AddV4Params","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"poolKey","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"}]},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Max","type":"uint128","internalType":"uint128"},{"name":"amount1Max","type":"uint128","internalType":"uint128"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addV2Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"router","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isAerodrome","type":"bool","internalType":"bool"},{"name":"stableFlag","type":"bool","internalType":"bool"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addV3Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"npm","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isSlipstream","type":"bool","internalType":"bool"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addV4Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"positionManager","type":"address","internalType":"address"},{"name":"poolManager_","type":"address","internalType":"address"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimBatchFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV3Locked","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"npm","type":"address","internalType":"address"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV4Locked","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimReferralFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreaseLiquidityV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"decreaseLiquidityV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint128","internalType":"uint128"},{"name":"amount1Min","type":"uint128","internalType":"uint128"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"feeBasisPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"feeThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLockKeys","inputs":[{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getOpFee","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"net","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokenCount","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"harvestOp","inputs":[{"name":"op","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseLiquidityV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"increaseLiquidityV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Max","type":"uint128","internalType":"uint128"},{"name":"amount1Max","type":"uint128","internalType":"uint128"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_weth","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address"},{"name":"_oracle","type":"address","internalType":"address"},{"name":"_feeBasisPoints","type":"uint256","internalType":"uint256"},{"name":"_feeThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"liqUtils","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"stateMutability":"view"},{"type":"function","name":"lockV2LP","inputs":[{"name":"lpToken","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"lockV3Position","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"lockV4Position","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"locks","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"asset","type":"address","internalType":"address"},{"name":"tokenIdOrAmount","type":"uint256","internalType":"uint256"},{"name":"lockTime","type":"uint256","internalType":"uint256"},{"name":"unlockTime","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"massClaimFees","inputs":[{"name":"npms","type":"address[]","internalType":"address[]"},{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"npmToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pendingImpl","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingImplReadyAt","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"priceOracle","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallyOracle"}],"stateMutability":"view"},{"type":"function","name":"proposeUpgrade","inputs":[{"name":"newImpl","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"rebindLiqUtils","inputs":[{"name":"u","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"referralFeeTokenAt","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"referralFees","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"removeLiquidityV2","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"lpAmount","type":"uint256","internalType":"uint256"},{"name":"amountAMin","type":"uint256","internalType":"uint256"},{"name":"amountBMin","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amountANet","type":"uint256","internalType":"uint256"},{"name":"amountBNet","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueERC20","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueERC721","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueETH","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeBasisPoints","inputs":[{"name":"bps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeThreshold","inputs":[{"name":"t","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLiqUtils","inputs":[{"name":"u","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceOracle","inputs":[{"name":"o","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTreasury","inputs":[{"name":"t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV2DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV3DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV4DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWeth","inputs":[{"name":"_weth","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalLockedLp","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalReferralOwed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"unlockV2","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"v2DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v2Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"router","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isAerodrome","type":"bool","internalType":"bool"},{"name":"stableFlag","type":"bool","internalType":"bool"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v2LockNonce","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v2RouterToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v3DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v3Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"npm","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isSlipstream","type":"bool","internalType":"bool"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v4DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v4Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"positionManager","type":"address","internalType":"address"},{"name":"poolManager","type":"address","internalType":"address"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v4PmToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"weth","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWETH"}],"stateMutability":"view"},{"type":"event","name":"FeeBpsUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeeThresholdUpdated","inputs":[{"name":"oldT","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newT","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeesClaimed","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token0","type":"address","indexed":false,"internalType":"address"},{"name":"token1","type":"address","indexed":false,"internalType":"address"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeesClaimedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token0","type":"address","indexed":false,"internalType":"address"},{"name":"token1","type":"address","indexed":false,"internalType":"address"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV2","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"pair","type":"address","indexed":false,"internalType":"address"},{"name":"lpMinted","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityDecreasedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityDecreasedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityIncreasedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityIncreasedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityRemovedV2","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"pair","type":"address","indexed":false,"internalType":"address"},{"name":"lpBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OracleUpdated","inputs":[{"name":"oldO","type":"address","indexed":true,"internalType":"address"},{"name":"newO","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PositionUnlocked","inputs":[{"name":"key","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RescuedERC20","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RescuedERC721","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RescuedETH","inputs":[{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"oldT","type":"address","indexed":true,"internalType":"address"},{"name":"newT","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeProposed","inputs":[{"name":"impl","type":"address","indexed":true,"internalType":"address"},{"name":"readyAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V2DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"router","type":"address","indexed":false,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"isAerodrome","type":"bool","indexed":false,"internalType":"bool"},{"name":"stableFlag","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V2DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V3DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"npm","type":"address","indexed":false,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"isSlipstream","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V3DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V4DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"positionManager","type":"address","indexed":false,"internalType":"address"},{"name":"poolManager","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V4DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"AccountingDrift","inputs":[{"name":"owed","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"DeadlineExceeded","inputs":[]},{"type":"error","name":"DexDisabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DuplicateRegistration","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"ETHTransferFailed","inputs":[]},{"type":"error","name":"EnforcedPause","inputs":[]},{"type":"error","name":"ExpectedPause","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"LockStillActive","inputs":[{"name":"unlockTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LockTooShort","inputs":[{"name":"lockDays","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotLockOwner","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"TooManyTokens","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnknownDex","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UnknownLock","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnknownNPM","inputs":[{"name":"npm","type":"address","internalType":"address"}]},{"type":"error","name":"UpgradeQueued","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"liqUtilsSidecar":"0xaB2ee7e6391f1328ed20DB69017162ef1fa74b20","liqUtilsSidecarAbi":[{"type":"constructor","inputs":[{"name":"_controller","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_FEE_TOKENS_PER_QUERY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_PAGE_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"controller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getClaimableFees","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"token0","type":"address","internalType":"address"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"token1","type":"address","internalType":"address"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLocks","inputs":[{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.Lock[]","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"asset","type":"address","internalType":"address"},{"name":"tokenIdOrAmount","type":"uint256","internalType":"uint256"},{"name":"lockTime","type":"uint256","internalType":"uint256"},{"name":"unlockTime","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getV2PoolState","inputs":[{"name":"pair","type":"address","internalType":"address"}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V2PoolState","components":[{"name":"pair","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"reserve0","type":"uint112","internalType":"uint112"},{"name":"reserve1","type":"uint112","internalType":"uint112"}]}],"stateMutability":"view"},{"type":"function","name":"getV2Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"pairs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V2PositionInfo[]","components":[{"name":"pair","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"lpBalance","type":"uint256","internalType":"uint256"},{"name":"reserve0","type":"uint256","internalType":"uint256"},{"name":"reserve1","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"share0","type":"uint256","internalType":"uint256"},{"name":"share1","type":"uint256","internalType":"uint256"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getV3PoolState","inputs":[{"name":"pool","type":"address","internalType":"address"}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V3PoolState","components":[{"name":"pool","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tick","type":"int24","internalType":"int24"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"tickSpacing","type":"int24","internalType":"int24"}]}],"stateMutability":"view"},{"type":"function","name":"getV3Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V3PositionInfo[]","components":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"tokensOwed0","type":"uint128","internalType":"uint128"},{"name":"tokensOwed1","type":"uint128","internalType":"uint128"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getV4PoolState","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"}]}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V4PoolState","components":[{"name":"poolId","type":"bytes32","internalType":"bytes32"},{"name":"currency0","type":"address","internalType":"address"},{"name":"currency1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"tick","type":"int24","internalType":"int24"},{"name":"protocolFee","type":"uint24","internalType":"uint24"},{"name":"lpFee","type":"uint24","internalType":"uint24"},{"name":"liquidity","type":"uint128","internalType":"uint128"}]}],"stateMutability":"view"},{"type":"function","name":"getV4Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V4PositionInfo[]","components":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"poolId","type":"bytes32","internalType":"bytes32"},{"name":"currency0","type":"address","internalType":"address"},{"name":"currency1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"setStateView","inputs":[{"name":"sv","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stateView","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdValue","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"NotControllerOrOwner","inputs":[]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]}]},"lens":{"address":"0xa28BdAAb850741C707AacC1A91853Bd710E9e132","abi":[{"type":"constructor","inputs":[{"name":"_controller","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"MAX_WALLET_BALANCE_RAW_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_WALLET_BALANCE_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_probeSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"controller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallysSwapLensView"}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPathDeep","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpotPrice","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"price18","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV2","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV3","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV4","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenInfos","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"metrics","type":"tuple","internalType":"struct SallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getTokenInfosWithPaths","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"buyPath","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"sellPath","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"metrics","type":"tuple","internalType":"struct SallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getUsdLiquidity","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"usdLiquidity","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV2","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV3","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV4","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdPriceImpact","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getWalletBalance","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct SallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWalletBalanceRaw","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct SallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWethPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceWeth18","type":"uint256","internalType":"uint256"},{"name":"wethUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"error","name":"BatchTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoUsdRoute","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"NoWethRoute","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]}]}},"base":{"chainId":8453,"treasury":"0x7777D7dC7ea65F33EC126165e03C6B6030887777","treasuryAbi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"addOwner","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchWithdrawAll","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"active","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"removeOwner","inputs":[{"name":"victim","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSwapController","inputs":[{"name":"newSC","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"swap","inputs":[{"name":"sc","type":"address","internalType":"address"},{"name":"swapData","type":"tuple","internalType":"struct ISwapControllerMin.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISwapControllerMin.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"swapAuto","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"swapController","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawAll","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Executed","inputs":[{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"LabelSet","inputs":[{"name":"label","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnerAdded","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"addedBy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnerRemoved","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"removedBy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Received","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SwapControllerUpdated","inputs":[{"name":"oldSC","type":"address","indexed":true,"internalType":"address"},{"name":"newSC","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasurySwap","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":true,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AlreadyOwner","inputs":[]},{"type":"error","name":"ApproveFailed","inputs":[]},{"type":"error","name":"CallFailed","inputs":[{"name":"returndata","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidMsgValue","inputs":[]},{"type":"error","name":"LastOwnerCannotLeave","inputs":[]},{"type":"error","name":"LengthMismatch","inputs":[]},{"type":"error","name":"NotAnOwner","inputs":[]},{"type":"error","name":"NotOwner","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SwapControllerUnset","inputs":[]},{"type":"error","name":"TransferFailed","inputs":[]},{"type":"error","name":"WrongSwapController","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"swapController":{"proxy":"0x7777D0e2e2d772b5D750540B3932261574e87777","impl":"0x9F484AfA434B6946461abaE04A47796Ef47EE852","abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLUSH_ERC20_GAS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLUSH_NATIVE_GAS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_BPS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_TOKENS_PER_QUERY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"batchFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimBatchFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimReferralFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"emergencyWithdraw","inputs":[{"name":"t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeHybridSwap","inputs":[{"name":"swapData","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minOutput","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"feeBasisPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"feeThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeMaxIndex","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokenCount","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpotPrice","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"price18","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapFee","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"netAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV2","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV3","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV4","inputs":[{"name":"tIn","type":"address","internalType":"address"},{"name":"tOut","type":"address","internalType":"address"},{"name":"amt","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"d","type":"tuple","internalType":"struct SallysSwapController.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct SallysSwapController.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum SallysSwapController.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenInfos","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getUsdLiquidity","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"usdLiquidity","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV2","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV3","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV4","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdPriceImpact","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdStables","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWalletBalance","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct ISallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWalletBalanceRaw","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct ISallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWethPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceWeth18","type":"uint256","internalType":"uint256"},{"name":"wethUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_feeThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV3","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV4","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lens","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pancakeV3SwapCallback","inputs":[{"name":"a0","type":"int256","internalType":"int256"},{"name":"a1","type":"int256","internalType":"int256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pendingImpl","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingImplReadyAt","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"perHopSlippageBps","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"poolManagerV4","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proposeUpgrade","inputs":[{"name":"newImpl","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"referralFeeTokenAt","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"referralFees","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeBasisPoints","inputs":[{"name":"_b","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeThreshold","inputs":[{"name":"_t","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLens","inputs":[{"name":"newLens","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPerHopSlippageBps","inputs":[{"name":"_bps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTreasury","inputs":[{"name":"_t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUsdStables","inputs":[{"name":"_stables","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUtils","inputs":[{"name":"_v2","type":"address","internalType":"address"},{"name":"_v3","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUtilsV4","inputs":[{"name":"_v4","type":"address","internalType":"address"},{"name":"_pm","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWnative","inputs":[{"name":"_w","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalReferralOwed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"uniswapV3SwapCallback","inputs":[{"name":"a0","type":"int256","internalType":"int256"},{"name":"a1","type":"int256","internalType":"int256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdStables","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"utilsV2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV2"}],"stateMutability":"view"},{"type":"function","name":"utilsV3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV3"}],"stateMutability":"view"},{"type":"function","name":"utilsV4","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IUtilsV4"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"bytes7","internalType":"bytes7"}],"stateMutability":"pure"},{"type":"function","name":"wnative","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWETH9"}],"stateMutability":"view"},{"type":"event","name":"FeeBasisPointsUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeeCollected","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"treasury","type":"address","indexed":true,"internalType":"address"},{"name":"referral","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FeeThresholdUpdated","inputs":[{"name":"oldThreshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FlushFailed","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"LensSet","inputs":[{"name":"lens","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PerHopSlippageUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SwapExecuted","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":false,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"oldTreasury","type":"address","indexed":true,"internalType":"address"},{"name":"newTreasury","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeProposed","inputs":[{"name":"impl","type":"address","indexed":true,"internalType":"address"},{"name":"readyAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UsdStablesUpdated","inputs":[{"name":"count","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UtilsUpdated","inputs":[{"name":"v2","type":"address","indexed":true,"internalType":"address"},{"name":"v3","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UtilsV4Updated","inputs":[{"name":"utilsV4","type":"address","indexed":true,"internalType":"address"},{"name":"poolManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"WnativeSet","inputs":[{"name":"wnative","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccountingDrift","inputs":[{"name":"owed","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"DeadlineExceeded","inputs":[]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"ETHTransferFailed","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientOutput","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"InvalidPool","inputs":[{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidRange","inputs":[{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidStepCount","inputs":[]},{"type":"error","name":"InvalidSwapVersion","inputs":[]},{"type":"error","name":"LensUnset","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PerStepSlippage","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolTokenMismatch","inputs":[{"name":"pool","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"StepDiscontinuity","inputs":[]},{"type":"error","name":"SwapFailed","inputs":[]},{"type":"error","name":"TreasuryUnset","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnauthorizedCallback","inputs":[]},{"type":"error","name":"UnregisteredFactory","inputs":[{"name":"factory","type":"address","internalType":"address"}]},{"type":"error","name":"UpgradeQueued","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroQuote","inputs":[]}]},"liquidityController":{"proxy":"0x7777d7fFF155B043CE0A0785dd8c8c42bEbe7777","impl":"0xa4BA2048A5a8c69576421d4B6bAB2F2f02e47fe8","abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_BPS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_TOKENS_PER_CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_LOCKS_PER_OWNER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_LOCK_DAYS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"addLiquiditySlipstream","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.SlipParams","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV2","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.AddV2P","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"amountADesired","type":"uint256","internalType":"uint256"},{"name":"amountBDesired","type":"uint256","internalType":"uint256"},{"name":"amountAMin","type":"uint256","internalType":"uint256"},{"name":"amountBMin","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"amountA","type":"uint256","internalType":"uint256"},{"name":"amountB","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV3","inputs":[{"name":"p","type":"tuple","internalType":"struct LiqRemoveLib.AddV3P","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidityMinted","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addLiquidityV4","inputs":[{"name":"p","type":"tuple","internalType":"struct SallyLiquidityController.AddV4Params","components":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"poolKey","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"}]},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Max","type":"uint128","internalType":"uint128"},{"name":"amount1Max","type":"uint128","internalType":"uint128"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"},{"name":"lockKey","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"addV2Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"router","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isAerodrome","type":"bool","internalType":"bool"},{"name":"stableFlag","type":"bool","internalType":"bool"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addV3Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"npm","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isSlipstream","type":"bool","internalType":"bool"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addV4Dex","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"positionManager","type":"address","internalType":"address"},{"name":"poolManager_","type":"address","internalType":"address"}],"outputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimBatchFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV3Locked","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"npm","type":"address","internalType":"address"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimFeesV4Locked","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimReferralFees","inputs":[{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreaseLiquidityV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"decreaseLiquidityV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint128","internalType":"uint128"},{"name":"amount1Min","type":"uint128","internalType":"uint128"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0Net","type":"uint256","internalType":"uint256"},{"name":"amount1Net","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"feeBasisPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"feeThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLockKeys","inputs":[{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getOpFee","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"net","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokenCount","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"harvestOp","inputs":[{"name":"op","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseLiquidityV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"amount0Min","type":"uint256","internalType":"uint256"},{"name":"amount1Min","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"increaseLiquidityV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"liquidity","type":"uint256","internalType":"uint256"},{"name":"amount0Max","type":"uint128","internalType":"uint128"},{"name":"amount1Max","type":"uint128","internalType":"uint128"},{"name":"amount0Desired","type":"uint256","internalType":"uint256"},{"name":"amount1Desired","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_weth","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address"},{"name":"_oracle","type":"address","internalType":"address"},{"name":"_feeBasisPoints","type":"uint256","internalType":"uint256"},{"name":"_feeThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"liqUtils","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"stateMutability":"view"},{"type":"function","name":"lockV2LP","inputs":[{"name":"lpToken","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"lockV3Position","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"lockV4Position","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"lockDays","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"locks","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"asset","type":"address","internalType":"address"},{"name":"tokenIdOrAmount","type":"uint256","internalType":"uint256"},{"name":"lockTime","type":"uint256","internalType":"uint256"},{"name":"unlockTime","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"massClaimFees","inputs":[{"name":"npms","type":"address[]","internalType":"address[]"},{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"npmToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pendingImpl","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingImplReadyAt","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"priceOracle","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallyOracle"}],"stateMutability":"view"},{"type":"function","name":"proposeUpgrade","inputs":[{"name":"newImpl","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"rebindLiqUtils","inputs":[{"name":"u","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"referralFeeTokenAt","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"referralFees","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"removeLiquidityV2","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"lpAmount","type":"uint256","internalType":"uint256"},{"name":"amountAMin","type":"uint256","internalType":"uint256"},{"name":"amountBMin","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"referral","type":"address","internalType":"address"}],"outputs":[{"name":"amountANet","type":"uint256","internalType":"uint256"},{"name":"amountBNet","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueERC20","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueERC721","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescueETH","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeBasisPoints","inputs":[{"name":"bps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeThreshold","inputs":[{"name":"t","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLiqUtils","inputs":[{"name":"u","type":"address","internalType":"contract ISallyLiqUtilsMin"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPriceOracle","inputs":[{"name":"o","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTreasury","inputs":[{"name":"t","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV2DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV3DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setV4DexEnabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"},{"name":"enabled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWeth","inputs":[{"name":"_weth","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"totalLockedLp","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalReferralOwed","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"unlockV2","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockV3","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockV4","inputs":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"v2DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v2Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"router","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isAerodrome","type":"bool","internalType":"bool"},{"name":"stableFlag","type":"bool","internalType":"bool"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v2LockNonce","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v2RouterToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v3DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v3Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"npm","type":"address","internalType":"address"},{"name":"factory","type":"address","internalType":"address"},{"name":"isSlipstream","type":"bool","internalType":"bool"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v4DexCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"v4Dexes","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"name","type":"string","internalType":"string"},{"name":"positionManager","type":"address","internalType":"address"},{"name":"poolManager","type":"address","internalType":"address"},{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"v4PmToDexIdPlus1","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"weth","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWETH"}],"stateMutability":"view"},{"type":"event","name":"FeeBpsUpdated","inputs":[{"name":"oldBps","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBps","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeeThresholdUpdated","inputs":[{"name":"oldT","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newT","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeesClaimed","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token0","type":"address","indexed":false,"internalType":"address"},{"name":"token1","type":"address","indexed":false,"internalType":"address"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeesClaimedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token0","type":"address","indexed":false,"internalType":"address"},{"name":"token1","type":"address","indexed":false,"internalType":"address"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV2","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"pair","type":"address","indexed":false,"internalType":"address"},{"name":"lpMinted","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityAddedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityDecreasedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityDecreasedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityIncreasedV3","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"npm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityIncreasedV4","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"pm","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"liquidity","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"LiquidityRemovedV2","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"pair","type":"address","indexed":false,"internalType":"address"},{"name":"lpBurned","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount0","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount1","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OracleUpdated","inputs":[{"name":"oldO","type":"address","indexed":true,"internalType":"address"},{"name":"newO","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PositionUnlocked","inputs":[{"name":"key","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RescuedERC20","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RescuedERC721","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RescuedETH","inputs":[{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"oldT","type":"address","indexed":true,"internalType":"address"},{"name":"newT","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpgradeProposed","inputs":[{"name":"impl","type":"address","indexed":true,"internalType":"address"},{"name":"readyAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V2DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"router","type":"address","indexed":false,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"isAerodrome","type":"bool","indexed":false,"internalType":"bool"},{"name":"stableFlag","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V2DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V3DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"npm","type":"address","indexed":false,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"isSlipstream","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V3DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"V4DexAdded","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"positionManager","type":"address","indexed":false,"internalType":"address"},{"name":"poolManager","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"V4DexEnabled","inputs":[{"name":"dexId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"enabled","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"AccountingDrift","inputs":[{"name":"owed","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"DeadlineExceeded","inputs":[]},{"type":"error","name":"DexDisabled","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DuplicateRegistration","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"ETHTransferFailed","inputs":[]},{"type":"error","name":"EnforcedPause","inputs":[]},{"type":"error","name":"ExpectedPause","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"LockStillActive","inputs":[{"name":"unlockTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LockTooShort","inputs":[{"name":"lockDays","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotLockOwner","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"TooManyTokens","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnknownDex","inputs":[{"name":"dexId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UnknownLock","inputs":[{"name":"key","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnknownNPM","inputs":[{"name":"npm","type":"address","internalType":"address"}]},{"type":"error","name":"UpgradeQueued","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"liqUtilsSidecar":"0xb5BB4387d1b3Eda5DDC9E5E3648c902eE1Eef46a","liqUtilsSidecarAbi":[{"type":"constructor","inputs":[{"name":"_controller","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_FEE_TOKENS_PER_QUERY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_PAGE_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"controller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getClaimableFees","inputs":[{"name":"npm","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"token0","type":"address","internalType":"address"},{"name":"amount0","type":"uint256","internalType":"uint256"},{"name":"token1","type":"address","internalType":"address"},{"name":"amount1","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLocks","inputs":[{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.Lock[]","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"asset","type":"address","internalType":"address"},{"name":"tokenIdOrAmount","type":"uint256","internalType":"uint256"},{"name":"lockTime","type":"uint256","internalType":"uint256"},{"name":"unlockTime","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"},{"name":"tokenA","type":"address","internalType":"address"},{"name":"tokenB","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getV2PoolState","inputs":[{"name":"pair","type":"address","internalType":"address"}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V2PoolState","components":[{"name":"pair","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"reserve0","type":"uint112","internalType":"uint112"},{"name":"reserve1","type":"uint112","internalType":"uint112"}]}],"stateMutability":"view"},{"type":"function","name":"getV2Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"pairs","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V2PositionInfo[]","components":[{"name":"pair","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"lpBalance","type":"uint256","internalType":"uint256"},{"name":"reserve0","type":"uint256","internalType":"uint256"},{"name":"reserve1","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"share0","type":"uint256","internalType":"uint256"},{"name":"share1","type":"uint256","internalType":"uint256"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getV3PoolState","inputs":[{"name":"pool","type":"address","internalType":"address"}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V3PoolState","components":[{"name":"pool","type":"address","internalType":"address"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tick","type":"int24","internalType":"int24"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"tickSpacing","type":"int24","internalType":"int24"}]}],"stateMutability":"view"},{"type":"function","name":"getV3Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V3PositionInfo[]","components":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"token0","type":"address","internalType":"address"},{"name":"token1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"tokensOwed0","type":"uint128","internalType":"uint128"},{"name":"tokensOwed1","type":"uint128","internalType":"uint128"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getV4PoolState","inputs":[{"name":"key","type":"tuple","internalType":"struct PoolKey","components":[{"name":"currency0","type":"address","internalType":"Currency"},{"name":"currency1","type":"address","internalType":"Currency"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"}]}],"outputs":[{"name":"s","type":"tuple","internalType":"struct LiqTypes.V4PoolState","components":[{"name":"poolId","type":"bytes32","internalType":"bytes32"},{"name":"currency0","type":"address","internalType":"address"},{"name":"currency1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"},{"name":"sqrtPriceX96","type":"uint160","internalType":"uint160"},{"name":"tick","type":"int24","internalType":"int24"},{"name":"protocolFee","type":"uint24","internalType":"uint24"},{"name":"lpFee","type":"uint24","internalType":"uint24"},{"name":"liquidity","type":"uint128","internalType":"uint128"}]}],"stateMutability":"view"},{"type":"function","name":"getV4Positions","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"out","type":"tuple[]","internalType":"struct LiqTypes.V4PositionInfo[]","components":[{"name":"positionManager","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"poolId","type":"bytes32","internalType":"bytes32"},{"name":"currency0","type":"address","internalType":"address"},{"name":"currency1","type":"address","internalType":"address"},{"name":"fee","type":"uint24","internalType":"uint24"},{"name":"tickSpacing","type":"int24","internalType":"int24"},{"name":"hooks","type":"address","internalType":"address"},{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidity","type":"uint128","internalType":"uint128"},{"name":"locked","type":"bool","internalType":"bool"},{"name":"unlockTime","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"setStateView","inputs":[{"name":"sv","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stateView","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"usdValue","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"error","name":"InvalidInput","inputs":[]},{"type":"error","name":"NotControllerOrOwner","inputs":[]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]}]},"lens":{"address":"0xa28BdAAb850741C707AacC1A91853Bd710E9e132","abi":[{"type":"constructor","inputs":[{"name":"_controller","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"MAX_WALLET_BALANCE_RAW_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_WALLET_BALANCE_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_probeSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"controller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISallysSwapLensView"}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getBestSwapPathDeep","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getReferralFeeTokens","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"startIndex","type":"uint256","internalType":"uint256"},{"name":"stopIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokens","type":"address[]","internalType":"address[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"maxIndex","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpotPrice","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"}],"outputs":[{"name":"price18","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSwapPath","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV2","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV3","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getSwapPathV4","inputs":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"best","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getTokenInfos","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"metrics","type":"tuple","internalType":"struct SallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getTokenInfosWithPaths","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"buyPath","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]},{"name":"sellPath","type":"tuple","internalType":"struct ISallysSwapLensView.HybridSwapData","components":[{"name":"firstStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"secondStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"thirdStep","type":"tuple","internalType":"struct ISallysSwapLensView.SwapPathData","components":[{"name":"version","type":"uint8","internalType":"enum ISallysSwapLensView.SwapVersion"},{"name":"path","type":"address[]","internalType":"address[]"},{"name":"dexPath","type":"uint256[]","internalType":"uint256[]"},{"name":"pools","type":"address[]","internalType":"address[]"},{"name":"baseToken","type":"address","internalType":"address"},{"name":"estimatedAmountOut","type":"uint256","internalType":"uint256"}]},{"name":"stepCount","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"metrics","type":"tuple","internalType":"struct SallysSwapLens.TokenMetrics","components":[{"name":"buyEstimate","type":"uint256","internalType":"uint256"},{"name":"buyResult","type":"uint256","internalType":"uint256"},{"name":"sellEstimate","type":"uint256","internalType":"uint256"},{"name":"sellResult","type":"uint256","internalType":"uint256"},{"name":"buySuccess","type":"bool","internalType":"bool"},{"name":"approveSuccess","type":"bool","internalType":"bool"},{"name":"sellSuccess","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"},{"type":"function","name":"getUsdLiquidity","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"usdLiquidity","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV2","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV3","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdLiquidityV4","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUsdPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getUsdPriceImpact","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceUsd18","type":"uint256","internalType":"uint256"},{"name":"stableUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getWalletBalance","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct SallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWalletBalanceRaw","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"tokens","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"results","type":"tuple[]","internalType":"struct SallysSwapLens.WalletTokenBalance[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"usdPrice18","type":"uint256","internalType":"uint256"},{"name":"usdValue","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint8","internalType":"uint8"},{"name":"ok","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getWethPrice","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"priceWeth18","type":"uint256","internalType":"uint256"},{"name":"wethUsed","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"error","name":"BatchTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoUsdRoute","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"NoWethRoute","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"PageTooLarge","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"maxAllowed","type":"uint256","internalType":"uint256"}]}]},"utilsV4":"0x1e7572455fD902c6DE5068e74818bFDBa53d1f36"}}}