@raac/rpc 2.0.0-beta.2 → 2.0.0-beta.3

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 (573) hide show
  1. package/dist/RPCLibrary.js +57 -23
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +8 -2
  4. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +2 -2
  5. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +2 -2
  6. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +2 -2
  7. package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +2 -2
  8. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  9. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +62 -86
  10. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  11. package/dist/artifacts/core/psm/PSMVault.sol/PSMVault.json +2303 -0
  12. package/dist/artifacts/core/psm/RateProvider.sol/RateProvider.json +444 -0
  13. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  14. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +69 -66
  15. package/dist/artifacts/zeno/Auction.sol/Auction.json +278 -120
  16. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +31 -148
  17. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +80 -45
  18. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +11 -88
  19. package/dist/assets/getAsset.js +2 -2
  20. package/dist/assets/getSupply.js +7 -7
  21. package/dist/configs/chains/1.json +15 -0
  22. package/dist/contracts/feeCollector/claimRewardFromPool.js +2 -2
  23. package/dist/contracts/findContract.js +1 -1
  24. package/dist/contracts/getContractAddress.js +1 -2
  25. package/dist/contracts/getTokenMetadata.js +31 -0
  26. package/dist/contracts/governance/_helpers.js +1 -22
  27. package/dist/contracts/governance/distributor/claimAll.js +2 -2
  28. package/dist/contracts/governance/distributor/claimForGauge.js +2 -2
  29. package/dist/contracts/governance/distributor/deposit.js +2 -2
  30. package/dist/contracts/governance/distributor/setController.js +2 -2
  31. package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +2 -2
  32. package/dist/contracts/governance/distributor/setMaxClaimBound.js +2 -2
  33. package/dist/contracts/governance/distributor/withdrawDust.js +2 -2
  34. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +2 -2
  35. package/dist/contracts/governance/gauge/claimRewardToken.js +2 -3
  36. package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +2 -2
  37. package/dist/contracts/governance/gauge/stake.js +2 -3
  38. package/dist/contracts/governance/gauge/updateUserRewards.js +2 -3
  39. package/dist/contracts/governance/gauge/withdraw.js +2 -3
  40. package/dist/contracts/governance/gaugeController/addGauge.js +2 -2
  41. package/dist/contracts/governance/gaugeController/batchVote.js +2 -2
  42. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +2 -2
  43. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +2 -2
  44. package/dist/contracts/governance/gaugeController/kick.js +2 -2
  45. package/dist/contracts/governance/gaugeController/removeGauge.js +2 -2
  46. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +2 -2
  47. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +2 -2
  48. package/dist/contracts/governance/gaugeController/setDistributor.js +2 -2
  49. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +2 -2
  50. package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +2 -2
  51. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +2 -2
  52. package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +2 -2
  53. package/dist/contracts/governance/gaugeController/vote.js +2 -2
  54. package/dist/contracts/governance/proposals/cancel.js +3 -4
  55. package/dist/contracts/governance/proposals/castVote.js +4 -4
  56. package/dist/contracts/governance/proposals/execute.js +3 -4
  57. package/dist/contracts/governance/proposals/getVoteReceipt.js +0 -1
  58. package/dist/contracts/governance/proposals/propose.js +3 -4
  59. package/dist/contracts/governance/proposals/setParameter.js +3 -4
  60. package/dist/contracts/governance/proposals/setTimelock.js +3 -4
  61. package/dist/contracts/housePrices/getLatestPrice.js +3 -3
  62. package/dist/contracts/housePrices/setOracle.js +3 -4
  63. package/dist/contracts/lockers/liquidLocker/deposit.js +12 -4
  64. package/dist/contracts/lockers/liquidLocker/hasHarvestRole.js +15 -0
  65. package/dist/contracts/pmBlender/getReserveBalance.js +3 -3
  66. package/dist/contracts/pmBlender/getSupportedTokens.js +0 -1
  67. package/dist/contracts/pmBlender/previewDeposit.js +3 -3
  68. package/dist/contracts/pmBlender/previewSwap.js +3 -3
  69. package/dist/contracts/pmBlender/previewWithdraw.js +3 -3
  70. package/dist/contracts/pmMarket/getMarketConfig.js +3 -3
  71. package/dist/contracts/pmTreasury/getCollateralRatio.js +4 -2
  72. package/dist/contracts/pmTreasury/getCurrentNav.js +4 -2
  73. package/dist/contracts/pmTreasury/getLeverageRatio.js +4 -2
  74. package/dist/contracts/pmTreasury/getMaxMintablePMUSD.js +4 -2
  75. package/dist/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.js +4 -2
  76. package/dist/contracts/pmTreasury/getMaxMintableXPM.js +4 -2
  77. package/dist/contracts/pmTreasury/getMaxRedeemablePMUSD.js +4 -2
  78. package/dist/contracts/pmTreasury/getMaxRedeemableXPM.js +4 -2
  79. package/dist/contracts/pmTreasury/getTotalBaseToken.js +4 -2
  80. package/dist/contracts/psm/_helpers.js +68 -0
  81. package/dist/contracts/psm/cancelExit.js +20 -0
  82. package/dist/contracts/psm/deposit.js +25 -0
  83. package/dist/contracts/psm/getVaultInfo.js +126 -0
  84. package/dist/contracts/psm/previewDeposit.js +21 -0
  85. package/dist/contracts/psm/previewProportionalSplit.js +19 -0
  86. package/dist/contracts/psm/previewRedeem.js +21 -0
  87. package/dist/contracts/psm/previewSwap.js +21 -0
  88. package/dist/contracts/psm/redeem.js +25 -0
  89. package/dist/contracts/psm/requestExit.js +20 -0
  90. package/dist/contracts/psm/swap.js +24 -0
  91. package/dist/contracts/tokens/veRAAC/_helpers.js +0 -2
  92. package/dist/contracts/tokens/veRAAC/claimReward.js +3 -4
  93. package/dist/contracts/tokens/veRAAC/distributeRewards.js +3 -4
  94. package/dist/contracts/tokens/veRAAC/extend.js +3 -4
  95. package/dist/contracts/tokens/veRAAC/finalizeRagequit.js +3 -4
  96. package/dist/contracts/tokens/veRAAC/getRewardTokens.js +34 -0
  97. package/dist/contracts/tokens/veRAAC/getTotalSupply.js +0 -1
  98. package/dist/contracts/tokens/veRAAC/getTotalSupplyAt.js +1 -1
  99. package/dist/contracts/tokens/veRAAC/increase.js +3 -4
  100. package/dist/contracts/tokens/veRAAC/lock.js +3 -4
  101. package/dist/contracts/tokens/veRAAC/ragequitAll.js +3 -4
  102. package/dist/contracts/tokens/veRAAC/ragequitLock.js +3 -4
  103. package/dist/contracts/tokens/veRAAC/withdraw.js +3 -4
  104. package/dist/contracts/zeno/createAuction.js +30 -15
  105. package/dist/contracts/zeno/createZeno.js +23 -12
  106. package/dist/contracts/zeno/getAuctions.js +35 -33
  107. package/dist/contracts/zeno/getZenos.js +32 -16
  108. package/dist/generated/errors.json +3537 -0
  109. package/dist/index.js +1 -0
  110. package/dist/methods/approveToken.js +2 -4
  111. package/dist/methods/commons/checkAllowance.js +2 -3
  112. package/dist/methods/commons/estimateGasPrice.js +0 -1
  113. package/dist/methods/getAssetBalance.js +4 -4
  114. package/dist/nfts/approveNFT.js +3 -5
  115. package/dist/nfts/getAllTokens.js +3 -4
  116. package/dist/nfts/getApprovalForAll.js +3 -4
  117. package/dist/nfts/getBaseUri.js +3 -4
  118. package/dist/nfts/getHousePrice.js +3 -3
  119. package/dist/nfts/getMintFeePercentage.js +3 -3
  120. package/dist/nfts/getMintPrice.js +3 -3
  121. package/dist/nfts/getNFTApproval.js +3 -4
  122. package/dist/nfts/getOwnerOfNFT.js +3 -5
  123. package/dist/nfts/getTokenURI.js +3 -4
  124. package/dist/nfts/getTokensByOwner.js +3 -4
  125. package/dist/nfts/getTotalPropertiesCount.js +3 -4
  126. package/dist/nfts/mint.js +3 -5
  127. package/dist/nfts/setApprovalForAll.js +3 -5
  128. package/dist/nfts/setBaseUri.js +3 -4
  129. package/dist/nfts/totalNFTSupply.js +3 -3
  130. package/dist/oracles/houses/request.js +2 -15
  131. package/dist/oracles/houses/simulate.js +0 -3
  132. package/dist/oracles/prime-rate/request.js +2 -16
  133. package/dist/oracles/prime-rate/simulate.js +0 -4
  134. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +2 -2
  135. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +4 -2
  136. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
  137. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
  138. package/dist/pools/lendingPool/borrowFromLendingPool.js +4 -2
  139. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +3 -8
  140. package/dist/pools/lendingPool/calculateInsuranceFee.js +4 -2
  141. package/dist/pools/lendingPool/closeLiquidation.js +4 -2
  142. package/dist/pools/lendingPool/depositAssetToLendingPool.js +4 -2
  143. package/dist/pools/lendingPool/depositToLendingPool.js +4 -6
  144. package/dist/pools/lendingPool/getAdapters.js +4 -2
  145. package/dist/pools/lendingPool/getEligibleUserDeposits.js +4 -2
  146. package/dist/pools/lendingPool/getHealthFactor.js +4 -2
  147. package/dist/pools/lendingPool/getHousePrice.js +3 -3
  148. package/dist/pools/lendingPool/getLendingPoolInfo.js +3 -2
  149. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +4 -2
  150. package/dist/pools/lendingPool/getParameters.js +4 -2
  151. package/dist/pools/lendingPool/getPositionDebt.js +4 -2
  152. package/dist/pools/lendingPool/getPositionScaledDebt.js +4 -2
  153. package/dist/pools/lendingPool/getPositionView.js +4 -2
  154. package/dist/pools/lendingPool/getPositionsScaledDebt.js +4 -2
  155. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +4 -2
  156. package/dist/pools/lendingPool/getUserCollateralValue.js +4 -2
  157. package/dist/pools/lendingPool/initializeLiquidation.js +4 -2
  158. package/dist/pools/lendingPool/openVaultPosition.js +4 -6
  159. package/dist/pools/lendingPool/repayToLendingPool.js +4 -2
  160. package/dist/pools/lendingPool/vaultOpened.js +4 -2
  161. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +4 -2
  162. package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
  163. package/dist/pools/liquidityPool/getLiquidityPoolInfo.js +3 -3
  164. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
  165. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
  166. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
  167. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +2 -2
  168. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
  169. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
  170. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
  171. package/dist/pools/rwaVault/checkRedeemEligibility.js +46 -0
  172. package/dist/pools/rwaVault/depositToRWAVault.js +4 -4
  173. package/dist/pools/rwaVault/getAdapters.js +2 -2
  174. package/dist/pools/rwaVault/getNextRandomNFT.js +4 -2
  175. package/dist/pools/rwaVault/getRWAVaultInfo.js +4 -2
  176. package/dist/pools/rwaVault/previewDeposit.js +4 -2
  177. package/dist/pools/rwaVault/previewWithdraw.js +4 -2
  178. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +4 -4
  179. package/dist/pools/rwaVault/requestRandomSeed.js +4 -4
  180. package/dist/pools/stabilityPool/depositToStabilityPool.js +4 -4
  181. package/dist/pools/stabilityPool/getRawUserDepositsInStabilityPool.js +4 -2
  182. package/dist/pools/stabilityPool/getStabilityPoolInfo.js +4 -2
  183. package/dist/pools/stabilityPool/getStabilityPoolTotalDeposits.js +4 -2
  184. package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +4 -2
  185. package/dist/pools/stabilityPool/getWithdrawTimelockConfig.js +25 -0
  186. package/dist/pools/stabilityPool/requestWithdraw.js +4 -4
  187. package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +4 -4
  188. package/dist/prices/computeStakingAPY.js +12 -0
  189. package/dist/prices/getCurveLPPriceUSD.js +46 -0
  190. package/dist/prices/getPrices.js +10 -8
  191. package/dist/prices/getStakingTokenPriceUSD.js +25 -0
  192. package/dist/prices/getWrapperPriceUSD.js +33 -0
  193. package/dist/prices/tokenPricesUSD.js +20 -0
  194. package/dist/scripts/generateErrorCatalogue.js +237 -0
  195. package/dist/types/RPCLibrary.d.ts +42 -8
  196. package/dist/types/configs/chains/index.d.ts +30 -0
  197. package/dist/types/configs/index.d.ts +15 -0
  198. package/dist/types/contracts/getTokenMetadata.d.ts +13 -0
  199. package/dist/types/contracts/governance/_helpers.d.ts +0 -20
  200. package/dist/types/contracts/governance/proposals/castVote.d.ts +1 -2
  201. package/dist/types/contracts/lockers/liquidLocker/hasHarvestRole.d.ts +8 -0
  202. package/dist/types/contracts/psm/_helpers.d.ts +18 -0
  203. package/dist/types/contracts/psm/cancelExit.d.ts +4 -0
  204. package/dist/types/contracts/psm/deposit.d.ts +9 -0
  205. package/dist/types/contracts/psm/getVaultInfo.d.ts +77 -0
  206. package/dist/types/contracts/psm/previewDeposit.d.ts +7 -0
  207. package/dist/types/contracts/psm/previewProportionalSplit.d.ts +9 -0
  208. package/dist/types/contracts/psm/previewRedeem.d.ts +7 -0
  209. package/dist/types/contracts/psm/previewSwap.d.ts +7 -0
  210. package/dist/types/contracts/psm/redeem.d.ts +9 -0
  211. package/dist/types/contracts/psm/requestExit.d.ts +4 -0
  212. package/dist/types/contracts/psm/swap.d.ts +8 -0
  213. package/dist/types/contracts/tokens/veRAAC/getRewardTokens.d.ts +10 -0
  214. package/dist/types/contracts/zeno/createAuction.d.ts +15 -5
  215. package/dist/types/contracts/zeno/createZeno.d.ts +10 -1
  216. package/dist/types/contracts/zeno/getAuctions.d.ts +10 -11
  217. package/dist/types/contracts/zeno/getZenos.d.ts +25 -2
  218. package/dist/types/index.d.ts +1 -0
  219. package/dist/types/pools/rwaVault/checkRedeemEligibility.d.ts +15 -0
  220. package/dist/types/pools/stabilityPool/getWithdrawTimelockConfig.d.ts +14 -0
  221. package/dist/types/prices/computeStakingAPY.d.ts +2 -0
  222. package/dist/types/prices/getCurveLPPriceUSD.d.ts +3 -0
  223. package/dist/types/prices/getPrices.d.ts +4 -8
  224. package/dist/types/prices/getStakingTokenPriceUSD.d.ts +16 -0
  225. package/dist/types/prices/getWrapperPriceUSD.d.ts +7 -0
  226. package/dist/types/prices/tokenPricesUSD.d.ts +7 -0
  227. package/dist/types/scripts/generateErrorCatalogue.d.ts +45 -0
  228. package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +2 -0
  229. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +65 -0
  230. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  231. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +36 -0
  232. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +20 -0
  233. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  234. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/Proxy.d.ts +20 -0
  235. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +25 -0
  236. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  237. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +7 -0
  238. package/dist/types/typechain-types/{contracts/core/governance/gauges/VeBoostProxy.d.ts → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts} +24 -47
  239. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +80 -0
  240. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +51 -0
  241. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  242. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  243. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +29 -2
  244. package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +0 -2
  245. package/dist/types/typechain-types/contracts/core/lockers/RAACBotLocker.d.ts +1 -9
  246. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +47 -2
  247. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +24 -10
  248. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +42 -43
  249. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +7 -3
  250. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +7 -3
  251. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +7 -3
  252. package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +59 -12
  253. package/dist/types/typechain-types/contracts/core/tokens/VeRAACTokenStorage.d.ts +47 -12
  254. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +29 -2
  255. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  256. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACBotLocker.d.ts +1 -9
  257. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +82 -15
  258. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +32 -6
  259. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +5 -1
  260. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +47 -12
  261. package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +43 -39
  262. package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +28 -22
  263. package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +2 -36
  264. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeStub.d.ts +33 -0
  265. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  266. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken.d.ts +173 -0
  267. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault.d.ts +53 -0
  268. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe.d.ts +91 -0
  269. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  270. package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
  271. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +32 -6
  272. package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +6 -2
  273. package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +200 -108
  274. package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +21 -105
  275. package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +46 -40
  276. package/dist/types/typechain-types/contracts/zeno/ZENOFactory.d.ts +10 -57
  277. package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +1 -0
  278. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +42 -0
  279. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  280. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +71 -0
  281. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +50 -0
  282. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  283. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +10 -0
  284. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +17 -0
  285. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  286. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +4 -0
  287. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +115 -0
  288. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +56 -0
  289. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +102 -0
  290. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  291. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +2 -0
  292. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  293. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +26 -1
  294. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
  295. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -1
  296. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -1
  297. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +0 -2
  298. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -11
  299. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +66 -1
  300. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +25 -9
  301. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  302. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +12 -2
  303. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +43 -60
  304. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +12 -2
  305. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +12 -2
  306. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  307. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  308. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  309. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  310. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  311. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACTokenStorage__factory.d.ts +47 -18
  312. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +58 -19
  313. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +25 -0
  314. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  315. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACBotLocker__factory.d.ts +0 -10
  316. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +91 -6
  317. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +30 -0
  318. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -0
  319. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +47 -18
  320. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +52 -30
  321. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +36 -8
  322. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  323. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  324. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  325. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
  326. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
  327. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -36
  328. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  329. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  330. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeStub__factory.d.ts +42 -0
  331. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  332. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
  333. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken__factory.d.ts +306 -0
  334. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault__factory.d.ts +68 -0
  335. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe__factory.d.ts +149 -0
  336. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  337. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
  338. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  339. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  340. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +31 -1
  341. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
  342. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  343. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +5 -1
  344. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
  345. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
  346. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +2 -9
  347. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  348. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  349. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  350. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +26 -118
  351. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +230 -106
  352. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +9 -68
  353. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +66 -38
  354. package/dist/types/typechain-types/index.d.ts +24 -8
  355. package/dist/types/typechain-types/psm/PSMVault.d.ts +1503 -0
  356. package/dist/types/typechain-types/psm/RateProvider.d.ts +228 -0
  357. package/dist/types/typechain-types/psm/common.d.ts +46 -0
  358. package/dist/types/typechain-types/psm/factories/PSMVault__factory.d.ts +1795 -0
  359. package/dist/types/typechain-types/psm/factories/RateProvider__factory.d.ts +299 -0
  360. package/dist/types/typechain-types/psm/factories/imports.sol/PSMProxyAdmin__factory.d.ts +117 -0
  361. package/dist/types/typechain-types/psm/factories/imports.sol/PSMTransparentProxy__factory.d.ts +108 -0
  362. package/dist/types/typechain-types/psm/factories/imports.sol/index.d.ts +2 -0
  363. package/dist/types/typechain-types/psm/factories/index.d.ts +8 -0
  364. package/dist/types/typechain-types/psm/factories/interfaces/IBaseAssetNav__factory.d.ts +21 -0
  365. package/dist/types/typechain-types/psm/factories/interfaces/IRateProvider__factory.d.ts +65 -0
  366. package/dist/types/typechain-types/psm/factories/interfaces/IRebalancer__factory.d.ts +25 -0
  367. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoost__factory.d.ts → psm/factories/interfaces/ISavingsToken__factory.d.ts} +215 -192
  368. package/dist/types/typechain-types/psm/factories/interfaces/index.d.ts +6 -0
  369. package/dist/types/typechain-types/psm/factories/interfaces/v2/IRebalancerV2__factory.d.ts +21 -0
  370. package/dist/types/typechain-types/psm/factories/interfaces/v2/index.d.ts +1 -0
  371. package/dist/types/typechain-types/psm/factories/interfaces/v3/IRateProviderV3__factory.d.ts +65 -0
  372. package/dist/types/typechain-types/psm/factories/interfaces/v3/index.d.ts +1 -0
  373. package/dist/types/typechain-types/psm/factories/mocks/MockBaseAssetModule__factory.d.ts +450 -0
  374. package/dist/types/typechain-types/psm/factories/mocks/MockChainlinkFeed__factory.d.ts +106 -0
  375. package/dist/types/typechain-types/psm/factories/mocks/MockERC20__factory.d.ts +288 -0
  376. package/dist/types/typechain-types/psm/factories/mocks/MockFeeOnTransferERC20__factory.d.ts +356 -0
  377. package/dist/types/typechain-types/psm/factories/mocks/MockPmUSD__factory.d.ts +326 -0
  378. package/dist/types/typechain-types/psm/factories/mocks/MockProxy__factory.d.ts +108 -0
  379. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/IMockMintable__factory.d.ts +21 -0
  380. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/MockRebalancer__factory.d.ts +138 -0
  381. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/index.d.ts +2 -0
  382. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/IMockMintable__factory.d.ts +21 -0
  383. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/MockRebalancerV2__factory.d.ts +134 -0
  384. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  385. package/dist/types/typechain-types/psm/factories/mocks/MockSavingsToken__factory.d.ts +330 -0
  386. package/dist/types/typechain-types/psm/factories/mocks/index.d.ts +9 -0
  387. package/dist/types/typechain-types/psm/factories/utils/index.d.ts +1 -0
  388. package/dist/types/typechain-types/psm/factories/utils/zap/AladdinZap__factory.d.ts +322 -0
  389. package/dist/types/typechain-types/psm/factories/utils/zap/TokenZapLogic__factory.d.ts +73 -0
  390. package/dist/types/typechain-types/psm/factories/utils/zap/index.d.ts +3 -0
  391. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerPool__factory.d.ts +91 -0
  392. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerVault__factory.d.ts +261 -0
  393. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IConvexCRVDepositor__factory.d.ts +49 -0
  394. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool__factory.d.ts +305 -0
  395. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool__factory.d.ts +305 -0
  396. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool__factory.d.ts +305 -0
  397. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool__factory.d.ts +305 -0
  398. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  399. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool__factory.d.ts +39 -0
  400. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool__factory.d.ts +39 -0
  401. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool__factory.d.ts +39 -0
  402. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool__factory.d.ts +175 -0
  403. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  404. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool__factory.d.ts +301 -0
  405. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool__factory.d.ts +165 -0
  406. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool__factory.d.ts +181 -0
  407. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  408. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveETHPool__factory.d.ts +155 -0
  409. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool__factory.d.ts +99 -0
  410. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool__factory.d.ts +99 -0
  411. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap__factory.d.ts +55 -0
  412. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool__factory.d.ts +193 -0
  413. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  414. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool__factory.d.ts +183 -0
  415. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool__factory.d.ts +183 -0
  416. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool__factory.d.ts +183 -0
  417. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool__factory.d.ts +147 -0
  418. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  419. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit__factory.d.ts +141 -0
  420. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap__factory.d.ts +227 -0
  421. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  422. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoostProxy__factory.d.ts → psm/factories/utils/zap/interfaces/ICurvePoolRegistry__factory.d.ts} +13 -24
  423. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit__factory.d.ts +165 -0
  424. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap__factory.d.ts +193 -0
  425. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit__factory.d.ts +165 -0
  426. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap__factory.d.ts +193 -0
  427. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit__factory.d.ts +165 -0
  428. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap__factory.d.ts +193 -0
  429. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit__factory.d.ts +165 -0
  430. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap__factory.d.ts +193 -0
  431. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  432. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoStETH__factory.d.ts +35 -0
  433. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoWstETH__factory.d.ts +83 -0
  434. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV2Pair__factory.d.ts +95 -0
  435. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Pool__factory.d.ts +115 -0
  436. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Router__factory.d.ts +54 -0
  437. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IWETH__factory.d.ts +23 -0
  438. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IZap__factory.d.ts +107 -0
  439. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCRV__factory.d.ts +401 -0
  440. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCompounder__factory.d.ts +350 -0
  441. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  442. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/index.d.ts +20 -0
  443. package/dist/types/typechain-types/psm/factories/v2/PSMVaultV2__factory.d.ts +1846 -0
  444. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IPSMVaultView__factory.d.ts +17 -0
  445. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IRateOracle__factory.d.ts +31 -0
  446. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IZap__factory.d.ts +33 -0
  447. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/RebalancerV2__factory.d.ts +506 -0
  448. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/index.d.ts +4 -0
  449. package/dist/types/typechain-types/psm/factories/v2/index.d.ts +2 -0
  450. package/dist/types/typechain-types/psm/factories/v3/PSMVaultV3__factory.d.ts +1955 -0
  451. package/dist/types/typechain-types/psm/factories/v3/RateProviderComposed__factory.d.ts +303 -0
  452. package/dist/types/typechain-types/psm/factories/v3/RateProviderDirect__factory.d.ts +293 -0
  453. package/dist/types/typechain-types/psm/factories/v3/index.d.ts +3 -0
  454. package/dist/types/typechain-types/psm/imports.sol/PSMProxyAdmin.d.ts +96 -0
  455. package/dist/types/typechain-types/psm/imports.sol/PSMTransparentProxy.d.ts +51 -0
  456. package/dist/types/typechain-types/psm/imports.sol/index.d.ts +2 -0
  457. package/dist/types/typechain-types/psm/index.d.ts +157 -0
  458. package/dist/types/typechain-types/psm/interfaces/IBaseAssetNav.d.ts +33 -0
  459. package/dist/types/typechain-types/psm/interfaces/IRateProvider.d.ts +75 -0
  460. package/dist/types/typechain-types/psm/interfaces/IRebalancer.d.ts +39 -0
  461. package/dist/types/typechain-types/psm/interfaces/ISavingsToken.d.ts +400 -0
  462. package/dist/types/typechain-types/psm/interfaces/index.d.ts +8 -0
  463. package/dist/types/typechain-types/psm/interfaces/v2/IRebalancerV2.d.ts +35 -0
  464. package/dist/types/typechain-types/psm/interfaces/v2/index.d.ts +1 -0
  465. package/dist/types/typechain-types/psm/interfaces/v3/IRateProviderV3.d.ts +75 -0
  466. package/dist/types/typechain-types/psm/interfaces/v3/index.d.ts +1 -0
  467. package/dist/types/typechain-types/psm/mocks/MockBaseAssetModule.d.ts +311 -0
  468. package/dist/types/typechain-types/psm/mocks/MockChainlinkFeed.d.ts +91 -0
  469. package/dist/types/typechain-types/psm/mocks/MockERC20.d.ts +179 -0
  470. package/dist/types/typechain-types/psm/mocks/MockFeeOnTransferERC20.d.ts +247 -0
  471. package/dist/types/typechain-types/psm/mocks/MockPmUSD.d.ts +213 -0
  472. package/dist/types/typechain-types/psm/mocks/MockProxy.d.ts +51 -0
  473. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/IMockMintable.d.ts +35 -0
  474. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/MockRebalancer.d.ts +125 -0
  475. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/index.d.ts +2 -0
  476. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/IMockMintable.d.ts +35 -0
  477. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/MockRebalancerV2.d.ts +121 -0
  478. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  479. package/dist/types/typechain-types/psm/mocks/MockSavingsToken.d.ts +213 -0
  480. package/dist/types/typechain-types/psm/mocks/index.d.ts +11 -0
  481. package/dist/types/typechain-types/psm/utils/index.d.ts +2 -0
  482. package/dist/types/typechain-types/psm/utils/zap/AladdinZap.d.ts +276 -0
  483. package/dist/types/typechain-types/psm/utils/zap/TokenZapLogic.d.ts +59 -0
  484. package/dist/types/typechain-types/psm/utils/zap/index.d.ts +4 -0
  485. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerPool.d.ts +101 -0
  486. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerVault.d.ts +199 -0
  487. package/dist/types/typechain-types/psm/utils/zap/interfaces/IConvexCRVDepositor.d.ts +61 -0
  488. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool.d.ts +245 -0
  489. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool.d.ts +245 -0
  490. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool.d.ts +245 -0
  491. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool.d.ts +245 -0
  492. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  493. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool.d.ts +49 -0
  494. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool.d.ts +49 -0
  495. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool.d.ts +49 -0
  496. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool.d.ts +159 -0
  497. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  498. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool.d.ts +249 -0
  499. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool.d.ts +153 -0
  500. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool.d.ts +165 -0
  501. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  502. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveETHPool.d.ts +135 -0
  503. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap.d.ts +55 -0
  504. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool.d.ts +87 -0
  505. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool.d.ts +87 -0
  506. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool.d.ts +159 -0
  507. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  508. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool.d.ts +159 -0
  509. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool.d.ts +159 -0
  510. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool.d.ts +159 -0
  511. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool.d.ts +131 -0
  512. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  513. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit.d.ts +133 -0
  514. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap.d.ts +191 -0
  515. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  516. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurvePoolRegistry.d.ts +45 -0
  517. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit.d.ts +163 -0
  518. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap.d.ts +179 -0
  519. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit.d.ts +163 -0
  520. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap.d.ts +179 -0
  521. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit.d.ts +163 -0
  522. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap.d.ts +179 -0
  523. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit.d.ts +163 -0
  524. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap.d.ts +179 -0
  525. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  526. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoStETH.d.ts +45 -0
  527. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoWstETH.d.ts +89 -0
  528. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV2Pair.d.ts +103 -0
  529. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Pool.d.ts +113 -0
  530. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Router.d.ts +55 -0
  531. package/dist/types/typechain-types/psm/utils/zap/interfaces/IWETH.d.ts +43 -0
  532. package/dist/types/typechain-types/psm/utils/zap/interfaces/IZap.d.ts +91 -0
  533. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCRV.d.ts +361 -0
  534. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCompounder.d.ts +290 -0
  535. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  536. package/dist/types/typechain-types/psm/utils/zap/interfaces/index.d.ts +28 -0
  537. package/dist/types/typechain-types/psm/v2/PSMVaultV2.d.ts +1528 -0
  538. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IPSMVaultView.d.ts +31 -0
  539. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IRateOracle.d.ts +43 -0
  540. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IZap.d.ts +39 -0
  541. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/RebalancerV2.d.ts +387 -0
  542. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/index.d.ts +4 -0
  543. package/dist/types/typechain-types/psm/v2/index.d.ts +3 -0
  544. package/dist/types/typechain-types/psm/v3/PSMVaultV3.d.ts +1631 -0
  545. package/dist/types/typechain-types/psm/v3/RateProviderComposed.d.ts +228 -0
  546. package/dist/types/typechain-types/psm/v3/RateProviderDirect.d.ts +218 -0
  547. package/dist/types/typechain-types/psm/v3/index.d.ts +3 -0
  548. package/dist/types/utils/artifacts.d.ts +244 -102
  549. package/dist/types/utils/contracts.d.ts +30 -0
  550. package/dist/types/utils/errorDecoder.d.ts +21 -30
  551. package/dist/types/utils/rpcError.d.ts +52 -0
  552. package/dist/utils/artifacts.js +6 -0
  553. package/dist/utils/chain.js +2 -1
  554. package/dist/utils/config.js +0 -1
  555. package/dist/utils/contracts.js +1 -1
  556. package/dist/utils/errorDecoder.js +45 -121
  557. package/dist/utils/rpcError.js +135 -0
  558. package/dist/wallet/assets/approveAsset.js +10 -12
  559. package/dist/wallet/assets/burnAsset.js +14 -16
  560. package/dist/wallet/assets/getAllowance.js +4 -4
  561. package/dist/wallet/assets/getAsset.js +2 -2
  562. package/dist/wallet/assets/getBalance.js +4 -3
  563. package/dist/wallet/assets/mintAsset.js +14 -17
  564. package/dist/wallet/assets/transferAsset.js +7 -10
  565. package/package.json +4 -3
  566. package/dist/generated/errorMap.json +0 -3945
  567. package/dist/scripts/generateErrorMap.js +0 -180
  568. package/dist/types/scripts/generateErrorMap.d.ts +0 -1
  569. package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoost.d.ts +0 -518
  570. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoost.d.ts +0 -311
  571. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoostProxy.d.ts +0 -50
  572. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +0 -152
  573. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +0 -716
