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

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 +29 -28
  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 +69 -117
  557. package/dist/utils/rpcError.js +159 -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
@@ -5,10 +5,6 @@ export declare class IveRAACToken__factory {
5
5
  readonly inputs: readonly [];
6
6
  readonly name: "AmountBelowMinimum";
7
7
  readonly type: "error";
8
- }, {
9
- readonly inputs: readonly [];
10
- readonly name: "DistributionInProgress";
11
- readonly type: "error";
12
8
  }, {
13
9
  readonly inputs: readonly [];
14
10
  readonly name: "InvalidAddress";
@@ -168,6 +164,21 @@ export declare class IveRAACToken__factory {
168
164
  }];
169
165
  readonly name: "MinRewardDistributionAmountUpdated";
170
166
  readonly type: "event";
167
+ }, {
168
+ readonly anonymous: false;
169
+ readonly inputs: readonly [{
170
+ readonly indexed: false;
171
+ readonly internalType: "uint256";
172
+ readonly name: "oldIncreaseAmount";
173
+ readonly type: "uint256";
174
+ }, {
175
+ readonly indexed: false;
176
+ readonly internalType: "uint256";
177
+ readonly name: "_minIncreaseAmount";
178
+ readonly type: "uint256";
179
+ }];
180
+ readonly name: "MinimumIncreaseAmountUpdated";
181
+ readonly type: "event";
171
182
  }, {
172
183
  readonly anonymous: false;
173
184
  readonly inputs: readonly [{
@@ -584,20 +595,6 @@ export declare class IveRAACToken__factory {
584
595
  readonly outputs: readonly [];
585
596
  readonly stateMutability: "nonpayable";
586
597
  readonly type: "function";
587
- }, {
588
- readonly inputs: readonly [{
589
- readonly internalType: "address";
590
- readonly name: "user";
591
- readonly type: "address";
592
- }];
593
- readonly name: "getEffectiveLockEnd";
594
- readonly outputs: readonly [{
595
- readonly internalType: "uint40";
596
- readonly name: "";
597
- readonly type: "uint40";
598
- }];
599
- readonly stateMutability: "view";
600
- readonly type: "function";
601
598
  }, {
602
599
  readonly inputs: readonly [];
603
600
  readonly name: "getGlobalLockInfo";
@@ -671,6 +668,16 @@ export declare class IveRAACToken__factory {
671
668
  }];
672
669
  readonly stateMutability: "view";
673
670
  readonly type: "function";
671
+ }, {
672
+ readonly inputs: readonly [];
673
+ readonly name: "getMinLockAmount";
674
+ readonly outputs: readonly [{
675
+ readonly internalType: "uint256";
676
+ readonly name: "";
677
+ readonly type: "uint256";
678
+ }];
679
+ readonly stateMutability: "view";
680
+ readonly type: "function";
674
681
  }, {
675
682
  readonly inputs: readonly [{
676
683
  readonly internalType: "address";
@@ -695,6 +702,24 @@ export declare class IveRAACToken__factory {
695
702
  }];
696
703
  readonly stateMutability: "view";
697
704
  readonly type: "function";
705
+ }, {
706
+ readonly inputs: readonly [{
707
+ readonly internalType: "address";
708
+ readonly name: "_user";
709
+ readonly type: "address";
710
+ }, {
711
+ readonly internalType: "uint40";
712
+ readonly name: "_epochEnd";
713
+ readonly type: "uint40";
714
+ }];
715
+ readonly name: "getUserTotalLockedAtEpochEnd";
716
+ readonly outputs: readonly [{
717
+ readonly internalType: "uint256";
718
+ readonly name: "lockedAmount";
719
+ readonly type: "uint256";
720
+ }];
721
+ readonly stateMutability: "view";
722
+ readonly type: "function";
698
723
  }, {
699
724
  readonly inputs: readonly [{
700
725
  readonly internalType: "uint256";
@@ -873,6 +898,10 @@ export declare class IveRAACToken__factory {
873
898
  readonly internalType: "uint256";
874
899
  readonly name: "";
875
900
  readonly type: "uint256";
901
+ }, {
902
+ readonly internalType: "uint256";
903
+ readonly name: "";
904
+ readonly type: "uint256";
876
905
  }];
877
906
  readonly stateMutability: "view";
878
907
  readonly type: "function";
@@ -3,11 +3,11 @@ import type { IAuction, IAuctionInterface } from "../../../../contracts/interfac
3
3
  export declare class IAuction__factory {
4
4
  static readonly abi: readonly [{
5
5
  readonly inputs: readonly [];
6
- readonly name: "CostTooSmall";
6
+ readonly name: "AuctionExpired";
7
7
  readonly type: "error";
8
8
  }, {
9
9
  readonly inputs: readonly [];
10
- readonly name: "DecimalsMismatch";
10
+ readonly name: "AuctionNotStarted";
11
11
  readonly type: "error";
12
12
  }, {
13
13
  readonly inputs: readonly [];
@@ -21,10 +21,26 @@ export declare class IAuction__factory {
21
21
  readonly inputs: readonly [];
22
22
  readonly name: "InvalidEndTime";
23
23
  readonly type: "error";
24
+ }, {
25
+ readonly inputs: readonly [];
26
+ readonly name: "InvalidReservePrice";
27
+ readonly type: "error";
24
28
  }, {
25
29
  readonly inputs: readonly [];
26
30
  readonly name: "InvalidStartingPrice";
27
31
  readonly type: "error";
32
+ }, {
33
+ readonly inputs: readonly [];
34
+ readonly name: "MaturityBeforeAuctionEnd";
35
+ readonly type: "error";
36
+ }, {
37
+ readonly inputs: readonly [];
38
+ readonly name: "NotPrefilled";
39
+ readonly type: "error";
40
+ }, {
41
+ readonly inputs: readonly [];
42
+ readonly name: "SlippageExceeded";
43
+ readonly type: "error";
28
44
  }, {
29
45
  readonly inputs: readonly [];
30
46
  readonly name: "ZeroAddress";
@@ -44,27 +60,17 @@ export declare class IAuction__factory {
44
60
  readonly inputs: readonly [{
45
61
  readonly indexed: true;
46
62
  readonly internalType: "address";
47
- readonly name: "token";
63
+ readonly name: "buyer";
48
64
  readonly type: "address";
49
65
  }, {
50
66
  readonly indexed: false;
51
67
  readonly internalType: "uint256";
52
- readonly name: "amount";
68
+ readonly name: "zenoAmount";
53
69
  readonly type: "uint256";
54
- }];
55
- readonly name: "EmergencyERC20Refund";
56
- readonly type: "event";
57
- }, {
58
- readonly anonymous: false;
59
- readonly inputs: readonly [{
60
- readonly indexed: true;
61
- readonly internalType: "address";
62
- readonly name: "buyer";
63
- readonly type: "address";
64
70
  }, {
65
71
  readonly indexed: false;
66
72
  readonly internalType: "uint256";
67
- readonly name: "amount";
73
+ readonly name: "paymentAmount";
68
74
  readonly type: "uint256";
69
75
  }, {
70
76
  readonly indexed: false;
@@ -77,7 +83,11 @@ export declare class IAuction__factory {
77
83
  }, {
78
84
  readonly inputs: readonly [{
79
85
  readonly internalType: "uint256";
80
- readonly name: "amount";
86
+ readonly name: "paymentAmount";
87
+ readonly type: "uint256";
88
+ }, {
89
+ readonly internalType: "uint256";
90
+ readonly name: "minZenoOut";
81
91
  readonly type: "uint256";
82
92
  }];
83
93
  readonly name: "buy";
@@ -92,7 +102,7 @@ export declare class IAuction__factory {
92
102
  readonly name: "";
93
103
  readonly type: "bool";
94
104
  }];
95
- readonly stateMutability: "nonpayable";
105
+ readonly stateMutability: "view";
96
106
  readonly type: "function";
97
107
  }, {
98
108
  readonly inputs: readonly [];
@@ -108,7 +118,7 @@ export declare class IAuction__factory {
108
118
  readonly type: "address";
109
119
  }, {
110
120
  readonly internalType: "address";
111
- readonly name: "businessAddress";
121
+ readonly name: "issuer";
112
122
  readonly type: "address";
113
123
  }, {
114
124
  readonly internalType: "uint256";
@@ -134,22 +144,14 @@ export declare class IAuction__factory {
134
144
  readonly internalType: "uint256";
135
145
  readonly name: "totalZENORemaining";
136
146
  readonly type: "uint256";
137
- }, {
138
- readonly internalType: "uint256";
139
- readonly name: "lastBidTime";
140
- readonly type: "uint256";
141
- }, {
142
- readonly internalType: "address";
143
- readonly name: "lastBidder";
144
- readonly type: "address";
145
- }, {
146
- readonly internalType: "uint256";
147
- readonly name: "lastBidAmount";
148
- readonly type: "uint256";
149
147
  }, {
150
148
  readonly internalType: "uint256";
151
149
  readonly name: "price";
152
150
  readonly type: "uint256";
151
+ }, {
152
+ readonly internalType: "enum IAuction.FundingMode";
153
+ readonly name: "fundingMode";
154
+ readonly type: "uint8";
153
155
  }];
154
156
  readonly internalType: "struct IAuction.AuctionDetails";
155
157
  readonly name: "";
@@ -167,6 +169,26 @@ export declare class IAuction__factory {
167
169
  }];
168
170
  readonly stateMutability: "view";
169
171
  readonly type: "function";
172
+ }, {
173
+ readonly inputs: readonly [];
174
+ readonly name: "totalRemaining";
175
+ readonly outputs: readonly [{
176
+ readonly internalType: "uint256";
177
+ readonly name: "";
178
+ readonly type: "uint256";
179
+ }];
180
+ readonly stateMutability: "view";
181
+ readonly type: "function";
182
+ }, {
183
+ readonly inputs: readonly [];
184
+ readonly name: "zeno";
185
+ readonly outputs: readonly [{
186
+ readonly internalType: "address";
187
+ readonly name: "";
188
+ readonly type: "address";
189
+ }];
190
+ readonly stateMutability: "view";
191
+ readonly type: "function";
170
192
  }];
171
193
  static createInterface(): IAuctionInterface;
172
194
  static connect(address: string, runner?: ContractRunner | null): IAuction;
@@ -5,18 +5,38 @@ export declare class IZENO__factory {
5
5
  readonly inputs: readonly [];
6
6
  readonly name: "AuctionAlreadySet";
7
7
  readonly type: "error";
8
+ }, {
9
+ readonly inputs: readonly [];
10
+ readonly name: "AuctionNotSet";
11
+ readonly type: "error";
12
+ }, {
13
+ readonly inputs: readonly [];
14
+ readonly name: "AuctionStillActive";
15
+ readonly type: "error";
8
16
  }, {
9
17
  readonly inputs: readonly [];
10
18
  readonly name: "BondNotRedeemable";
11
19
  readonly type: "error";
20
+ }, {
21
+ readonly inputs: readonly [];
22
+ readonly name: "ExceedsSurplus";
23
+ readonly type: "error";
12
24
  }, {
13
25
  readonly inputs: readonly [];
14
26
  readonly name: "InsufficientBalance";
15
27
  readonly type: "error";
28
+ }, {
29
+ readonly inputs: readonly [];
30
+ readonly name: "InsufficientCollateral";
31
+ readonly type: "error";
16
32
  }, {
17
33
  readonly inputs: readonly [];
18
34
  readonly name: "InvalidAddress";
19
35
  readonly type: "error";
36
+ }, {
37
+ readonly inputs: readonly [];
38
+ readonly name: "InvalidAuctionBinding";
39
+ readonly type: "error";
20
40
  }, {
21
41
  readonly inputs: readonly [];
22
42
  readonly name: "NotAuction";
@@ -50,7 +70,7 @@ export declare class IZENO__factory {
50
70
  readonly inputs: readonly [{
51
71
  readonly indexed: false;
52
72
  readonly internalType: "address";
53
- readonly name: "to";
73
+ readonly name: "redeemer";
54
74
  readonly type: "address";
55
75
  }, {
56
76
  readonly indexed: false;
@@ -58,14 +78,14 @@ export declare class IZENO__factory {
58
78
  readonly name: "amount";
59
79
  readonly type: "uint256";
60
80
  }];
61
- readonly name: "EmergencyUnderlyingWithdraw";
81
+ readonly name: "Redeemed";
62
82
  readonly type: "event";
63
83
  }, {
64
84
  readonly anonymous: false;
65
85
  readonly inputs: readonly [{
66
- readonly indexed: false;
86
+ readonly indexed: true;
67
87
  readonly internalType: "address";
68
- readonly name: "redeemer";
88
+ readonly name: "to";
69
89
  readonly type: "address";
70
90
  }, {
71
91
  readonly indexed: false;
@@ -73,7 +93,7 @@ export declare class IZENO__factory {
73
93
  readonly name: "amount";
74
94
  readonly type: "uint256";
75
95
  }];
76
- readonly name: "Redeemed";
96
+ readonly name: "SurplusSwept";
77
97
  readonly type: "event";
78
98
  }, {
79
99
  readonly anonymous: false;
@@ -165,6 +185,14 @@ export declare class IZENO__factory {
165
185
  readonly internalType: "string";
166
186
  readonly name: "symbol";
167
187
  readonly type: "string";
188
+ }, {
189
+ readonly internalType: "uint256";
190
+ readonly name: "totalMinted";
191
+ readonly type: "uint256";
192
+ }, {
193
+ readonly internalType: "uint256";
194
+ readonly name: "totalRedeemed";
195
+ readonly type: "uint256";
168
196
  }];
169
197
  readonly internalType: "struct IZENO.ZENODetails";
170
198
  readonly name: "";
@@ -214,7 +242,7 @@ export declare class IZENO__factory {
214
242
  readonly type: "function";
215
243
  }, {
216
244
  readonly inputs: readonly [];
217
- readonly name: "totalSupply";
245
+ readonly name: "sweepableSurplus";
218
246
  readonly outputs: readonly [{
219
247
  readonly internalType: "uint256";
220
248
  readonly name: "";
@@ -224,7 +252,7 @@ export declare class IZENO__factory {
224
252
  readonly type: "function";
225
253
  }, {
226
254
  readonly inputs: readonly [];
227
- readonly name: "totalZENOMinted";
255
+ readonly name: "totalMinted";
228
256
  readonly outputs: readonly [{
229
257
  readonly internalType: "uint256";
230
258
  readonly name: "";
@@ -234,7 +262,7 @@ export declare class IZENO__factory {
234
262
  readonly type: "function";
235
263
  }, {
236
264
  readonly inputs: readonly [];
237
- readonly name: "totalZENORedeemed";
265
+ readonly name: "totalSupply";
238
266
  readonly outputs: readonly [{
239
267
  readonly internalType: "uint256";
240
268
  readonly name: "";
@@ -14,7 +14,7 @@ export declare class BoostCalculator__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): BoostCalculator__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220ff7fdf4e39101f3a4ceee2b0f5d478519311263763b94112677670e9270a17aa64736f6c634300081e0033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212204db3f0ac68883ae16b9270fec3f4dc67c43552d67d04236380c452c6a80e999e64736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "InvalidBoostBounds";
@@ -14,7 +14,7 @@ export declare class LockManager__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): LockManager__factory;
17
- static readonly bytecode = "0x60808060405234601b57612bcd90816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c90816304361f6a1461011257816305c688281461010957816311bab5e7146101045781631a6e6bdf146100fb578163318d02a9146100f25781633f0d4b22146100ed57816341ce9a1a146100e457816344a6ebe5146100df57816352ad4d9b146100da57816377861e7c146100d15781639c8fe60d146100c7575063eedb1fb0146100c2575f80fd5b610b18565b15610a0e575b5f80fd5b1561086f575f80fd5b610825565b610809565b15610652575f80fd5b610635565b156104c8575f80fd5b1561040f575f80fd5b6103b7565b156101d8575f80fd5b61016b565b6064359064ffffffffff821682036100cd57565b6044359064ffffffffff821682036100cd57565b60c435906001600160a01b03821682036100cd57565b602435906001600160a01b03821682036100cd57565b60e03660031901126100cd5760043560243580600f0b81036100cd5760443591610193610117565b60843564ffffffffff811681036100cd5760a4359164ffffffffff831683036100cd576020956101cb956101c561013f565b95611376565b505060405190600f0b8152f35b60403660031901126100cd576004356101ef610155565b6101fe5f9160045f9401610b2c565b9060028201541561037e5781549164ffffffffff4216906001810191610228835463ffffffff1690565b9063ffffffff8216905b8682106102a95750505b8463ffffffff82161080610286575b1561025e5761025990610b8f565b61023c565b8361026a879285610c03565b6040805191825261ffff909216602082015290819081015b0390f35b506102a361029e6102978385610b55565b5054610b6f565b610b6f565b1561024b565b9096946102b98885989498610b55565b50908154916102ca61029e84610b6f565b92831561034e576102f06102e6869260701c64ffffffffff1690565b64ffffffffff1690565b11610342579161030b9161030661031194610ba6565b610be3565b95610bf0565b9663ffffffff8716811461032e575b6001905b0190959195610232565b9561033a600191610b8f565b969050610320565b50959760019150610324565b50509597905063ffffffff8716811461036a575b600190610324565b95610376600191610b8f565b969050610362565b6343b976c160e01b5f5260045ffd5b60609060031901126100cd57600435906024356001600160a01b03811681036100cd579060443590565b60206103cb6103c53661038d565b91610cbc565b604051908152f35b60809060031901126100cd57600435906024356001600160a01b03811681036100cd57906044359060643564ffffffffff811681036100cd5790565b610418366103d3565b929181156104b957600261042f8260048601610b2c565b61046461044561043f888461147c565b83610b55565b50805461045e906001600160701b038881169116610e1c565b90610bb6565b018054908382018092116104b45755600183019182548181018091116104b45761049d9355610495858284876116cd565b959094611a39565b60408051600f92830b81529290910b602083015290f35b610b7b565b63162908e360e11b5f5260045ffd5b6104d1366103d3565b9080939293156104b95764ffffffffff8216801590811561061f575b50610610576105db6102829261053761054e6102e664ffffffffff421693610548895461054361053d61052d61052284610c90565b9364ffffffffff1690565b8098818095610c9d565b95610c9d565b88610e51565b611b12565b94610e51565b64ffffffffff831611156106075761056591610e6d565b9485925b60026105788360048901610b2c565b6105a861058861043f8884611bb6565b50805461045e906001600160701b038716906105a390610b6f565b610e1c565b016105b4828254610be3565b9055600186016105c5828254610be3565b90556105d3848284896116cd565b979096611a39565b6040519384938491604091949364ffffffffff916060850196600f0b8552600f0b602085015216910152565b50948592610569565b63d5b25b6360e01b5f5260045ffd5b905061062e6102e68554610c90565b105f6104ed565b5f3660031901126100cd5760405160016001607f1b038152602090f35b60803660031901126100cd57600435610669610155565b9061067261012b565b9161067b610117565b9164ffffffffff8416938415610610576106988360048401610b2c565b6106a2828261147c565b956106c66106c06106b961029e6102978b87610b55565b9884610b55565b50610ba6565b86156104b95761070064ffffffffff42169661070c61070687546106f76106ec82610c90565b9164ffffffffff1690565b94858092610c9d565b93610c9d565b86610e51565b6107236102e661071c848c610e51565b938b610e51565b64ffffffffff82161115610800575061073f6107459282610e89565b90610e6d565b955b64ffffffffff87168083149283156107f5575b5082156107ea575b50506107db57610282938686819561078a61058886610784856107a999611bb6565b90610b55565b6107a48461079b8489878487611cc1565b999098846121cc565b611a39565b60405194859485926060929594919564ffffffffff60808601971685526020850152600f0b6040840152600f0b910152565b631196666760e11b5f5260045ffd5b111590505f80610762565b82101592505f61075a565b91505095610747565b60403660031901126100cd5760206103cb602435600435610ea3565b60403660031901126100cd5760043564ffffffffff811681036100cd576024359064ffffffffff821682036100cd5760209161086091611b12565b64ffffffffff60405191168152f35b60403660031901126100cd57600435610886610155565b5f905f926108978260048301610b2c565b9060018201906108b76108ae835463ffffffff1690565b63ffffffff1690565b8354905b8181106109c2575050841561037e5760018101805486116109ba576108e1868254610c60565b90555b5f60028401556108f58585836123a1565b94909380549261090c6108ae865463ffffffff1690565b84811061095b5789896102828a8a61092a63ffffffff8b168c610c03565b604051948594859263ffffffff6060939695929660808601978652166020850152600f0b6040840152600f0b910152565b8061096e61029e61029760019487610b55565b8561098b61097c8488610b55565b505460701c64ffffffffff1690565b91806109a8575b5050506109a26106c08286610b55565b0161090c565b6109b292866121cc565b5f8581610992565b5f90556108e4565b6109d261029e6102978388610b55565b6109df575b6001016108bb565b9596610a066109ef600192610b8f565b98610a0061029e6102978b8a610b55565b90610be3565b9690506109d7565b60603660031901126100cd57600435610a25610155565b90610a2e61012b565b610a3b8360048401610b2c565b90610a46818361147c565b93610a5761029e6102978786610b55565b9485156104b957610a8292610a706106c0889387610b55565b610a7c81838589612626565b856121cc565b610a966108ae600183015463ffffffff1690565b8154811015610b0d5780610ab261029e61029760019486610b55565b610abf61097c8386610b55565b81151580610af6575b610ad5575b505001610a96565b610ae5610aed91600a8801610f9b565b918254610be3565b90555f80610acd565b5064ffffffffff421664ffffffffff821611610ac8565b604051848152602090f35b60206103cb610b263661038d565b91610fc2565b9060018060a01b03165f5260205260405f2090565b634e487b7160e01b5f52603260045260245ffd5b8054821015610b6a575f5260205f2001905f90565b610b41565b6001600160701b031690565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff1663ffffffff81146104b45760010190565b80546001600160701b0319169055565b80546001600160701b0319166001600160701b03909216919091179055565b90600182018092116104b457565b919082018092116104b457565b61ffff1661ffff81146104b45760010190565b9063ffffffff1663ffffffff19825416179055565b805415610b6a575f5260205f20905f90565b8054821015610b6a575f5260205f209060021b01905f90565b5f198101919082116104b457565b6001198101919082116104b457565b919082039182116104b457565b634e487b7160e01b5f52601260045260245ffd5b8115610c8b570490565b610c6d565b60281c64ffffffffff1690565b9064ffffffffff8091169116029064ffffffffff82169182036104b457565b610cc98260038301610b2c565b8054908115610e13578464ffffffffff610cf46002610ce785610c18565b50015464ffffffffff1690565b1611610e135790610d055f91610c43565b915b828210610dc457610d189250610c2a565b5090610d2c600283015464ffffffffff1690565b8464ffffffffff821614610da257610d8394610d558354610d4f6106ec82610c90565b90610c9d565b9364ffffffffff610d7b610d6a8354600f0b90565b926003600182015491015490610c60565b921693611376565b50505f81600f0b135f14610d9d576001600160801b031690565b505f90565b505054610dc19250610db59150600f0b81565b6001600160801b031690565b90565b90610de0610dda610dd58584610be3565b610bd5565b60011c90565b9086610df46102e66002610ce78688610c2a565b11610e035750915b9190610d07565b9250610e0e90610c43565b610dfc565b50505050505f90565b6001600160701b0391821690821601919082116104b457565b64ffffffffff62093a809116019064ffffffffff82116104b457565b9064ffffffffff8091169116019064ffffffffff82116104b457565b9064ffffffffff8091169116039064ffffffffff82116104b457565b9064ffffffffff16908115610c8b5764ffffffffff160690565b600281018054908115610f93578364ffffffffff610ec56002610ce785610c18565b1611610f935790610ed65f91610c43565b915b828210610f4f57610ee99250610c2a565b5090610efd600283015464ffffffffff1690565b8364ffffffffff821614610f3d57610d8393610f208354610d4f6106ec82610c90565b9364ffffffffff610f35610d6a8354600f0b90565b9216936111cb565b505054610dc19150610db590600f0b81565b90610f60610dda610dd58584610be3565b9085610f746102e66002610ce78688610c2a565b11610f835750915b9190610ed8565b9250610f8e90610c43565b610f7c565b505050505f90565b9064ffffffffff165f5260205260405f2090565b818102929181159184041417156104b457565b43831161119f57610fd68260038301610b2c565b908154918215610e135784610ffa6102e66002610ff285610c18565b500154610c90565b11610e13575f61100984610c43565b80821061115e575061101b8183610c2a565b5095600287015461102e6102e682610c90565b828114611145576005860154610d839993929190801561113c57925b8181111561112b5761105f916106ec91610c60565b9464ffffffffff8616948542115f1461112157806110866110808842610c60565b9a610c43565b116110ed575b50509061109891610faf565b948086116110e5575b506110df6102e66110b98654610d4f6106ec82610c90565b966110d96110c88554600f0b90565b946003600182015491015490610c60565b94610be3565b93611376565b94505f6110a1565b61109893929850866111136002610ce76111189561110d6102e696610bd5565b90610c2a565b610e6d565b9690915f61108c565b806110865f611080565b505061105f5f9164ffffffffff1690565b50600c9261104a565b5050505050505050610db5610db5610dc19254600f0b90565b9061116f610dda610dd58484610be3565b90876111836102e66002610ff28689610c2a565b1161118f575090611009565b915061119a90610c43565b611009565b5050505f90565b600f91820b910b039060016001607f1b0319821260016001607f1b038313176104b457565b9390919495929564ffffffffff5f9116908115611367578615611358576111f58895979895611ad9565b97935b64ffffffffff891664ffffffffff851681116112965761122d846112286112226102e68b8f610e6d565b89610faf565b610c81565b9160016001607f1b038311611287578a9264ffffffffff9161125b916001600160801b0316600f0b906111a6565b971603611274575b61126d9098610e35565b97946111f8565b61128091945f8861263e565b9287611263565b63dbdeca0f60e01b5f5260045ffd5b5094939750959450905f84600f0b1261134f575b64ffffffffff811664ffffffffff841614611334576112d26102e66112d89461122893610e6d565b87610faf565b9060016001607f1b038211611287576112fd916001600160801b0316600f0b906111a6565b5f81600f0b1261132c575b8315611325575b5f81600f0b125f1461132157505f9290565b9290565b505f61130f565b915081611308565b5050508315611325575f81600f0b125f1461132157505f9290565b945082946112aa565b505f9650869550859450505050565b63339bfa2360e11b5f5260045ffd5b94969390929695919564ffffffffff5f911690811561136757871561146c576113a28996989996611ad9565b98945b64ffffffffff8a1664ffffffffff85168111611430576113d6846112286113d06102e68f8d90610e6d565b8a610faf565b9160016001607f1b038311611287578b9264ffffffffff91611404916001600160801b0316600f0b906111a6565b98160361141d575b6114169099610e35565b98956113a5565b6114299195858961263e565b938861140c565b509594985096955091505f84600f0b1261134f5764ffffffffff811664ffffffffff841614611334576112d26102e66112d89461122893610e6d565b505f975087965086955050505050565b63ffffffff600182015416918154925b8381106114a25763965307a760e01b5f5260045ffd5b64ffffffffff6114b28285610b55565b505460701c1664ffffffffff831614806114da575b6114d35760010161148c565b9250505090565b506114e58184610b55565b50546001600160701b031615156114c7565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b0382111761152657604052565b6114f7565b601f909101601f19168101906001600160401b0382119082101761152657604052565b6040519061155d60a08361152b565b565b6040519061155d60408361152b565b6040519061157b8261150b565b5f6080838281528260208201528260408201528260608201520152565b9064ffffffffff169052565b906040516115b18161150b565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b600f91820b910b019060016001607f1b0319821260016001607f1b038313176104b457565b634e487b7160e01b5f525f60045260245ffd5b8054600160401b8110156115265761164091600182018155610c2a565b9190916116c85760808160039251600180841b031985541690600180851b0316178455602081015160018501556116c16002850164ffffffffff60408401511664ffffffffff1982541617815561169f606084015164ffffffffff1690565b815464ffffffffff60281b191660289190911b64ffffffffff60281b16179055565b0151910155565b611610565b919392906116f564ffffffffff4216926116ee8554610d4f6106ec82610c90565b9685612702565b92839261170061156e565b5060038201926117108185610b2c565b548015611984576117316117379161110d61172b8589610b2c565b91610c43565b506115a4565b915b60808301805161174a9084876129f4565b9061175361156e565b9687916117638560408501611598565b858d864364ffffffffff16998a606088019061177e91611598565b8051600f0b946020820151905161179491610c60565b60409091015164ffffffffff16906117ac958d611376565b96909490918b6117bf8460048d01610b2c565b6002015460208701526117d1916115eb565b600f0b845260808401526117e491610b2c565b906117ee91611623565b60028501805490939080156119535761173161180c61181292610c43565b86610c2a565b9a5b60808c019081516118259089612921565b9461182e61156e565b9d8e9861183e8360408c01611598565b61184b9060608b01611598565b8051600f0b936020820151905161186191610c60565b60409091015164ffffffffff1690611879948b6111cb565b91976001915001546020870152145f14976118f1976118ea96610dc19a6119415750506118b16118aa8851600f0b90565b600f0b8652565b5f82600f0b129081611925575b50611901575b505f6118da6118d48551600f0b90565b600f0b90565b126118f9575b6080830152611623565b51600f0b90565b9251600f0b90565b5f83526118e0565b61191861191f916119138651600f0b90565b6111a6565b600f0b8452565b5f6118c4565b90506119328551600f0b90565b90600f0b90600f0b135f6118be565b61194e916118aa916115eb565b6118b1565b5061195c61154e565b5f81525f60208201526119728460408301611598565b5f60608201525f60808201529a611814565b5061198d61154e565b5f81525f60208201526119a38360408301611598565b5f60608201525f608082015291611739565b9190918054831015610b6a575f526005600660205f208185040193060290565b9064ffffffffff809160031b9316831b921b19161790565b919064ffffffffff611a0292169083546119d5565b9055565b8054600160401b81101561152657611a2d81611a0293600164ffffffffff940181556119b5565b919093169083546119d5565b919283156104b95781611a5b611a859260068601611a6084611a5b8484610b2c565b610f9b565b5415611abe575b600887019684611a77818a610f9b565b5415611aab575b5050610b2c565b9182548481018091116104b457611a9c9355610f9b565b80549182018092116104b45755565b6009611ab79201611a06565b5f84611a7e565b611ad484611acf8460078b01610b2c565b611a06565b611a67565b64ffffffffff610dc1911664ffffffffff62093a80611afa81808504610c9d565b920616611b08575f90610e51565b62093a8090610e51565b64ffffffffff8216918215610c8b5764ffffffffff611b4282611b3c81610dc19785881604610c9d565b94610e89565b16611b4f57505f90610e51565b90610e51565b8054600160401b81101561152657611b7291600182018155610b55565b9190916116c857805160209190611b92906001600160701b031684610bb6565b0151815464ffffffffff60701b191660709190911b64ffffffffff60701b16179055565b805480151580611c9a575b80611c71575b611c6557611bdf6108ae600184015463ffffffff1690565b818110611c13575050611c0d610dc192611c07611bfa61155f565b915f835260208301611598565b82611b55565b54610c43565b611c2061097c8285610b55565b64ffffffffff80861691161480611c3e575b6114d357600101611bdf565b50611c498184610b55565b50546001600160701b0390611c5d90610b6f565b161515611c32565b9050610dc19150610c43565b50611c7e61043f82610c43565b50546001600160701b0390611c9290610b6f565b161515611bc7565b50611cb061097c611caa83610c43565b84610b55565b64ffffffffff808516911614611bc1565b929493919464ffffffffff4216611cdf8554610d4f6106ec82610c90565b965f945f938364ffffffffff821611611f8e575b508264ffffffffff821611611f35575b50506003850190611d148483610b2c565b54908115611f275786898793611d2a8887610b2c565b90611d3490610c43565b611d3d91610c2a565b50611d47906115a4565b94876080870188828251611d5c9082896129f4565b92611d6561156e565b9c8d97611d758b60408b01611598565b64ffffffffff43169c8b90611d8d8f60608d01611598565b8051600f0b9460208201519051611da391610c60565b60409091015164ffffffffff1690611dbb958d611376565b9a9192909860040190611dcd91610b2c565b600201546020880152611ddf916111a6565b90611de9916115eb565b600f0b84526080840152611dfc91610b2c565b90611e0691611623565b600288019283548015611f2757611e1d8a91610c43565b611e279086610c2a565b50611e31906115a4565b9b60808d01948551611e439084612921565b95611e4c61156e565b9e8f99611e5c8460408d01611598565b611e699060608c01611598565b8051600f0b9160208201519051611e7f91610c60565b60409091015164ffffffffff1691611e96956111cb565b919a6001915001546020870152145f14976118f1976118ea96610dc19a611f0d57505050611ecf611ec88751600f0b90565b600f0b8552565b5f81600f0b1280611eef575b61190157505f6118da6118d48551600f0b90565b508351600f0b611f036118d48851600f0b90565b90600f0b13611edb565b611f1d611ec892611f22946111a6565b6115eb565b611ecf565b62dc341f60e01b5f5260045ffd5b829350611f48611f6e9361122892610e6d565b9164ffffffffff8a16928364ffffffffff821611611f87575b64ffffffffff1690610faf565b60016001607f1b03811161128757600f0b905f80611d03565b5089611f61565b611fc791965083611f9e91610e6d565b64ffffffffff8a16908164ffffffffff821611611fdf575b64ffffffffff611228911684610faf565b60016001607f1b03811161128757600f0b945f611cf3565b5089611fb6565b6040518154808252909291839061200460208301915f5260205f2090565b925f905b8060058301106120eb5761155d9454918181106120d3575b8181106120b7575b81811061209b575b81811061207f575b818110612063575b1061204e575b50038361152b565b60c81c64ffffffffff1681526020015f612046565b60a083901c64ffffffffff168452926001906020019301612040565b607883901c64ffffffffff168452926001906020019301612038565b605083901c64ffffffffff168452926001906020019301612030565b602883901c64ffffffffff168452926001906020019301612028565b64ffffffffff83168452926001906020019301612020565b91600691935060c060019161216787546121128364ffffffffff831664ffffffffff169052565b602881901c64ffffffffff166020840152605081901c64ffffffffff166040840152607881901c64ffffffffff16606084015260a081901c64ffffffffff16608084015260c81c64ffffffffff1660a0830152565b019401920185929391612008565b8051821015610b6a5760209160051b010190565b805480156121b8575f19019061219f82826119b5565b815464ffffffffff60039290921b9190911b1916905555565b634e487b7160e01b5f52603160045260245ffd5b9291909181156104b95760088401916121e58484610f9b565b5490600686016121f986611a5b8684610b2c565b548683868184111561239057612215611a5b9261221b95610c60565b94610b2c565b55808211156123885761222d91610c60565b6122378484610f9b565b55600784019261224f61224a8386610b2c565b611fe6565b925f5b84518110156122f1578061227661226b60019388612175565b5164ffffffffff1690565b64ffffffffff80861691161461228d575b01612252565b6122da6122c16122b06122a0888b610b2c565b6122aa8a51610c43565b906119b5565b905464ffffffffff9160031b1c1690565b6122d4836122cf898c610b2c565b6119b5565b906119ed565b6122ec6122e78689610b2c565b612189565b612287565b509350939050600991500161230581611fe6565b915f5b8351811015612381578061232161226b60019387612175565b64ffffffffff8088169116148061236f575b61233e575b01612308565b61236161235761226b6123518851610c43565b88612175565b6122d483876119b5565b61236a84612189565b612338565b5061237a8684610f9b565b5415612333565b5050505050565b50505f61222d565b61221b9350611a5b91505f94610b2c565b90612421939264ffffffffff4216926123c18154610d4f6106ec82610c90565b9360038201906123e16123d48684610b2c565b61110d611c0d8886610b2c565b50936123f2600386015487866129f4565b61242882600161240061156e565b9861240e8760408c01611598565b64ffffffffff43169d8e60608c01611598565b0154610c60565b90602087019182525f8752608087015261244b866124468987610b2c565b611623565b600261245a8860048801610b2c565b9151910155600284019081548015611f275761173161247b61248192610c43565b84610c2a565b916080830192612492845188612921565b905f9a5f965f9b5f9960016124a78383610b2c565b54116125a7575b50506124b861156e565b9e8f6124c78360408301611598565b606001906124d491611598565b8251600f0b926020810197885190516124ec91610c60565b60409091015164ffffffffff1690612504948c6111cb565b96919a905085511061259857610dc19a6118f19a6001988f9661252b906125679951610c60565b602088019081529803612586575050612548611ec88a51600f0b90565b5f81600f0b12806125725761190157505f6118da6118d48551600f0b90565b5191015551600f0b90565b508351600f0b611f036118d48b51600f0b90565b61259391611ec8916111a6565b612548565b632ca6f13b60e01b5f5260045ffd5b819e506125bd929d5081949a5080939950610b2c565b916125c791610b2c565b546125d190610c51565b6125da91610c2a565b50809a868b83546125eb90600f0b90565b93600101549d8e600382015461260091610c60565b60029091015464ffffffffff1690612618958d611376565b97919690969b9a5f806124ae565b9161263a939164ffffffffff421693611cc1565b5050565b919290916001600160a01b03831615806126ec575b6126985760060161266882611a5b8584610b2c565b546126735750505090565b61268092611a5b91610b2c565b548181111561268f5750505f90565b610dc191610c60565b9150600a6126a98260088501610f9b565b549201926126c16126ba8386610f9b565b5482610be3565b8311156126d057505050505f90565b6126e06126e792610dc195610f9b565b5490610be3565b610c60565b506126fa8260088301610f9b565b541515612653565b9064ffffffffff6127529281946127258342169254848082169160281c16610c9d565b9180848316115f146127755761273a91610e6d565b905b81838216968791161161276d575b501690610faf565b8115610c8b570460016001607f1b03811161128757600f0b90565b90505f61274a565b50505f9061273c565b6001600160401b0381116115265760051b60200190565b9061279f8261277e565b6127ac604051918261152b565b82815280926127bd601f199161277e565b0190602036910137565b5f1981146104b45760010190565b600160401b8211611526578054908281558183106127f257505050565b5f526005600660205f20818381818801048301950104019306028061282a575b505b81811061281f575050565b5f8155600101612814565b5f198201908154905f199060200360031b1c1690555f612812565b815190916001600160401b0382116115265760206128729161286784866127d5565b01925f5260205f2090565b60068204915f5b8381106128dc575060068302900380612893575b50505050565b925f935f5b8181106128ad5750505001555f80808061288d565b90919460206128d26001926128c7895164ffffffffff1690565b9085600502906119d5565b9601929101612898565b5f5f5b600681106128f4575083820155600101612879565b9590602061291860019261290d855164ffffffffff1690565b908a600502906119d5565b920196016128df565b90915f90600983019261293384611fe6565b9061293e8251612795565b925f5b83518110156129e45761295761226b8286612175565b61297c6129678260088701610f9b565b5461297583600a8801610f9b565b5490610c60565b9081151590816129d1575b506129be5750806129b86129a061226b60019488612175565b6129b36129ac8a6127c7565b9989612175565b611598565b01612941565b6129cb9060019299610be3565b976129b8565b905064ffffffffff42911611155f612987565b509491505061155d928252612845565b91925f916001600160a01b038116612a9957506009830192612a1584611fe6565b90612a208251612795565b925f5b83518110156129e457612a3961226b8286612175565b612a496129678260088701610f9b565b908115159081612a86575b50612a73575080612a6d6129a061226b60019488612175565b01612a23565b612a809060019299610be3565b97612a6d565b905064ffffffffff42911611155f612a54565b93916007840193612aad61224a8787610b2c565b95612ab88751612795565b935f5b8851811015612b7c57612ad161226b828b612175565b612ae281611a5b8660068901610b2c565b5480151580612b6b575b612b1e57505080612b18612b0561226b6001948d612175565b6129b3612b11896127c7565b988a612175565b01612abb565b612b2c81600194939a610be3565b98600a870182612b3c8383610f9b565b541015612b4c575b505050612b18565b612b6191612b5991610f9b565b918254610c60565b90555f8080612b44565b504264ffffffffff83161115612aec565b509590915061155d949650612b92928452610b2c565b61284556fea26469706673582212207936bfc6501199d09daaa778108714e0b9374a1dbe8f8393d2b94d23f01a292b64736f6c634300081e0033";
17
+ static readonly bytecode = "0x60808060405234601b576133e890816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c90816304361f6a14610f3157816305c6882814610d8957816311bab5e714610d755781631a6e6bdf14610cc0578163318d02a914610b685781633f0d4b2214610b4b57816341ce9a1a1461096557816344a6ebe51461094957816352ad4d9b146108ff57816377861e7c146102255781639c8fe60d146100de575063eedb1fb0146100c2575f80fd5b60206100d66100d036610fe7565b91611419565b604051908152f35b610221576060366003190112610221576004356100f9610fd1565b90610102610fbd565b6001600160a01b0383165f9081526004830160205260409020906101268183611a73565b610130818461104d565b50546001600160701b03169485156102125761014f61017e928561104d565b5080546001600160701b03191690554264ffffffffff16928690610176858284868b6124f1565b505086612bd5565b63ffffffff6001830154165b825481101561020757806101a06001928561104d565b50828060701b0390541664ffffffffff6101ba838761104d565b505460701c16811515806101fe575b6101d6575b50500161018a565b64ffffffffff165f52600a86016020526101f560405f2091825461108d565b905586806101ce565b508481116101c9565b602085604051908152f35b63162908e360e11b5f5260045ffd5b5f80fd5b6102215760403660031901126102215761023d610fd1565b6001600160a01b0381165f90815260048035016020819052604082206001810154815493948594909163ffffffff165b8181106108aa575050831561089b5760043560010154841161088e5761029984600160043501546110c5565b600160043501555b5f60028301556102c16004355464ffffffffff8082169160281c166110f0565b6001600160a01b0382165f9081526004356003016020526040902080549196915f198101908111610772576102f5916110ac565b5093610308600386015484600435612f82565b90610339876001610317611b2c565b9864ffffffffff421660408b015264ffffffffff431660608b015201546110c5565b91602087019283525f8752608087015260018060a01b0384165f5260036004350160205261036a8660405f20611bc2565b60018060a01b0384165f52602052600260405f209151910155600260043501548015610880575f198101908111610772576103ad6103b3916002600435016110ac565b50611b56565b946080860151925f976103ca600960043501612a2c565b956103d58751612f42565b975f5b8851811015610492578b8964ffffffffff6103f38483612b83565b511664ffffffffff81165f5260086004350160205261042e60405f205464ffffffffff83165f52600a6004350160205260405f2054906110c5565b908115159081610487575b5061047157509061046961046264ffffffffff6104598660019796612b83565b5116929f612f74565b9e8d612b83565b525b016103d8565b905061048191506001929961108d565b9761046b565b90504210155f610439565b508a895289878c8b6001600160401b03821161086c57600160401b821161086c5760043560090180549083905580831061080e575b50602001906009600435015f5260205f20905f5b6006820481106107cf5750600680820402808203610786575b505050506001600160a01b0386165f90815260043560030160205260408120548190819081906001106106fb575b61057b61052d611b2c565b9964ffffffffff421660408c015264ffffffffff431660608c01528751600f0b9760208101986105638a516080840151906110c5565b64ffffffffff60408142169401511691600435611683565b97809295915051106106ec578b61059291516110c5565b60208a0190815295036106d95750508351600f0b86525b5f81600f0b12806106c8575b6106af575b505f8551600f0b126106a7575b60808501526105db84600260043501611bc2565b516001600435015551600f0b9151600f0b9281549063ffffffff6001840154165b82811061063e5750509463ffffffff916001838060809916168419828401541617910155604051948552166020840152600f0b6040830152600f0b6060820152f35b8061064b6001928661104d565b50828060701b039054168364ffffffffff610666848961104d565b505460701c169180610693575b505050610680818661104d565b50828060701b03198154169055016105fc565b61069f92600435612bd5565b898381610673565b5f85526105c7565b6106bd908651600f0b61165e565b600f0b8552886105ba565b508551600f0b8451600f0b126105b5565b6106e29161165e565b600f0b86526105a9565b632ca6f13b60e01b5f5260045ffd5b505050506001600160a01b0386165f908152600435600301602052604090208054600119810190811161077257610731916110ac565b5061076987878354600f0b936001810154946107516003830154876110c5565b64ffffffffff600281421694015416916004356118be565b90929190610522565b634e487b7160e01b5f52601160045260245ffd5b925f935f5b81840381106107a657505050600690040155888080806104f4565b90919460206107c560019264ffffffffff8951169085600502906121df565b960192910161078b565b5f5f5b600681106107e75750838201556001016104db565b9490602061080560019264ffffffffff8551169089600502906121df565b920195016107d2565b6009600435015f5260205f20600660058181870104830193010401906005600685060280610851575b505b81811061084657506104c7565b5f8155600101610839565b5f198201908154905f199060200360031b1c1690558c610837565b634e487b7160e01b5f52604160045260245ffd5b62dc341f60e01b5f5260045ffd5b5f600160043501556102a1565b6343b976c160e01b5f5260045ffd5b6108b4818561104d565b50546001600160701b03166108cc575b60010161026d565b94956108f76108dc600192611076565b976108e7888761104d565b50838060701b039054169061108d565b9590506108c4565b60403660031901126102215760043564ffffffffff81168103610221576024359064ffffffffff821682036102215760209161093a9161233c565b64ffffffffff60405191168152f35b60403660031901126102215760206100d66024356004356112e9565b61022157608036600319011261022157600435610980610fd1565b610988610fbd565b90610991610fa9565b9164ffffffffff81168015610b3c576001600160a01b0383165f9081526004860160205260409020946109c48387611a73565b936109e46109d2868961104d565b50546001600160701b0316958861104d565b5080546001600160701b031916905584156102125764ffffffffff80421696610a2a610a248554610a1e8582168096819360281c166110f0565b936110f0565b87611297565b64ffffffffff610a44610a3d848c611297565b938b611297565b1664ffffffffff82161115610b335750610a61610a6792826112cf565b906112b3565b925b64ffffffffff841696878214918215610b27575b508115610b1c575b50610b0d578483610af093610aa78a610aa1859860809d61237f565b9061104d565b5080546001600160701b0390610ac09086908316611262565b82546001600160701b0319169116179055610aeb84610ae2848a8784876124f1565b9a909984612bd5565b61222e565b6040519384526020840152600f0b6040830152600f0b6060820152f35b631196666760e11b5f5260045ffd5b905086111588610a85565b81925011159089610a7d565b91505092610a69565b63d5b25b6360e01b5f5260045ffd5b5f3660031901126102215760405160016001607f1b038152602090f35b61022157610b7536611011565b90929183156102125764ffffffffff82168015908115610cab575b50610b3c57606093610c8964ffffffffff93610bcb85610be281421693610bdc83610bd7610bd18d5483811698898095819360281c166110f0565b956110f0565b88611297565b61233c565b94611297565b168287161115610ca257610bf5916112b3565b9283925b6001600160a01b0382165f9081526004880160205260409020600290610c28610c22878361237f565b8261104d565b5080546001600160701b0390610c4390868316908316611262565b82546001600160701b0319169116179055018054610c6290839061108d565b905560018701610c7382825461108d565b9055610c818482848a611c59565b94909761222e565b60405193600f0b8452600f0b6020840152166040820152f35b50928392610bf9565b905064ffffffffff845460281c161085610b90565b61022157610ccd36611011565b90809392931561021257604093610d639160018060a01b0382165f52600485016020526002865f20610d02610c228783611a73565b5080546001600160701b0390610d1d90868316908316611262565b82546001600160701b0319169116179055018054610d3c90839061108d565b905560018501610d4d82825461108d565b9055610d5b84828488611c59565b94909561222e565b825191600f0b8252600f0b6020820152f35b60206100d6610d8336610fe7565b9161110f565b61022157604036600319011261022157610da1610fd1565b6001600160a01b03165f908152600480350160205260408120600281015490919081901561089b5782546001840180549194909163ffffffff16804264ffffffffff165b878210610e555750505b8563ffffffff82161080610e39575b15610e1157610e0c90611076565b610def565b825463ffffffff191663ffffffff919091161782556040805185815261ffff85166020820152f35b50610e44818361104d565b50546001600160701b031615610dfe565b909495610e65868599949961104d565b5080546001600160701b0381169291908a908415610efc5764ffffffffff869160701c1611610eed575080546001600160701b031916905561ffff91610eaa9161108d565b961661ffff8114610772576001019463ffffffff88168114610ed7575b9060018893925b01919750610de5565b9190610ee4600198611076565b97509091610ec7565b94939250509695600190610ece565b5091989792505063ffffffff168114610f1b575b906001889392610ece565b9190610f28600198611076565b97509091610f10565b60e03660031901126102215760243580600f0b810361022157610f52610fa9565b9060843564ffffffffff811681036102215760a43564ffffffffff811681036102215760c435916001600160a01b038316830361022157602094610f9c94604435906004356118be565b505060405190600f0b8152f35b6064359064ffffffffff8216820361022157565b6044359064ffffffffff8216820361022157565b602435906001600160a01b038216820361022157565b606090600319011261022157600435906024356001600160a01b0381168103610221579060443590565b608090600319011261022157600435906024356001600160a01b038116810361022157906044359060643564ffffffffff811681036102215790565b8054821015611062575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b63ffffffff1663ffffffff81146107725760010190565b9190820180921161077257565b805415611062575f5260205f20905f90565b8054821015611062575f5260205f209060021b01905f90565b9190820391821161077257565b81156110dc570490565b634e487b7160e01b5f52601260045260245ffd5b9064ffffffffff8091169116029064ffffffffff821691820361077257565b6001600160a01b0382165f90815260038201602052604090208054908115611259578464ffffffffff60026111438461109a565b5001541611611259575f915f1981019081116107725791905b8282106111f75761116d92506110ac565b509064ffffffffff6002830154168481146111e5576111c69461119e835464ffffffffff8082169160281c166110f0565b9364ffffffffff6111be8254600f0b9260036001820154910154906110c5565b9216936118be565b50505f81600f0b135f146111e0576001600160801b031690565b505f90565b5050546001600160801b031692915050565b90611202838261108d565b600181018091116107725760011c908664ffffffffff600261122485876110ac565b50015416116112375750915b919061115c565b92505f1981019081111561123057634e487b7160e01b5f52601160045260245ffd5b50505050505f90565b6001600160701b03918216908216019190821161077257565b64ffffffffff62093a809116019064ffffffffff821161077257565b9064ffffffffff8091169116019064ffffffffff821161077257565b9064ffffffffff8091169116039064ffffffffff821161077257565b9064ffffffffff169081156110dc5764ffffffffff160690565b6002810180549081156113fe578364ffffffffff60026113088461109a565b50015416116113fe575f915f1981019081116107725791905b82821061139c5761133292506110ac565b509064ffffffffff60028301541683811461138b576111c693611363835464ffffffffff8082169160281c166110f0565b9364ffffffffff6113838254600f0b9260036001820154910154906110c5565b921693611683565b5050546001600160801b0316919050565b906113a7838261108d565b600181018091116107725760011c908564ffffffffff60026113c985876110ac565b50015416116113dc5750915b9190611321565b92505f198101908111156113d557634e487b7160e01b5f52601160045260245ffd5b505050505f90565b8181029291811591840414171561077257565b43831015610880576001600160a01b0382165f90815260038201602052604090208054908115611259578464ffffffffff60026114558461109a565b50015460281c1611611259575f925f19830192831161077257825b8085106115f2575061148284836110ac565b5093600285015464ffffffffff8160281c16918883146115db5760058401549283156115d35783995b818111156115c45764ffffffffff916114c3916110c5565b925b16948542115f146115bd57816114db87426110c5565b971161157d575b50506111c6976114f191611406565b938064ffffffffff611503878761108d565b16951015611546575b5050611526815464ffffffffff8082169160281c166110f0565b936115408154600f0b9160036001820154910154906110c5565b916118be565b91935090818111156115755764ffffffffff9161156661156b928561108d565b6110c5565b165b915f8061150c565b50508061156d565b91955097600189018099116107725764ffffffffff6115b2868260026115a96111c69e6114f1986110ac565b500154166112b3565b1695918199506114e2565b815f6114db565b505064ffffffffff5f926114c5565b600c996114ab565b505093546001600160801b03169695505050505050565b936115fd858261108d565b600181018091116107725760011c908764ffffffffff600261161f85886110ac565b50015460281c1611611632575093611470565b94505f1981019081111561147057634e487b7160e01b5f52601160045260245ffd5b81156110dc570690565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761077257565b9190959364ffffffffff5f96169283156118af57821561189f576116a9859395936122fb565b94975b64ffffffffff8616908964ffffffffff8516831161189557866116e9816116e464ffffffffff6116dc8b8e6112b3565b168095611406565b611654565b15158061188e575b1561187c57611703611708928d611406565b6110d2565b60018101809111610772575b60016001607f1b03811161181b5764ffffffffff9161173f916001600160801b0316600f0b9061165e565b941603611869575b6117508561127b565b92881561175f579492946116ac565b949250505b64ffffffffff811664ffffffffff8316146118445764ffffffffff91611789916112b3565b1690611799816116e48489611406565b15158061183d575b1561182a576117036117b39287611406565b6001810180911161077257905b60016001607f1b03821161181b576117e4916001600160801b0316600f0b9061165e565b5f81600f0b12611813575b831561180c575b5f81600f0b125f1461180857505f9290565b9290565b505f6117f6565b9150816117ef565b63dbdeca0f60e01b5f5260045ffd5b6117036118379287611406565b906117c0565b505f6117a1565b5050505f81600f0b1261181357831561180c575f81600f0b125f1461180857505f9290565b9684611876915f8a612e1f565b96611747565b611703611889928d611406565b611714565b505f6116f1565b5095505050611764565b50505050509150505f905f905f90565b63339bfa2360e11b5f5260045ffd5b9190969495929364ffffffffff5f97169283156118af578215611a62576118e7869396936122fb565b95985b64ffffffffff87169064ffffffffff84168211611a595764ffffffffff611911868a6112b3565b16868c611922826116e48584611406565b151580611a47575b15611a355761193c9261170391611406565b60018101809111610772575b60016001607f1b03811161181b5764ffffffffff91611973916001600160801b0316600f0b9061165e565b941603611a22575b6119848661127b565b928915611993579592956118ea565b959250505b64ffffffffff811664ffffffffff8316146119fc5764ffffffffff916119bd916112b3565b16916119cd826116e4858a611406565b151590816119e9575b501561182a576117036117b39287611406565b6001600160a01b0316151590505f6119d6565b505050505f81600f0b1261181357831561180c575f81600f0b125f1461180857505f9290565b9785611a2f91868b612e1f565b9761197b565b611a429261170391611406565b611948565b506001600160a01b038a16151561192a565b96505050611998565b5050505050509150505f905f905f90565b63ffffffff600182015416918154925b838110611a995763965307a760e01b5f5260045ffd5b64ffffffffff611aa9828561104d565b505460701c1664ffffffffff83161480611ad1575b611aca57600101611a83565b9250505090565b50611adc818461104d565b50546001600160701b03161515611abe565b60a081019081106001600160401b0382111761086c57604052565b601f909101601f19168101906001600160401b0382119082101761086c57604052565b60405190611b3982611aee565b5f6080838281528260208201528260408201528260608201520152565b90604051611b6381611aee565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b600f91820b910b019060016001607f1b0319821260016001607f1b0383131761077257565b8054600160401b81101561086c57611bdf916001820181556110ac565b919091611c465760808160039251600180841b031985541690600180851b0316178455602081015160018501556002840164ffffffffff60408301511681549064ffffffffff60281b606085015160281b169160018060501b031916171790550151910155565b634e487b7160e01b5f525f60045260245ffd5b939164ffffffffff611703611cbd9295939582885495611c8b82808960281c169816611c85818a6110f0565b986110f0565b9042831683821611156121b757611ca590834216906112b3565b905b8183821696879116116121af575b501690611406565b9360016001607f1b03851161181b57611cd4611b2c565b506001600160a01b0384165f908152600382016020819052604090912054909490928315612176576001600160a01b0382165f908152602087905260409020935f198101908111610772576103ad611d2f91611dc7966110ac565b955b6080870192611d978184611d478751838a612f82565b9a611d50611b2c565b9764ffffffffff421660408a015264ffffffffff431660608a0152611d818251600f0b9160208401519051906110c5565b64ffffffffff604081421694015116918b6118be565b99915f9891985060018060a01b0384165f5260048801602052600260405f20015460208801528b600f0b90611b9d565b600f0b8552608085015260018060a01b03165f52602052611deb8260405f20611bc2565b6002830154801561213f575f198101908111610772576103ad611e1191600286016110ac565b9695945b6080880151925f98611e2960098701612a2c565b96611e348851612f42565b995f5b8951811015611ef2578b9c64ffffffffff611e55839d9e9d8d612b83565b511664ffffffffff81165f5260088b01602052611e8c60405f205464ffffffffff83165f52600a8d0160205260405f2054906110c5565b908115159081611ee7575b50611ed2575090600191611ec664ffffffffff611eb4848f612b83565b511691611ec081612f74565b9e612b83565b525b019b9a999b611e37565b611ee1919c506001929961108d565b97611ec8565b90504210155f611e97565b508b8b52949a93999298919750939290916001600160401b03821161086c57600160401b821161086c5760098701548260098901558083106120e3575b5060200190600987015f5260205f2060068204915f5b8381106120a457506006830290038061205e575b505050509160029391612008969593611fbe611f73611b2c565b9b8c9864ffffffffff421660408b015264ffffffffff431660608b01528051600f0b611fa860208301516080840151906110c5565b64ffffffffff604081421694015116918a611683565b9050600187939293015460208a0152145f1461204657508751600f0b86525b5f82600f0b129081612035575b5061201c575b505f8451600f0b12612014575b608084015201611bc2565b51600f0b9151600f0b90565b5f8452611ffd565b61202a908551600f0b61165e565b600f0b84525f611ff0565b9050600f0b8551600f0b135f611fea565b6120549082600f0b90611b9d565b600f0b8652611fdd565b925f935f5b81811061207b5750505001558161200860025f611f59565b909194602061209a60019264ffffffffff8951169085600502906121df565b9601929101612063565b5f5f5b600681106120bc575083820155600101611f45565b959060206120da60019264ffffffffff855116908a600502906121df565b920196016120a7565b600988015f5260205f20600660058181870104830193010401906005600685060280612124575b505b8181106121195750611f2f565b5f815560010161210c565b5f198201908154905f199060200360031b1c1690555f61210a565b5060405161214c81611aee565b5f81525f602082015264ffffffffff421660408201525f60608201525f6080820152969594611e15565b611dc7935060405161218781611aee565b5f81525f602082015264ffffffffff421660408201525f60608201525f608082015295611d31565b90505f611cb5565b505f90611ca7565b9190918054831015611062575f526005600660205f208185040193060290565b9064ffffffffff809160031b9316831b921b19161790565b8054600160401b81101561086c5761221e8161222a93600164ffffffffff940181556121bf565b919093169083546121df565b9055565b91929083156102125764ffffffffff91600684019060018060a01b0381165f528160205260405f208484165f5260205260405f2054156122d7575b60088501948484165f52856020528360405f2054156122c4575b505060018060a01b03165f5260205260405f208282165f5260205260405f206122ad85825461108d565b9055165f5260205261222a60405f2091825461108d565b60096122d092016121f7565b5f83612283565b60018060a01b0381165f52600785016020526122f68360405f206121f7565b612269565b61231162093a808064ffffffffff8416046110f0565b61232f9162093a8064ffffffffff9182160616612332575f90611297565b90565b62093a8090611297565b64ffffffffff82169182156110dc5764ffffffffff61236c826123668161232f97858816046110f0565b946112cf565b1661237957505f90611297565b90611297565b90815490811515806124c1575b80612499575b6124895763ffffffff6001840154165b82811061243b575060408051929083016001600160401b0381118482101761086c576040525f835264ffffffffff6020840192168252600160401b81101561086c578060016123f4920185558461104d565b929092611c465751825491516001600160981b03199092166001600160701b03919091161760709190911b64ffffffffff60701b16179055545f1981019081116107725790565b64ffffffffff61244b828661104d565b505460701c1664ffffffffff8316148061246c575b611aca576001016123a2565b50612477818561104d565b50546001600160701b03161515612460565b505f198101915081116107725790565b505f198201828111610772576124af908461104d565b50546001600160701b03161515612392565b505f198201828111610772576124dd64ffffffffff918561104d565b505460701c1664ffffffffff82161461238c565b9094939461250d825464ffffffffff8082169160281c166110f0565b925f965f9564ffffffffff421664ffffffffff8216116129cc575b5064ffffffffff421664ffffffffff82161161296b575b5050600382019260018060a01b0382165f528360205260405f20549586156108805760018060a01b0383165f528460205260405f20945f198801978811610772576125916103ad61262a998b986110ac565b936125a160808601518288612f82565b61262f896125fc84886125b2611b2c565b9a64ffffffffff421660408d015264ffffffffff431660608d01528c8151600f0b6125e660208401516080850151906110c5565b9064ffffffffff604081421695015116926118be565b6001600160a01b0387165f90815260048d016020908152604090912060020154908c01529d909b909161165e565b611b9d565b600f0b8652608086015260018060a01b03165f526020526126538360405f20611bc2565b60028401548015610880575f198101908111610772576103ad61267e916002879b9a99989b016110ac565b926080840151935f9961269360098801612a2c565b9961269e8b51612f42565b985f9c5b8d8d511115612750579c8c9d8d64ffffffffff8d9e9f846126c291612b83565b511664ffffffffff81165f5260088d016020526126fa8d600a60405f20549164ffffffffff85165f520160205260405f2054906110c5565b908115159081612745575b5061272e57509061272264ffffffffff611eb48560019695612b83565b525b019c9b9a996126a2565b905061273f919c506001929a61108d565b98612724565b90504210155f612705565b92969c509399929890949a5081815260018060401b03821161086c57600160401b821161086c5760098801548260098a015580831061290f575b5060200190600988015f5260205f2060068204915f5b8381106128d057506006830290038061288a575b5050505091612008969593916002959361281a6127cf611b2c565b9c8d9964ffffffffff421660408c015264ffffffffff431660608c01528051600f0b61280460208301516080840151906110c5565b64ffffffffff604081421694015116918b611683565b9050600188939293015460208b0152145f14612873575050508651600f0b85525b5f81600f0b1280612862575b61201c57505f8451600f0b1261201457608084015201611bc2565b508451600f0b8751600f0b12612847565b6128809261262a9161165e565b600f0b855261283b565b925f935f5b8181106128a75750505001558160026120085f6127b4565b90919460206128c660019264ffffffffff8951169085600502906121df565b960192910161288f565b5f5f5b600681106128e85750838201556001016127a0565b9590602061290660019264ffffffffff855116908a600502906121df565b920196016128d3565b600989015f5260205f20600660058181870104830193010401906005600685060280612950575b505b818110612945575061278a565b5f8155600101612938565b5f198201908154905f199060200360031b1c1690555f612936565b6129ac9295506129866117039164ffffffffff4216906112b3565b9164ffffffffff8616928364ffffffffff8216116129c5575b64ffffffffff1690611406565b60016001607f1b03811161181b57600f0b925f8061253f565b508561299f565b612a0d9198506129e49064ffffffffff4216906112b3565b64ffffffffff8616908164ffffffffff821611612a25575b64ffffffffff611703911684611406565b60016001607f1b03811161181b57600f0b965f612528565b50856129fc565b90604051918281549182825260208201905f5260205f20925f905b806005830110612b2857612a8d945491818110612b10575b818110612af5575b818110612ada575b818110612abf575b818110612aa4575b10612a8f575b500383611b09565b565b60c81c64ffffffffff1681526020015f612a85565b92602060019164ffffffffff8560a01c168152019301612a7f565b92602060019164ffffffffff8560781c168152019301612a77565b92602060019164ffffffffff8560501c168152019301612a6f565b92602060019164ffffffffff8560281c168152019301612a67565b92602060019164ffffffffff85168152019301612a5f565b91600691935060c060019164ffffffffff87548181168352818160281c166020840152818160501c166040840152818160781c166060840152818160a01c16608084015260c81c1660a0820152019401920185929391612a47565b80518210156110625760209160051b010190565b80548015612bc1575f190190612bad82826121bf565b64ffffffffff82549160031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b9290939193841561021257600884019464ffffffffff82165f528560205260405f2054906006860160018060a01b0385165f528060205260405f2064ffffffffff85165f5260205260405f2054828082115f14612e1657612c35916110c5565b905b6001600160a01b0386165f9081526020918252604080822064ffffffffff88168352909252205580821115612e0e57612c6f916110c5565b64ffffffffff82165f528560205260405f2055600784019260018060a01b0383165f5283602052612ca260405f20612a2c565b955f5b8751811015612d5b5764ffffffffff612cbe828a612b83565b511664ffffffffff851614612cd6575b600101612ca5565b60018060a01b0385165f528560205260405f209088515f19810190811161077257612d0964ffffffffff916001946121bf565b90549060031b1c16828060a01b0387165f5287602052612d38612d2f8360405f206121bf565b819391546121df565b9055818060a01b0386165f5286602052612d5460405f20612b97565b9050612cce565b50935093909450600991500192612d7184612a2c565b915f5b8351811015612e065764ffffffffff612d8d8286612b83565b511664ffffffffff84161480612dec575b612dab575b600101612d74565b83515f198101919082116107725764ffffffffff612dcb60019387612b83565b5116612dda612d2f838a6121bf565b9055612de587612b97565b9050612da3565b5064ffffffffff83165f528160205260405f205415612d9e565b505050509050565b50505f612c6f565b50505f90612c37565b9192916001600160a01b0382161580612f0d575b612ea5576006019060018060a01b0381165f528160205260405f2064ffffffffff84165f5260205260405f2054612e6a5750505090565b60018060a01b03165f5260205264ffffffffff60405f2091165f5260205260405f20548181115f14612e9c5750505f90565b61232f916110c5565b91905064ffffffffff81165f5260088201602052600a60405f205492019264ffffffffff82165f5283602052612edf60405f20548261108d565b831115612eee57505050505f90565b61232f9364ffffffffff61156693165f5260205260405f20549061108d565b5064ffffffffff83165f526008810160205260405f20541515612e33565b6001600160401b03811161086c5760051b60200190565b90612f4c82612f2b565b612f596040519182611b09565b8281528092612f6a601f1991612f2b565b0190602036910137565b5f1981146107725760010190565b9192905f906001600160a01b03811661319757506009830192612fa484612a2c565b90612faf8251612f42565b935f5b83518110156130615764ffffffffff612fcb8286612b83565b511664ffffffffff81165f526008840160205261300260405f205464ffffffffff83165f52600a860160205260405f2054906110c5565b908115159081613056575b5061304357508064ffffffffff61302660019387612b83565b511661303b61303488612f74565b9789612b83565b525b01612fb2565b613050906001929961108d565b9761303d565b90504210155f61300d565b5083855294939150506001600160401b03821161086c57600160401b821161086c57825482845580831061313e575b50602001915f5260205f2060068204915f5b8381106130ff5750600683029003806130bc575b50505050565b925f935f5b8181106130d65750505001555f8080806130b6565b90919460206130f560019264ffffffffff8951169085600502906121df565b96019291016130c1565b5f5f5b600681106131175750838201556001016130a2565b9590602061313560019264ffffffffff855116908a600502906121df565b92019601613102565b835f5260205f2060066005818187010483019301040190600560068506028061317c575b505b8181106131715750613090565b5f8155600101613164565b5f198201908154905f199060200360031b1c1690555f613162565b600784929594019360018060a01b0382165f52846020526131ba60405f20612a2c565b926131c58451612f42565b945f5b855181101561326a5764ffffffffff6131e18288612b83565b511660018060a01b0386165f526006840160205260405f2064ffffffffff82165f5260205260405f205490811515908161325f575b5061324c57508064ffffffffff61322f60019389612b83565b511661324461323d8c612f74565b9b8a612b83565b525b016131c8565b613259906001929561108d565b93613246565b90504210155f613216565b509593505094835260018060a01b03165f5260205260405f209080519060018060401b03821161086c57600160401b821161086c578254828455808310613359575b50602001915f5260205f2060068204915f5b83811061331a5750600683029003806132d75750505050565b925f935f5b8181106132f15750505001555f8080806130b6565b909194602061331060019264ffffffffff8951169085600502906121df565b96019291016132dc565b5f5f5b600681106133325750838201556001016132be565b9590602061335060019264ffffffffff855116908a600502906121df565b9201960161331d565b835f5260205f20600660058181870104830193010401906005600685060280613397575b505b81811061338c57506132ac565b5f815560010161337f565b5f198201908154905f199060200360031b1c1690555f61337d56fea2646970667358221220efc1f9563eec68bfcf4050a1890a2f5b951c1604ee0ad5b8b28319f7602e0e2564736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "EpochEndTooFar";
@@ -15,7 +15,7 @@ export declare class PowerCheckpoint__factory extends ContractFactory {
15
15
  deploymentTransaction(): ContractTransactionResponse;
16
16
  }>;
17
17
  connect(runner: ContractRunner | null): PowerCheckpoint__factory;
18
- static readonly bytecode = "0x60808060405234601b576107a190816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c8063561656751461018d578063951c0237146101575780639d98d594146100f4578063de051686146100cd5763e34bed7a14610073575f80fd5b6100c95760603660031901126100c95760443560243580156100ba57438210156100ab575f5260016004350160205260405f20555f80f35b631391e11b60e21b5f5260045ffd5b630992f7ad60e01b5f5260045ffd5b5f80fd5b60603660031901126100c95760206100ec604435602435600435610455565b604051908152f35b60203660031901126100c9576004358054908161012357505060205f5b6040516001600160e01b039091168152f35b5f1982019182116101435760209161013a916101b6565b5054811c610111565b634e487b7160e01b5f52601160045260245ffd5b506100c95760603660031901126100c9576024356001600160a01b03811681036100c95761018b9060443590600435610346565b005b60403660031901126100c95760206100ec6024356004356101ec565b9190820391821161014357565b80548210156101cb575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161014357565b8054918215610298575f19830192831192836101435763ffffffff61021182856101b6565b505416821015610291575f936101435791905b8284106102315750505090565b90919261023e84826101df565b600181018091116101435760011c908263ffffffff61025d84876101b6565b5054161161026f5750925b9190610224565b93505f1981019081111561026857634e487b7160e01b5f52601160045260245ffd5b9250505090565b5050505f90565b604081019081106001600160401b038211176102ba57604052565b634e487b7160e01b5f52604160045260245ffd5b9063ffffffff82549181199060201b169116179055565b8054600160401b8110156102ba57610302916001820181556101b6565b610333578163ffffffff61033193511663ffffffff19835416178255602060018060e01b0391015116906102ce565b565b634e487b7160e01b5f525f60045260245ffd5b90919060016001607f1b03821161042d574363ffffffff16926001600160a01b03168015610400575f5260205260405f20805492831515806103db575b156103b357505f19830192831161014357610331926103a1916101b6565b506001600160e01b03909116906102ce565b916103319350604051926103c68461029f565b83526001600160e01b031660208301526102e5565b505f1984018481116101435763ffffffff6103f78392856101b6565b50541614610383565b50600201805492831515806103db57156103b357505f19830192831161014357610331926103a1916101b6565b632f537ee160e01b5f5260045ffd5b80548210156101cb575f5260205f209060021b01905f90565b9190914382116100ab5760020180541561029857806104778361047d936101ec565b906101b6565b50548163ffffffff821614610762575060028201805490811561075a578054156101cb57805f528264ffffffffff600260205f20015460281c161161075a575f915f19810190811161014357805b8084106106f857506104dd838361043c565b509260028401549064ffffffffff8260281c168681146106e257600588015480156106d957965b818111156106ca5764ffffffffff9161051c916101a9565b925b16938442115f146106c3578161053486426101a9565b9411610681575b505084810294818604149015171561014357808411610679575b50835464ffffffffff8082169160281c16029264ffffffffff84169384036101435764ffffffffff6105a06105998554600f0b9560036001820154910154906101a9565b92846101df565b16926040519563021b0fb560e11b87526004870152602486015260448501526064840152608483015260a48201525f60c482015260208160e48173__$722770e92751af7c18db862b2d8e717318$__5af490811561066e575f9161061d575b505f81600f0b135f14610618576001600160801b031690565b505f90565b905060203d602011610667575b601f8101601f191682016001600160401b038111838210176102ba576020918391604052810103126100c9575180600f0b81036100c9575f6105ff565b503d61062a565b6040513d5f823e3d90fd5b92505f610555565b90919250600182018092116101435760026106a3859364ffffffffff9361043c565b500154160364ffffffffff81116101435764ffffffffff16905f8061053b565b815f610534565b505064ffffffffff5f9261051e565b50600c96610504565b505092546001600160801b031695945050505050565b9261070384826101df565b600181018091116101435760011c908564ffffffffff6002610725858861043c565b50015460281c16116107385750926104cb565b93505f198101908111156104cb57634e487b7160e01b5f52601160045260245ffd5b505050505f90565b91505060201c9056fea26469706673582212206e292118f9f2b91522276eed635df3e6c18ec4a0fde491799694bc64c4d1036d64736f6c634300081e0033";
18
+ static readonly bytecode = "0x60808060405234601b576107bc90816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c8063561656751461018e578063951c0237146101585780639d98d594146100f5578063de051686146100cd5763e34bed7a14610073575f80fd5b6100c95760603660031901126100c95760443560243580156100ba57438210156100ab575f5260016004350160205260405f20555f80f35b631391e11b60e21b5f5260045ffd5b630992f7ad60e01b5f5260045ffd5b5f80fd5b60603660031901126100c95760406100e960443560243561045e565b82519182526020820152f35b60203660031901126100c9576004358054908161012457505060205f5b6040516001600160e01b039091168152f35b5f1982019182116101445760209161013b916101bf565b5054811c610112565b634e487b7160e01b5f52601160045260245ffd5b506100c95760603660031901126100c9576024356001600160a01b03811681036100c95761018c906044359060043561034f565b005b60403660031901126100c95760206101aa6024356004356101f5565b604051908152f35b9190820391821161014457565b80548210156101d4575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161014457565b80549182156102a1575f19830192831192836101445763ffffffff61021a82856101bf565b50541682101561029a575f936101445791905b82841061023a5750505090565b90919261024784826101e8565b600181018091116101445760011c908263ffffffff61026684876101bf565b505416116102785750925b919061022d565b93505f1981019081111561027157634e487b7160e01b5f52601160045260245ffd5b9250505090565b5050505f90565b604081019081106001600160401b038211176102c357604052565b634e487b7160e01b5f52604160045260245ffd5b9063ffffffff82549181199060201b169116179055565b8054600160401b8110156102c35761030b916001820181556101bf565b61033c578163ffffffff61033a93511663ffffffff19835416178255602060018060e01b0391015116906102d7565b565b634e487b7160e01b5f525f60045260245ffd5b90919060016001607f1b038211610436574363ffffffff16926001600160a01b03168015610409575f5260205260405f20805492831515806103e4575b156103bc57505f1983019283116101445761033a926103aa916101bf565b506001600160e01b03909116906102d7565b9161033a9350604051926103cf846102a8565b83526001600160e01b031660208301526102ee565b505f1984018481116101445763ffffffff6104008392856101bf565b5054161461038c565b50600201805492831515806103e457156103bc57505f1983019283116101445761033a926103aa916101bf565b632f537ee160e01b5f5260045ffd5b80548210156101d4575f5260205f209060021b01905f90565b919091438310156100ab576002810192835490811561077b578454156101d457845f528064ffffffffff600260205f20015460281c161161077b575f5f19830192831161014457825b80821061071957506104b98187610445565b5092600284015464ffffffffff8160281c16928484146106fa5760058701549384156106f25784955b818111156106e35764ffffffffff916104fa916101b2565b925b16988942115f146106dc57816105128b426101b2565b941161069a575b5050838102938185041490151715610144578064ffffffffff61053c858a6101e8565b16931015610665575b5050825464ffffffffff8082169160281c16029464ffffffffff8616958603610144578261058864ffffffffff9454600f0b9160036001820154910154906101b2565b906040519563021b0fb560e11b87526004870152602486015260448501526064840152169283608483015260a48201525f60c482015260208160e48173__$722770e92751af7c18db862b2d8e717318$__5af490811561065a575f91610609575b505f81600f0b135f14610603576001600160801b03169190565b505f9190565b905060203d602011610653575b601f8101601f191682016001600160401b038111838210176102c3576020918391604052810103126100c9575180600f0b81036100c9575f6105e9565b503d610616565b6040513d5f823e3d90fd5b909150818111156106925764ffffffffff9161068461068992886101e8565b6101b2565b165b5f80610545565b50508361068b565b90919250600182018092116101445760026106bc8a9364ffffffffff93610445565b500154160364ffffffffff81116101445764ffffffffff16905f80610519565b815f610512565b505064ffffffffff5f926104fc565b600c956104e2565b5093546001600160801b031696505064ffffffffff9092169392505050565b9061072482826101e8565b600181018091116101445760011c908364ffffffffff6002610746858c610445565b50015460281c16116107595750906104a7565b91505f198101908111156104a757634e487b7160e01b5f52601160045260245ffd5b50505090505f905f9056fea26469706673582212206e5068b3c789a8329ee7f952e13e496bdab298af9f0e40557f42985d719adf3264736f6c634300081e0033";
19
19
  static readonly abi: readonly [{
20
20
  readonly inputs: readonly [];
21
21
  readonly name: "InvalidBlockNumber";
@@ -15,7 +15,7 @@ export declare class RagequitLib__factory extends ContractFactory {
15
15
  deploymentTransaction(): ContractTransactionResponse;
16
16
  }>;
17
17
  connect(runner: ContractRunner | null): RagequitLib__factory;
18
- static readonly bytecode = "0x60808060405234601b57611a3790816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c80630fd18f79146100915780634860405714610087578063750546d114610082578063a6dc765e1461007d5763c4b1583c14610073575f80fd5b1561032a575b5f80fd5b610300565b6102dd565b501561014f575f80fd5b6060366003190112610079576100e16100b76004356100ae6100e5565b60443591610679565b604080519586526020860194909452928401919091526060830152608082015290819060a0820190565b0390f35b6024359064ffffffffff8216820361007957565b6044359064ffffffffff8216820361007957565b604435906001600160a01b038216820361007957565b602435906001600160a01b038216820361007957565b606435906001600160a01b038216820361007957565b60603660031901126100795760043560243561016961010d565b64ffffffffff61017982846106d6565b1664ffffffffff81149081156102d2575b506102c357608092816101a06101db93856107bc565b604051631de1879f60e21b815260048101999099526001600160a01b0390951660248901529397939695909391929190869081906044820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af49586156102be575f935f955f975f9961027b575b506100e19798998155856001820155836002820155846003820155600461022e426105bc565b9101556040519889988996929363ffffffff959199989460e097936101008a019b600f0b8a52600f0b60208a015260408901526060880152608087015260a086015260c085015216910152565b91965094506102a89197506100e1965060803d6080116102b7575b6102a0818361052f565b810190610560565b98929691959096959697610208565b503d610296565b61059d565b63d5b25b6360e01b5f5260045ffd5b90504210155f61018a565b6040366003190112610079576100e16100b76004356102fa610123565b906107bc565b604036600319011261007957602061032260043561031c610123565b90610922565b604051908152f35b6080366003190112610079576004356024356103446100f9565b61034c610139565b9061035a82600485016105de565b6002810154156104ec5764ffffffffff8216428111156102c35761037e8383610994565b9061039661038c86886106d6565b64ffffffffff1690565b036102c3576103ab6103b2916103b793610607565b5054610621565b610621565b80156104dd5761041d926103cc828487610679565b9891929690939460206103df8285610922565b604051639c8fe60d60e01b8152600481018690526001600160a01b038416602482015264ffffffffff909416604485015292998a9081906064820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af49283156102be576100e199610450946104b0575b50610b95565b98909781558460018201558360028201558560038201556004610472426105bc565b9101556040519788978893909796959260c0959260e0860199600f0b8652600f0b602086015260408501526060840152608083015260a08201520152565b6104d19060203d6020116104d6575b6104c9818361052f565b81019061062d565b61044a565b503d6104bf565b63162908e360e11b5f5260045ffd5b6343b976c160e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b0382111761052a57604052565b6104fb565b601f909101601f19168101906001600160401b0382119082101761052a57604052565b519081600f0b820361007957565b919082608091031261007957815191602081015163ffffffff81168103610079579161059a606061059360408501610552565b9301610552565b90565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b9062093a8082018092116105cc57565b6105a8565b919082018092116105cc57565b9060018060a01b03165f5260205260405f2090565b634e487b7160e01b5f52603260045260245ffd5b805482101561061c575f5260205f2001905f90565b6105f3565b6001600160701b031690565b90816020910312610079575190565b818102929181159184041417156105cc57565b5f198101919082116105cc57565b6001198101919082116105cc57565b919082039182116105cc57565b906106ab61069b6106b1939594955464ffffffffff8082169160281c1661063c565b809264ffffffffff421690610ed3565b84610f33565b809282946106be83610fca565b93909482039182116105cc5781039081116105cc5790565b9060046106e392016105de565b9064ffffffffff9163ffffffff600182015416908054915b82811061070757505050565b64ffffffffff6107178284610607565b505460701c1664ffffffffff86161180610761575b610739575b6001016106fb565b9350600161075961074a8684610607565b505460701c64ffffffffff1690565b949050610731565b5061076c8183610607565b50546001600160701b0316151561072c565b604080519192919081016001600160401b0381118282101761052a5760405291546001600160701b038116835260701c64ffffffffff166020830152565b91906107cb90600484016105de565b61080464ffffffffff421693546107fe61038c6107f361038c8464ffffffffff9060281c1690565b9264ffffffffff1690565b9061063c565b905f915f915f9561082861081f600184015463ffffffff1690565b63ffffffff1690565b928254925b83851061085c575050505050806108578561085261084a82610fca565b95909661066c565b61066c565b909493565b909192939794956108766108708a84610607565b5061077e565b906108846103b28351610621565b15610916576103b26108f4836108ee6108fa94896108ac6020600199015164ffffffffff1690565b8a8264ffffffffff83161115610906576108cd816108e8946108df94610ed3565b6108da6103b28851610621565b610f33565b96909451610621565b906105d1565b9a6105d1565b976105d1565b985b019392919061082d565b6108e892506108df91505f6108cd565b969598600191506108fc565b5f9291610931916004016105de565b63ffffffff600182015416908054915b82811061094d57505050565b6109578183610607565b50546001600160701b031661096f575b600101610941565b9361097a8583610607565b50546001600160701b031681019081106105cc5793610967565b63ffffffff600182015416918154925b8381106109ba5763965307a760e01b5f5260045ffd5b64ffffffffff6109ca8285610607565b505460701c1664ffffffffff831614806109f2575b6109eb576001016109a4565b9250505090565b506109fd8184610607565b50546001600160701b031615156109df565b9064ffffffffff8091169116029064ffffffffff82169182036105cc57565b805482101561061c575f5260205f209060021b01905f90565b60405190610a548261050f565b5f6080838281528260208201528260408201528260608201520152565b8054600160401b81101561052a57610a8e91600182018155610a2e565b919091610b165760808160039251600180841b031985541690600180851b031617845560208101516001850155610b0f6002850164ffffffffff60408401511664ffffffffff19825416178155610aed606084015164ffffffffff1690565b815464ffffffffff60281b191660289190911b64ffffffffff60281b16179055565b0151910155565b634e487b7160e01b5f525f60045260245ffd5b90604051610b368161050f565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b600f91820b910b039060016001607f1b0319821260016001607f1b038313176105cc57565b90610c3a939264ffffffffff421692610bcf8154610bc9610bbe8264ffffffffff9060281c1690565b9164ffffffffff1690565b90610a0f565b936003820190610bfb610be286846105de565b610bf5610bef88866105de565b5461064f565b90610a2e565b5093610c0c60038601548786611448565b610c41826001610c1a610a47565b64ffffffffff87166040820152984364ffffffffff1660608b018190529d565b015461066c565b90602087019182525f87526080870152610c6486610c5f89876105de565b610a71565b6002610c7388600488016105de565b9151910155600284019081548015610ea957610c9a610c94610ca09261064f565b84610a2e565b50610b29565b916080830192610cb1845188611363565b905f9a5f965f9b5f996001610cc683836105de565b5411610e2a575b5050610cd7610a47565b64ffffffffff821660408201529e8f60600190610cfa919064ffffffffff169052565b8251600f0b92602081019788519051610d129161066c565b60409091015164ffffffffff1690610d2a948c611611565b96919a9050855110610e1b5761059a9a610db79a6001988f96610d5190610dac995161066c565b602088019081529803610e09575050610d75610d6e8a51600f0b90565b600f0b8552565b5f81600f0b1280610deb575b610dc7575b505f610d9c610d968551600f0b90565b600f0b90565b12610dbf575b6080830152610a71565b5191015551600f0b90565b9251600f0b90565b5f8352610da2565b610dde610de591610dd98651600f0b90565b610b70565b600f0b8452565b5f610d86565b508351600f0b610dff610d968b51600f0b90565b90600f0b13610d81565b610e1691610d6e91610b70565b610d75565b632ca6f13b60e01b5f5260045ffd5b819e50610e40929d5081949a50809399506105de565b91610e4a916105de565b54610e549061065d565b610e5d91610a2e565b50809a868b8354610e6e90600f0b90565b93600101549d8e6003820154610e839161066c565b60029091015464ffffffffff1690610e9b958d6117bc565b97919690969b9a5f80610ccd565b62dc341f60e01b5f5260045ffd5b9064ffffffffff8091169116039064ffffffffff82116105cc57565b64ffffffffff821664ffffffffff8216115f14610f0d5764ffffffffff91610efa91610eb7565b165b81811115610f08575090565b905090565b50505f610efc565b8115610f1f570490565b634e487b7160e01b5f52601260045260245ffd5b929190926101f481028181046101f414821517156105cc576127108101908181116105cc5761270f019081116105cc5761271090049382158015610fc2575b610fbb57670de0b6b3a7640000810290808204670de0b6b3a764000014901517156105cc576706f05b59d3b20000610fb061059a94610fb593610f15565b6118c2565b906118c2565b5050505f90565b508015610f72565b9060218202828104602114831517156105cc5760649004918281039081116105cc5790565b6040518154808252909291839061100d60208301915f5260205f2090565b925f905b8060058301106110f6576110579454918181106110de575b8181106110c2575b8181106110a6575b81811061108a575b81811061106e575b10611059575b50038361052f565b565b60c81c64ffffffffff1681526020015f61104f565b60a083901c64ffffffffff168452926001906020019301611049565b607883901c64ffffffffff168452926001906020019301611041565b605083901c64ffffffffff168452926001906020019301611039565b602883901c64ffffffffff168452926001906020019301611031565b64ffffffffff83168452926001906020019301611029565b91600691935060c0600191611172875461111d8364ffffffffff831664ffffffffff169052565b602881901c64ffffffffff166020840152605081901c64ffffffffff166040840152607881901c64ffffffffff16606084015260a081901c64ffffffffff16608084015260c81c64ffffffffff1660a0830152565b019401920185929391611011565b6001600160401b03811161052a5760051b60200190565b906111a182611180565b6111ae604051918261052f565b82815280926111bf601f1991611180565b0190602036910137565b805182101561061c5760209160051b010190565b9064ffffffffff165f5260205260405f2090565b5f1981146105cc5760010190565b600160401b821161052a5780549082815581831061121c57505050565b5f526005600660205f208183818188010483019501040193060280611254575b505b818110611249575050565b5f815560010161123e565b5f198201908154905f199060200360031b1c1690555f61123c565b9064ffffffffff809160031b9316831b921b19161790565b815190916001600160401b03821161052a5760206112b4916112a984866111ff565b01925f5260205f2090565b60068204915f5b83811061131e5750600683029003806112d5575b50505050565b925f935f5b8181106112ef5750505001555f8080806112cf565b9091946020611314600192611309895164ffffffffff1690565b90856005029061126f565b96019291016112da565b5f5f5b600681106113365750838201556001016112bb565b9590602061135a60019261134f855164ffffffffff1690565b908a6005029061126f565b92019601611321565b90915f90600983019261137584610fef565b906113808251611197565b925f5b8351811015611438576113a461139982866111c9565b5164ffffffffff1690565b6113c96113b482600887016111dd565b546113c283600a88016111dd565b549061066c565b908115159081611425575b5061141257508061140c6113ed611399600194886111c9565b6114006113f98a6111f1565b99896111c9565b9064ffffffffff169052565b01611383565b61141f90600192996105d1565b9761140c565b905064ffffffffff42911611155f6113d4565b5094915050611057928252611287565b91925f916001600160a01b0381166114ed5750600983019261146984610fef565b906114748251611197565b925f5b83518110156114385761148d61139982866111c9565b61149d6113b482600887016111dd565b9081151590816114da575b506114c75750806114c16113ed611399600194886111c9565b01611477565b6114d490600192996105d1565b976114c1565b905064ffffffffff42911611155f6114a8565b9391600784019361150661150187876105de565b610fef565b956115118751611197565b935f5b88518110156115da5761152a611399828b6111c9565b6115408161153b86600689016105de565b6111dd565b54801515806115c9575b61157c575050806115766115636113996001948d6111c9565b61140061156f896111f1565b988a6111c9565b01611514565b61158a81600194939a6105d1565b98600a87018261159a83836111dd565b5410156115aa575b505050611576565b6115bf916115b7916111dd565b91825461066c565b90555f80806115a2565b504264ffffffffff8316111561154a565b50959091506110579496506115f09284526105de565b611287565b64ffffffffff62093a809116019064ffffffffff82116105cc57565b9390919495929564ffffffffff5f91169081156117ad57861561179e5761163b88959798956118f2565b97935b64ffffffffff891664ffffffffff851681116116dc576116738461166e61166861038c8b8f610eb7565b8961063c565b610f15565b9160016001607f1b0383116116cd578a9264ffffffffff916116a1916001600160801b0316600f0b90610b70565b9716036116ba575b6116b390986115f5565b979461163e565b6116c691945f88611942565b92876116a9565b63dbdeca0f60e01b5f5260045ffd5b5094939750959450905f84600f0b12611795575b64ffffffffff811664ffffffffff84161461177a5761171861038c61171e9461166e93610eb7565b8761063c565b9060016001607f1b0382116116cd57611743916001600160801b0316600f0b90610b70565b5f81600f0b12611772575b831561176b575b5f81600f0b125f1461176757505f9290565b9290565b505f611755565b91508161174e565b505050831561176b575f81600f0b125f1461176757505f9290565b945082946116f0565b505f9650869550859450505050565b63339bfa2360e11b5f5260045ffd5b94969390929695919564ffffffffff5f91169081156117ad5787156118b2576117e889969899966118f2565b98945b64ffffffffff8a1664ffffffffff851681116118765761181c8461166e61181661038c8f8d90610eb7565b8a61063c565b9160016001607f1b0383116116cd578b9264ffffffffff9161184a916001600160801b0316600f0b90610b70565b981603611863575b61185c90996115f5565b98956117eb565b61186f91958589611942565b9388611852565b509594985096955091505f84600f0b126117955764ffffffffff811664ffffffffff84161461177a5761171861038c61171e9461166e93610eb7565b505f975087965086955050505050565b816706f05b59d3b2000019048111158215171561007957670de0b6b3a764000091026706f05b59d3b20000010490565b64ffffffffff1664ffffffffff62093a8061190f81808504610a0f565b9206166119325764ffffffffff805f5b1691160164ffffffffff81116105cc5790565b64ffffffffff8062093a8061191f565b919290916001600160a01b03831615806119eb575b61199c5760060161196c8261153b85846105de565b546119775750505090565b6119849261153b916105de565b54818111156119935750505f90565b61059a9161066c565b9150600a6119ad82600885016111dd565b549201926119c56119be83866111dd565b54826105d1565b8311156119d457505050505f90565b6119e46108529261059a956111dd565b54906105d1565b506119f982600883016111dd565b54151561195756fea2646970667358221220ffe9b7c168b911d276416321a339a31042e5a87a62d0477e2cdb8326213eb0a464736f6c634300081e0033";
18
+ static readonly bytecode = "0x60808060405234601b57611b3b90816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f3560e01c80630fd18f79146100915780634860405714610087578063750546d114610082578063a6dc765e1461007d5763c4b1583c14610073575f80fd5b1561032a575b5f80fd5b610300565b6102dd565b501561014f575f80fd5b6060366003190112610079576100e16100b76004356100ae6100e5565b60443591610687565b604080519586526020860194909452928401919091526060830152608082015290819060a0820190565b0390f35b6024359064ffffffffff8216820361007957565b6044359064ffffffffff8216820361007957565b604435906001600160a01b038216820361007957565b602435906001600160a01b038216820361007957565b606435906001600160a01b038216820361007957565b60603660031901126100795760043560243561016961010d565b64ffffffffff61017982846106e4565b1664ffffffffff81149081156102d2575b506102c357608092816101a06101db93856107ca565b604051631de1879f60e21b815260048101999099526001600160a01b0390951660248901529397939695909391929190869081906044820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af49586156102be575f935f955f975f9961027b575b506100e19798998155856001820155836002820155846003820155600461022e426105bc565b9101556040519889988996929363ffffffff959199989460e097936101008a019b600f0b8a52600f0b60208a015260408901526060880152608087015260a086015260c085015216910152565b91965094506102a89197506100e1965060803d6080116102b7575b6102a0818361052f565b810190610560565b98929691959096959697610208565b503d610296565b61059d565b63d5b25b6360e01b5f5260045ffd5b90504210155f61018a565b6040366003190112610079576100e16100b76004356102fa610123565b906107ca565b604036600319011261007957602061032260043561031c610123565b90610930565b604051908152f35b6080366003190112610079576004356024356103446100f9565b61034c610139565b9061035a82600485016105ec565b6002810154156104ec5764ffffffffff8216428111156102c35761037e83836109a2565b9061039661038c86886106e4565b64ffffffffff1690565b036102c3576103ab6103b2916103b793610615565b505461062f565b61062f565b80156104dd5761041d926103cc828487610687565b9891929690939460206103df8285610930565b604051639c8fe60d60e01b8152600481018690526001600160a01b038416602482015264ffffffffff909416604485015292998a9081906064820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af49283156102be576100e199610450946104b0575b50610ba3565b98909781558460018201558360028201558560038201556004610472426105bc565b9101556040519788978893909796959260c0959260e0860199600f0b8652600f0b602086015260408501526060840152608083015260a08201520152565b6104d19060203d6020116104d6575b6104c9818361052f565b81019061063b565b61044a565b503d6104bf565b63162908e360e11b5f5260045ffd5b6343b976c160e01b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b0382111761052a57604052565b6104fb565b601f909101601f19168101906001600160401b0382119082101761052a57604052565b519081600f0b820361007957565b919082608091031261007957815191602081015163ffffffff81168103610079579161059a606061059360408501610552565b9301610552565b90565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b9062093a8082018092116105cc57565b6105a8565b90600182018092116105cc57565b919082018092116105cc57565b9060018060a01b03165f5260205260405f2090565b634e487b7160e01b5f52603260045260245ffd5b805482101561062a575f5260205f2001905f90565b610601565b6001600160701b031690565b90816020910312610079575190565b818102929181159184041417156105cc57565b5f198101919082116105cc57565b6001198101919082116105cc57565b919082039182116105cc57565b906106b96106a96106bf939594955464ffffffffff8082169160281c1661064a565b809264ffffffffff421690610ee1565b84610f46565b809282946106cc83610fdd565b93909482039182116105cc5781039081116105cc5790565b9060046106f192016105ec565b9064ffffffffff9163ffffffff600182015416908054915b82811061071557505050565b64ffffffffff6107258284610615565b505460701c1664ffffffffff8616118061076f575b610747575b600101610709565b935060016107676107588684610615565b505460701c64ffffffffff1690565b94905061073f565b5061077a8183610615565b50546001600160701b0316151561073a565b604080519192919081016001600160401b0381118282101761052a5760405291546001600160701b038116835260701c64ffffffffff166020830152565b91906107d990600484016105ec565b61081264ffffffffff4216935461080c61038c61080161038c8464ffffffffff9060281c1690565b9264ffffffffff1690565b9061064a565b905f915f915f9561083661082d600184015463ffffffff1690565b63ffffffff1690565b928254925b83851061086a575050505050806108658561086061085882610fdd565b95909661067a565b61067a565b909493565b9091929397949561088461087e8a84610615565b5061078c565b906108926103b2835161062f565b15610924576103b2610902836108fc61090894896108ba6020600199015164ffffffffff1690565b8a8264ffffffffff83161115610914576108db816108f6946108ed94610ee1565b6108e86103b2885161062f565b610f46565b9690945161062f565b906105df565b9a6105df565b976105df565b985b019392919061083b565b6108f692506108ed91505f6108db565b9695986001915061090a565b5f929161093f916004016105ec565b63ffffffff600182015416908054915b82811061095b57505050565b6109658183610615565b50546001600160701b031661097d575b60010161094f565b936109888583610615565b50546001600160701b031681019081106105cc5793610975565b63ffffffff600182015416918154925b8381106109c85763965307a760e01b5f5260045ffd5b64ffffffffff6109d88285610615565b505460701c1664ffffffffff83161480610a00575b6109f9576001016109b2565b9250505090565b50610a0b8184610615565b50546001600160701b031615156109ed565b9064ffffffffff8091169116029064ffffffffff82169182036105cc57565b805482101561062a575f5260205f209060021b01905f90565b60405190610a628261050f565b5f6080838281528260208201528260408201528260608201520152565b8054600160401b81101561052a57610a9c91600182018155610a3c565b919091610b245760808160039251600180841b031985541690600180851b031617845560208101516001850155610b1d6002850164ffffffffff60408401511664ffffffffff19825416178155610afb606084015164ffffffffff1690565b815464ffffffffff60281b191660289190911b64ffffffffff60281b16179055565b0151910155565b634e487b7160e01b5f525f60045260245ffd5b90604051610b448161050f565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b600f91820b910b039060016001607f1b0319821260016001607f1b038313176105cc57565b90610c48939264ffffffffff421692610bdd8154610bd7610bcc8264ffffffffff9060281c1690565b9164ffffffffff1690565b90610a1d565b936003820190610c09610bf086846105ec565b610c03610bfd88866105ec565b5461065d565b90610a3c565b5093610c1a6003860154878661145b565b610c4f826001610c28610a55565b64ffffffffff87166040820152984364ffffffffff1660608b018190529d565b015461067a565b90602087019182525f87526080870152610c7286610c6d89876105ec565b610a7f565b6002610c8188600488016105ec565b9151910155600284019081548015610eb757610ca8610ca2610cae9261065d565b84610a3c565b50610b37565b916080830192610cbf845188611376565b905f9a5f965f9b5f996001610cd483836105ec565b5411610e38575b5050610ce5610a55565b64ffffffffff821660408201529e8f60600190610d08919064ffffffffff169052565b8251600f0b92602081019788519051610d209161067a565b60409091015164ffffffffff1690610d38948c6115f5565b96919a9050855110610e295761059a9a610dc59a6001988f96610d5f90610dba995161067a565b602088019081529803610e17575050610d83610d7c8a51600f0b90565b600f0b8552565b5f81600f0b1280610df9575b610dd5575b505f610daa610da48551600f0b90565b600f0b90565b12610dcd575b6080830152610a7f565b5191015551600f0b90565b9251600f0b90565b5f8352610db0565b610dec610df391610de78651600f0b90565b610b7e565b600f0b8452565b5f610d94565b508351600f0b610e0d610da48b51600f0b90565b90600f0b13610d8f565b610e2491610d7c91610b7e565b610d83565b632ca6f13b60e01b5f5260045ffd5b819e50610e4e929d5081949a50809399506105ec565b91610e58916105ec565b54610e629061066b565b610e6b91610a3c565b50809a868b8354610e7c90600f0b90565b93600101549d8e6003820154610e919161067a565b60029091015464ffffffffff1690610ea9958d61181d565b97919690969b9a5f80610cdb565b62dc341f60e01b5f5260045ffd5b9064ffffffffff8091169116039064ffffffffff82116105cc57565b64ffffffffff821664ffffffffff8216115f14610f1b5764ffffffffff91610f0891610ec5565b165b81811115610f16575090565b905090565b50505f610f0a565b634e487b7160e01b5f52601260045260245ffd5b8115610f41570490565b610f23565b929190926101f481028181046101f414821517156105cc576127108101908181116105cc5761270f019081116105cc5761271090049382158015610fd5575b610fce57670de0b6b3a7640000810290808204670de0b6b3a764000014901517156105cc576706f05b59d3b20000610fc361059a94610fc893610f37565b6119c6565b906119c6565b5050505f90565b508015610f85565b9060218202828104602114831517156105cc5760649004918281039081116105cc5790565b6040518154808252909291839061102060208301915f5260205f2090565b925f905b8060058301106111095761106a9454918181106110f1575b8181106110d5575b8181106110b9575b81811061109d575b818110611081575b1061106c575b50038361052f565b565b60c81c64ffffffffff1681526020015f611062565b60a083901c64ffffffffff16845292600190602001930161105c565b607883901c64ffffffffff168452926001906020019301611054565b605083901c64ffffffffff16845292600190602001930161104c565b602883901c64ffffffffff168452926001906020019301611044565b64ffffffffff8316845292600190602001930161103c565b91600691935060c060019161118587546111308364ffffffffff831664ffffffffff169052565b602881901c64ffffffffff166020840152605081901c64ffffffffff166040840152607881901c64ffffffffff16606084015260a081901c64ffffffffff16608084015260c81c64ffffffffff1660a0830152565b019401920185929391611024565b6001600160401b03811161052a5760051b60200190565b906111b482611193565b6111c1604051918261052f565b82815280926111d2601f1991611193565b0190602036910137565b805182101561062a5760209160051b010190565b9064ffffffffff165f5260205260405f2090565b5f1981146105cc5760010190565b600160401b821161052a5780549082815581831061122f57505050565b5f526005600660205f208183818188010483019501040193060280611267575b505b81811061125c575050565b5f8155600101611251565b5f198201908154905f199060200360031b1c1690555f61124f565b9064ffffffffff809160031b9316831b921b19161790565b815190916001600160401b03821161052a5760206112c7916112bc8486611212565b01925f5260205f2090565b60068204915f5b8381106113315750600683029003806112e8575b50505050565b925f935f5b8181106113025750505001555f8080806112e2565b909194602061132760019261131c895164ffffffffff1690565b908560050290611282565b96019291016112ed565b5f5f5b600681106113495750838201556001016112ce565b9590602061136d600192611362855164ffffffffff1690565b908a60050290611282565b92019601611334565b90915f90600983019261138884611002565b9061139382516111aa565b925f5b835181101561144b576113b76113ac82866111dc565b5164ffffffffff1690565b6113dc6113c782600887016111f0565b546113d583600a88016111f0565b549061067a565b908115159081611438575b5061142557508061141f6114006113ac600194886111dc565b61141361140c8a611204565b99896111dc565b9064ffffffffff169052565b01611396565b61143290600192996105df565b9761141f565b905064ffffffffff42911611155f6113e7565b509491505061106a92825261129a565b91925f916001600160a01b0381166115005750600983019261147c84611002565b9061148782516111aa565b925f5b835181101561144b576114a06113ac82866111dc565b6114b06113c782600887016111f0565b9081151590816114ed575b506114da5750806114d46114006113ac600194886111dc565b0161148a565b6114e790600192996105df565b976114d4565b905064ffffffffff42911611155f6114bb565b600784019361151761151283876105ec565b611002565b9161152283516111aa565b935f5b84518110156115b55761153b6113ac82876111dc565b6115518161154c86600689016105ec565b6111f0565b549081151590816115a2575b5061158f5750806115896115766113ac600194896111dc565b6114136115828b611204565b9a8a6111dc565b01611525565b61159c906001929a6105df565b98611589565b905064ffffffffff42911611155f61155d565b50959091506115ca925061106a9484526105ec565b61129a565b8115610f41570690565b64ffffffffff62093a809116019064ffffffffff82116105cc57565b9190959364ffffffffff5f961692831561180e5782156117fe5761161b859395936119f6565b94975b64ffffffffff86169064ffffffffff841682116117f55761164261038c8689610ec5565b868b61165782611652858461064a565b6115cf565b1515806117ee575b156117dc579061167561167f9361167a9361064a565b610f37565b6105d1565b60016001607f1b03811161177b5764ffffffffff916116aa916001600160801b0316600f0b90610b7e565b9416036117c9575b6116bb856115d9565b9288156116ca5794929461161e565b949250505b64ffffffffff811664ffffffffff8316146117a4576116f19161038c91610ec5565b9061170081611652848961064a565b15158061179d575b1561178a5761167a9061167561171e938861064a565b905b60016001607f1b03821161177b57611744916001600160801b0316600f0b90610b7e565b5f81600f0b12611773575b831561176c575b5f81600f0b125f1461176857505f9290565b9290565b505f611756565b91508161174f565b63dbdeca0f60e01b5f5260045ffd5b611675611797928761064a565b90611720565b505f611708565b5050505f81600f0b1261177357831561176c575f81600f0b125f1461176857505f9290565b96846117d6915f8a611a46565b966116b2565b6117e9926116759161064a565b61167f565b505f61165f565b955050506116cf565b50505050509150505f905f905f90565b63339bfa2360e11b5f5260045ffd5b9190969495929364ffffffffff5f971692831561180e5782156119b557611846869396936119f6565b95985b64ffffffffff87169064ffffffffff841682116119ac5761186d61038c868a610ec5565b868c61187d82611652858461064a565b15158061199a575b15611988579061167561189b9361167a9361064a565b60016001607f1b03811161177b5764ffffffffff916118c6916001600160801b0316600f0b90610b7e565b941603611975575b6118d7866115d9565b9289156118e657959295611849565b959250505b64ffffffffff811664ffffffffff83161461194f5761190d9161038c91610ec5565b9161191c82611652858a61064a565b1515908161193c575b501561178a5761167a9061167561171e938861064a565b6001600160a01b0316151590505f611925565b505050505f81600f0b1261177357831561176c575f81600f0b125f1461176857505f9290565b978561198291868b611a46565b976118ce565b611995926116759161064a565b61189b565b506001600160a01b038a161515611885565b965050506118eb565b5050505050509150505f905f905f90565b816706f05b59d3b2000019048111158215171561007957670de0b6b3a764000091026706f05b59d3b20000010490565b64ffffffffff1664ffffffffff62093a80611a1381808504610a1d565b920616611a365764ffffffffff805f5b1691160164ffffffffff81116105cc5790565b64ffffffffff8062093a80611a23565b919290916001600160a01b0383161580611aef575b611aa057600601611a708261154c85846105ec565b54611a7b5750505090565b611a889261154c916105ec565b5481811115611a975750505f90565b61059a9161067a565b9150600a611ab182600885016111f0565b54920192611ac9611ac283866111f0565b54826105df565b831115611ad857505050505f90565b611ae86108609261059a956111f0565b54906105df565b50611afd82600883016111f0565b541515611a5b56fea2646970667358221220d7271afef1905eb29c858323aef7b71e74ef561dfdc74f984c69c2ac82a1b84c64736f6c634300081e0033";
19
19
  static readonly abi: readonly [{
20
20
  readonly inputs: readonly [];
21
21
  readonly name: "GlobalLessThanUser";
@@ -15,7 +15,7 @@ export declare class RewardLib__factory extends ContractFactory {
15
15
  deploymentTransaction(): ContractTransactionResponse;
16
16
  }>;
17
17
  connect(runner: ContractRunner | null): RewardLib__factory;
18
- static readonly bytecode = "0x60808060405234601b57610baa90816100208239308160320152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630ec61d141461044f576313e4771e1461002f575f80fd5b307f0000000000000000000000000000000000000000000000000000000000000000146104215761005f36610471565b6001600160a01b038083165f8181526020978852604080822093871682529688528681209181529652939094209493909290919061009c8461085c565b9481549463ffffffff8854169486861461017d576100ba90866104b7565b95808711610447575b505f9687946001600160a01b0381169473__$722770e92751af7c18db862b2d8e717318$__94885b8a811061018c578c8c8c8c8c1561017d5790600284015b818310610130575b50505063ffffffff6101208354928284166104b7565b63ffffffff199092169116179055005b909192835f528160205260ff600260405f20015460301c1615610177576001810180911161016357926001019190610102565b634e487b7160e01b5f52601160045260245ffd5b9261010a565b63162908e360e11b5f5260045ffd5b61019f61019982856104c4565b50610528565b4363ffffffff825116116104385780602063ffffffff6101d793511660405180948192630eedb1fb60e41b83528a8960048501610593565b03818c5af4801561042d578f925f916103f5575b5060608201516001600160a01b03168b1480156103ed575b6103c157801515806103b4575b610222575b5050506001905b016100eb565b83600284959d93940193815f528460205264ffffffffff600361025282600260405f20015460081c16948b6104c4565b50015460a01c1690818310156103835761028a8f91604061028161027a8f602085015161090b565b80986105b9565b910151906105cc565b90805f528660205260ff600260405f200154161561034f575b5015610340578d8861032b96946102e560019997958d95855f528860205260405f20549063ffffffff60036102d889896104c4565b50015460c81c1691610946565b9096845f52602052600260405f20019065ffffffffff0082549160081b169065ffffffffff001916179055808611610336575b5084958d6103269596610a2c565b6104b7565b9890508c5f80610215565b9450610326610318565b5050509990506001915061021c565b84821161037b575b5f908152602087905260409020818155600201805460ff191660011790558e6102a3565b849150610357565b5050505f8c8152602093909352506040909120600201805460ff60301b1916600160301b179055986001915061021c565b5060408201511515610210565b50505f82815260029182016020526040902001805460ff60301b1916600160301b17905560019061021c565b508015610203565b9250506020823d8211610425575b81610410602093836104f1565b81010312610421578e91515f6101eb565b5f80fd5b3d9150610403565b6040513d5f823e3d90fd5b631391e11b60e21b5f5260045ffd5b95505f6100c3565b602061046961045d36610471565b949390939291926105ea565b604051908152f35b60c0906003190112610421576004359060243590604435906064356001600160a01b038116810361042157906084356001600160a01b0381168103610421579060a43590565b9190820180921161016357565b80548210156104dd575f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b601f909101601f19168101906001600160401b0382119082101761051457604052565b634e487b7160e01b5f52604160045260245ffd5b60405190919060c081016001600160401b038111828210176105145760405260a063ffffffff6003839582815416855260018101546020860152600281015460408601520154600180841b038116606085015264ffffffffff81841c16608085015260c81c16910152565b9081526001600160a01b03909116602082015263ffffffff909116604082015260600190565b8181029291811591840414171561016357565b81156105d6570490565b634e487b7160e01b5f52601260045260245ffd5b6001600160a01b038086165f8181526020948552604080822093881682529585528581209181529352928220919695909490939291906106299061085c565b9082549463ffffffff8254169086821461084f5761064790826104b7565b95808711610847575b5073__$722770e92751af7c18db862b2d8e717318$__905b868110610679575050505050505050565b61068661019982876104c4565b60608101516001600160a01b0388811691161461083e5763ffffffff815116906020888b6106c86040519586938493630eedb1fb60e41b855260048501610593565b0381875af491821561042d575f9261080b575b50811515806107fe575b6106f6575b50506001905b01610668565b91809b9260028601825f528060205264ffffffffff600361072482600260405f20015460081c16958c6104c4565b50015460a01c1691828410156107f057906107558f9392604061028161074e8d602085015161090b565b80996105b9565b90835f528060205260405f2054935f5260205260ff600260405f20015416156107d7575b5081156107ca576107ba936107a48f946107b4948b9463ffffffff60038f60019c9a6102d8916104c4565b50908082116107c2575b50610a0a565b906104b7565b99905f6106ea565b90505f6107ae565b50505050986001906106f0565b9091508381116107e9575b905f610779565b50826107e2565b5050505050986001906106f0565b50604081015115156106e5565b9091506020813d8211610836575b81610826602093836104f1565b810103126104215751905f6106db565b3d9150610819565b506001906106f0565b95505f610650565b505f985050505050505050565b60405163313ce56760e01b81529190602090839060049082906001600160a01b03165afa91821561042d575f926108ab575b50601260ff83161161089c57565b63180d062b60e31b5f5260045ffd5b9091506020813d6020116108e1575b816108c7602093836104f1565b81010312610421575160ff8116810361042157905f61088e565b3d91506108ba565b60ff166012039060ff821161016357565b60ff16604d811161016357600a0a90565b90601260ff821614610935579061092c610927610932936108e9565b6108fa565b906105b9565b90565b5090565b9190820391821161016357565b909392919362093a8061096063ffffffff5f971642610939565b04600181018091116101635764ffffffffff169064ffffffffff81169081831015610a00575b5061099191926105cc565b5f9183915b64ffffffffff821664ffffffffff8416106109c95750505064ffffffffff80911691160164ffffffffff81116101635790565b909192956109dd8264ffffffffff926104b7565b961664ffffffffff8114610163576001908101930164ffffffffff169190610996565b9150610991610986565b90601260ff8216146109355790610a26610927610932936108e9565b906105cc565b929091928015610b6c57610a4990610a438461085c565b90610a0a565b9260018201918254906002610a5e87846104b7565b910154809111610b55575b505080600160029201610a7d8682546104b7565b9055855f5201602052600160405f2001610a988482546104b7565b9055610aa58382546104b7565b905560405163a9059cbb60e01b60208281019182526001600160a01b03968716602484018190526044808501879052845296939093169492915f9190610aec6064826104f1565b519082875af11561042d575f513d610b4c5750823b155b610b39577ff3d804b61a64faf0efebbb149ce09c7269a116f5d28dd046d4a848bcf36049c39160409182519182526020820152a3565b82635274afe760e01b5f5260045260245ffd5b60011415610b03565b600292955090610b6491610939565b93905f610a69565b50505050505056fea26469706673582212202003306f90804731faa6391c64da4af34aade2ac938e44961b06373b5e2dba4464736f6c634300081e0033";
18
+ static readonly bytecode = "0x60808060405234601b57610c0890816100208239308160320152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80630ec61d14146104b4576313e4771e1461002f575f80fd5b307f0000000000000000000000000000000000000000000000000000000000000000146104775761005f366104d6565b6001600160a01b038083165f818152602097885260408082209387168252968852868120918152965293909420949193919061009a81610912565b9184549463ffffffff885416948686146104a5576100b8908661051c565b9580871161049d575b505f966001600160a01b0381169373__$722770e92751af7c18db862b2d8e717318$__93875b898110610172578b8b8a8c600284015b818310610125575b50505063ffffffff61011583549282841661051c565b63ffffffff199092169116179055005b909192835f528160205260ff600260405f20015460301c161561016c5760018101809111610158579260010191906100f7565b634e487b7160e01b5f52601160045260245ffd5b926100ff565b61018561017f8287610529565b5061058d565b904363ffffffff8351161161048e5781602060e06101bb940151604051809581926311bab5e760e01b83528a8960048501610613565b03818b5af490811561048357868f928c8c8b975f9361043f575b5091600197918793898060a01b03606088015116148015610437575b61040b57811515806103fe575b610211575b505050505050505b016100e7565b60028701845f528060205264ffffffffff600260405f20015460081c169264ffffffffff60036102418888610529565b50015460a01c1693848110156103d357602089019461027961026e6102678789516109c1565b8095610634565b60408c015190610647565b92885f528460205260ff600260405f20015416156103a0575b50821561037457916102d161030a94928860c0979563ffffffff60036102c48e805f528960205260405f205495610529565b50015460c81c16916109ef565b9092895f52602052600260405f20019065ffffffffff0082549160081b169065ffffffffff00191617905580821161036c575b50610ab3565b950161031781518761051c565b9151809211610356575b505083948961032f95610ad5565b610348600461033e848a610529565b500191825461051c565b90558c5f868389838e610203565b5161032f955061036591610665565b935f610321565b90505f610304565b50505096505050509150505f52602052600260405f20018260301b60ff60301b1982541617905561020b565b8084116103cb575b505f888152602085905260408120848155600201805460ff19168f179055610292565b92505f6103a8565b505096505050509150505f52602052600260405f20018260301b60ff60301b1982541617905561020b565b50604086015115156101fe565b505050925050505f5260028d01602052600260405f20018260301b60ff60301b1982541617905561020b565b5081156101f1565b95505050505092506020813d821161047b575b8161045f60209383610556565b81010312610477575186928e9187908c8c60016101d5565b5f80fd5b3d9150610452565b6040513d5f823e3d90fd5b631391e11b60e21b5f5260045ffd5b95505f6100c1565b63162908e360e11b5f5260045ffd5b60206104ce6104c2366104d6565b94939093929192610672565b604051908152f35b60c0906003190112610477576004359060243590604435906064356001600160a01b038116810361047757906084356001600160a01b0381168103610477579060a43590565b9190820180921161015857565b8054821015610542575f52600660205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b601f909101601f19168101906001600160401b0382119082101761057957604052565b634e487b7160e01b5f52604160045260245ffd5b60405190919061010081016001600160401b038111828210176105795760405260e06005829463ffffffff8154168452600181015460208501526002810154604085015263ffffffff600382015460018060a01b038116606087015264ffffffffff8160a01c16608087015260c81c1660a0850152600481015460c08501520154910152565b9081526001600160a01b039091166020820152604081019190915260600190565b8181029291811591840414171561015857565b8115610651570490565b634e487b7160e01b5f52601260045260245ffd5b9190820391821161015857565b6001600160a01b038086165f81815260209485526040808220938816825295855285812091815293529282209196959094909391906106b090610912565b9083549463ffffffff82541690868214610905576106ce908261051c565b958087116108fd575b5073__$722770e92751af7c18db862b2d8e717318$__905b868110610700575050505050505050565b61070d61017f8288610529565b60608101516001600160a01b038781169116146108f45760e08101516020878b61074b60405194859384936311bab5e760e01b855260048501610613565b0381875af4908115610483575f916108c3575b50801515806108b6575b610779575b50506001905b016106ef565b6002859c92939c01908c5f52816020528c64ffffffffff60036107a982600260405f20015460081c16938d610529565b50015460a01c16808210156108a8578e9060208701946107e26107d76107d08d89516109c1565b8097610634565b60408a015190610647565b90835f528060205260405f2054935f5260205260ff600260405f200154161561088f575b508115610880578f610863969461083660019997958f95610845958f9560036102c463ffffffff9260c09b610529565b509080821161036c5750610ab3565b930161085281518561051c565b915180921161086b575b505061051c565b99905f61076d565b6108789293505190610665565b905f8061085c565b50505050509960019150610773565b9091508381116108a1575b905f610806565b508261089a565b505050509960019150610773565b5060408201511515610768565b90506020813d82116108ec575b816108dd60209383610556565b8101031261047757515f61075e565b3d91506108d0565b50600190610773565b95505f6106d7565b505f985050505050505050565b60405163313ce56760e01b81529190602090839060049082906001600160a01b03165afa918215610483575f92610961575b50601260ff83161161095257565b63180d062b60e31b5f5260045ffd5b9091506020813d602011610997575b8161097d60209383610556565b81010312610477575160ff8116810361047757905f610944565b3d9150610970565b60ff166012039060ff821161015857565b60ff16604d811161015857600a0a90565b90601260ff8216146109eb57906109e26109dd6109e89361099f565b6109b0565b90610634565b90565b5090565b909392919362093a80610a0963ffffffff5f971642610665565b04600181018091116101585764ffffffffff169064ffffffffff81169081831015610aa9575b50610a3a9192610647565b5f9183915b64ffffffffff821664ffffffffff841610610a725750505064ffffffffff80911691160164ffffffffff81116101585790565b90919295610a868264ffffffffff9261051c565b961664ffffffffff8114610158576001908101930164ffffffffff169190610a3f565b9150610a3a610a2f565b90601260ff8216146109eb5790610acf6109dd6109e89361099f565b90610647565b929190918315610bca576002826001809401610af287825461051c565b9055865f52016020528160405f2001610b0c85825461051c565b905501610b1a83825461051c565b905560405163a9059cbb60e01b60208281019182526001600160a01b03968716602484018190526044808501879052845296939093169492915f9190610b61606482610556565b519082875af115610483575f513d610bc15750823b155b610bae577ff3d804b61a64faf0efebbb149ce09c7269a116f5d28dd046d4a848bcf36049c39160409182519182526020820152a3565b82635274afe760e01b5f5260045260245ffd5b60011415610b78565b50505050505056fea2646970667358221220999cb50cb9a798756b0a4e8b04ce7f26a999a8e35c9c28dcd3e38f816487820f64736f6c634300081e0033";
19
19
  static readonly abi: readonly [{
20
20
  readonly inputs: readonly [];
21
21
  readonly name: "InvalidAmount";