@@ -0,0 +1,322 @@
1
+ import type { Addressable } from "ethers";
2
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
3
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
4
+ import type { NonPayableOverrides } from "../../../common.js";
5
+ import type { AladdinZap, AladdinZapInterface } from "../../../utils/zap/AladdinZap.js";
6
+ type AladdinZapConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
7
+ export declare class AladdinZap__factory extends ContractFactory {
8
+ constructor(...args: AladdinZapConstructorParams);
9
+ getDeployTransaction(overrides?: NonPayableOverrides & {
10
+ from?: string;
11
+ }): Promise<ContractDeployTransaction>;
12
+ deploy(overrides?: NonPayableOverrides & {
13
+ from?: string;
14
+ }): Promise<AladdinZap & {
15
+ deploymentTransaction(): ContractTransactionResponse;
16
+ }>;
17
+ connect(runner: ContractRunner | null): AladdinZap__factory;
18
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50614fd9806100206000396000f3fe6080604052600436106100f75760003560e01c8063802a2b131161008a578063d85c32c711610059578063d85c32c714610262578063d96073cf1461028f578063f2fde38b146102a2578063f5a469d6146102c2576100fe565b8063802a2b13146102055780638129fc1c1461022557806384e91bf21461023a5780638da5cb5b1461024d576100fe565b806354fd4d50116100c657806354fd4d501461019b5780635df1f263146101bd578063600c557d146101d0578063715018a6146101f0576100fe565b80631f18c2b7146101035780633157bc2614610125578063382040461461015b57806349df43911461017b576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046142ba565b6102e2565b005b34801561013157600080fd5b50610145610140366004614629565b6103fa565b60405161015291906147c7565b60405180910390f35b34801561016757600080fd5b506101236101763660046144e4565b61041c565b61018e610189366004614458565b610521565b60405161015291906149c5565b3480156101a757600080fd5b506101b0610652565b6040516101529190614a5f565b61018e6101cb3660046143b1565b61067e565b3480156101dc57600080fd5b5061018e6101eb366004614371565b6106e5565b3480156101fc57600080fd5b50610123610723565b34801561021157600080fd5b5061012361022036600461449f565b6107cf565b34801561023157600080fd5b50610123610904565b61018e610248366004614458565b6109ae565b34801561025957600080fd5b506101456109d1565b34801561026e57600080fd5b5061028261027d366004614282565b6109e0565b6040516101529190614981565b61018e61029d3660046146ba565b610a59565b3480156102ae57600080fd5b506101236102bd36600461424a565b610c3f565b3480156102ce57600080fd5b506101456102dd36600461424a565b610d42565b6102ea610d5d565b6001600160a01b03166102fb6109d1565b6001600160a01b031614610344576040805162461bcd60e51b81526020600482018190526024820152600080516020614f24833981519152604482015290519081900360640190fd5b6001600160a01b03808416600090815260656020908152604080832093861683529290529081206103749161408c565b6001600160a01b038084166000908152606560209081526040808320938616835292815291902082516103a9928401906140aa565b50816001600160a01b0316836001600160a01b03167ff1b15dd4e74b39a6d58e1d569b362084a1d682e285d7115892dad27b41a048ec836040516103ed9190614981565b60405180910390a3505050565b6001600160a01b03808216600090815260666020526040902054165b92915050565b610424610d5d565b6001600160a01b03166104356109d1565b6001600160a01b03161461047e576040805162461bcd60e51b81526020600482018190526024820152600080516020614f24833981519152604482015290519081900360640190fd5b80518251146104a85760405162461bcd60e51b815260040161049f90614b17565b60405180910390fd5b60005b825181101561051c578181815181106104c057fe5b6020026020010151606660008584815181106104d857fe5b6020908102919091018101516001600160a01b0390811683529082019290925260400160002080546001600160a01b031916929091169190911790556001016104ab565b505050565b6000806065600061053188610d61565b61053b5787610551565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6001600160a01b03166001600160a01b03168152602001908152602001600020600061057c86610d61565b610586578561059c565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6001600160a01b03166001600160a01b0316815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561060657602002820191906000526020600020905b8154815260200190600101908083116105f2575b50505050509050600081511161062e5760405162461bcd60e51b815260040161049f90614bbc565b600061063b868386610d9d565b9050610648858233610dfc565b9695505050505050565b6040518060400160405280601081526020016f0416c616464696e5a617020312e312e360841b81525081565b600061068a8787610ec9565b955060006106cd87868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250889250610d9d915050565b90506106da868233610dfc565b979650505050505050565b6065602052826000526040600020602052816000526040600020818154811061070d57600080fd5b9060005260206000200160009250925050505481565b61072b610d5d565b6001600160a01b031661073c6109d1565b6001600160a01b031614610785576040805162461bcd60e51b81526020600482018190526024820152600080516020614f24833981519152604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6107d7610d5d565b6001600160a01b03166107e86109d1565b6001600160a01b031614610831576040805162461bcd60e51b81526020600482018190526024820152600080516020614f24833981519152604482015290519081900360640190fd5b60005b825181101561051c576108fc8284838151811061084d57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161088091906147c7565b60206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d09190614611565b8584815181106108dc57fe5b60200260200101516001600160a01b031661102f9092919063ffffffff16565b600101610834565b600054610100900460ff168061091d575061091d611081565b8061092b575060005460ff16155b6109665760405162461bcd60e51b815260040180806020018281038252602e815260200180614ef6602e913960400191505060405180910390fd5b600054610100900460ff16158015610991576000805460ff1961ff0019909116610100171660011790555b610999611092565b80156109ab576000805461ff00191690555b50565b60006109ba8585610ec9565b93506109c885858585610521565b95945050505050565b6033546001600160a01b031690565b6001600160a01b038083166000908152606560209081526040808320938516835292815290829020805483518184028101840190945280845260609392830182828015610a4c57602002820191906000526020600020905b815481526020019060010190808311610a38575b5050505050905092915050565b60006001600160a01b0383168160ff60a086901c166015811115610a7957fe5b9050600360aa86901c81169060ac87901c81169060ae88901c166000846015811115610aa157fe5b1415610abf57610ab38584848a61112f565b95505050505050610416565b6001846015811115610acd57fe5b1415610adf57610ab38584848a611483565b6002846015811115610aed57fe5b1415610aff57610ab38584848a6117e0565b6012846015811115610b0d57fe5b1415610b59576001600160a01b03851673ae7ab96520de3a18e5e111b5eaab095312d7fe8414610b4f5760405162461bcd60e51b815260040161049f90614aa9565b610ab38782611a38565b6013846015811115610b6757fe5b1415610bb3576001600160a01b038516737f39c581f595b53c5cb19bd0b3f8da6c935e2ca014610ba95760405162461bcd60e51b815260040161049f90614c2a565b610ab38782611c18565b6015846015811115610bc157fe5b1415610bd257610ab3858883611d26565b80610be457610ab3848685858b611f5b565b8060011415610c12576001600360a88a901c1601610c05858783878c612741565b9650505050505050610416565b8060021415610c2757610ab38486848a612e60565b60405162461bcd60e51b815260040161049f90614b85565b610c47610d5d565b6001600160a01b0316610c586109d1565b6001600160a01b031614610ca1576040805162461bcd60e51b81526020600482018190526024820152600080516020614f24833981519152604482015290519081900360640190fd5b6001600160a01b038116610ce65760405162461bcd60e51b8152600401808060200182810382526026815260200180614eaa6026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6066602052600090815260409020546001600160a01b031681565b3390565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610d9557506001600160a01b038216155b90505b919050565b6000805b8351811015610dd157610dc7848281518110610db957fe5b602002602001015186610a59565b9450600101610da1565b5081841015610df25760405162461bcd60e51b815260040161049f90614c61565b50825b9392505050565b6001600160a01b038116301415610e125761051c565b610e1b83610d61565b15610eab57610e298261332f565b6000816001600160a01b031683604051610e42906147c4565b60006040518083038185875af1925050503d8060008114610e7f576040519150601f19603f3d011682016040523d82523d6000602084013e610e84565b606091505b5050905080610ea55760405162461bcd60e51b815260040161049f90614b4e565b5061051c565b610eb583836133a3565b61051c6001600160a01b038416828461102f565b6000610ed483610d61565b15610f07574782811015610f0157823414610f015760405162461bcd60e51b815260040161049f90614a72565b50611029565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610f369030906004016147c7565b60206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190614611565b90508281101561102757610fa56001600160a01b0385163330866134a8565b6040516370a0823160e01b815281906001600160a01b038616906370a0823190610fd39030906004016147c7565b60206040518083038186803b158015610feb57600080fd5b505afa158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190614611565b0392505b505b50919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261051c908490613508565b600061108c306135b9565b15905090565b600054610100900460ff16806110ab57506110ab611081565b806110b9575060005460ff16155b6110f45760405162461bcd60e51b815260040180806020018281038252602e815260200180614ef6602e913960400191505060405180910390fd5b600054610100900460ff1615801561111f576000805460ff1961ff0019909116610100171660011790555b6111276135bf565b61099961365f565b6000806000808587101561124757876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561117657600080fd5b505afa15801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190614649565b826001600160701b03169250816001600160701b03169150508093508194505050876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561120857600080fd5b505afa15801561121c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112409190614266565b905061134d565b876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b89190614649565b826001600160701b03169250816001600160701b03169150508094508193505050876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561131257600080fd5b505afa158015611326573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134a9190614266565b90505b6000856103e502905080846103e802018382028161136757fe5b04905061137482876133a3565b6113886001600160a01b0383168a8861102f565b8688101561140657604080516000808252602082019283905263022c0d9f60e01b9092526001600160a01b038b169163022c0d9f916113cf91908590309060248101614a32565b600060405180830381600087803b1580156113e957600080fd5b505af11580156113fd573d6000803e3d6000fd5b50505050611477565b604080516000808252602082019283905263022c0d9f60e01b9092526001600160a01b038b169163022c0d9f91611444918591309060248101614a32565b600060405180830381600087803b15801561145e57600080fd5b505af1158015611472573d6000803e3d6000fd5b505050505b98975050505050505050565b600080600080876001600160a01b031663ddca3f436040518163ffffffff1660e01b815260040160206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fa9190614697565b9050858710156115ef57876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561153d57600080fd5b505afa158015611551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115759190614266565b9250876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156115b057600080fd5b505afa1580156115c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e89190614266565b91506116d6565b876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561162857600080fd5b505afa15801561163c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116609190614266565b9250876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561169b57600080fd5b505afa1580156116af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d39190614266565b91505b6116e083866133a3565b6116ff8373e592427a0aece92de3edee1f18e0157c0586156487613758565b60408051610100810182526001600160a01b0380861682528416602082015262ffffff8316818301523060608201526001428101608083015260a0820188905260c0820152600060e0820152905163414bf38960e01b815273e592427a0aece92de3edee1f18e0157c058615649063414bf38990611781908490600401614c98565b602060405180830381600087803b15801561179b57600080fd5b505af11580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d39190614611565b9998505050505050505050565b600080856001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561181c57600080fd5b505afa158015611830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118549190614611565b9050600080600073ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b031663f94d4668856040518263ffffffff1660e01b815260040161189b91906149c5565b60006040518083038186803b1580156118b357600080fd5b505afa1580156118c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ef9190810190614545565b505090508088815181106118ff57fe5b6020026020010151925080878151811061191557fe5b602002602001015191505061192a82866133a3565b6119498273ba12222222228d8ba445958a75a0704d566bf2c887613758565b6040805160c081018252848152600060208083018290526001600160a01b0386811684860152851660608085019190915260808085018b90528551848152808401875260a0860152855190810186523080825292810184905280860192909252810182905292516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8936352bbbe29936119e69390924290600401614d01565b602060405180830381600087803b158015611a0057600080fd5b505af1158015611a14573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114779190614611565b600081600114611a5a5760405162461bcd60e51b815260040161049f90614bf3565b611a638361332f565b6040516370a0823160e01b815260009073ae7ab96520de3a18e5e111b5eaab095312d7fe84906370a0823190611a9d9030906004016147c7565b60206040518083038186803b158015611ab557600080fd5b505afa158015611ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aed9190614611565b60405163a1903eab60e01b815290915073ae7ab96520de3a18e5e111b5eaab095312d7fe849063a1903eab908690611b2a906000906004016147c7565b6020604051808303818588803b158015611b4357600080fd5b505af1158015611b57573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b7c9190614611565b506040516370a0823160e01b8152611c1090829073ae7ab96520de3a18e5e111b5eaab095312d7fe84906370a0823190611bba9030906004016147c7565b60206040518083038186803b158015611bd257600080fd5b505afa158015611be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0a9190614611565b9061383d565b949350505050565b60008160011415611ce657611c5673ae7ab96520de3a18e5e111b5eaab095312d7fe84737f39c581f595b53c5cb19bd0b3f8da6c935e2ca085613758565b604051630ea598cb60e41b8152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca09063ea598cb090611c8d9086906004016149c5565b602060405180830381600087803b158015611ca757600080fd5b505af1158015611cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdf9190614611565b9050610416565b8160021415610c2757604051636f074d1f60e11b8152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca09063de0e9a3e90611c8d9086906004016149c5565b6000806001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e088414611dc357846001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbe9190614266565b611dd9565b7362b9c7356a2dc64a1969e19c23e4f579f9810aa75b90508260011415611eca57611def818686613758565b6001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e08841415611e9c576040516311f9fbc960e21b81526001600160a01b038616906347e7ef2490611e4290309088906004016147f5565b602060405180830381600087803b158015611e5c57600080fd5b505af1158015611e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e949190614611565b915050610df5565b604051636e553f6560e01b81526001600160a01b03861690636e553f6590611e429087903090600401614d8d565b8260021415610c27576001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e08841415611f2b576040516315980d8960e01b81526001600160a01b038616906315980d8990611e429030908890600090819060040161480e565b604051635d043b2960e11b81526001600160a01b0386169063ba08765290611e4290879030908190600401614da4565b600080611f6987878761389a565b90506000611f7888888761389a565b9050611f8482856133a3565b600b886015811115611f9257fe5b14156120185761201382886001600160a01b0316637165485d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd557600080fd5b505afa158015611fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200d9190614266565b86613758565b612074565b600d88601581111561202657fe5b14156120695761201382886001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd557600080fd5b612074828886613758565b600061207f82613bbf565b9050600389601581111561208f57fe5b14156121c55761209e83610d61565b15612139576120ac8561332f565b604051630f7c084960e21b81526001600160a01b03891690633df021249087906120e1908b908b9084906000906004016149dc565b6020604051808303818588803b1580156120fa57600080fd5b505af115801561210e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906121339190614611565b506121c0565b604051630f7c084960e21b81526001600160a01b03891690633df021249061216c908a908a908a906000906004016149dc565b602060405180830381600087803b15801561218657600080fd5b505af115801561219a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121be9190614611565b505b612729565b60048960158111156121d357fe5b141561224357604051630b68372160e31b81526001600160a01b03891690635b41b9089061220c908a908a908a90600090600401614e12565b600060405180830381600087803b15801561222657600080fd5b505af115801561223a573d6000803e3d6000fd5b50505050612729565b600589601581111561225157fe5b141561228a576040516365b2489b60e01b81526001600160a01b038916906365b2489b9061216c908a908a908a90600090600401614e12565b600689601581111561229857fe5b14156122d35760405163394747c560e01b81526001600160a01b0389169063394747c59061220c908a908a908a906000908190600401614e2d565b60078960158111156122e157fe5b141561231a57604051630f7c084960e21b81526001600160a01b03891690633df021249061220c908a908a908a906000906004016149dc565b600889601581111561232857fe5b141561236157604051630f7c084960e21b81526001600160a01b03891690633df021249061216c908a908a908a906000906004016149dc565b600989601581111561236f57fe5b14156123a857604051635320bf6b60e11b81526001600160a01b0389169063a6417ed69061216c908a908a908a906000906004016149dc565b600a8960158111156123b657fe5b14156123ef57604051630f7c084960e21b81526001600160a01b03891690633df021249061220c908a908a908a906000906004016149dc565b600b8960158111156123fd57fe5b14156124aa57876001600160a01b0316637165485d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561243c57600080fd5b505afa158015612450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124749190614266565b604051635320bf6b60e11b81529098506001600160a01b0389169063a6417ed69061220c908a908a908a906000906004016149dc565b600c8960158111156124b857fe5b14156124f157604051630f7c084960e21b81526001600160a01b03891690633df021249061216c908a908a908a906000906004016149dc565b600d8960158111156124ff57fe5b14156125ac57876001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561253e57600080fd5b505afa158015612552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125769190614266565b604051635320bf6b60e11b81529098506001600160a01b0389169063a6417ed69061216c908a908a908a906000906004016149dc565b600e8960158111156125ba57fe5b14156125f55760405163ddc1f59d60e01b81526001600160a01b0389169063ddc1f59d9061216c908a908a908a9060009030906004016149ff565b600f89601581111561260357fe5b141561263c57604051630f7c084960e21b81526001600160a01b03891690633df021249061216c908a908a908a906000906004016149dc565b601089601581111561264a57fe5b141561268357604051635320bf6b60e11b81526001600160a01b0389169063a6417ed69061216c908a908a908a906000906004016149dc565b601189601581111561269157fe5b14156126ca57604051635320bf6b60e11b81526001600160a01b0389169063a6417ed69061216c908a908a908a906000906004016149dc565b60148960158111156126d857fe5b141561271157604051635320bf6b60e11b81526001600160a01b0389169063a6417ed69061216c908a908a908a906000906004016149dc565b60405162461bcd60e51b815260040161049f90614ae0565b8061273383613bbf565b039998505050505050505050565b60008061274f87878661389a565b905061275b81846133a3565b601087601581111561276957fe5b14156127935761278e8173a79828df1850e8a3a3064576f380d90aecdd335985613758565b612804565b60118760158111156127a157fe5b14156127c65761278e81737abdbaf29929e7f8621b757d2a7c04d78d63383485613758565b60148760158111156127d457fe5b14156127f95761278e817308780fb7e580e492c1935bee4fa5920b94aa95da85613758565b612804818785613758565b600887601581111561281257fe5b14806128295750600987601581111561282757fe5b145b15612990576000600988601581111561283e57fe5b14905085600214156128f1576128526140f5565b8481876002811061285f57fe5b602002015260405163ee22be2360e01b81526001600160a01b0389169063ee22be239061289590849060009087906004016148df565b602060405180830381600087803b1580156128af57600080fd5b505af11580156128c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e79190614611565b93505050506109c8565b856003141561294557612902614113565b8481876003811061290f57fe5b60200201526040516315b74c9d60e11b81526001600160a01b03891690632b6e993a90612895908490600090879060040161491e565b61294d614131565b8481876004811061295a57fe5b602002015260405163dc3a2d8160e01b81526001600160a01b0389169063dc3a2d8190612895908490600090879060040161495d565b601087601581111561299e57fe5b1415612a55576129ac614131565b838186600481106129b957fe5b602002015260405163384e03db60e01b815273a79828df1850e8a3a3064576f380d90aecdd33599063384e03db906129fa908a908590600090600401614870565b602060405180830381600087803b158015612a1457600080fd5b505af1158015612a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a4c9190614611565b925050506109c8565b6011876015811115612a6357fe5b1415612abf57612a71614131565b83818660048110612a7e57fe5b602002015260405163384e03db60e01b8152737abdbaf29929e7f8621b757d2a7c04d78d6338349063384e03db906129fa908a908590600090600401614870565b6014876015811115612acd57fe5b1415612b2957612adb614113565b83818660038110612ae857fe5b602002015260405163a318517960e01b81527308780fb7e580e492c1935bee4fa5920b94aa95da9063a3185179906129fa908a908590600090600401614845565b6003876015811115612b3757fe5b1415612bf157612b4681610d61565b15612b5457612b548361332f565b612b5c6140f5565b83818660028110612b6957fe5b60200201528051604051630b4c7e4d60e01b81526001600160a01b03891691630b4c7e4d91612b9f9085906000906004016148c4565b6020604051808303818588803b158015612bb857600080fd5b505af1158015612bcc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a4c9190614611565b6000612bfd88886103fa565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401612c2d91906147c7565b60206040518083038186803b158015612c4557600080fd5b505afa158015612c59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7d9190614611565b90508660021415612d0957612c906140f5565b85818860028110612c9d57fe5b6020020152604051630b4c7e4d60e01b81526001600160a01b038a1690630b4c7e4d90612cd19084906000906004016148c4565b600060405180830381600087803b158015612ceb57600080fd5b505af1158015612cff573d6000803e3d6000fd5b5050505050612dd7565b8660031415612d5b57612d1a614113565b85818860038110612d2757fe5b6020020152604051634515cef360e01b81526001600160a01b038a1690634515cef390612cd1908490600090600401614903565b612d63614131565b85818860048110612d7057fe5b602002015260405162a6cbcd60e21b81526001600160a01b038a169063029b2f3490612da3908490600090600401614942565b600060405180830381600087803b158015612dbd57600080fd5b505af1158015612dd1573d6000803e3d6000fd5b50505050505b6040516370a0823160e01b815281906001600160a01b038416906370a0823190612e059030906004016147c7565b60206040518083038186803b158015612e1d57600080fd5b505afa158015612e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e559190614611565b0393505050506109c8565b600080612e6e86868661389a565b90506000612e7c87876103fa565b90506000612e8983613bbf565b90506008886015811115612e9957fe5b1480612eb057506009886015811115612eae57fe5b145b15612f555760006009896015811115612ec557fe5b60405163517a55a360e01b8152911491506001600160a01b0389169063517a55a390612efc9089908b906000908790600401614ddc565b602060405180830381600087803b158015612f1657600080fd5b505af1158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4e9190614611565b5050613318565b6004886015811115612f6357fe5b1415612ff25760405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc990612f9a9088908a90600090600401614dfc565b602060405180830381600087803b158015612fb457600080fd5b505af1158015612fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fec9190614611565b50613318565b600588601581111561300057fe5b141561307957613011828887613758565b60405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc9906130429088908a90600090600401614dfc565b600060405180830381600087803b15801561305c57600080fd5b505af1158015613070573d6000803e3d6000fd5b50505050613318565b600688601581111561308757fe5b14156130be5760405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc9906130429088908a90600090600401614dfc565b60108860158111156130cc57fe5b141561312f576130f18273a79828df1850e8a3a3064576f380d90aecdd335987613758565b6040516314f6943160e11b815273a79828df1850e8a3a3064576f380d90aecdd3359906329ed286290612f9a908a9089908b9060009060040161489b565b601188601581111561313d57fe5b14156131a05761316282737abdbaf29929e7f8621b757d2a7c04d78d63383487613758565b6040516314f6943160e11b8152737abdbaf29929e7f8621b757d2a7c04d78d633834906329ed286290612f9a908a9089908b9060009060040161489b565b60148860158111156131ae57fe5b1415613211576131d3827308780fb7e580e492c1935bee4fa5920b94aa95da87613758565b6040516314f6943160e11b81527308780fb7e580e492c1935bee4fa5920b94aa95da906329ed286290612f9a908a9089908b9060009060040161489b565b600d88601581111561321f57fe5b141561326157613230828887613758565b604051630d2680e960e11b81526001600160a01b03881690631a4d01d290612f9a9088908a90600090600401614dc3565b600b88601581111561326f57fe5b14156132b457613280828887613758565b60405163517a55a360e01b81526001600160a01b0388169063517a55a3906130429088908a90600090600190600401614ddc565b604051630d2680e960e11b81526001600160a01b03881690631a4d01d2906132e59088908a90600090600401614dc3565b600060405180830381600087803b1580156132ff57600080fd5b505af1158015613313573d6000803e3d6000fd5b505050505b8061332284613bbf565b0398975050505050505050565b804710156109ab57604051632e1a7d4d60e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9061336e9084906004016149c5565b600060405180830381600087803b15801561338857600080fd5b505af115801561339c573d6000803e3d6000fd5b5050505050565b6001600160a01b03821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214801561344a57506040516370a0823160e01b815281906001600160a01b038416906370a08231906133f89030906004016147c7565b60206040518083038186803b15801561341057600080fd5b505afa158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614611565b105b156134a457816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561348a57600080fd5b505af115801561349e573d6000803e3d6000fd5b50505050505b5050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052613502908590613508565b50505050565b600061355d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c599092919063ffffffff16565b80519091501561051c5780806020019051602081101561357c57600080fd5b505161051c5760405162461bcd60e51b815260040180806020018281038252602a815260200180614f44602a913960400191505060405180910390fd5b3b151590565b600054610100900460ff16806135d857506135d8611081565b806135e6575060005460ff16155b6136215760405162461bcd60e51b815260040180806020018281038252602e815260200180614ef6602e913960400191505060405180910390fd5b600054610100900460ff16158015610999576000805460ff1961ff00199091166101001716600117905580156109ab576000805461ff001916905550565b600054610100900460ff16806136785750613678611081565b80613686575060005460ff16155b6136c15760405162461bcd60e51b815260040180806020018281038252602e815260200180614ef6602e913960400191505060405180910390fd5b600054610100900460ff161580156136ec576000805460ff1961ff0019909116610100171660011790555b60006136f6610d5d565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156109ab576000805461ff001916905550565b61376183610d61565b1580156137eb5750604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e9061379990309087906004016147db565b60206040518083038186803b1580156137b157600080fd5b505afa1580156137c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e99190614611565b105b1561051c57730316eb71485b0ab14103307bf65a021042c6d3806001600160a01b03841614613829576138296001600160a01b038416836000613c68565b61051c6001600160a01b0384168383613c68565b600082821115613894576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600060058460158111156138aa57fe5b141561393357604051630b9947eb60e41b81526001600160a01b0384169063b9947eb0906138dc9085906004016149c5565b60206040518083038186803b1580156138f457600080fd5b505afa158015613908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061392c9190614266565b9050610df5565b600984601581111561394157fe5b141561397357604051630b9947eb60e41b81526001600160a01b0384169063b9947eb0906138dc9085906004016149c5565b600b84601581111561398157fe5b14156139b357604051635b9cca9f60e11b81526001600160a01b0384169063b739953e906138dc9085906004016149ce565b600d8460158111156139c157fe5b1415613a2857816139f85760405163c661065760e01b81526001600160a01b0384169063c6610657906138dc9085906004016149c5565b6040516387cb4f5760e01b81526001600160a01b038416906387cb4f57906138dc906000198601906004016149c5565b6010846015811115613a3657fe5b1415613a795781613a6d5760405163c661065760e01b81526001600160a01b0384169063c6610657906138dc9085906004016149c5565b61392c60018303613d7b565b6011846015811115613a8757fe5b1415613aca5781613abe5760405163c661065760e01b81526001600160a01b0384169063c6610657906138dc9085906004016149c5565b61392c60018303613ded565b6014846015811115613ad857fe5b1415613b1b5781613b0f5760405163c661065760e01b81526001600160a01b0384169063c6610657906138dc9085906004016149c5565b61392c60018303613e57565b60405163c661065760e01b81526001600160a01b0384169063c661065790613b479085906004016149c5565b60206040518083038186803b158015613b5f57600080fd5b505afa925050508015613b8f575060408051601f3d908101601f19168201909252613b8c91810190614266565b60015b61392c5760405163046e8dd760e31b81526001600160a01b038416906323746eb8906138dc9085906004016149ce565b6000613bca82610d61565b15613bd6575047610d98565b6040516370a0823160e01b81526001600160a01b038316906370a0823190613c029030906004016147c7565b60206040518083038186803b158015613c1a57600080fd5b505afa158015613c2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c529190614611565b9050610d98565b6060611c108484600085613e9d565b801580613cee575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015613cc057600080fd5b505afa158015613cd4573d6000803e3d6000fd5b505050506040513d6020811015613cea57600080fd5b5051155b613d295760405162461bcd60e51b8152600401808060200182810382526036815260200180614f6e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261051c908490613508565b600081613d9d5750736b175474e89094c44da98b954eedeac495271d0f610d98565b8160011415613dc1575073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48610d98565b8160021415613de5575073dac17f958d2ee523a2206206994597c13d831ec7610d98565b506000610d98565b600081613e0f575073eb4c2781e4eba804ce9a9803c67d0893436bb27d610d98565b8160011415613e335750732260fac5e5542a773aa44fbcfedf7c193bc2c599610d98565b8160021415613de5575073fe18be6b3bd88a2d2a7f928d00292e7a9963cfc6610d98565b600081613e79575073853d955acef822db058eb8505911ed77f175b99e610d98565b8160011415613de5575073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48610d98565b606082471015613ede5760405162461bcd60e51b8152600401808060200182810382526026815260200180614ed06026913960400191505060405180910390fd5b613ee7856135b9565b613f38576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310613f765780518252601f199092019160209182019101613f57565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613fd8576040519150601f19603f3d011682016040523d82523d6000602084013e613fdd565b606091505b50915091506106da82828660608315613ff7575081610df5565b8251156140075782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614051578181015183820152602001614039565b50505050905090810190601f16801561407e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50805460008255906000526020600020908101906109ab919061414f565b8280548282559060005260206000209081019282156140e5579160200282015b828111156140e55782518255916020019190600101906140ca565b506140f192915061414f565b5090565b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b5b808211156140f15760008155600101614150565b600082601f830112614174578081fd5b8135602061418961418483614e76565b614e52565b82815281810190858301838502870184018810156141a5578586fd5b855b858110156141cc5781356141ba81614e94565b845292840192908401906001016141a7565b5090979650505050505050565b600082601f8301126141e9578081fd5b815160206141f961418483614e76565b8281528181019085830183850287018401881015614215578586fd5b855b858110156141cc57815184529284019290840190600101614217565b80516001600160701b0381168114610d9857600080fd5b60006020828403121561425b578081fd5b8135610df581614e94565b600060208284031215614277578081fd5b8151610df581614e94565b60008060408385031215614294578081fd5b823561429f81614e94565b915060208301356142af81614e94565b809150509250929050565b6000806000606084860312156142ce578081fd5b83356142d981614e94565b92506020848101356142ea81614e94565b9250604085013567ffffffffffffffff811115614305578283fd5b8501601f81018713614315578283fd5b803561432361418482614e76565b81815283810190838501858402850186018b101561433f578687fd5b8694505b83851015614361578035835260019490940193918501918501614343565b5080955050505050509250925092565b600080600060608486031215614385578283fd5b833561439081614e94565b925060208401356143a081614e94565b929592945050506040919091013590565b60008060008060008060a087890312156143c9578182fd5b86356143d481614e94565b95506020870135945060408701356143eb81614e94565b9350606087013567ffffffffffffffff80821115614407578384fd5b818901915089601f83011261441a578384fd5b813581811115614428578485fd5b8a6020808302850101111561443b578485fd5b602083019550809450505050608087013590509295509295509295565b6000806000806080858703121561446d578182fd5b843561447881614e94565b935060208501359250604085013561448f81614e94565b9396929550929360600135925050565b600080604083850312156144b1578182fd5b823567ffffffffffffffff8111156144c7578283fd5b6144d385828601614164565b92505060208301356142af81614e94565b600080604083850312156144f6578182fd5b823567ffffffffffffffff8082111561450d578384fd5b61451986838701614164565b9350602085013591508082111561452e578283fd5b5061453b85828601614164565b9150509250929050565b600080600060608486031215614559578081fd5b835167ffffffffffffffff80821115614570578283fd5b818601915086601f830112614583578283fd5b8151602061459361418483614e76565b82815281810190858301838502870184018c10156145af578788fd5b8796505b848710156145da5780516145c681614e94565b8352600196909601959183019183016145b3565b50918901519197509093505050808211156145f3578283fd5b50614600868287016141d9565b925050604084015190509250925092565b600060208284031215614622578081fd5b5051919050565b6000806040838503121561463b578182fd5b82356016811061429f578283fd5b60008060006060848603121561465d578081fd5b61466684614233565b925061467460208501614233565b9150604084015163ffffffff8116811461468c578182fd5b809150509250925092565b6000602082840312156146a8578081fd5b815162ffffff81168114610df5578182fd5b600080604083850312156146cc578182fd5b50508035926020909101359150565b8060005b60028110156135025781518452602093840193909101906001016146df565b8060005b6003811015613502578151845260209384019390910190600101614702565b8060005b6004811015613502578151845260209384019390910190600101614725565b60008151808452815b818110156147695760208185018101518683018201520161474d565b8181111561477a5782602083870101525b50601f01601f19169290920160200192915050565b80516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03851681526020810184905260408101839052608081016005831061483657fe5b82606083015295945050505050565b6001600160a01b038416815260a0810161486260208301856146fe565b826080830152949350505050565b6001600160a01b038416815260c0810161488d6020830185614721565b8260a0830152949350505050565b6001600160a01b039490941684526020840192909252600f0b6040830152606082015260800190565b606081016148d282856146db565b8260408301529392505050565b608081016148ed82866146db565b8360408301528215156060830152949350505050565b6080810161491182856146fe565b8260608301529392505050565b60a0810161492c82866146fe565b8360608301528215156080830152949350505050565b60a081016149508285614721565b8260808301529392505050565b60c0810161496b8286614721565b83608083015282151560a0830152949350505050565b6020808252825182820181905260009190848201906040850190845b818110156149b95783518352928401929184019160010161499d565b50909695505050505050565b90815260200190565b600f9190910b815260200190565b600f94850b81529290930b60208301526040820152606081019190915260800190565b600f95860b81529390940b6020840152604083019190915260608201526001600160a01b03909116608082015260a00190565b600085825284602083015260018060a01b0384166040830152608060608301526106486080830184614744565b600060208252610df56020830184614744565b6020808252601f908201527f416c616464696e5a61703a2045544820616d6f756e74206d69736d6174636800604082015260600190565b6020808252601a908201527f416c616464696e5a61703a20706f6f6c206e6f74207374455448000000000000604082015260600190565b6020808252601c908201527f416c616464696e5a61703a20696e76616c696420706f6f6c5479706500000000604082015260600190565b6020808252601b908201527f416c616464696e5a61703a206c656e677468206d69736d617463680000000000604082015260600190565b6020808252601f908201527f416c616464696e5a61703a20455448207472616e73666572206661696c656400604082015260600190565b6020808252601a908201527f416c616464696e5a61703a20696e76616c696420616374696f6e000000000000604082015260600190565b6020808252601d908201527f416c616464696e5a61703a20726f75746520756e617661696c61626c65000000604082015260600190565b6020808252601b908201527f416c616464696e5a61703a206e6f74207772617020616374696f6e0000000000604082015260600190565b6020808252601b908201527f416c616464696e5a61703a20706f6f6c206e6f74207773744554480000000000604082015260600190565b6020808252601f908201527f416c616464696e5a61703a20696e73756666696369656e74206f757470757400604082015260600190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0838101519083015260c0808401519083015260e09283015116918101919091526101000190565b600060e08252855160e0830152602086015160028110614d1d57fe5b61010083015260408601516001600160a01b03908116610120840152606087015116610140830152608086015161016083015260a086015160c0610180840152614d6b6101a0840182614744565b915050614d7b602083018661478f565b60a082019390935260c0015292915050565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b928352600f9190910b6020830152604082015260600190565b938452600f9290920b602084015260408301521515606082015260800190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b9485526020850193909352604084019190915260608301521515608082015260a00190565b60405181810167ffffffffffffffff81118282101715614e6e57fe5b604052919050565b600067ffffffffffffffff821115614e8a57fe5b5060209081020190565b6001600160a01b03811681146109ab57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a26469706673582212204acbaf00ccf112377afd4539276747998f115209b7630aff3380a81ba331c19964736f6c63430007060033";
19
+ static readonly abi: readonly [{
20
+ readonly anonymous: false;
21
+ readonly inputs: readonly [{
22
+ readonly indexed: true;
23
+ readonly internalType: "address";
24
+ readonly name: "previousOwner";
25
+ readonly type: "address";
26
+ }, {
27
+ readonly indexed: true;
28
+ readonly internalType: "address";
29
+ readonly name: "newOwner";
30
+ readonly type: "address";
31
+ }];
32
+ readonly name: "OwnershipTransferred";
33
+ readonly type: "event";
34
+ }, {
35
+ readonly anonymous: false;
36
+ readonly inputs: readonly [{
37
+ readonly indexed: true;
38
+ readonly internalType: "address";
39
+ readonly name: "_fromToken";
40
+ readonly type: "address";
41
+ }, {
42
+ readonly indexed: true;
43
+ readonly internalType: "address";
44
+ readonly name: "_toToken";
45
+ readonly type: "address";
46
+ }, {
47
+ readonly indexed: false;
48
+ readonly internalType: "uint256[]";
49
+ readonly name: "route";
50
+ readonly type: "uint256[]";
51
+ }];
52
+ readonly name: "UpdateRoute";
53
+ readonly type: "event";
54
+ }, {
55
+ readonly inputs: readonly [{
56
+ readonly internalType: "enum TokenZapLogic.PoolType";
57
+ readonly name: "";
58
+ readonly type: "uint8";
59
+ }, {
60
+ readonly internalType: "address";
61
+ readonly name: "_pool";
62
+ readonly type: "address";
63
+ }];
64
+ readonly name: "getCurvePoolToken";
65
+ readonly outputs: readonly [{
66
+ readonly internalType: "address";
67
+ readonly name: "";
68
+ readonly type: "address";
69
+ }];
70
+ readonly stateMutability: "view";
71
+ readonly type: "function";
72
+ }, {
73
+ readonly inputs: readonly [{
74
+ readonly internalType: "address";
75
+ readonly name: "_fromToken";
76
+ readonly type: "address";
77
+ }, {
78
+ readonly internalType: "address";
79
+ readonly name: "_toToken";
80
+ readonly type: "address";
81
+ }];
82
+ readonly name: "getRoutes";
83
+ readonly outputs: readonly [{
84
+ readonly internalType: "uint256[]";
85
+ readonly name: "";
86
+ readonly type: "uint256[]";
87
+ }];
88
+ readonly stateMutability: "view";
89
+ readonly type: "function";
90
+ }, {
91
+ readonly inputs: readonly [];
92
+ readonly name: "initialize";
93
+ readonly outputs: readonly [];
94
+ readonly stateMutability: "nonpayable";
95
+ readonly type: "function";
96
+ }, {
97
+ readonly inputs: readonly [];
98
+ readonly name: "owner";
99
+ readonly outputs: readonly [{
100
+ readonly internalType: "address";
101
+ readonly name: "";
102
+ readonly type: "address";
103
+ }];
104
+ readonly stateMutability: "view";
105
+ readonly type: "function";
106
+ }, {
107
+ readonly inputs: readonly [{
108
+ readonly internalType: "address";
109
+ readonly name: "";
110
+ readonly type: "address";
111
+ }];
112
+ readonly name: "pool2token";
113
+ readonly outputs: readonly [{
114
+ readonly internalType: "address";
115
+ readonly name: "";
116
+ readonly type: "address";
117
+ }];
118
+ readonly stateMutability: "view";
119
+ readonly type: "function";
120
+ }, {
121
+ readonly inputs: readonly [];
122
+ readonly name: "renounceOwnership";
123
+ readonly outputs: readonly [];
124
+ readonly stateMutability: "nonpayable";
125
+ readonly type: "function";
126
+ }, {
127
+ readonly inputs: readonly [{
128
+ readonly internalType: "address[]";
129
+ readonly name: "_tokens";
130
+ readonly type: "address[]";
131
+ }, {
132
+ readonly internalType: "address";
133
+ readonly name: "_recipient";
134
+ readonly type: "address";
135
+ }];
136
+ readonly name: "rescue";
137
+ readonly outputs: readonly [];
138
+ readonly stateMutability: "nonpayable";
139
+ readonly type: "function";
140
+ }, {
141
+ readonly inputs: readonly [{
142
+ readonly internalType: "address";
143
+ readonly name: "";
144
+ readonly type: "address";
145
+ }, {
146
+ readonly internalType: "address";
147
+ readonly name: "";
148
+ readonly type: "address";
149
+ }, {
150
+ readonly internalType: "uint256";
151
+ readonly name: "";
152
+ readonly type: "uint256";
153
+ }];
154
+ readonly name: "routes";
155
+ readonly outputs: readonly [{
156
+ readonly internalType: "uint256";
157
+ readonly name: "";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly stateMutability: "view";
161
+ readonly type: "function";
162
+ }, {
163
+ readonly inputs: readonly [{
164
+ readonly internalType: "uint256";
165
+ readonly name: "_route";
166
+ readonly type: "uint256";
167
+ }, {
168
+ readonly internalType: "uint256";
169
+ readonly name: "_amountIn";
170
+ readonly type: "uint256";
171
+ }];
172
+ readonly name: "swap";
173
+ readonly outputs: readonly [{
174
+ readonly internalType: "uint256";
175
+ readonly name: "";
176
+ readonly type: "uint256";
177
+ }];
178
+ readonly stateMutability: "payable";
179
+ readonly type: "function";
180
+ }, {
181
+ readonly inputs: readonly [{
182
+ readonly internalType: "address";
183
+ readonly name: "newOwner";
184
+ readonly type: "address";
185
+ }];
186
+ readonly name: "transferOwnership";
187
+ readonly outputs: readonly [];
188
+ readonly stateMutability: "nonpayable";
189
+ readonly type: "function";
190
+ }, {
191
+ readonly inputs: readonly [{
192
+ readonly internalType: "address[]";
193
+ readonly name: "_pools";
194
+ readonly type: "address[]";
195
+ }, {
196
+ readonly internalType: "address[]";
197
+ readonly name: "_tokens";
198
+ readonly type: "address[]";
199
+ }];
200
+ readonly name: "updatePoolTokens";
201
+ readonly outputs: readonly [];
202
+ readonly stateMutability: "nonpayable";
203
+ readonly type: "function";
204
+ }, {
205
+ readonly inputs: readonly [{
206
+ readonly internalType: "address";
207
+ readonly name: "_fromToken";
208
+ readonly type: "address";
209
+ }, {
210
+ readonly internalType: "address";
211
+ readonly name: "_toToken";
212
+ readonly type: "address";
213
+ }, {
214
+ readonly internalType: "uint256[]";
215
+ readonly name: "_routes";
216
+ readonly type: "uint256[]";
217
+ }];
218
+ readonly name: "updateRoute";
219
+ readonly outputs: readonly [];
220
+ readonly stateMutability: "nonpayable";
221
+ readonly type: "function";
222
+ }, {
223
+ readonly inputs: readonly [];
224
+ readonly name: "version";
225
+ readonly outputs: readonly [{
226
+ readonly internalType: "string";
227
+ readonly name: "";
228
+ readonly type: "string";
229
+ }];
230
+ readonly stateMutability: "view";
231
+ readonly type: "function";
232
+ }, {
233
+ readonly inputs: readonly [{
234
+ readonly internalType: "address";
235
+ readonly name: "_fromToken";
236
+ readonly type: "address";
237
+ }, {
238
+ readonly internalType: "uint256";
239
+ readonly name: "_amountIn";
240
+ readonly type: "uint256";
241
+ }, {
242
+ readonly internalType: "address";
243
+ readonly name: "_toToken";
244
+ readonly type: "address";
245
+ }, {
246
+ readonly internalType: "uint256";
247
+ readonly name: "_minOut";
248
+ readonly type: "uint256";
249
+ }];
250
+ readonly name: "zap";
251
+ readonly outputs: readonly [{
252
+ readonly internalType: "uint256";
253
+ readonly name: "";
254
+ readonly type: "uint256";
255
+ }];
256
+ readonly stateMutability: "payable";
257
+ readonly type: "function";
258
+ }, {
259
+ readonly inputs: readonly [{
260
+ readonly internalType: "address";
261
+ readonly name: "_fromToken";
262
+ readonly type: "address";
263
+ }, {
264
+ readonly internalType: "uint256";
265
+ readonly name: "_amountIn";
266
+ readonly type: "uint256";
267
+ }, {
268
+ readonly internalType: "address";
269
+ readonly name: "_toToken";
270
+ readonly type: "address";
271
+ }, {
272
+ readonly internalType: "uint256";
273
+ readonly name: "_minOut";
274
+ readonly type: "uint256";
275
+ }];
276
+ readonly name: "zapFrom";
277
+ readonly outputs: readonly [{
278
+ readonly internalType: "uint256";
279
+ readonly name: "";
280
+ readonly type: "uint256";
281
+ }];
282
+ readonly stateMutability: "payable";
283
+ readonly type: "function";
284
+ }, {
285
+ readonly inputs: readonly [{
286
+ readonly internalType: "address";
287
+ readonly name: "_fromToken";
288
+ readonly type: "address";
289
+ }, {
290
+ readonly internalType: "uint256";
291
+ readonly name: "_amountIn";
292
+ readonly type: "uint256";
293
+ }, {
294
+ readonly internalType: "address";
295
+ readonly name: "_toToken";
296
+ readonly type: "address";
297
+ }, {
298
+ readonly internalType: "uint256[]";
299
+ readonly name: "_routes";
300
+ readonly type: "uint256[]";
301
+ }, {
302
+ readonly internalType: "uint256";
303
+ readonly name: "_minOut";
304
+ readonly type: "uint256";
305
+ }];
306
+ readonly name: "zapWithRoutes";
307
+ readonly outputs: readonly [{
308
+ readonly internalType: "uint256";
309
+ readonly name: "";
310
+ readonly type: "uint256";
311
+ }];
312
+ readonly stateMutability: "payable";
313
+ readonly type: "function";
314
+ }, {
315
+ readonly stateMutability: "payable";
316
+ readonly type: "receive";
317
+ }];
318
+ static createInterface(): AladdinZapInterface;
319
+ attach(address: string | Addressable): AladdinZap;
320
+ static connect(address: string, runner?: ContractRunner | null): AladdinZap;
321
+ }
322
+ export {};
@@ -0,0 +1,73 @@
1
+ import type { Addressable } from "ethers";
2
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
3
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
4
+ import type { NonPayableOverrides } from "../../../common.js";
5
+ import type { TokenZapLogic, TokenZapLogicInterface } from "../../../utils/zap/TokenZapLogic.js";
6
+ type TokenZapLogicConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
7
+ export declare class TokenZapLogic__factory extends ContractFactory {
8
+ constructor(...args: TokenZapLogicConstructorParams);
9
+ getDeployTransaction(overrides?: NonPayableOverrides & {
10
+ from?: string;
11
+ }): Promise<ContractDeployTransaction>;
12
+ deploy(overrides?: NonPayableOverrides & {
13
+ from?: string;
14
+ }): Promise<TokenZapLogic & {
15
+ deploymentTransaction(): ContractTransactionResponse;
16
+ }>;
17
+ connect(runner: ContractRunner | null): TokenZapLogic__factory;
18
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50613c9f806100206000396000f3fe6080604052600436106100385760003560e01c80633157bc261461004457806354fd4d501461007a578063d96073cf1461009c5761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061006461005f3660046134b8565b6100bc565b6040516100719190613674565b60405180910390f35b34801561008657600080fd5b5061008f6102f9565b60405161007191906138d2565b6100af6100aa366004613564565b610325565b604051610071919061382e565b6000600b8360158111156100cc57fe5b141561014a57816001600160a01b0316637165485d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010b57600080fd5b505afa15801561011f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014391906133b8565b915061021f565b600d83601581111561015857fe5b141561019757816001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561010b57600080fd5b60058360158111156101a557fe5b141561021f57816001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101e457600080fd5b505afa1580156101f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021c91906133b8565b91505b604051633795104960e01b81526000907390e00ace148ca3b23ac1bc8c240c2a7dd9c2d7f590633795104990610259908690600401613674565b60206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a991906133b8565b90506001600160a01b0381166102f057637e062a3560e11b6000526020600060046000865afa83915080156102de5760005191505b506001600160a01b0381166102f05750815b90505b92915050565b6040518060400160405280601081526020016f0416c616464696e5a617020312e312e360841b81525081565b60006001600160a01b0383168160ff60a086901c16601581111561034557fe5b9050600360aa86901c81169060ac87901c81169060ae88901c16600084601581111561036d57fe5b141561038b5761037f8584848a610514565b955050505050506102f3565b600184601581111561039957fe5b14156103ab5761037f8584848a610868565b60028460158111156103b957fe5b14156103cb5761037f8584848a610bc5565b60128460158111156103d957fe5b141561042e576001600160a01b03851673ae7ab96520de3a18e5e111b5eaab095312d7fe84146104245760405162461bcd60e51b815260040161041b906138e5565b60405180910390fd5b61037f8782610e1d565b601384601581111561043c57fe5b1415610488576001600160a01b038516737f39c581f595b53c5cb19bd0b3f8da6c935e2ca01461047e5760405162461bcd60e51b815260040161041b906139c1565b61037f8782610ffd565b601584601581111561049657fe5b14156104a75761037f85888361110b565b806104b95761037f848685858b611347565b80600114156104e7576001600360a88a901c16016104da858783878c611b2f565b96505050505050506102f3565b80600214156104fc5761037f8486848a61224e565b60405162461bcd60e51b815260040161041b90613953565b6000806000808587101561062c57876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906134f3565b826001600160701b03169250816001600160701b03169150508093508194505050876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ed57600080fd5b505afa158015610601573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062591906133b8565b9050610732565b876001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561066557600080fd5b505afa158015610679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069d91906134f3565b826001600160701b03169250816001600160701b03169150508094508193505050876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f757600080fd5b505afa15801561070b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072f91906133b8565b90505b6000856103e502905080846103e802018382028161074c57fe5b049050610759828761271d565b61076d6001600160a01b0383168a88612822565b868810156107eb57604080516000808252602082019283905263022c0d9f60e01b9092526001600160a01b038b169163022c0d9f916107b49190859030906024810161389b565b600060405180830381600087803b1580156107ce57600080fd5b505af11580156107e2573d6000803e3d6000fd5b5050505061085c565b604080516000808252602082019283905263022c0d9f60e01b9092526001600160a01b038b169163022c0d9f9161082991859130906024810161389b565b600060405180830381600087803b15801561084357600080fd5b505af1158015610857573d6000803e3d6000fd5b505050505b98975050505050505050565b600080600080876001600160a01b031663ddca3f436040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a757600080fd5b505afa1580156108bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108df9190613541565b9050858710156109d457876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561092257600080fd5b505afa158015610936573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095a91906133b8565b9250876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561099557600080fd5b505afa1580156109a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cd91906133b8565b9150610abb565b876001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906133b8565b9250876001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8057600080fd5b505afa158015610a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab891906133b8565b91505b610ac5838661271d565b610ae48373e592427a0aece92de3edee1f18e0157c0586156487612879565b60408051610100810182526001600160a01b0380861682528416602082015262ffffff8316818301523060608201526001428101608083015260a0820188905260c0820152600060e0820152905163414bf38960e01b815273e592427a0aece92de3edee1f18e0157c058615649063414bf38990610b669084906004016139f8565b602060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb891906134a0565b9998505050505050505050565b600080856001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c0157600080fd5b505afa158015610c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3991906134a0565b9050600080600073ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b031663f94d4668856040518263ffffffff1660e01b8152600401610c80919061382e565b60006040518083038186803b158015610c9857600080fd5b505afa158015610cac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cd491908101906133d4565b50509050808881518110610ce457fe5b60200260200101519250808781518110610cfa57fe5b6020026020010151915050610d0f828661271d565b610d2e8273ba12222222228d8ba445958a75a0704d566bf2c887612879565b6040805160c081018252848152600060208083018290526001600160a01b0386811684860152851660608085019190915260808085018b90528551848152808401875260a0860152855190810186523080825292810184905280860192909252810182905292516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8936352bbbe2993610dcb9390924290600401613a61565b602060405180830381600087803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085c91906134a0565b600081600114610e3f5760405162461bcd60e51b815260040161041b9061398a565b610e488361295e565b6040516370a0823160e01b815260009073ae7ab96520de3a18e5e111b5eaab095312d7fe84906370a0823190610e82903090600401613674565b60206040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed291906134a0565b60405163a1903eab60e01b815290915073ae7ab96520de3a18e5e111b5eaab095312d7fe849063a1903eab908690610f0f90600090600401613674565b6020604051808303818588803b158015610f2857600080fd5b505af1158015610f3c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f6191906134a0565b506040516370a0823160e01b8152610ff590829073ae7ab96520de3a18e5e111b5eaab095312d7fe84906370a0823190610f9f903090600401613674565b60206040518083038186803b158015610fb757600080fd5b505afa158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef91906134a0565b906129d3565b949350505050565b600081600114156110cb5761103b73ae7ab96520de3a18e5e111b5eaab095312d7fe84737f39c581f595b53c5cb19bd0b3f8da6c935e2ca085612879565b604051630ea598cb60e41b8152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca09063ea598cb09061107290869060040161382e565b602060405180830381600087803b15801561108c57600080fd5b505af11580156110a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c491906134a0565b90506102f3565b81600214156104fc57604051636f074d1f60e11b8152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca09063de0e9a3e9061107290869060040161382e565b6000806001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e0884146111a857846001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561116b57600080fd5b505afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a391906133b8565b6111be565b7362b9c7356a2dc64a1969e19c23e4f579f9810aa75b905082600114156112af576111d4818686612879565b6001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e08841415611281576040516311f9fbc960e21b81526001600160a01b038616906347e7ef249061122790309088906004016136a2565b602060405180830381600087803b15801561124157600080fd5b505af1158015611255573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127991906134a0565b915050611340565b604051636e553f6560e01b81526001600160a01b03861690636e553f65906112279087903090600401613aed565b82600214156104fc576001600160a01b038516732b95a1dcc3d405535f9ed33c219ab38e8d7e08841415611310576040516315980d8960e01b81526001600160a01b038616906315980d8990611227903090889060009081906004016136bb565b604051635d043b2960e11b81526001600160a01b0386169063ba0876529061122790879030908190600401613b04565b9392505050565b600080611355878787612a30565b90506000611364888887612a30565b9050611370828561271d565b600b88601581111561137e57fe5b1415611404576113ff82886001600160a01b0316637165485d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c157600080fd5b505afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f991906133b8565b86612879565b611460565b600d88601581111561141257fe5b1415611455576113ff82886001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c157600080fd5b611460828886612879565b600061146b82612d55565b9050600389601581111561147b57fe5b14156115b15761148a83612df0565b15611525576114988561295e565b604051630f7c084960e21b81526001600160a01b03891690633df021249087906114cd908b908b908490600090600401613845565b6020604051808303818588803b1580156114e657600080fd5b505af11580156114fa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061151f91906134a0565b506115ac565b604051630f7c084960e21b81526001600160a01b03891690633df0212490611558908a908a908a90600090600401613845565b602060405180830381600087803b15801561157257600080fd5b505af1158015611586573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115aa91906134a0565b505b611b15565b60048960158111156115bf57fe5b141561162f57604051630b68372160e31b81526001600160a01b03891690635b41b908906115f8908a908a908a90600090600401613b72565b600060405180830381600087803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50505050611b15565b600589601581111561163d57fe5b1415611676576040516365b2489b60e01b81526001600160a01b038916906365b2489b90611558908a908a908a90600090600401613b72565b600689601581111561168457fe5b14156116bf5760405163394747c560e01b81526001600160a01b0389169063394747c5906115f8908a908a908a906000908190600401613b8d565b60078960158111156116cd57fe5b141561170657604051630f7c084960e21b81526001600160a01b03891690633df02124906115f8908a908a908a90600090600401613845565b600889601581111561171457fe5b141561174d57604051630f7c084960e21b81526001600160a01b03891690633df0212490611558908a908a908a90600090600401613845565b600989601581111561175b57fe5b141561179457604051635320bf6b60e11b81526001600160a01b0389169063a6417ed690611558908a908a908a90600090600401613845565b600a8960158111156117a257fe5b14156117db57604051630f7c084960e21b81526001600160a01b03891690633df02124906115f8908a908a908a90600090600401613845565b600b8960158111156117e957fe5b141561189657876001600160a01b0316637165485d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561182857600080fd5b505afa15801561183c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186091906133b8565b604051635320bf6b60e11b81529098506001600160a01b0389169063a6417ed6906115f8908a908a908a90600090600401613845565b600c8960158111156118a457fe5b14156118dd57604051630f7c084960e21b81526001600160a01b03891690633df0212490611558908a908a908a90600090600401613845565b600d8960158111156118eb57fe5b141561199857876001600160a01b03166316f0115b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561192a57600080fd5b505afa15801561193e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196291906133b8565b604051635320bf6b60e11b81529098506001600160a01b0389169063a6417ed690611558908a908a908a90600090600401613845565b600e8960158111156119a657fe5b14156119e15760405163ddc1f59d60e01b81526001600160a01b0389169063ddc1f59d90611558908a908a908a906000903090600401613868565b600f8960158111156119ef57fe5b1415611a2857604051630f7c084960e21b81526001600160a01b03891690633df0212490611558908a908a908a90600090600401613845565b6010896015811115611a3657fe5b1415611a6f57604051635320bf6b60e11b81526001600160a01b0389169063a6417ed690611558908a908a908a90600090600401613845565b6011896015811115611a7d57fe5b1415611ab657604051635320bf6b60e11b81526001600160a01b0389169063a6417ed690611558908a908a908a90600090600401613845565b6014896015811115611ac457fe5b1415611afd57604051635320bf6b60e11b81526001600160a01b0389169063a6417ed690611558908a908a908a90600090600401613845565b60405162461bcd60e51b815260040161041b9061391c565b80611b1f83612d55565b0393505050505b95945050505050565b600080611b3d878786612a30565b9050611b49818461271d565b6010876015811115611b5757fe5b1415611b8157611b7c8173a79828df1850e8a3a3064576f380d90aecdd335985612879565b611bf2565b6011876015811115611b8f57fe5b1415611bb457611b7c81737abdbaf29929e7f8621b757d2a7c04d78d63383485612879565b6014876015811115611bc257fe5b1415611be757611b7c817308780fb7e580e492c1935bee4fa5920b94aa95da85612879565b611bf2818785612879565b6008876015811115611c0057fe5b1480611c1757506009876015811115611c1557fe5b145b15611d7e5760006009886015811115611c2c57fe5b1490508560021415611cdf57611c406132db565b84818760028110611c4d57fe5b602002015260405163ee22be2360e01b81526001600160a01b0389169063ee22be2390611c83908490600090879060040161378c565b602060405180830381600087803b158015611c9d57600080fd5b505af1158015611cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd591906134a0565b9350505050611b26565b8560031415611d3357611cf06132f9565b84818760038110611cfd57fe5b60200201526040516315b74c9d60e11b81526001600160a01b03891690632b6e993a90611c8390849060009087906004016137cb565b611d3b613317565b84818760048110611d4857fe5b602002015260405163dc3a2d8160e01b81526001600160a01b0389169063dc3a2d8190611c83908490600090879060040161380a565b6010876015811115611d8c57fe5b1415611e4357611d9a613317565b83818660048110611da757fe5b602002015260405163384e03db60e01b815273a79828df1850e8a3a3064576f380d90aecdd33599063384e03db90611de8908a90859060009060040161371d565b602060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3a91906134a0565b92505050611b26565b6011876015811115611e5157fe5b1415611ead57611e5f613317565b83818660048110611e6c57fe5b602002015260405163384e03db60e01b8152737abdbaf29929e7f8621b757d2a7c04d78d6338349063384e03db90611de8908a90859060009060040161371d565b6014876015811115611ebb57fe5b1415611f1757611ec96132f9565b83818660038110611ed657fe5b602002015260405163a318517960e01b81527308780fb7e580e492c1935bee4fa5920b94aa95da9063a318517990611de8908a9085906000906004016136f2565b6003876015811115611f2557fe5b1415611fdf57611f3481612df0565b15611f4257611f428361295e565b611f4a6132db565b83818660028110611f5757fe5b60200201528051604051630b4c7e4d60e01b81526001600160a01b03891691630b4c7e4d91611f8d908590600090600401613771565b6020604051808303818588803b158015611fa657600080fd5b505af1158015611fba573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e3a91906134a0565b6000611feb88886100bc565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161201b9190613674565b60206040518083038186803b15801561203357600080fd5b505afa158015612047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206b91906134a0565b905086600214156120f75761207e6132db565b8581886002811061208b57fe5b6020020152604051630b4c7e4d60e01b81526001600160a01b038a1690630b4c7e4d906120bf908490600090600401613771565b600060405180830381600087803b1580156120d957600080fd5b505af11580156120ed573d6000803e3d6000fd5b50505050506121c5565b8660031415612149576121086132f9565b8581886003811061211557fe5b6020020152604051634515cef360e01b81526001600160a01b038a1690634515cef3906120bf9084906000906004016137b0565b612151613317565b8581886004811061215e57fe5b602002015260405162a6cbcd60e21b81526001600160a01b038a169063029b2f34906121919084906000906004016137ef565b600060405180830381600087803b1580156121ab57600080fd5b505af11580156121bf573d6000803e3d6000fd5b50505050505b6040516370a0823160e01b815281906001600160a01b038416906370a08231906121f3903090600401613674565b60206040518083038186803b15801561220b57600080fd5b505afa15801561221f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224391906134a0565b039350505050611b26565b60008061225c868686612a30565b9050600061226a87876100bc565b9050600061227783612d55565b9050600888601581111561228757fe5b148061229e5750600988601581111561229c57fe5b145b1561234357600060098960158111156122b357fe5b60405163517a55a360e01b8152911491506001600160a01b0389169063517a55a3906122ea9089908b906000908790600401613b3c565b602060405180830381600087803b15801561230457600080fd5b505af1158015612318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233c91906134a0565b5050612706565b600488601581111561235157fe5b14156123e05760405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc9906123889088908a90600090600401613b5c565b602060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123da91906134a0565b50612706565b60058860158111156123ee57fe5b1415612467576123ff828887612879565b60405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc9906124309088908a90600090600401613b5c565b600060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b50505050612706565b600688601581111561247557fe5b14156124ac5760405163f1dc3cc960e01b81526001600160a01b0388169063f1dc3cc9906124309088908a90600090600401613b5c565b60108860158111156124ba57fe5b141561251d576124df8273a79828df1850e8a3a3064576f380d90aecdd335987612879565b6040516314f6943160e11b815273a79828df1850e8a3a3064576f380d90aecdd3359906329ed286290612388908a9089908b90600090600401613748565b601188601581111561252b57fe5b141561258e5761255082737abdbaf29929e7f8621b757d2a7c04d78d63383487612879565b6040516314f6943160e11b8152737abdbaf29929e7f8621b757d2a7c04d78d633834906329ed286290612388908a9089908b90600090600401613748565b601488601581111561259c57fe5b14156125ff576125c1827308780fb7e580e492c1935bee4fa5920b94aa95da87612879565b6040516314f6943160e11b81527308780fb7e580e492c1935bee4fa5920b94aa95da906329ed286290612388908a9089908b90600090600401613748565b600d88601581111561260d57fe5b141561264f5761261e828887612879565b604051630d2680e960e11b81526001600160a01b03881690631a4d01d2906123889088908a90600090600401613b23565b600b88601581111561265d57fe5b14156126a25761266e828887612879565b60405163517a55a360e01b81526001600160a01b0388169063517a55a3906124309088908a90600090600190600401613b3c565b604051630d2680e960e11b81526001600160a01b03881690631a4d01d2906126d39088908a90600090600401613b23565b600060405180830381600087803b1580156126ed57600080fd5b505af1158015612701573d6000803e3d6000fd5b505050505b8061271084612d55565b0398975050505050505050565b6001600160a01b03821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21480156127c457506040516370a0823160e01b815281906001600160a01b038416906370a0823190612772903090600401613674565b60206040518083038186803b15801561278a57600080fd5b505afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c291906134a0565b105b1561281e57816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561280457600080fd5b505af1158015612818573d6000803e3d6000fd5b50505050505b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612874908490612e26565b505050565b61288283612df0565b15801561290c5750604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e906128ba9030908790600401613688565b60206040518083038186803b1580156128d257600080fd5b505afa1580156128e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290a91906134a0565b105b1561287457730316eb71485b0ab14103307bf65a021042c6d3806001600160a01b0384161461294a5761294a6001600160a01b038416836000612ed7565b6128746001600160a01b0384168383612ed7565b804710156129d057604051632e1a7d4d60e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9061299d90849060040161382e565b600060405180830381600087803b1580156129b757600080fd5b505af11580156129cb573d6000803e3d6000fd5b505050505b50565b600082821115612a2a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006005846015811115612a4057fe5b1415612ac957604051630b9947eb60e41b81526001600160a01b0384169063b9947eb090612a7290859060040161382e565b60206040518083038186803b158015612a8a57600080fd5b505afa158015612a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac291906133b8565b9050611340565b6009846015811115612ad757fe5b1415612b0957604051630b9947eb60e41b81526001600160a01b0384169063b9947eb090612a7290859060040161382e565b600b846015811115612b1757fe5b1415612b4957604051635b9cca9f60e11b81526001600160a01b0384169063b739953e90612a72908590600401613837565b600d846015811115612b5757fe5b1415612bbe5781612b8e5760405163c661065760e01b81526001600160a01b0384169063c661065790612a7290859060040161382e565b6040516387cb4f5760e01b81526001600160a01b038416906387cb4f5790612a729060001986019060040161382e565b6010846015811115612bcc57fe5b1415612c0f5781612c035760405163c661065760e01b81526001600160a01b0384169063c661065790612a7290859060040161382e565b612ac260018303612fea565b6011846015811115612c1d57fe5b1415612c605781612c545760405163c661065760e01b81526001600160a01b0384169063c661065790612a7290859060040161382e565b612ac26001830361305c565b6014846015811115612c6e57fe5b1415612cb15781612ca55760405163c661065760e01b81526001600160a01b0384169063c661065790612a7290859060040161382e565b612ac2600183036130c6565b60405163c661065760e01b81526001600160a01b0384169063c661065790612cdd90859060040161382e565b60206040518083038186803b158015612cf557600080fd5b505afa925050508015612d25575060408051601f3d908101601f19168201909252612d22918101906133b8565b60015b612ac25760405163046e8dd760e31b81526001600160a01b038416906323746eb890612a72908590600401613837565b6000612d6082612df0565b15612d6c575047612deb565b6040516370a0823160e01b81526001600160a01b038316906370a0823190612d98903090600401613674565b60206040518083038186803b158015612db057600080fd5b505afa158015612dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de891906134a0565b90505b919050565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480612de85750506001600160a01b03161590565b6000612e7b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661310c9092919063ffffffff16565b80519091501561287457808060200190516020811015612e9a57600080fd5b50516128745760405162461bcd60e51b815260040180806020018281038252602a815260200180613c0a602a913960400191505060405180910390fd5b801580612f5d575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612f2f57600080fd5b505afa158015612f43573d6000803e3d6000fd5b505050506040513d6020811015612f5957600080fd5b5051155b612f985760405162461bcd60e51b8152600401808060200182810382526036815260200180613c346036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612874908490612e26565b60008161300c5750736b175474e89094c44da98b954eedeac495271d0f612deb565b8160011415613030575073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48612deb565b8160021415613054575073dac17f958d2ee523a2206206994597c13d831ec7612deb565b506000612deb565b60008161307e575073eb4c2781e4eba804ce9a9803c67d0893436bb27d612deb565b81600114156130a25750732260fac5e5542a773aa44fbcfedf7c193bc2c599612deb565b8160021415613054575073fe18be6b3bd88a2d2a7f928d00292e7a9963cfc6612deb565b6000816130e8575073853d955acef822db058eb8505911ed77f175b99e612deb565b8160011415613054575073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48612deb565b6060610ff584846000858561312085613231565b613171576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106131af5780518252601f199092019160209182019101613190565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613211576040519150601f19603f3d011682016040523d82523d6000602084013e613216565b606091505b5091509150613226828286613237565b979650505050505050565b3b151590565b60608315613246575081611340565b8251156132565782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132a0578181015183820152602001613288565b50505050905090810190601f1680156132cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60405180604001604052806002906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b600082601f830112613345578081fd5b8151602061335a61335583613bd6565b613bb2565b8281528181019085830183850287018401881015613376578586fd5b855b8581101561339457815184529284019290840190600101613378565b5090979650505050505050565b80516001600160701b0381168114612deb57600080fd5b6000602082840312156133c9578081fd5b81516102f081613bf4565b6000806000606084860312156133e8578182fd5b835167ffffffffffffffff808211156133ff578384fd5b818601915086601f830112613412578384fd5b8151602061342261335583613bd6565b82815281810190858301838502870184018c101561343e578889fd5b8896505b8487101561346957805161345581613bf4565b835260019690960195918301918301613442565b5091890151919750909350505080821115613482578384fd5b5061348f86828701613335565b925050604084015190509250925092565b6000602082840312156134b1578081fd5b5051919050565b600080604083850312156134ca578182fd5b8235601681106134d8578283fd5b915060208301356134e881613bf4565b809150509250929050565b600080600060608486031215613507578283fd5b613510846133a1565b925061351e602085016133a1565b9150604084015163ffffffff81168114613536578182fd5b809150509250925092565b600060208284031215613552578081fd5b815162ffffff811681146102f0578182fd5b60008060408385031215613576578182fd5b50508035926020909101359150565b8060005b60028110156135a8578151845260209384019390910190600101613589565b50505050565b8060005b60038110156135a85781518452602093840193909101906001016135b2565b8060005b60048110156135a85781518452602093840193909101906001016135d5565b60008151808452815b81811015613619576020818501810151868301820152016135fd565b8181111561362a5782602083870101525b50601f01601f19169290920160200192915050565b80516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0385168152602081018490526040810183905260808101600583106136e357fe5b82606083015295945050505050565b6001600160a01b038416815260a0810161370f60208301856135ae565b826080830152949350505050565b6001600160a01b038416815260c0810161373a60208301856135d1565b8260a0830152949350505050565b6001600160a01b039490941684526020840192909252600f0b6040830152606082015260800190565b6060810161377f8285613585565b8260408301529392505050565b6080810161379a8286613585565b8360408301528215156060830152949350505050565b608081016137be82856135ae565b8260608301529392505050565b60a081016137d982866135ae565b8360608301528215156080830152949350505050565b60a081016137fd82856135d1565b8260808301529392505050565b60c0810161381882866135d1565b83608083015282151560a0830152949350505050565b90815260200190565b600f9190910b815260200190565b600f94850b81529290930b60208301526040820152606081019190915260800190565b600f95860b81529390940b6020840152604083019190915260608201526001600160a01b03909116608082015260a00190565b600085825284602083015260018060a01b0384166040830152608060608301526138c860808301846135f4565b9695505050505050565b60006020825261134060208301846135f4565b6020808252601a908201527f416c616464696e5a61703a20706f6f6c206e6f74207374455448000000000000604082015260600190565b6020808252601c908201527f416c616464696e5a61703a20696e76616c696420706f6f6c5479706500000000604082015260600190565b6020808252601a908201527f416c616464696e5a61703a20696e76616c696420616374696f6e000000000000604082015260600190565b6020808252601b908201527f416c616464696e5a61703a206e6f74207772617020616374696f6e0000000000604082015260600190565b6020808252601b908201527f416c616464696e5a61703a20706f6f6c206e6f74207773744554480000000000604082015260600190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0838101519083015260c0808401519083015260e09283015116918101919091526101000190565b600060e08252855160e0830152602086015160028110613a7d57fe5b61010083015260408601516001600160a01b03908116610120840152606087015116610140830152608086015161016083015260a086015160c0610180840152613acb6101a08401826135f4565b915050613adb602083018661363f565b60a082019390935260c0015292915050565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b928352600f9190910b6020830152604082015260600190565b938452600f9290920b602084015260408301521515606082015260800190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b9485526020850193909352604084019190915260608301521515608082015260a00190565b60405181810167ffffffffffffffff81118282101715613bce57fe5b604052919050565b600067ffffffffffffffff821115613bea57fe5b5060209081020190565b6001600160a01b03811681146129d057600080fdfe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a264697066735822122018bed68bdae9157d85025f6621fb4799a374d7958aead9b818850394b51b5c4764736f6c63430007060033";
19
+ static readonly abi: readonly [{
20
+ readonly inputs: readonly [{
21
+ readonly internalType: "enum TokenZapLogic.PoolType";
22
+ readonly name: "_type";
23
+ readonly type: "uint8";
24
+ }, {
25
+ readonly internalType: "address";
26
+ readonly name: "_pool";
27
+ readonly type: "address";
28
+ }];
29
+ readonly name: "getCurvePoolToken";
30
+ readonly outputs: readonly [{
31
+ readonly internalType: "address";
32
+ readonly name: "";
33
+ readonly type: "address";
34
+ }];
35
+ readonly stateMutability: "view";
36
+ readonly type: "function";
37
+ }, {
38
+ readonly inputs: readonly [{
39
+ readonly internalType: "uint256";
40
+ readonly name: "_route";
41
+ readonly type: "uint256";
42
+ }, {
43
+ readonly internalType: "uint256";
44
+ readonly name: "_amountIn";
45
+ readonly type: "uint256";
46
+ }];
47
+ readonly name: "swap";
48
+ readonly outputs: readonly [{
49
+ readonly internalType: "uint256";
50
+ readonly name: "";
51
+ readonly type: "uint256";
52
+ }];
53
+ readonly stateMutability: "payable";
54
+ readonly type: "function";
55
+ }, {
56
+ readonly inputs: readonly [];
57
+ readonly name: "version";
58
+ readonly outputs: readonly [{
59
+ readonly internalType: "string";
60
+ readonly name: "";
61
+ readonly type: "string";
62
+ }];
63
+ readonly stateMutability: "view";
64
+ readonly type: "function";
65
+ }, {
66
+ readonly stateMutability: "payable";
67
+ readonly type: "receive";
68
+ }];
69
+ static createInterface(): TokenZapLogicInterface;
70
+ attach(address: string | Addressable): TokenZapLogic;
71
+ static connect(address: string, runner?: ContractRunner | null): TokenZapLogic;
72
+ }
73
+ export {};
@@ -0,0 +1,3 @@
1
+ export * as interfaces from './interfaces/index.js';
2
+ export { AladdinZap__factory } from './AladdinZap__factory.js';
3
+ export { TokenZapLogic__factory } from './TokenZapLogic__factory.js';
@@ -0,0 +1,91 @@
1
+ import { type ContractRunner } from "ethers";
2
+ import type { IBalancerPool, IBalancerPoolInterface } from "../../../../utils/zap/interfaces/IBalancerPool.js";
3
+ export declare class IBalancerPool__factory {
4
+ static readonly abi: readonly [{
5
+ readonly inputs: readonly [];
6
+ readonly name: "getActualSupply";
7
+ readonly outputs: readonly [{
8
+ readonly internalType: "uint256";
9
+ readonly name: "";
10
+ readonly type: "uint256";
11
+ }];
12
+ readonly stateMutability: "view";
13
+ readonly type: "function";
14
+ }, {
15
+ readonly inputs: readonly [];
16
+ readonly name: "getAmplificationParameter";
17
+ readonly outputs: readonly [{
18
+ readonly internalType: "uint256";
19
+ readonly name: "value";
20
+ readonly type: "uint256";
21
+ }, {
22
+ readonly internalType: "bool";
23
+ readonly name: "isUpdating";
24
+ readonly type: "bool";
25
+ }, {
26
+ readonly internalType: "uint256";
27
+ readonly name: "precision";
28
+ readonly type: "uint256";
29
+ }];
30
+ readonly stateMutability: "view";
31
+ readonly type: "function";
32
+ }, {
33
+ readonly inputs: readonly [];
34
+ readonly name: "getNormalizedWeights";
35
+ readonly outputs: readonly [{
36
+ readonly internalType: "uint256[]";
37
+ readonly name: "";
38
+ readonly type: "uint256[]";
39
+ }];
40
+ readonly stateMutability: "view";
41
+ readonly type: "function";
42
+ }, {
43
+ readonly inputs: readonly [];
44
+ readonly name: "getPoolId";
45
+ readonly outputs: readonly [{
46
+ readonly internalType: "bytes32";
47
+ readonly name: "";
48
+ readonly type: "bytes32";
49
+ }];
50
+ readonly stateMutability: "view";
51
+ readonly type: "function";
52
+ }, {
53
+ readonly inputs: readonly [];
54
+ readonly name: "getScalingFactors";
55
+ readonly outputs: readonly [{
56
+ readonly internalType: "uint256[]";
57
+ readonly name: "";
58
+ readonly type: "uint256[]";
59
+ }];
60
+ readonly stateMutability: "view";
61
+ readonly type: "function";
62
+ }, {
63
+ readonly inputs: readonly [{
64
+ readonly internalType: "address";
65
+ readonly name: "token";
66
+ readonly type: "address";
67
+ }];
68
+ readonly name: "getTokenRateCache";
69
+ readonly outputs: readonly [{
70
+ readonly internalType: "uint256";
71
+ readonly name: "rate";
72
+ readonly type: "uint256";
73
+ }, {
74
+ readonly internalType: "uint256";
75
+ readonly name: "oldRate";
76
+ readonly type: "uint256";
77
+ }, {
78
+ readonly internalType: "uint256";
79
+ readonly name: "duration";
80
+ readonly type: "uint256";
81
+ }, {
82
+ readonly internalType: "uint256";
83
+ readonly name: "expires";
84
+ readonly type: "uint256";
85
+ }];
86
+ readonly stateMutability: "view";
87
+ readonly type: "function";
88
+ }];
89
+ static createInterface(): IBalancerPoolInterface;
90
+ static connect(address: string, runner?: ContractRunner | null): IBalancerPool;
91
+ }