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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/dist/RPCLibrary.js +57 -23
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +8 -2
  4. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +2 -2
  5. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +2 -2
  6. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +2 -2
  7. package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +2 -2
  8. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  9. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +62 -86
  10. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  11. package/dist/artifacts/core/psm/PSMVault.sol/PSMVault.json +2303 -0
  12. package/dist/artifacts/core/psm/RateProvider.sol/RateProvider.json +444 -0
  13. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  14. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +69 -66
  15. package/dist/artifacts/zeno/Auction.sol/Auction.json +278 -120
  16. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +31 -148
  17. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +80 -45
  18. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +11 -88
  19. package/dist/assets/getAsset.js +2 -2
  20. package/dist/assets/getSupply.js +7 -7
  21. package/dist/configs/chains/1.json +15 -0
  22. package/dist/contracts/feeCollector/claimRewardFromPool.js +2 -2
  23. package/dist/contracts/findContract.js +1 -1
  24. package/dist/contracts/getContractAddress.js +1 -2
  25. package/dist/contracts/getTokenMetadata.js +31 -0
  26. package/dist/contracts/governance/_helpers.js +1 -22
  27. package/dist/contracts/governance/distributor/claimAll.js +2 -2
  28. package/dist/contracts/governance/distributor/claimForGauge.js +2 -2
  29. package/dist/contracts/governance/distributor/deposit.js +2 -2
  30. package/dist/contracts/governance/distributor/setController.js +2 -2
  31. package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +2 -2
  32. package/dist/contracts/governance/distributor/setMaxClaimBound.js +2 -2
  33. package/dist/contracts/governance/distributor/withdrawDust.js +2 -2
  34. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +2 -2
  35. package/dist/contracts/governance/gauge/claimRewardToken.js +2 -3
  36. package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +2 -2
  37. package/dist/contracts/governance/gauge/stake.js +2 -3
  38. package/dist/contracts/governance/gauge/updateUserRewards.js +2 -3
  39. package/dist/contracts/governance/gauge/withdraw.js +2 -3
  40. package/dist/contracts/governance/gaugeController/addGauge.js +2 -2
  41. package/dist/contracts/governance/gaugeController/batchVote.js +2 -2
  42. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +2 -2
  43. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +2 -2
  44. package/dist/contracts/governance/gaugeController/kick.js +2 -2
  45. package/dist/contracts/governance/gaugeController/removeGauge.js +2 -2
  46. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +2 -2
  47. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +2 -2
  48. package/dist/contracts/governance/gaugeController/setDistributor.js +2 -2
  49. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +2 -2
  50. package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +2 -2
  51. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +2 -2
  52. package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +2 -2
  53. package/dist/contracts/governance/gaugeController/vote.js +2 -2
  54. package/dist/contracts/governance/proposals/cancel.js +3 -4
  55. package/dist/contracts/governance/proposals/castVote.js +4 -4
  56. package/dist/contracts/governance/proposals/execute.js +3 -4
  57. package/dist/contracts/governance/proposals/getVoteReceipt.js +0 -1
  58. package/dist/contracts/governance/proposals/propose.js +3 -4
  59. package/dist/contracts/governance/proposals/setParameter.js +3 -4
  60. package/dist/contracts/governance/proposals/setTimelock.js +3 -4
  61. package/dist/contracts/housePrices/getLatestPrice.js +3 -3
  62. package/dist/contracts/housePrices/setOracle.js +3 -4
  63. package/dist/contracts/lockers/liquidLocker/deposit.js +12 -4
  64. package/dist/contracts/lockers/liquidLocker/hasHarvestRole.js +15 -0
  65. package/dist/contracts/pmBlender/getReserveBalance.js +3 -3
  66. package/dist/contracts/pmBlender/getSupportedTokens.js +0 -1
  67. package/dist/contracts/pmBlender/previewDeposit.js +3 -3
  68. package/dist/contracts/pmBlender/previewSwap.js +3 -3
  69. package/dist/contracts/pmBlender/previewWithdraw.js +3 -3
  70. package/dist/contracts/pmMarket/getMarketConfig.js +3 -3
  71. package/dist/contracts/pmTreasury/getCollateralRatio.js +4 -2
  72. package/dist/contracts/pmTreasury/getCurrentNav.js +4 -2
  73. package/dist/contracts/pmTreasury/getLeverageRatio.js +4 -2
  74. package/dist/contracts/pmTreasury/getMaxMintablePMUSD.js +4 -2
  75. package/dist/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.js +4 -2
  76. package/dist/contracts/pmTreasury/getMaxMintableXPM.js +4 -2
  77. package/dist/contracts/pmTreasury/getMaxRedeemablePMUSD.js +4 -2
  78. package/dist/contracts/pmTreasury/getMaxRedeemableXPM.js +4 -2
  79. package/dist/contracts/pmTreasury/getTotalBaseToken.js +4 -2
  80. package/dist/contracts/psm/_helpers.js +68 -0
  81. package/dist/contracts/psm/cancelExit.js +20 -0
  82. package/dist/contracts/psm/deposit.js +25 -0
  83. package/dist/contracts/psm/getVaultInfo.js +126 -0
  84. package/dist/contracts/psm/previewDeposit.js +21 -0
  85. package/dist/contracts/psm/previewProportionalSplit.js +19 -0
  86. package/dist/contracts/psm/previewRedeem.js +21 -0
  87. package/dist/contracts/psm/previewSwap.js +21 -0
  88. package/dist/contracts/psm/redeem.js +25 -0
  89. package/dist/contracts/psm/requestExit.js +20 -0
  90. package/dist/contracts/psm/swap.js +24 -0
  91. package/dist/contracts/tokens/veRAAC/_helpers.js +0 -2
  92. package/dist/contracts/tokens/veRAAC/claimReward.js +3 -4
  93. package/dist/contracts/tokens/veRAAC/distributeRewards.js +3 -4
  94. package/dist/contracts/tokens/veRAAC/extend.js +3 -4
  95. package/dist/contracts/tokens/veRAAC/finalizeRagequit.js +3 -4
  96. package/dist/contracts/tokens/veRAAC/getRewardTokens.js +34 -0
  97. package/dist/contracts/tokens/veRAAC/getTotalSupply.js +0 -1
  98. package/dist/contracts/tokens/veRAAC/getTotalSupplyAt.js +1 -1
  99. package/dist/contracts/tokens/veRAAC/increase.js +3 -4
  100. package/dist/contracts/tokens/veRAAC/lock.js +3 -4
  101. package/dist/contracts/tokens/veRAAC/ragequitAll.js +3 -4
  102. package/dist/contracts/tokens/veRAAC/ragequitLock.js +3 -4
  103. package/dist/contracts/tokens/veRAAC/withdraw.js +3 -4
  104. package/dist/contracts/zeno/createAuction.js +30 -15
  105. package/dist/contracts/zeno/createZeno.js +23 -12
  106. package/dist/contracts/zeno/getAuctions.js +35 -33
  107. package/dist/contracts/zeno/getZenos.js +32 -16
  108. package/dist/generated/errors.json +3537 -0
  109. package/dist/index.js +1 -0
  110. package/dist/methods/approveToken.js +2 -4
  111. package/dist/methods/commons/checkAllowance.js +2 -3
  112. package/dist/methods/commons/estimateGasPrice.js +0 -1
  113. package/dist/methods/getAssetBalance.js +4 -4
  114. package/dist/nfts/approveNFT.js +3 -5
  115. package/dist/nfts/getAllTokens.js +3 -4
  116. package/dist/nfts/getApprovalForAll.js +3 -4
  117. package/dist/nfts/getBaseUri.js +3 -4
  118. package/dist/nfts/getHousePrice.js +3 -3
  119. package/dist/nfts/getMintFeePercentage.js +3 -3
  120. package/dist/nfts/getMintPrice.js +3 -3
  121. package/dist/nfts/getNFTApproval.js +3 -4
  122. package/dist/nfts/getOwnerOfNFT.js +3 -5
  123. package/dist/nfts/getTokenURI.js +3 -4
  124. package/dist/nfts/getTokensByOwner.js +3 -4
  125. package/dist/nfts/getTotalPropertiesCount.js +3 -4
  126. package/dist/nfts/mint.js +3 -5
  127. package/dist/nfts/setApprovalForAll.js +3 -5
  128. package/dist/nfts/setBaseUri.js +3 -4
  129. package/dist/nfts/totalNFTSupply.js +3 -3
  130. package/dist/oracles/houses/request.js +2 -15
  131. package/dist/oracles/houses/simulate.js +0 -3
  132. package/dist/oracles/prime-rate/request.js +2 -16
  133. package/dist/oracles/prime-rate/simulate.js +0 -4
  134. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +2 -2
  135. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +4 -2
  136. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
  137. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
  138. package/dist/pools/lendingPool/borrowFromLendingPool.js +4 -2
  139. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +3 -8
  140. package/dist/pools/lendingPool/calculateInsuranceFee.js +4 -2
  141. package/dist/pools/lendingPool/closeLiquidation.js +4 -2
  142. package/dist/pools/lendingPool/depositAssetToLendingPool.js +4 -2
  143. package/dist/pools/lendingPool/depositToLendingPool.js +4 -6
  144. package/dist/pools/lendingPool/getAdapters.js +4 -2
  145. package/dist/pools/lendingPool/getEligibleUserDeposits.js +4 -2
  146. package/dist/pools/lendingPool/getHealthFactor.js +4 -2
  147. package/dist/pools/lendingPool/getHousePrice.js +3 -3
  148. package/dist/pools/lendingPool/getLendingPoolInfo.js +3 -2
  149. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +4 -2
  150. package/dist/pools/lendingPool/getParameters.js +4 -2
  151. package/dist/pools/lendingPool/getPositionDebt.js +4 -2
  152. package/dist/pools/lendingPool/getPositionScaledDebt.js +4 -2
  153. package/dist/pools/lendingPool/getPositionView.js +4 -2
  154. package/dist/pools/lendingPool/getPositionsScaledDebt.js +4 -2
  155. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +4 -2
  156. package/dist/pools/lendingPool/getUserCollateralValue.js +4 -2
  157. package/dist/pools/lendingPool/initializeLiquidation.js +4 -2
  158. package/dist/pools/lendingPool/openVaultPosition.js +4 -6
  159. package/dist/pools/lendingPool/repayToLendingPool.js +4 -2
  160. package/dist/pools/lendingPool/vaultOpened.js +4 -2
  161. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +4 -2
  162. package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
  163. package/dist/pools/liquidityPool/getLiquidityPoolInfo.js +3 -3
  164. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
  165. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
  166. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
  167. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +2 -2
  168. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
  169. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
  170. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
  171. package/dist/pools/rwaVault/checkRedeemEligibility.js +46 -0
  172. package/dist/pools/rwaVault/depositToRWAVault.js +4 -4
  173. package/dist/pools/rwaVault/getAdapters.js +2 -2
  174. package/dist/pools/rwaVault/getNextRandomNFT.js +4 -2
  175. package/dist/pools/rwaVault/getRWAVaultInfo.js +4 -2
  176. package/dist/pools/rwaVault/previewDeposit.js +4 -2
  177. package/dist/pools/rwaVault/previewWithdraw.js +4 -2
  178. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +4 -4
  179. package/dist/pools/rwaVault/requestRandomSeed.js +4 -4
  180. package/dist/pools/stabilityPool/depositToStabilityPool.js +4 -4
  181. package/dist/pools/stabilityPool/getRawUserDepositsInStabilityPool.js +4 -2
  182. package/dist/pools/stabilityPool/getStabilityPoolInfo.js +4 -2
  183. package/dist/pools/stabilityPool/getStabilityPoolTotalDeposits.js +4 -2
  184. package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +4 -2
  185. package/dist/pools/stabilityPool/getWithdrawTimelockConfig.js +25 -0
  186. package/dist/pools/stabilityPool/requestWithdraw.js +4 -4
  187. package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +4 -4
  188. package/dist/prices/computeStakingAPY.js +12 -0
  189. package/dist/prices/getCurveLPPriceUSD.js +46 -0
  190. package/dist/prices/getPrices.js +10 -8
  191. package/dist/prices/getStakingTokenPriceUSD.js +25 -0
  192. package/dist/prices/getWrapperPriceUSD.js +33 -0
  193. package/dist/prices/tokenPricesUSD.js +20 -0
  194. package/dist/scripts/generateErrorCatalogue.js +237 -0
  195. package/dist/types/RPCLibrary.d.ts +42 -8
  196. package/dist/types/configs/chains/index.d.ts +30 -0
  197. package/dist/types/configs/index.d.ts +15 -0
  198. package/dist/types/contracts/getTokenMetadata.d.ts +13 -0
  199. package/dist/types/contracts/governance/_helpers.d.ts +0 -20
  200. package/dist/types/contracts/governance/proposals/castVote.d.ts +1 -2
  201. package/dist/types/contracts/lockers/liquidLocker/hasHarvestRole.d.ts +8 -0
  202. package/dist/types/contracts/psm/_helpers.d.ts +18 -0
  203. package/dist/types/contracts/psm/cancelExit.d.ts +4 -0
  204. package/dist/types/contracts/psm/deposit.d.ts +9 -0
  205. package/dist/types/contracts/psm/getVaultInfo.d.ts +77 -0
  206. package/dist/types/contracts/psm/previewDeposit.d.ts +7 -0
  207. package/dist/types/contracts/psm/previewProportionalSplit.d.ts +9 -0
  208. package/dist/types/contracts/psm/previewRedeem.d.ts +7 -0
  209. package/dist/types/contracts/psm/previewSwap.d.ts +7 -0
  210. package/dist/types/contracts/psm/redeem.d.ts +9 -0
  211. package/dist/types/contracts/psm/requestExit.d.ts +4 -0
  212. package/dist/types/contracts/psm/swap.d.ts +8 -0
  213. package/dist/types/contracts/tokens/veRAAC/getRewardTokens.d.ts +10 -0
  214. package/dist/types/contracts/zeno/createAuction.d.ts +15 -5
  215. package/dist/types/contracts/zeno/createZeno.d.ts +10 -1
  216. package/dist/types/contracts/zeno/getAuctions.d.ts +10 -11
  217. package/dist/types/contracts/zeno/getZenos.d.ts +25 -2
  218. package/dist/types/index.d.ts +1 -0
  219. package/dist/types/pools/rwaVault/checkRedeemEligibility.d.ts +15 -0
  220. package/dist/types/pools/stabilityPool/getWithdrawTimelockConfig.d.ts +14 -0
  221. package/dist/types/prices/computeStakingAPY.d.ts +2 -0
  222. package/dist/types/prices/getCurveLPPriceUSD.d.ts +3 -0
  223. package/dist/types/prices/getPrices.d.ts +4 -8
  224. package/dist/types/prices/getStakingTokenPriceUSD.d.ts +16 -0
  225. package/dist/types/prices/getWrapperPriceUSD.d.ts +7 -0
  226. package/dist/types/prices/tokenPricesUSD.d.ts +7 -0
  227. package/dist/types/scripts/generateErrorCatalogue.d.ts +45 -0
  228. package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +2 -0
  229. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +65 -0
  230. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  231. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +36 -0
  232. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +20 -0
  233. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  234. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/Proxy.d.ts +20 -0
  235. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +25 -0
  236. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  237. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +7 -0
  238. package/dist/types/typechain-types/{contracts/core/governance/gauges/VeBoostProxy.d.ts → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts} +24 -47
  239. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +80 -0
  240. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +51 -0
  241. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  242. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  243. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +29 -2
  244. package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +0 -2
  245. package/dist/types/typechain-types/contracts/core/lockers/RAACBotLocker.d.ts +1 -9
  246. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +47 -2
  247. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +24 -10
  248. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +42 -43
  249. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +7 -3
  250. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +7 -3
  251. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +7 -3
  252. package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +59 -12
  253. package/dist/types/typechain-types/contracts/core/tokens/VeRAACTokenStorage.d.ts +47 -12
  254. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +29 -2
  255. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  256. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACBotLocker.d.ts +1 -9
  257. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +82 -15
  258. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +32 -6
  259. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +5 -1
  260. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +47 -12
  261. package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +43 -39
  262. package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +28 -22
  263. package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +2 -36
  264. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeStub.d.ts +33 -0
  265. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  266. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken.d.ts +173 -0
  267. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault.d.ts +53 -0
  268. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe.d.ts +91 -0
  269. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  270. package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
  271. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +32 -6
  272. package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +6 -2
  273. package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +200 -108
  274. package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +21 -105
  275. package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +46 -40
  276. package/dist/types/typechain-types/contracts/zeno/ZENOFactory.d.ts +10 -57
  277. package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +1 -0
  278. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +42 -0
  279. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  280. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +71 -0
  281. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +50 -0
  282. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  283. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +10 -0
  284. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +17 -0
  285. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  286. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +4 -0
  287. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +115 -0
  288. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +56 -0
  289. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +102 -0
  290. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  291. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +2 -0
  292. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  293. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +26 -1
  294. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
  295. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -1
  296. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -1
  297. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +0 -2
  298. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -11
  299. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +66 -1
  300. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +25 -9
  301. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  302. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +12 -2
  303. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +43 -60
  304. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +12 -2
  305. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +12 -2
  306. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  307. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  308. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  309. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  310. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  311. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACTokenStorage__factory.d.ts +47 -18
  312. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +58 -19
  313. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +25 -0
  314. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  315. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACBotLocker__factory.d.ts +0 -10
  316. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +91 -6
  317. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +30 -0
  318. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -0
  319. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +47 -18
  320. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +52 -30
  321. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +36 -8
  322. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  323. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  324. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  325. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
  326. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
  327. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -36
  328. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  329. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  330. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeStub__factory.d.ts +42 -0
  331. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  332. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
  333. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken__factory.d.ts +306 -0
  334. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault__factory.d.ts +68 -0
  335. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe__factory.d.ts +149 -0
  336. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  337. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
  338. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  339. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  340. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +31 -1
  341. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
  342. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  343. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +5 -1
  344. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
  345. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
  346. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +2 -9
  347. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  348. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  349. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  350. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +26 -118
  351. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +230 -106
  352. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +9 -68
  353. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +66 -38
  354. package/dist/types/typechain-types/index.d.ts +24 -8
  355. package/dist/types/typechain-types/psm/PSMVault.d.ts +1503 -0
  356. package/dist/types/typechain-types/psm/RateProvider.d.ts +228 -0
  357. package/dist/types/typechain-types/psm/common.d.ts +46 -0
  358. package/dist/types/typechain-types/psm/factories/PSMVault__factory.d.ts +1795 -0
  359. package/dist/types/typechain-types/psm/factories/RateProvider__factory.d.ts +299 -0
  360. package/dist/types/typechain-types/psm/factories/imports.sol/PSMProxyAdmin__factory.d.ts +117 -0
  361. package/dist/types/typechain-types/psm/factories/imports.sol/PSMTransparentProxy__factory.d.ts +108 -0
  362. package/dist/types/typechain-types/psm/factories/imports.sol/index.d.ts +2 -0
  363. package/dist/types/typechain-types/psm/factories/index.d.ts +8 -0
  364. package/dist/types/typechain-types/psm/factories/interfaces/IBaseAssetNav__factory.d.ts +21 -0
  365. package/dist/types/typechain-types/psm/factories/interfaces/IRateProvider__factory.d.ts +65 -0
  366. package/dist/types/typechain-types/psm/factories/interfaces/IRebalancer__factory.d.ts +25 -0
  367. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoost__factory.d.ts → psm/factories/interfaces/ISavingsToken__factory.d.ts} +215 -192
  368. package/dist/types/typechain-types/psm/factories/interfaces/index.d.ts +6 -0
  369. package/dist/types/typechain-types/psm/factories/interfaces/v2/IRebalancerV2__factory.d.ts +21 -0
  370. package/dist/types/typechain-types/psm/factories/interfaces/v2/index.d.ts +1 -0
  371. package/dist/types/typechain-types/psm/factories/interfaces/v3/IRateProviderV3__factory.d.ts +65 -0
  372. package/dist/types/typechain-types/psm/factories/interfaces/v3/index.d.ts +1 -0
  373. package/dist/types/typechain-types/psm/factories/mocks/MockBaseAssetModule__factory.d.ts +450 -0
  374. package/dist/types/typechain-types/psm/factories/mocks/MockChainlinkFeed__factory.d.ts +106 -0
  375. package/dist/types/typechain-types/psm/factories/mocks/MockERC20__factory.d.ts +288 -0
  376. package/dist/types/typechain-types/psm/factories/mocks/MockFeeOnTransferERC20__factory.d.ts +356 -0
  377. package/dist/types/typechain-types/psm/factories/mocks/MockPmUSD__factory.d.ts +326 -0
  378. package/dist/types/typechain-types/psm/factories/mocks/MockProxy__factory.d.ts +108 -0
  379. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/IMockMintable__factory.d.ts +21 -0
  380. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/MockRebalancer__factory.d.ts +138 -0
  381. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/index.d.ts +2 -0
  382. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/IMockMintable__factory.d.ts +21 -0
  383. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/MockRebalancerV2__factory.d.ts +134 -0
  384. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  385. package/dist/types/typechain-types/psm/factories/mocks/MockSavingsToken__factory.d.ts +330 -0
  386. package/dist/types/typechain-types/psm/factories/mocks/index.d.ts +9 -0
  387. package/dist/types/typechain-types/psm/factories/utils/index.d.ts +1 -0
  388. package/dist/types/typechain-types/psm/factories/utils/zap/AladdinZap__factory.d.ts +322 -0
  389. package/dist/types/typechain-types/psm/factories/utils/zap/TokenZapLogic__factory.d.ts +73 -0
  390. package/dist/types/typechain-types/psm/factories/utils/zap/index.d.ts +3 -0
  391. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerPool__factory.d.ts +91 -0
  392. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerVault__factory.d.ts +261 -0
  393. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IConvexCRVDepositor__factory.d.ts +49 -0
  394. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool__factory.d.ts +305 -0
  395. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool__factory.d.ts +305 -0
  396. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool__factory.d.ts +305 -0
  397. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool__factory.d.ts +305 -0
  398. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  399. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool__factory.d.ts +39 -0
  400. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool__factory.d.ts +39 -0
  401. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool__factory.d.ts +39 -0
  402. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool__factory.d.ts +175 -0
  403. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  404. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool__factory.d.ts +301 -0
  405. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool__factory.d.ts +165 -0
  406. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool__factory.d.ts +181 -0
  407. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  408. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveETHPool__factory.d.ts +155 -0
  409. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool__factory.d.ts +99 -0
  410. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool__factory.d.ts +99 -0
  411. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap__factory.d.ts +55 -0
  412. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool__factory.d.ts +193 -0
  413. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  414. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool__factory.d.ts +183 -0
  415. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool__factory.d.ts +183 -0
  416. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool__factory.d.ts +183 -0
  417. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool__factory.d.ts +147 -0
  418. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  419. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit__factory.d.ts +141 -0
  420. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap__factory.d.ts +227 -0
  421. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  422. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoostProxy__factory.d.ts → psm/factories/utils/zap/interfaces/ICurvePoolRegistry__factory.d.ts} +13 -24
  423. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit__factory.d.ts +165 -0
  424. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap__factory.d.ts +193 -0
  425. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit__factory.d.ts +165 -0
  426. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap__factory.d.ts +193 -0
  427. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit__factory.d.ts +165 -0
  428. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap__factory.d.ts +193 -0
  429. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit__factory.d.ts +165 -0
  430. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap__factory.d.ts +193 -0
  431. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  432. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoStETH__factory.d.ts +35 -0
  433. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoWstETH__factory.d.ts +83 -0
  434. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV2Pair__factory.d.ts +95 -0
  435. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Pool__factory.d.ts +115 -0
  436. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Router__factory.d.ts +54 -0
  437. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IWETH__factory.d.ts +23 -0
  438. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IZap__factory.d.ts +107 -0
  439. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCRV__factory.d.ts +401 -0
  440. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCompounder__factory.d.ts +350 -0
  441. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  442. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/index.d.ts +20 -0
  443. package/dist/types/typechain-types/psm/factories/v2/PSMVaultV2__factory.d.ts +1846 -0
  444. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IPSMVaultView__factory.d.ts +17 -0
  445. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IRateOracle__factory.d.ts +31 -0
  446. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IZap__factory.d.ts +33 -0
  447. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/RebalancerV2__factory.d.ts +506 -0
  448. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/index.d.ts +4 -0
  449. package/dist/types/typechain-types/psm/factories/v2/index.d.ts +2 -0
  450. package/dist/types/typechain-types/psm/factories/v3/PSMVaultV3__factory.d.ts +1955 -0
  451. package/dist/types/typechain-types/psm/factories/v3/RateProviderComposed__factory.d.ts +303 -0
  452. package/dist/types/typechain-types/psm/factories/v3/RateProviderDirect__factory.d.ts +293 -0
  453. package/dist/types/typechain-types/psm/factories/v3/index.d.ts +3 -0
  454. package/dist/types/typechain-types/psm/imports.sol/PSMProxyAdmin.d.ts +96 -0
  455. package/dist/types/typechain-types/psm/imports.sol/PSMTransparentProxy.d.ts +51 -0
  456. package/dist/types/typechain-types/psm/imports.sol/index.d.ts +2 -0
  457. package/dist/types/typechain-types/psm/index.d.ts +157 -0
  458. package/dist/types/typechain-types/psm/interfaces/IBaseAssetNav.d.ts +33 -0
  459. package/dist/types/typechain-types/psm/interfaces/IRateProvider.d.ts +75 -0
  460. package/dist/types/typechain-types/psm/interfaces/IRebalancer.d.ts +39 -0
  461. package/dist/types/typechain-types/psm/interfaces/ISavingsToken.d.ts +400 -0
  462. package/dist/types/typechain-types/psm/interfaces/index.d.ts +8 -0
  463. package/dist/types/typechain-types/psm/interfaces/v2/IRebalancerV2.d.ts +35 -0
  464. package/dist/types/typechain-types/psm/interfaces/v2/index.d.ts +1 -0
  465. package/dist/types/typechain-types/psm/interfaces/v3/IRateProviderV3.d.ts +75 -0
  466. package/dist/types/typechain-types/psm/interfaces/v3/index.d.ts +1 -0
  467. package/dist/types/typechain-types/psm/mocks/MockBaseAssetModule.d.ts +311 -0
  468. package/dist/types/typechain-types/psm/mocks/MockChainlinkFeed.d.ts +91 -0
  469. package/dist/types/typechain-types/psm/mocks/MockERC20.d.ts +179 -0
  470. package/dist/types/typechain-types/psm/mocks/MockFeeOnTransferERC20.d.ts +247 -0
  471. package/dist/types/typechain-types/psm/mocks/MockPmUSD.d.ts +213 -0
  472. package/dist/types/typechain-types/psm/mocks/MockProxy.d.ts +51 -0
  473. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/IMockMintable.d.ts +35 -0
  474. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/MockRebalancer.d.ts +125 -0
  475. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/index.d.ts +2 -0
  476. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/IMockMintable.d.ts +35 -0
  477. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/MockRebalancerV2.d.ts +121 -0
  478. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  479. package/dist/types/typechain-types/psm/mocks/MockSavingsToken.d.ts +213 -0
  480. package/dist/types/typechain-types/psm/mocks/index.d.ts +11 -0
  481. package/dist/types/typechain-types/psm/utils/index.d.ts +2 -0
  482. package/dist/types/typechain-types/psm/utils/zap/AladdinZap.d.ts +276 -0
  483. package/dist/types/typechain-types/psm/utils/zap/TokenZapLogic.d.ts +59 -0
  484. package/dist/types/typechain-types/psm/utils/zap/index.d.ts +4 -0
  485. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerPool.d.ts +101 -0
  486. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerVault.d.ts +199 -0
  487. package/dist/types/typechain-types/psm/utils/zap/interfaces/IConvexCRVDepositor.d.ts +61 -0
  488. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool.d.ts +245 -0
  489. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool.d.ts +245 -0
  490. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool.d.ts +245 -0
  491. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool.d.ts +245 -0
  492. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  493. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool.d.ts +49 -0
  494. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool.d.ts +49 -0
  495. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool.d.ts +49 -0
  496. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool.d.ts +159 -0
  497. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  498. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool.d.ts +249 -0
  499. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool.d.ts +153 -0
  500. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool.d.ts +165 -0
  501. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  502. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveETHPool.d.ts +135 -0
  503. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap.d.ts +55 -0
  504. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool.d.ts +87 -0
  505. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool.d.ts +87 -0
  506. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool.d.ts +159 -0
  507. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  508. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool.d.ts +159 -0
  509. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool.d.ts +159 -0
  510. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool.d.ts +159 -0
  511. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool.d.ts +131 -0
  512. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  513. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit.d.ts +133 -0
  514. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap.d.ts +191 -0
  515. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  516. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurvePoolRegistry.d.ts +45 -0
  517. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit.d.ts +163 -0
  518. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap.d.ts +179 -0
  519. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit.d.ts +163 -0
  520. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap.d.ts +179 -0
  521. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit.d.ts +163 -0
  522. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap.d.ts +179 -0
  523. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit.d.ts +163 -0
  524. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap.d.ts +179 -0
  525. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  526. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoStETH.d.ts +45 -0
  527. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoWstETH.d.ts +89 -0
  528. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV2Pair.d.ts +103 -0
  529. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Pool.d.ts +113 -0
  530. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Router.d.ts +55 -0
  531. package/dist/types/typechain-types/psm/utils/zap/interfaces/IWETH.d.ts +43 -0
  532. package/dist/types/typechain-types/psm/utils/zap/interfaces/IZap.d.ts +91 -0
  533. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCRV.d.ts +361 -0
  534. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCompounder.d.ts +290 -0
  535. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  536. package/dist/types/typechain-types/psm/utils/zap/interfaces/index.d.ts +28 -0
  537. package/dist/types/typechain-types/psm/v2/PSMVaultV2.d.ts +1528 -0
  538. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IPSMVaultView.d.ts +31 -0
  539. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IRateOracle.d.ts +43 -0
  540. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IZap.d.ts +39 -0
  541. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/RebalancerV2.d.ts +387 -0
  542. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/index.d.ts +4 -0
  543. package/dist/types/typechain-types/psm/v2/index.d.ts +3 -0
  544. package/dist/types/typechain-types/psm/v3/PSMVaultV3.d.ts +1631 -0
  545. package/dist/types/typechain-types/psm/v3/RateProviderComposed.d.ts +228 -0
  546. package/dist/types/typechain-types/psm/v3/RateProviderDirect.d.ts +218 -0
  547. package/dist/types/typechain-types/psm/v3/index.d.ts +3 -0
  548. package/dist/types/utils/artifacts.d.ts +244 -102
  549. package/dist/types/utils/contracts.d.ts +30 -0
  550. package/dist/types/utils/errorDecoder.d.ts +21 -30
  551. package/dist/types/utils/rpcError.d.ts +52 -0
  552. package/dist/utils/artifacts.js +6 -0
  553. package/dist/utils/chain.js +2 -1
  554. package/dist/utils/config.js +0 -1
  555. package/dist/utils/contracts.js +1 -1
  556. package/dist/utils/errorDecoder.js +45 -121
  557. package/dist/utils/rpcError.js +135 -0
  558. package/dist/wallet/assets/approveAsset.js +10 -12
  559. package/dist/wallet/assets/burnAsset.js +14 -16
  560. package/dist/wallet/assets/getAllowance.js +4 -4
  561. package/dist/wallet/assets/getAsset.js +2 -2
  562. package/dist/wallet/assets/getBalance.js +4 -3
  563. package/dist/wallet/assets/mintAsset.js +14 -17
  564. package/dist/wallet/assets/transferAsset.js +7 -10
  565. package/package.json +4 -3
  566. package/dist/generated/errorMap.json +0 -3945
  567. package/dist/scripts/generateErrorMap.js +0 -180
  568. package/dist/types/scripts/generateErrorMap.d.ts +0 -1
  569. package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoost.d.ts +0 -518
  570. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoost.d.ts +0 -311
  571. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoostProxy.d.ts +0 -50
  572. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +0 -152
  573. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +0 -716
@@ -39,6 +39,16 @@
39
39
  "name": "AuctionAlreadySet",
40
40
  "type": "error"
41
41
  },
42
+ {
43
+ "inputs": [],
44
+ "name": "AuctionNotSet",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "AuctionStillActive",
50
+ "type": "error"
51
+ },
42
52
  {
43
53
  "inputs": [],
44
54
  "name": "BondNotRedeemable",
@@ -130,16 +140,31 @@
130
140
  "name": "ERC20InvalidSpender",
131
141
  "type": "error"
132
142
  },
143
+ {
144
+ "inputs": [],
145
+ "name": "ExceedsSurplus",
146
+ "type": "error"
147
+ },
133
148
  {
134
149
  "inputs": [],
135
150
  "name": "InsufficientBalance",
136
151
  "type": "error"
137
152
  },
153
+ {
154
+ "inputs": [],
155
+ "name": "InsufficientCollateral",
156
+ "type": "error"
157
+ },
138
158
  {
139
159
  "inputs": [],
140
160
  "name": "InvalidAddress",
141
161
  "type": "error"
142
162
  },
163
+ {
164
+ "inputs": [],
165
+ "name": "InvalidAuctionBinding",
166
+ "type": "error"
167
+ },
143
168
  {
144
169
  "inputs": [],
145
170
  "name": "NotAuction",
@@ -217,47 +242,47 @@
217
242
  "anonymous": false,
218
243
  "inputs": [
219
244
  {
220
- "indexed": false,
245
+ "indexed": true,
221
246
  "internalType": "address",
222
- "name": "to",
247
+ "name": "previousOwner",
223
248
  "type": "address"
224
249
  },
225
250
  {
226
- "indexed": false,
227
- "internalType": "uint256",
228
- "name": "amount",
229
- "type": "uint256"
251
+ "indexed": true,
252
+ "internalType": "address",
253
+ "name": "newOwner",
254
+ "type": "address"
230
255
  }
231
256
  ],
232
- "name": "EmergencyUnderlyingWithdraw",
257
+ "name": "OwnershipTransferred",
233
258
  "type": "event"
234
259
  },
235
260
  {
236
261
  "anonymous": false,
237
262
  "inputs": [
238
263
  {
239
- "indexed": true,
264
+ "indexed": false,
240
265
  "internalType": "address",
241
- "name": "previousOwner",
266
+ "name": "redeemer",
242
267
  "type": "address"
243
268
  },
244
269
  {
245
- "indexed": true,
246
- "internalType": "address",
247
- "name": "newOwner",
248
- "type": "address"
270
+ "indexed": false,
271
+ "internalType": "uint256",
272
+ "name": "amount",
273
+ "type": "uint256"
249
274
  }
250
275
  ],
251
- "name": "OwnershipTransferred",
276
+ "name": "Redeemed",
252
277
  "type": "event"
253
278
  },
254
279
  {
255
280
  "anonymous": false,
256
281
  "inputs": [
257
282
  {
258
- "indexed": false,
283
+ "indexed": true,
259
284
  "internalType": "address",
260
- "name": "redeemer",
285
+ "name": "to",
261
286
  "type": "address"
262
287
  },
263
288
  {
@@ -267,7 +292,7 @@
267
292
  "type": "uint256"
268
293
  }
269
294
  ],
270
- "name": "Redeemed",
295
+ "name": "SurplusSwept",
271
296
  "type": "event"
272
297
  },
273
298
  {
@@ -401,24 +426,6 @@
401
426
  "stateMutability": "view",
402
427
  "type": "function"
403
428
  },
404
- {
405
- "inputs": [
406
- {
407
- "internalType": "address",
408
- "name": "to",
409
- "type": "address"
410
- },
411
- {
412
- "internalType": "uint256",
413
- "name": "amount",
414
- "type": "uint256"
415
- }
416
- ],
417
- "name": "emergencyWithdrawUnderlying",
418
- "outputs": [],
419
- "stateMutability": "nonpayable",
420
- "type": "function"
421
- },
422
429
  {
423
430
  "inputs": [],
424
431
  "name": "getDetails",
@@ -444,6 +451,16 @@
444
451
  "internalType": "string",
445
452
  "name": "symbol",
446
453
  "type": "string"
454
+ },
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "totalMinted",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "internalType": "uint256",
462
+ "name": "totalRedeemed",
463
+ "type": "uint256"
447
464
  }
448
465
  ],
449
466
  "internalType": "struct IZENO.ZENODetails",
@@ -551,14 +568,32 @@
551
568
  "stateMutability": "nonpayable",
552
569
  "type": "function"
553
570
  },
571
+ {
572
+ "inputs": [
573
+ {
574
+ "internalType": "address",
575
+ "name": "to",
576
+ "type": "address"
577
+ },
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "amount",
581
+ "type": "uint256"
582
+ }
583
+ ],
584
+ "name": "sweepSurplus",
585
+ "outputs": [],
586
+ "stateMutability": "nonpayable",
587
+ "type": "function"
588
+ },
554
589
  {
555
590
  "inputs": [],
556
- "name": "symbol",
591
+ "name": "sweepableSurplus",
557
592
  "outputs": [
558
593
  {
559
- "internalType": "string",
594
+ "internalType": "uint256",
560
595
  "name": "",
561
- "type": "string"
596
+ "type": "uint256"
562
597
  }
563
598
  ],
564
599
  "stateMutability": "view",
@@ -566,12 +601,12 @@
566
601
  },
567
602
  {
568
603
  "inputs": [],
569
- "name": "totalSupply",
604
+ "name": "symbol",
570
605
  "outputs": [
571
606
  {
572
- "internalType": "uint256",
607
+ "internalType": "string",
573
608
  "name": "",
574
- "type": "uint256"
609
+ "type": "string"
575
610
  }
576
611
  ],
577
612
  "stateMutability": "view",
@@ -579,7 +614,7 @@
579
614
  },
580
615
  {
581
616
  "inputs": [],
582
- "name": "totalZENOMinted",
617
+ "name": "totalMinted",
583
618
  "outputs": [
584
619
  {
585
620
  "internalType": "uint256",
@@ -592,7 +627,7 @@
592
627
  },
593
628
  {
594
629
  "inputs": [],
595
- "name": "totalZENORedeemed",
630
+ "name": "totalSupply",
596
631
  "outputs": [
597
632
  {
598
633
  "internalType": "uint256",
@@ -683,8 +718,8 @@
683
718
  "type": "function"
684
719
  }
685
720
  ],
686
- "bytecode": "0x60c060405234610421576114508038038061001981610425565b928339810160a082820312610421576100318261044a565b60208301516040840151919290916001600160401b038111610421578161005991860161045e565b606085015190916001600160401b0382116104215761007f60809161008693880161045e565b950161044a565b815190916001600160401b0382116103245760035490600182811c92168015610417575b60208310146103065781601f8493116103a9575b50602090601f8311600114610343575f92610338575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161032457600454600181811c9116801561031a575b602082101461030657601f81116102a3575b50602094601f8211600114610240579481929394955f92610235575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561022257600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b03168015801561021b575b61020c5760805260a052610f8890816104c8823960805181818161044f01528181610524015281816106d40152610cd5015260a05181818161018101528181610286015281816103ab0152610c830152f35b63e6c4247b60e01b5f5260045ffd5b505f6101ba565b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b88811061028b57508360019596979810610273575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f8080610265565b91926020600181928685015181550194019201610250565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102fc575b601f0160051c01905b8181106102f1575061011c565b5f81556001016102e4565b90915081906102db565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b8181106103915750908460019594939210610379575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f808061036b565b92936020600181928786015181550195019301610355565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851061040d575b90601f859493920160051c01905b8181106103ff57506100be565b5f81558493506001016103f2565b90915081906103e4565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761032457604052565b51906001600160a01b038216820361042157565b81601f82011215610421578051906001600160401b0382116103245761048d601f8301601f1916602001610425565b9282845260208383010111610421575f5b8281106104b257505060205f918301015290565b8060208092840101518282870101520161049e56fe6080806040526004361015610012575f80fd5b5f3560e01c90816302458c74146109275750806306fdde031461090c578063095ea7b31461088a57806318160ddd1461086d57806323b872dd1461078e5780632f4350c214610761578063313ce567146106af57806340c10f19146105ef57806368266e1b146105d257806370a082311461059b578063715018a6146105535780637158da7c1461050f5780637d9f6db5146104e75780638da5cb5b146104bf57806395d89b4114610490578063a6880e4114610402578063a9059cbb146103d1578063af92058214610394578063b8c6f57914610325578063db006a75146102f9578063dd62ed3e146102a9578063e593bd741461026f578063f2fde38b146101fc5763fbbf93a014610124575f80fd5b346101f8575f3660031901126101f857606080604051610143816109ac565b5f81525f6020820152816040820152015261015c6109fe565b610164610ae0565b6101f460405191610174836109ac565b3083526101e160208401947f0000000000000000000000000000000000000000000000000000000000000000865260408501908152606085019283526040519586956020875260018060a01b039051166020870152516040860152516080606086015260a0850190610941565b9051838203601f19016080850152610941565b0390f35b5f80fd5b346101f85760203660031901126101f857610215610980565b61021d610e64565b6001600160a01b0316801561025c57600580546001600160a01b0319811683179091556001600160a01b03165f516020610f135f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101f85760403660031901126101f8576102c2610980565b6102ca610996565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b346101f85760203660031901126101f857610312610c5f565b61031e60043533610c7f565b6001600655005b346101f85760203660031901126101f85761033e610980565b610346610e64565b6001600160a01b03168015610385576007546001600160a01b038116610376576001600160a01b03191617600755005b6351a05b4d60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b346101f85760403660031901126101f8576103f76103ed610980565b6024359033610bc8565b602060405160018152f35b346101f85760403660031901126101f8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d61043c610980565b60243590610448610e64565b61047c82827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e8b565b61048b60405192839283610bad565b0390a1005b346101f8575f3660031901126101f8576101f46104ab610ae0565b604051918291602083526020830190610941565b346101f8575f3660031901126101f8576005546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576007546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101f8575f3660031901126101f85761056b610e64565b600580546001600160a01b031981169091555f906001600160a01b03165f516020610f135f395f51905f528280a3005b346101f85760203660031901126101f8576001600160a01b036105bc610980565b165f525f602052602060405f2054604051908152f35b346101f8575f3660031901126101f8576020600854604051908152f35b346101f85760403660031901126101f857610608610980565b60075460243591906001600160a01b031633036106a0578115610691576001600160a01b031690811561067e576106799161064582600254610b8c565b600255805f525f60205260405f208281540190555f5f516020610f335f395f51905f526020604051858152a3600854610b8c565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b346101f8575f3660031901126101f85760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610756575f90610719575b60209060ff60405191168152f35b506020813d60201161074e575b81610733602093836109db565b810103126101f8575160ff811681036101f85760209061070b565b3d9150610726565b6040513d5f823e3d90fd5b346101f8575f3660031901126101f857610779610c5f565b335f525f60205261031e60405f205433610c7f565b346101f85760603660031901126101f8576107a7610980565b6107af610996565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106107ed575b506103f79350610bc8565b83811061085257841561083f57331561082c576103f7945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846107e2565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346101f8575f3660031901126101f8576020600254604051908152f35b346101f85760403660031901126101f8576108a3610980565b60243590331561083f576001600160a01b031690811561082c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101f8575f3660031901126101f8576101f46104ab6109fe565b346101f8575f3660031901126101f8576020906009548152f35b91908251928382525f5b84811061096b575050825f602080949584010152601f8019910116010190565b8060208092840101518282860101520161094b565b600435906001600160a01b03821682036101f857565b602435906001600160a01b03821682036101f857565b608081019081106001600160401b038211176109c757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176109c757604052565b604051905f6003548060011c9160018216918215610ad6575b602084108314610ac2578386528592908115610aa35750600114610a44575b610a42925003836109db565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610a87575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610a6f565b60209250610a4294915060ff191682840152151560051b820101610a36565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a17565b604051905f6004548060011c9160018216918215610b82575b602084108314610ac2578386528592908115610aa35750600114610b2357610a42925003836109db565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610b66575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610b4e565b92607f1692610af9565b91908201809211610b9957565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b039091168152602081019190915260400190565b6001600160a01b0316908115610c4c576001600160a01b031691821561067e57815f525f60205260405f2054818110610c3357815f516020610f335f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610c70576002600655565b633ee5aeb560e01b5f5260045ffd5b91907f00000000000000000000000000000000000000000000000000000000000000004210610e5557801561069157335f525f60205260405f20548111610e46576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081602481885afa908115610756575f91610e14575b5060025411610dd5573315610c4c57335f525f60205260405f2054828110610dba57827f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369949581610da693335f525f6020520360405f205581600254036002555f6040518381525f516020610f335f395f51905f5260203392a3610d9c82600954610b8c565b6009553390610e8b565b610db560405192839283610bad565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b60405162461bcd60e51b81526020600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152606490fd5b90506020813d602011610e3e575b81610e2f602093836109db565b810103126101f857515f610d16565b3d9150610e22565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b03163303610e7857565b63118cdaa760e01b5f523360045260245ffd5b91602091610eb4610ec25f936040519283918783019563a9059cbb60e01b875260248401610bad565b03601f1981018352826109db565b519082855af115610756575f513d610f0957506001600160a01b0381163b155b610ee95750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415610ee256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f17f73c0010ca8645a7dd450d19c9995963a6540063e182183680204b5add23264736f6c634300081e0033",
687
- "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816302458c74146109275750806306fdde031461090c578063095ea7b31461088a57806318160ddd1461086d57806323b872dd1461078e5780632f4350c214610761578063313ce567146106af57806340c10f19146105ef57806368266e1b146105d257806370a082311461059b578063715018a6146105535780637158da7c1461050f5780637d9f6db5146104e75780638da5cb5b146104bf57806395d89b4114610490578063a6880e4114610402578063a9059cbb146103d1578063af92058214610394578063b8c6f57914610325578063db006a75146102f9578063dd62ed3e146102a9578063e593bd741461026f578063f2fde38b146101fc5763fbbf93a014610124575f80fd5b346101f8575f3660031901126101f857606080604051610143816109ac565b5f81525f6020820152816040820152015261015c6109fe565b610164610ae0565b6101f460405191610174836109ac565b3083526101e160208401947f0000000000000000000000000000000000000000000000000000000000000000865260408501908152606085019283526040519586956020875260018060a01b039051166020870152516040860152516080606086015260a0850190610941565b9051838203601f19016080850152610941565b0390f35b5f80fd5b346101f85760203660031901126101f857610215610980565b61021d610e64565b6001600160a01b0316801561025c57600580546001600160a01b0319811683179091556001600160a01b03165f516020610f135f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101f85760403660031901126101f8576102c2610980565b6102ca610996565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b346101f85760203660031901126101f857610312610c5f565b61031e60043533610c7f565b6001600655005b346101f85760203660031901126101f85761033e610980565b610346610e64565b6001600160a01b03168015610385576007546001600160a01b038116610376576001600160a01b03191617600755005b6351a05b4d60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b346101f85760403660031901126101f8576103f76103ed610980565b6024359033610bc8565b602060405160018152f35b346101f85760403660031901126101f8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d61043c610980565b60243590610448610e64565b61047c82827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e8b565b61048b60405192839283610bad565b0390a1005b346101f8575f3660031901126101f8576101f46104ab610ae0565b604051918291602083526020830190610941565b346101f8575f3660031901126101f8576005546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576007546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101f8575f3660031901126101f85761056b610e64565b600580546001600160a01b031981169091555f906001600160a01b03165f516020610f135f395f51905f528280a3005b346101f85760203660031901126101f8576001600160a01b036105bc610980565b165f525f602052602060405f2054604051908152f35b346101f8575f3660031901126101f8576020600854604051908152f35b346101f85760403660031901126101f857610608610980565b60075460243591906001600160a01b031633036106a0578115610691576001600160a01b031690811561067e576106799161064582600254610b8c565b600255805f525f60205260405f208281540190555f5f516020610f335f395f51905f526020604051858152a3600854610b8c565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b346101f8575f3660031901126101f85760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610756575f90610719575b60209060ff60405191168152f35b506020813d60201161074e575b81610733602093836109db565b810103126101f8575160ff811681036101f85760209061070b565b3d9150610726565b6040513d5f823e3d90fd5b346101f8575f3660031901126101f857610779610c5f565b335f525f60205261031e60405f205433610c7f565b346101f85760603660031901126101f8576107a7610980565b6107af610996565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106107ed575b506103f79350610bc8565b83811061085257841561083f57331561082c576103f7945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846107e2565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346101f8575f3660031901126101f8576020600254604051908152f35b346101f85760403660031901126101f8576108a3610980565b60243590331561083f576001600160a01b031690811561082c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101f8575f3660031901126101f8576101f46104ab6109fe565b346101f8575f3660031901126101f8576020906009548152f35b91908251928382525f5b84811061096b575050825f602080949584010152601f8019910116010190565b8060208092840101518282860101520161094b565b600435906001600160a01b03821682036101f857565b602435906001600160a01b03821682036101f857565b608081019081106001600160401b038211176109c757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176109c757604052565b604051905f6003548060011c9160018216918215610ad6575b602084108314610ac2578386528592908115610aa35750600114610a44575b610a42925003836109db565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610a87575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610a6f565b60209250610a4294915060ff191682840152151560051b820101610a36565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a17565b604051905f6004548060011c9160018216918215610b82575b602084108314610ac2578386528592908115610aa35750600114610b2357610a42925003836109db565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610b66575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610b4e565b92607f1692610af9565b91908201809211610b9957565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b039091168152602081019190915260400190565b6001600160a01b0316908115610c4c576001600160a01b031691821561067e57815f525f60205260405f2054818110610c3357815f516020610f335f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610c70576002600655565b633ee5aeb560e01b5f5260045ffd5b91907f00000000000000000000000000000000000000000000000000000000000000004210610e5557801561069157335f525f60205260405f20548111610e46576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081602481885afa908115610756575f91610e14575b5060025411610dd5573315610c4c57335f525f60205260405f2054828110610dba57827f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369949581610da693335f525f6020520360405f205581600254036002555f6040518381525f516020610f335f395f51905f5260203392a3610d9c82600954610b8c565b6009553390610e8b565b610db560405192839283610bad565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b60405162461bcd60e51b81526020600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152606490fd5b90506020813d602011610e3e575b81610e2f602093836109db565b810103126101f857515f610d16565b3d9150610e22565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b03163303610e7857565b63118cdaa760e01b5f523360045260245ffd5b91602091610eb4610ec25f936040519283918783019563a9059cbb60e01b875260248401610bad565b03601f1981018352826109db565b519082855af115610756575f513d610f0957506001600160a01b0381163b155b610ee95750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415610ee256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f17f73c0010ca8645a7dd450d19c9995963a6540063e182183680204b5add23264736f6c634300081e0033",
721
+ "bytecode": "0x60c06040523461041a57611648803803806100198161041e565b928339810160a08282031261041a5761003182610443565b60208301516040840151919290916001600160401b03811161041a5781610059918601610457565b606085015190916001600160401b03821161041a5761007f608091610086938801610457565b9501610443565b815190916001600160401b03821161031d5760035490600182811c92168015610410575b60208310146102ff5781601f8493116103a2575b50602090601f831160011461033c575f92610331575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161031d57600454600181811c91168015610313575b60208210146102ff57601f811161029c575b50602094601f8211600114610239579481929394955f9261022e575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561021b57600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b0316801561020c5760805260a05261118790816104c182396080518181816102e6015281816106d50152818161086801528181610d580152610f13015260a05181818161019a0152818161042d015281816105c90152610ec10152f35b63e6c4247b60e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b8881106102845750836001959697981061026c575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f808061025e565b91926020600181928685015181550194019201610249565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102f5575b601f0160051c01905b8181106102ea575061011c565b5f81556001016102dd565b90915081906102d4565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b81811061038a5750908460019594939210610372575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f8080610364565b9293602060018192878601518155019501930161034e565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610406575b90601f859493920160051c01905b8181106103f857506100be565b5f81558493506001016103eb565b90915081906103dd565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761031d57604052565b51906001600160a01b038216820361041a57565b81601f8201121561041a578051906001600160401b03821161031d57610486601f8301601f191660200161041e565b928284526020838301011161041a575f5b8281106104ab57505060205f918301015290565b8060208092840101518282870101520161049756fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde0314610ab6578063095ea7b314610a3457806318160ddd14610a1757806323b872dd14610938578063275bfd7d146109165780632f4350c2146108ea578063313ce5671461084357806340c10f191461078357806370a082311461074c578063715018a6146107045780637158da7c146106c05780637d9f6db5146106985780638da5cb5b1461067057806395d89b411461063d578063a2309ff814610620578063a9059cbb146105ef578063af920582146105b2578063b8c6f579146104cb578063db006a75146104a0578063dd62ed3e14610450578063e593bd7414610416578063f2fde38b146103a3578063f7eb5f46146102305763fbbf93a014610121575f80fd5b3461022c575f36600319011261022c575f60a060405161014081610b3c565b828152826020820152606060408201526060808201528260808201520152610166610b8e565b61016e610c70565b60085461017d60025482610d1c565b61021b6040519361018d85610b3c565b30855261020860208601967f0000000000000000000000000000000000000000000000000000000000000000885260408701908152606087019283526080870195865260a087019485526040519788976020895260018060a01b0390511660208901525160408801525160c0606088015260e0870190610ad1565b9051858203601f19016080870152610ad1565b915160a08401525160c08301520390f35b5f80fd5b3461022c57604036600319011261022c57610249610b10565b602435610254611063565b61025c610e84565b6001600160a01b038216918215610394576007546001600160a01b031680156103855760206004916040519283809263a5ef58f560e01b82525afa90811561037a575f9161033f575b5015610330576102b3610d3d565b8211610321577f167beb24b4e0b809e5ad14deac40057e2206ebff29b4f1240a7d26bf69aaebe3916020916103139082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661108a565b604051908152a26001600655005b633910bcb160e21b5f5260045ffd5b630ca00c6160e01b5f5260045ffd5b90506020813d602011610372575b8161035a60209383610b6b565b8101031261022c5751801515810361022c57846102a5565b3d915061034d565b6040513d5f823e3d90fd5b6360da9f3760e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b3461022c57602036600319011261022c576103bc610b10565b6103c4611063565b6001600160a01b0316801561040357600580546001600160a01b0319811683179091556001600160a01b03165f5160206111125f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461022c57604036600319011261022c57610469610b10565b610471610b26565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461022c57602036600319011261022c576104b9610e84565b6104c4600435610ebf565b6001600655005b3461022c57602036600319011261022c576104e4610b10565b6104ec611063565b6001600160a01b03168015610394576007546001600160a01b0381166105a35760405163c25a950f60e01b8152602081600481865afa90811561037a575f91610561575b50306001600160a01b0390911603610552576001600160a01b03191617600755005b63d27b90fd60e01b5f5260045ffd5b90506020813d60201161059b575b8161057c60209383610b6b565b8101031261022c57516001600160a01b038116810361022c5783610530565b3d915061056f565b6351a05b4d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b3461022c57604036600319011261022c5761061561060b610b10565b6024359033610ded565b602060405160018152f35b3461022c575f36600319011261022c576020600854604051908152f35b3461022c575f36600319011261022c5761066c610658610c70565b604051918291602083526020830190610ad1565b0390f35b3461022c575f36600319011261022c576005546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576007546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022c575f36600319011261022c5761071c611063565b600580546001600160a01b031981169091555f906001600160a01b03165f5160206111125f395f51905f528280a3005b3461022c57602036600319011261022c576001600160a01b0361076d610b10565b165f525f602052602060405f2054604051908152f35b3461022c57604036600319011261022c5761079c610b10565b60075460243591906001600160a01b03163303610834578115610825576001600160a01b03169081156108125761080d916107d982600254610de0565b600255805f525f60205260405f208281540190555f5f5160206111325f395f51905f526020604051858152a3600854610de0565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561037a575f906108ad575b60209060ff60405191168152f35b506020813d6020116108e2575b816108c760209383610b6b565b8101031261022c575160ff8116810361022c5760209061089f565b3d91506108ba565b3461022c575f36600319011261022c57610902610e84565b335f525f6020526104c460405f2054610ebf565b3461022c575f36600319011261022c576020610930610d3d565b604051908152f35b3461022c57606036600319011261022c57610951610b10565b610959610b26565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610997575b506106159350610ded565b8381106109fc5784156109e95733156109d657610615945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461098c565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461022c575f36600319011261022c576020600254604051908152f35b3461022c57604036600319011261022c57610a4d610b10565b6024359033156109e9576001600160a01b03169081156109d657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461022c575f36600319011261022c5761066c610658610b8e565b91908251928382525f5b848110610afb575050825f602080949584010152601f8019910116010190565b80602080928401015182828601015201610adb565b600435906001600160a01b038216820361022c57565b602435906001600160a01b038216820361022c57565b60c081019081106001600160401b03821117610b5757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b03821190821017610b5757604052565b604051905f6003548060011c9160018216918215610c66575b602084108314610c52578386528592908115610c335750600114610bd4575b610bd292500383610b6b565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610c17575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610bff565b60209250610bd294915060ff191682840152151560051b820101610bc6565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610ba7565b604051905f6004548060011c9160018216918215610d12575b602084108314610c52578386528592908115610c335750600114610cb357610bd292500383610b6b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610cf6575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610cde565b92607f1692610c89565b91908203918211610d2957565b634e487b7160e01b5f52601160045260245ffd5b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561037a575f91610dae575b5060025480821115610da857610da591610d1c565b90565b50505f90565b90506020813d602011610dd8575b81610dc960209383610b6b565b8101031261022c57515f610d90565b3d9150610dbc565b91908201809211610d2957565b6001600160a01b0316908115610e71576001600160a01b031691821561081257815f525f60205260405f2054818110610e5857815f5160206111325f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610e95576002600655565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b039091168152602081019190915260400190565b7f0000000000000000000000000000000000000000000000000000000000000000421061105457801561082557335f525f60205260405f20548111611045576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa90811561037a575f91611013575b5060025411611004573315610e7157335f525f60205260405f2054828110610fe95791610fd781610fe493817f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936996335f525f6020520360405f205581600254036002555f6040518381525f5160206111325f395f51905f5260203392a3339061108a565b6040519182913383610ea4565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b633a23d82560e01b5f5260045ffd5b90506020813d60201161103d575b8161102e60209383610b6b565b8101031261022c57515f610f53565b3d9150611021565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b0316330361107757565b63118cdaa760e01b5f523360045260245ffd5b916020916110b36110c15f936040519283918783019563a9059cbb60e01b875260248401610ea4565b03601f198101835282610b6b565b519082855af11561037a575f513d61110857506001600160a01b0381163b155b6110e85750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156110e156fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d09f5661522897b24d7cc808806d753767d7f3d4130a90dc087d6718dfaa70f964736f6c634300081e0033",
722
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806306fdde0314610ab6578063095ea7b314610a3457806318160ddd14610a1757806323b872dd14610938578063275bfd7d146109165780632f4350c2146108ea578063313ce5671461084357806340c10f191461078357806370a082311461074c578063715018a6146107045780637158da7c146106c05780637d9f6db5146106985780638da5cb5b1461067057806395d89b411461063d578063a2309ff814610620578063a9059cbb146105ef578063af920582146105b2578063b8c6f579146104cb578063db006a75146104a0578063dd62ed3e14610450578063e593bd7414610416578063f2fde38b146103a3578063f7eb5f46146102305763fbbf93a014610121575f80fd5b3461022c575f36600319011261022c575f60a060405161014081610b3c565b828152826020820152606060408201526060808201528260808201520152610166610b8e565b61016e610c70565b60085461017d60025482610d1c565b61021b6040519361018d85610b3c565b30855261020860208601967f0000000000000000000000000000000000000000000000000000000000000000885260408701908152606087019283526080870195865260a087019485526040519788976020895260018060a01b0390511660208901525160408801525160c0606088015260e0870190610ad1565b9051858203601f19016080870152610ad1565b915160a08401525160c08301520390f35b5f80fd5b3461022c57604036600319011261022c57610249610b10565b602435610254611063565b61025c610e84565b6001600160a01b038216918215610394576007546001600160a01b031680156103855760206004916040519283809263a5ef58f560e01b82525afa90811561037a575f9161033f575b5015610330576102b3610d3d565b8211610321577f167beb24b4e0b809e5ad14deac40057e2206ebff29b4f1240a7d26bf69aaebe3916020916103139082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661108a565b604051908152a26001600655005b633910bcb160e21b5f5260045ffd5b630ca00c6160e01b5f5260045ffd5b90506020813d602011610372575b8161035a60209383610b6b565b8101031261022c5751801515810361022c57846102a5565b3d915061034d565b6040513d5f823e3d90fd5b6360da9f3760e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b3461022c57602036600319011261022c576103bc610b10565b6103c4611063565b6001600160a01b0316801561040357600580546001600160a01b0319811683179091556001600160a01b03165f5160206111125f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461022c57604036600319011261022c57610469610b10565b610471610b26565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461022c57602036600319011261022c576104b9610e84565b6104c4600435610ebf565b6001600655005b3461022c57602036600319011261022c576104e4610b10565b6104ec611063565b6001600160a01b03168015610394576007546001600160a01b0381166105a35760405163c25a950f60e01b8152602081600481865afa90811561037a575f91610561575b50306001600160a01b0390911603610552576001600160a01b03191617600755005b63d27b90fd60e01b5f5260045ffd5b90506020813d60201161059b575b8161057c60209383610b6b565b8101031261022c57516001600160a01b038116810361022c5783610530565b3d915061056f565b6351a05b4d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b3461022c57604036600319011261022c5761061561060b610b10565b6024359033610ded565b602060405160018152f35b3461022c575f36600319011261022c576020600854604051908152f35b3461022c575f36600319011261022c5761066c610658610c70565b604051918291602083526020830190610ad1565b0390f35b3461022c575f36600319011261022c576005546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576007546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022c575f36600319011261022c5761071c611063565b600580546001600160a01b031981169091555f906001600160a01b03165f5160206111125f395f51905f528280a3005b3461022c57602036600319011261022c576001600160a01b0361076d610b10565b165f525f602052602060405f2054604051908152f35b3461022c57604036600319011261022c5761079c610b10565b60075460243591906001600160a01b03163303610834578115610825576001600160a01b03169081156108125761080d916107d982600254610de0565b600255805f525f60205260405f208281540190555f5f5160206111325f395f51905f526020604051858152a3600854610de0565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561037a575f906108ad575b60209060ff60405191168152f35b506020813d6020116108e2575b816108c760209383610b6b565b8101031261022c575160ff8116810361022c5760209061089f565b3d91506108ba565b3461022c575f36600319011261022c57610902610e84565b335f525f6020526104c460405f2054610ebf565b3461022c575f36600319011261022c576020610930610d3d565b604051908152f35b3461022c57606036600319011261022c57610951610b10565b610959610b26565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610997575b506106159350610ded565b8381106109fc5784156109e95733156109d657610615945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461098c565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461022c575f36600319011261022c576020600254604051908152f35b3461022c57604036600319011261022c57610a4d610b10565b6024359033156109e9576001600160a01b03169081156109d657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461022c575f36600319011261022c5761066c610658610b8e565b91908251928382525f5b848110610afb575050825f602080949584010152601f8019910116010190565b80602080928401015182828601015201610adb565b600435906001600160a01b038216820361022c57565b602435906001600160a01b038216820361022c57565b60c081019081106001600160401b03821117610b5757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b03821190821017610b5757604052565b604051905f6003548060011c9160018216918215610c66575b602084108314610c52578386528592908115610c335750600114610bd4575b610bd292500383610b6b565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610c17575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610bff565b60209250610bd294915060ff191682840152151560051b820101610bc6565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610ba7565b604051905f6004548060011c9160018216918215610d12575b602084108314610c52578386528592908115610c335750600114610cb357610bd292500383610b6b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610cf6575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610cde565b92607f1692610c89565b91908203918211610d2957565b634e487b7160e01b5f52601160045260245ffd5b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561037a575f91610dae575b5060025480821115610da857610da591610d1c565b90565b50505f90565b90506020813d602011610dd8575b81610dc960209383610b6b565b8101031261022c57515f610d90565b3d9150610dbc565b91908201809211610d2957565b6001600160a01b0316908115610e71576001600160a01b031691821561081257815f525f60205260405f2054818110610e5857815f5160206111325f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610e95576002600655565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b039091168152602081019190915260400190565b7f0000000000000000000000000000000000000000000000000000000000000000421061105457801561082557335f525f60205260405f20548111611045576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa90811561037a575f91611013575b5060025411611004573315610e7157335f525f60205260405f2054828110610fe95791610fd781610fe493817f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936996335f525f6020520360405f205581600254036002555f6040518381525f5160206111325f395f51905f5260203392a3339061108a565b6040519182913383610ea4565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b633a23d82560e01b5f5260045ffd5b90506020813d60201161103d575b8161102e60209383610b6b565b8101031261022c57515f610f53565b3d9150611021565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b0316330361107757565b63118cdaa760e01b5f523360045260245ffd5b916020916110b36110c15f936040519283918783019563a9059cbb60e01b875260248401610ea4565b03601f198101835282610b6b565b519082855af11561037a575f513d61110857506001600160a01b0381163b155b6110e85750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156110e156fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d09f5661522897b24d7cc808806d753767d7f3d4130a90dc087d6718dfaa70f964736f6c634300081e0033",
688
723
  "linkReferences": {},
689
724
  "deployedLinkReferences": {}
690
725
  }
@@ -14,11 +14,6 @@
14
14
  "stateMutability": "nonpayable",
15
15
  "type": "constructor"
16
16
  },
17
- {
18
- "inputs": [],
19
- "name": "InvalidIndex",
20
- "type": "error"
21
- },
22
17
  {
23
18
  "inputs": [],
24
19
  "name": "InvalidMaturityDate",
@@ -46,11 +41,6 @@
46
41
  "name": "OwnableUnauthorizedAccount",
47
42
  "type": "error"
48
43
  },
49
- {
50
- "inputs": [],
51
- "name": "ZeroAddress",
52
- "type": "error"
53
- },
54
44
  {
55
45
  "anonymous": false,
56
46
  "inputs": [
@@ -93,37 +83,29 @@
93
83
  "inputs": [
94
84
  {
95
85
  "internalType": "address",
96
- "name": "_usdcAddress",
86
+ "name": "_tokenAddress",
97
87
  "type": "address"
98
88
  },
99
89
  {
100
90
  "internalType": "uint256",
101
91
  "name": "_maturityDate",
102
92
  "type": "uint256"
103
- }
104
- ],
105
- "name": "createZENOContract",
106
- "outputs": [],
107
- "stateMutability": "nonpayable",
108
- "type": "function"
109
- },
110
- {
111
- "inputs": [
93
+ },
112
94
  {
113
- "internalType": "uint256",
114
- "name": "index",
115
- "type": "uint256"
95
+ "internalType": "address",
96
+ "name": "_initialOwner",
97
+ "type": "address"
116
98
  }
117
99
  ],
118
- "name": "getZENO",
100
+ "name": "createZENOContract",
119
101
  "outputs": [
120
102
  {
121
- "internalType": "contract ZENO",
122
- "name": "",
103
+ "internalType": "address",
104
+ "name": "zeno",
123
105
  "type": "address"
124
106
  }
125
107
  ],
126
- "stateMutability": "view",
108
+ "stateMutability": "nonpayable",
127
109
  "type": "function"
128
110
  },
129
111
  {
@@ -139,47 +121,6 @@
139
121
  "stateMutability": "view",
140
122
  "type": "function"
141
123
  },
142
- {
143
- "inputs": [
144
- {
145
- "internalType": "uint256",
146
- "name": "index",
147
- "type": "uint256"
148
- }
149
- ],
150
- "name": "getZENODetails",
151
- "outputs": [
152
- {
153
- "components": [
154
- {
155
- "internalType": "address",
156
- "name": "zenoAddress",
157
- "type": "address"
158
- },
159
- {
160
- "internalType": "uint256",
161
- "name": "maturityDate",
162
- "type": "uint256"
163
- },
164
- {
165
- "internalType": "string",
166
- "name": "name",
167
- "type": "string"
168
- },
169
- {
170
- "internalType": "string",
171
- "name": "symbol",
172
- "type": "string"
173
- }
174
- ],
175
- "internalType": "struct IZENO.ZENODetails",
176
- "name": "",
177
- "type": "tuple"
178
- }
179
- ],
180
- "stateMutability": "view",
181
- "type": "function"
182
- },
183
124
  {
184
125
  "inputs": [],
185
126
  "name": "getZENOs",
@@ -245,24 +186,6 @@
245
186
  "stateMutability": "nonpayable",
246
187
  "type": "function"
247
188
  },
248
- {
249
- "inputs": [
250
- {
251
- "internalType": "uint256",
252
- "name": "index",
253
- "type": "uint256"
254
- },
255
- {
256
- "internalType": "address",
257
- "name": "newOwner",
258
- "type": "address"
259
- }
260
- ],
261
- "name": "transferZenoOwnership",
262
- "outputs": [],
263
- "stateMutability": "nonpayable",
264
- "type": "function"
265
- },
266
189
  {
267
190
  "inputs": [
268
191
  {
@@ -283,8 +206,8 @@
283
206
  "type": "function"
284
207
  }
285
208
  ],
286
- "bytecode": "0x60803460b857601f611f8738819003918201601f19168301916001600160401b0383118484101760bc5780849260209460405283398101031260b857516001600160a01b0381169081900360b857801560a5575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3611eb690816100d18239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c806303dc4d311461088b57806313afa5f41461084957806338f343a01461079e57806358a52c4d146106155780636e2eca6714610547578063715018a6146105005780638da5cb5b146104d95780638f723f50146101655780639d8dad7014610147578063c4eb0a9e146101085763f2fde38b14610093575f80fd5b34610105576020366003190112610105576100ac610922565b6100b46109ea565b6001600160a01b031680156100f15781546001600160a01b03198116821783556001600160a01b03165f516020611e615f395f51905f528380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346101055760203660031901126101055760209060ff906040906001600160a01b03610133610922565b168152600284522054166040519015158152f35b50346101055780600319360112610105576020600154604051908152f35b50346101055760403660031901126101055761017f610922565b6024359061018b6109ea565b428211156104ca5760015490600182018092116104b6578391808072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b811015610490575b50600a906904ee2d6d415b85acef8160201b811015610474575b662386f26fc10000811015610460575b6305f5e10081101561044f575b612710811015610440575b6064811015610432575b1015610428575b6001830190600a602161024361022d8561098a565b9461023b6040519687610967565b80865261098a565b602085019690601f19013688378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490811561028257600a90610254565b50506102fa60246102e992604051956902d22a727902137b732160b51b60208801526102ca602a8884516102b981848401876108dc565b81010301601f198101895288610967565b604051948592635a454e4f60e01b6020850152518092858501906108dc565b81010301601f198101835282610967565b6040519261145080850193906001600160401b038511868610176104145761035a928695949261034c92610a1188396001600160a01b031685526020850188905260a0604086018190528501906108fd565b9083820360608501526108fd565b90608030910152039083f090811561040957600154600160401b8110156103f557916040916103b08460017f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b96016001556108b0565b81546001600160a01b0394851660039290921b82811b95901b191693909317905581855260026020908152838620805460ff191660011790558351928352820152a180f35b634e487b7160e01b84526041600452602484fd5b6040513d84823e3d90fd5b634e487b7160e01b88526041600452602488fd5b9160010191610218565b606460029104940193610211565b61271060049104940193610207565b6305f5e100600891049401936101fc565b662386f26fc10000601091049401936101ef565b602094909401936904ee2d6d415b85acef8160201b90046101df565b6040945072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b90049050600a6101c5565b634e487b7160e01b84526011600452602484fd5b633085aae960e01b8352600483fd5b5034610105578060031936011261010557546040516001600160a01b039091168152602090f35b50346101055780600319360112610105576105196109ea565b80546001600160a01b03198116825581906001600160a01b03165f516020611e615f395f51905f528280a380f35b50346105f35760403660031901126105f3576024356001600160a01b03811690600435908290036105f35761057a6109ea565b6001548110156106065781156105f757610593906108b0565b905460039190911b1c6001600160a01b031690813b156105f3575f9160248392604051948593849263f2fde38b60e01b845260048401525af180156105e8576105da575080f35b6105e691505f90610967565b005b6040513d5f823e3d90fd5b5f80fd5b63d92e233d60e01b5f5260045ffd5b6363df817160e01b5f5260045ffd5b346105f35760203660031901126105f35760043560608060405161063881610938565b5f81525f60208201528160408201520152600154811015610606575f61065f6004926108b0565b90546040516307ddfc9d60e51b81529384929091839160031b1c6001600160a01b03165afa80156105e8575f906106ea575b6106e6906040519182916020835260018060a01b0381511660208401526020810151604084015260606106d2604083015160808387015260a08601906108fd565b910151838203601f190160808501526108fd565b0390f35b503d805f833e6106fa8183610967565b8101906020818303126105f3578051906001600160401b0382116105f357016080818303126105f3576040519061073082610938565b80516001600160a01b03811681036105f35782526020818101519083015260408101516001600160401b0381116105f3578361076d9183016109a5565b60408301526060810151926001600160401b0384116105f3576106e69361079492016109a5565b6060820152610691565b346105f3575f3660031901126105f3576040518060206001549283815201809260015f5260205f20905f5b81811061082a57505050816107df910382610967565b604051918291602083019060208452518091526040830191905f5b818110610808575050500390f35b82516001600160a01b03168452859450602093840193909201916001016107fa565b82546001600160a01b03168452602090930192600192830192016107c9565b346105f35760203660031901126105f3576004356001548110156105f3576108726020916108b0565b905460405160039290921b1c6001600160a01b03168152f35b346105f35760203660031901126105f357600435600154811015610606576108726020915b6001548110156108c85760015f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b5f5b8381106108ed5750505f910152565b81810151838201526020016108de565b90602091610916815180928185528580860191016108dc565b601f01601f1916010190565b600435906001600160a01b03821682036105f357565b608081019081106001600160401b0382111761095357604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761095357604052565b6001600160401b03811161095357601f01601f191660200190565b81601f820112156105f35780516109bb8161098a565b926109c96040519485610967565b818452602082840101116105f3576109e791602080850191016108dc565b90565b5f546001600160a01b031633036109fd57565b63118cdaa760e01b5f523360045260245ffdfe60c060405234610421576114508038038061001981610425565b928339810160a082820312610421576100318261044a565b60208301516040840151919290916001600160401b038111610421578161005991860161045e565b606085015190916001600160401b0382116104215761007f60809161008693880161045e565b950161044a565b815190916001600160401b0382116103245760035490600182811c92168015610417575b60208310146103065781601f8493116103a9575b50602090601f8311600114610343575f92610338575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161032457600454600181811c9116801561031a575b602082101461030657601f81116102a3575b50602094601f8211600114610240579481929394955f92610235575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561022257600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b03168015801561021b575b61020c5760805260a052610f8890816104c8823960805181818161044f01528181610524015281816106d40152610cd5015260a05181818161018101528181610286015281816103ab0152610c830152f35b63e6c4247b60e01b5f5260045ffd5b505f6101ba565b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b88811061028b57508360019596979810610273575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f8080610265565b91926020600181928685015181550194019201610250565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102fc575b601f0160051c01905b8181106102f1575061011c565b5f81556001016102e4565b90915081906102db565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b8181106103915750908460019594939210610379575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f808061036b565b92936020600181928786015181550195019301610355565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851061040d575b90601f859493920160051c01905b8181106103ff57506100be565b5f81558493506001016103f2565b90915081906103e4565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761032457604052565b51906001600160a01b038216820361042157565b81601f82011215610421578051906001600160401b0382116103245761048d601f8301601f1916602001610425565b9282845260208383010111610421575f5b8281106104b257505060205f918301015290565b8060208092840101518282870101520161049e56fe6080806040526004361015610012575f80fd5b5f3560e01c90816302458c74146109275750806306fdde031461090c578063095ea7b31461088a57806318160ddd1461086d57806323b872dd1461078e5780632f4350c214610761578063313ce567146106af57806340c10f19146105ef57806368266e1b146105d257806370a082311461059b578063715018a6146105535780637158da7c1461050f5780637d9f6db5146104e75780638da5cb5b146104bf57806395d89b4114610490578063a6880e4114610402578063a9059cbb146103d1578063af92058214610394578063b8c6f57914610325578063db006a75146102f9578063dd62ed3e146102a9578063e593bd741461026f578063f2fde38b146101fc5763fbbf93a014610124575f80fd5b346101f8575f3660031901126101f857606080604051610143816109ac565b5f81525f6020820152816040820152015261015c6109fe565b610164610ae0565b6101f460405191610174836109ac565b3083526101e160208401947f0000000000000000000000000000000000000000000000000000000000000000865260408501908152606085019283526040519586956020875260018060a01b039051166020870152516040860152516080606086015260a0850190610941565b9051838203601f19016080850152610941565b0390f35b5f80fd5b346101f85760203660031901126101f857610215610980565b61021d610e64565b6001600160a01b0316801561025c57600580546001600160a01b0319811683179091556001600160a01b03165f516020610f135f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101f85760403660031901126101f8576102c2610980565b6102ca610996565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b346101f85760203660031901126101f857610312610c5f565b61031e60043533610c7f565b6001600655005b346101f85760203660031901126101f85761033e610980565b610346610e64565b6001600160a01b03168015610385576007546001600160a01b038116610376576001600160a01b03191617600755005b6351a05b4d60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b346101f85760403660031901126101f8576103f76103ed610980565b6024359033610bc8565b602060405160018152f35b346101f85760403660031901126101f8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d61043c610980565b60243590610448610e64565b61047c82827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e8b565b61048b60405192839283610bad565b0390a1005b346101f8575f3660031901126101f8576101f46104ab610ae0565b604051918291602083526020830190610941565b346101f8575f3660031901126101f8576005546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576007546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101f8575f3660031901126101f85761056b610e64565b600580546001600160a01b031981169091555f906001600160a01b03165f516020610f135f395f51905f528280a3005b346101f85760203660031901126101f8576001600160a01b036105bc610980565b165f525f602052602060405f2054604051908152f35b346101f8575f3660031901126101f8576020600854604051908152f35b346101f85760403660031901126101f857610608610980565b60075460243591906001600160a01b031633036106a0578115610691576001600160a01b031690811561067e576106799161064582600254610b8c565b600255805f525f60205260405f208281540190555f5f516020610f335f395f51905f526020604051858152a3600854610b8c565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b346101f8575f3660031901126101f85760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610756575f90610719575b60209060ff60405191168152f35b506020813d60201161074e575b81610733602093836109db565b810103126101f8575160ff811681036101f85760209061070b565b3d9150610726565b6040513d5f823e3d90fd5b346101f8575f3660031901126101f857610779610c5f565b335f525f60205261031e60405f205433610c7f565b346101f85760603660031901126101f8576107a7610980565b6107af610996565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106107ed575b506103f79350610bc8565b83811061085257841561083f57331561082c576103f7945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846107e2565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346101f8575f3660031901126101f8576020600254604051908152f35b346101f85760403660031901126101f8576108a3610980565b60243590331561083f576001600160a01b031690811561082c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101f8575f3660031901126101f8576101f46104ab6109fe565b346101f8575f3660031901126101f8576020906009548152f35b91908251928382525f5b84811061096b575050825f602080949584010152601f8019910116010190565b8060208092840101518282860101520161094b565b600435906001600160a01b03821682036101f857565b602435906001600160a01b03821682036101f857565b608081019081106001600160401b038211176109c757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176109c757604052565b604051905f6003548060011c9160018216918215610ad6575b602084108314610ac2578386528592908115610aa35750600114610a44575b610a42925003836109db565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610a87575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610a6f565b60209250610a4294915060ff191682840152151560051b820101610a36565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a17565b604051905f6004548060011c9160018216918215610b82575b602084108314610ac2578386528592908115610aa35750600114610b2357610a42925003836109db565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610b66575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610b4e565b92607f1692610af9565b91908201809211610b9957565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b039091168152602081019190915260400190565b6001600160a01b0316908115610c4c576001600160a01b031691821561067e57815f525f60205260405f2054818110610c3357815f516020610f335f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610c70576002600655565b633ee5aeb560e01b5f5260045ffd5b91907f00000000000000000000000000000000000000000000000000000000000000004210610e5557801561069157335f525f60205260405f20548111610e46576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081602481885afa908115610756575f91610e14575b5060025411610dd5573315610c4c57335f525f60205260405f2054828110610dba57827f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369949581610da693335f525f6020520360405f205581600254036002555f6040518381525f516020610f335f395f51905f5260203392a3610d9c82600954610b8c565b6009553390610e8b565b610db560405192839283610bad565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b60405162461bcd60e51b81526020600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152606490fd5b90506020813d602011610e3e575b81610e2f602093836109db565b810103126101f857515f610d16565b3d9150610e22565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b03163303610e7857565b63118cdaa760e01b5f523360045260245ffd5b91602091610eb4610ec25f936040519283918783019563a9059cbb60e01b875260248401610bad565b03601f1981018352826109db565b519082855af115610756575f513d610f0957506001600160a01b0381163b155b610ee95750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415610ee256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f17f73c0010ca8645a7dd450d19c9995963a6540063e182183680204b5add23264736f6c634300081e00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220cce3967bb4d7a4bd1cb0cfe1f804592d50c5b406a3a96637046a3653e135ba8564736f6c634300081e0033",
287
- "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f5f3560e01c806303dc4d311461088b57806313afa5f41461084957806338f343a01461079e57806358a52c4d146106155780636e2eca6714610547578063715018a6146105005780638da5cb5b146104d95780638f723f50146101655780639d8dad7014610147578063c4eb0a9e146101085763f2fde38b14610093575f80fd5b34610105576020366003190112610105576100ac610922565b6100b46109ea565b6001600160a01b031680156100f15781546001600160a01b03198116821783556001600160a01b03165f516020611e615f395f51905f528380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346101055760203660031901126101055760209060ff906040906001600160a01b03610133610922565b168152600284522054166040519015158152f35b50346101055780600319360112610105576020600154604051908152f35b50346101055760403660031901126101055761017f610922565b6024359061018b6109ea565b428211156104ca5760015490600182018092116104b6578391808072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b811015610490575b50600a906904ee2d6d415b85acef8160201b811015610474575b662386f26fc10000811015610460575b6305f5e10081101561044f575b612710811015610440575b6064811015610432575b1015610428575b6001830190600a602161024361022d8561098a565b9461023b6040519687610967565b80865261098a565b602085019690601f19013688378401015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530490811561028257600a90610254565b50506102fa60246102e992604051956902d22a727902137b732160b51b60208801526102ca602a8884516102b981848401876108dc565b81010301601f198101895288610967565b604051948592635a454e4f60e01b6020850152518092858501906108dc565b81010301601f198101835282610967565b6040519261145080850193906001600160401b038511868610176104145761035a928695949261034c92610a1188396001600160a01b031685526020850188905260a0604086018190528501906108fd565b9083820360608501526108fd565b90608030910152039083f090811561040957600154600160401b8110156103f557916040916103b08460017f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b96016001556108b0565b81546001600160a01b0394851660039290921b82811b95901b191693909317905581855260026020908152838620805460ff191660011790558351928352820152a180f35b634e487b7160e01b84526041600452602484fd5b6040513d84823e3d90fd5b634e487b7160e01b88526041600452602488fd5b9160010191610218565b606460029104940193610211565b61271060049104940193610207565b6305f5e100600891049401936101fc565b662386f26fc10000601091049401936101ef565b602094909401936904ee2d6d415b85acef8160201b90046101df565b6040945072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b90049050600a6101c5565b634e487b7160e01b84526011600452602484fd5b633085aae960e01b8352600483fd5b5034610105578060031936011261010557546040516001600160a01b039091168152602090f35b50346101055780600319360112610105576105196109ea565b80546001600160a01b03198116825581906001600160a01b03165f516020611e615f395f51905f528280a380f35b50346105f35760403660031901126105f3576024356001600160a01b03811690600435908290036105f35761057a6109ea565b6001548110156106065781156105f757610593906108b0565b905460039190911b1c6001600160a01b031690813b156105f3575f9160248392604051948593849263f2fde38b60e01b845260048401525af180156105e8576105da575080f35b6105e691505f90610967565b005b6040513d5f823e3d90fd5b5f80fd5b63d92e233d60e01b5f5260045ffd5b6363df817160e01b5f5260045ffd5b346105f35760203660031901126105f35760043560608060405161063881610938565b5f81525f60208201528160408201520152600154811015610606575f61065f6004926108b0565b90546040516307ddfc9d60e51b81529384929091839160031b1c6001600160a01b03165afa80156105e8575f906106ea575b6106e6906040519182916020835260018060a01b0381511660208401526020810151604084015260606106d2604083015160808387015260a08601906108fd565b910151838203601f190160808501526108fd565b0390f35b503d805f833e6106fa8183610967565b8101906020818303126105f3578051906001600160401b0382116105f357016080818303126105f3576040519061073082610938565b80516001600160a01b03811681036105f35782526020818101519083015260408101516001600160401b0381116105f3578361076d9183016109a5565b60408301526060810151926001600160401b0384116105f3576106e69361079492016109a5565b6060820152610691565b346105f3575f3660031901126105f3576040518060206001549283815201809260015f5260205f20905f5b81811061082a57505050816107df910382610967565b604051918291602083019060208452518091526040830191905f5b818110610808575050500390f35b82516001600160a01b03168452859450602093840193909201916001016107fa565b82546001600160a01b03168452602090930192600192830192016107c9565b346105f35760203660031901126105f3576004356001548110156105f3576108726020916108b0565b905460405160039290921b1c6001600160a01b03168152f35b346105f35760203660031901126105f357600435600154811015610606576108726020915b6001548110156108c85760015f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b5f5b8381106108ed5750505f910152565b81810151838201526020016108de565b90602091610916815180928185528580860191016108dc565b601f01601f1916010190565b600435906001600160a01b03821682036105f357565b608081019081106001600160401b0382111761095357604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761095357604052565b6001600160401b03811161095357601f01601f191660200190565b81601f820112156105f35780516109bb8161098a565b926109c96040519485610967565b818452602082840101116105f3576109e791602080850191016108dc565b90565b5f546001600160a01b031633036109fd57565b63118cdaa760e01b5f523360045260245ffdfe60c060405234610421576114508038038061001981610425565b928339810160a082820312610421576100318261044a565b60208301516040840151919290916001600160401b038111610421578161005991860161045e565b606085015190916001600160401b0382116104215761007f60809161008693880161045e565b950161044a565b815190916001600160401b0382116103245760035490600182811c92168015610417575b60208310146103065781601f8493116103a9575b50602090601f8311600114610343575f92610338575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161032457600454600181811c9116801561031a575b602082101461030657601f81116102a3575b50602094601f8211600114610240579481929394955f92610235575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561022257600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b03168015801561021b575b61020c5760805260a052610f8890816104c8823960805181818161044f01528181610524015281816106d40152610cd5015260a05181818161018101528181610286015281816103ab0152610c830152f35b63e6c4247b60e01b5f5260045ffd5b505f6101ba565b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b88811061028b57508360019596979810610273575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f8080610265565b91926020600181928685015181550194019201610250565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102fc575b601f0160051c01905b8181106102f1575061011c565b5f81556001016102e4565b90915081906102db565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b8181106103915750908460019594939210610379575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f808061036b565b92936020600181928786015181550195019301610355565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851061040d575b90601f859493920160051c01905b8181106103ff57506100be565b5f81558493506001016103f2565b90915081906103e4565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761032457604052565b51906001600160a01b038216820361042157565b81601f82011215610421578051906001600160401b0382116103245761048d601f8301601f1916602001610425565b9282845260208383010111610421575f5b8281106104b257505060205f918301015290565b8060208092840101518282870101520161049e56fe6080806040526004361015610012575f80fd5b5f3560e01c90816302458c74146109275750806306fdde031461090c578063095ea7b31461088a57806318160ddd1461086d57806323b872dd1461078e5780632f4350c214610761578063313ce567146106af57806340c10f19146105ef57806368266e1b146105d257806370a082311461059b578063715018a6146105535780637158da7c1461050f5780637d9f6db5146104e75780638da5cb5b146104bf57806395d89b4114610490578063a6880e4114610402578063a9059cbb146103d1578063af92058214610394578063b8c6f57914610325578063db006a75146102f9578063dd62ed3e146102a9578063e593bd741461026f578063f2fde38b146101fc5763fbbf93a014610124575f80fd5b346101f8575f3660031901126101f857606080604051610143816109ac565b5f81525f6020820152816040820152015261015c6109fe565b610164610ae0565b6101f460405191610174836109ac565b3083526101e160208401947f0000000000000000000000000000000000000000000000000000000000000000865260408501908152606085019283526040519586956020875260018060a01b039051166020870152516040860152516080606086015260a0850190610941565b9051838203601f19016080850152610941565b0390f35b5f80fd5b346101f85760203660031901126101f857610215610980565b61021d610e64565b6001600160a01b0316801561025c57600580546001600160a01b0319811683179091556001600160a01b03165f516020610f135f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101f85760403660031901126101f8576102c2610980565b6102ca610996565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b346101f85760203660031901126101f857610312610c5f565b61031e60043533610c7f565b6001600655005b346101f85760203660031901126101f85761033e610980565b610346610e64565b6001600160a01b03168015610385576007546001600160a01b038116610376576001600160a01b03191617600755005b6351a05b4d60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346101f8575f3660031901126101f85760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b346101f85760403660031901126101f8576103f76103ed610980565b6024359033610bc8565b602060405160018152f35b346101f85760403660031901126101f8577fd3a735f71fc85ae657682ad3c7ea1d86c2907dfa17288c9bd57d0c3eea2f7b2d61043c610980565b60243590610448610e64565b61047c82827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e8b565b61048b60405192839283610bad565b0390a1005b346101f8575f3660031901126101f8576101f46104ab610ae0565b604051918291602083526020830190610941565b346101f8575f3660031901126101f8576005546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576007546040516001600160a01b039091168152602090f35b346101f8575f3660031901126101f8576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101f8575f3660031901126101f85761056b610e64565b600580546001600160a01b031981169091555f906001600160a01b03165f516020610f135f395f51905f528280a3005b346101f85760203660031901126101f8576001600160a01b036105bc610980565b165f525f602052602060405f2054604051908152f35b346101f8575f3660031901126101f8576020600854604051908152f35b346101f85760403660031901126101f857610608610980565b60075460243591906001600160a01b031633036106a0578115610691576001600160a01b031690811561067e576106799161064582600254610b8c565b600255805f525f60205260405f208281540190555f5f516020610f335f395f51905f526020604051858152a3600854610b8c565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b346101f8575f3660031901126101f85760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610756575f90610719575b60209060ff60405191168152f35b506020813d60201161074e575b81610733602093836109db565b810103126101f8575160ff811681036101f85760209061070b565b3d9150610726565b6040513d5f823e3d90fd5b346101f8575f3660031901126101f857610779610c5f565b335f525f60205261031e60405f205433610c7f565b346101f85760603660031901126101f8576107a7610980565b6107af610996565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106107ed575b506103f79350610bc8565b83811061085257841561083f57331561082c576103f7945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846107e2565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346101f8575f3660031901126101f8576020600254604051908152f35b346101f85760403660031901126101f8576108a3610980565b60243590331561083f576001600160a01b031690811561082c57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101f8575f3660031901126101f8576101f46104ab6109fe565b346101f8575f3660031901126101f8576020906009548152f35b91908251928382525f5b84811061096b575050825f602080949584010152601f8019910116010190565b8060208092840101518282860101520161094b565b600435906001600160a01b03821682036101f857565b602435906001600160a01b03821682036101f857565b608081019081106001600160401b038211176109c757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176109c757604052565b604051905f6003548060011c9160018216918215610ad6575b602084108314610ac2578386528592908115610aa35750600114610a44575b610a42925003836109db565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610a87575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610a6f565b60209250610a4294915060ff191682840152151560051b820101610a36565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610a17565b604051905f6004548060011c9160018216918215610b82575b602084108314610ac2578386528592908115610aa35750600114610b2357610a42925003836109db565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610b66575050906020610a4292820101610a36565b6020919350806001915483858901015201910190918492610b4e565b92607f1692610af9565b91908201809211610b9957565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b039091168152602081019190915260400190565b6001600160a01b0316908115610c4c576001600160a01b031691821561067e57815f525f60205260405f2054818110610c3357815f516020610f335f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610c70576002600655565b633ee5aeb560e01b5f5260045ffd5b91907f00000000000000000000000000000000000000000000000000000000000000004210610e5557801561069157335f525f60205260405f20548111610e46576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081602481885afa908115610756575f91610e14575b5060025411610dd5573315610c4c57335f525f60205260405f2054828110610dba57827f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369949581610da693335f525f6020520360405f205581600254036002555f6040518381525f516020610f335f395f51905f5260203392a3610d9c82600954610b8c565b6009553390610e8b565b610db560405192839283610bad565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b60405162461bcd60e51b81526020600482015260176024820152761a5b9cdd59999a58da595b9d0b58dbdb1b185d195c985b604a1b6044820152606490fd5b90506020813d602011610e3e575b81610e2f602093836109db565b810103126101f857515f610d16565b3d9150610e22565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b03163303610e7857565b63118cdaa760e01b5f523360045260245ffd5b91602091610eb4610ec25f936040519283918783019563a9059cbb60e01b875260248401610bad565b03601f1981018352826109db565b519082855af115610756575f513d610f0957506001600160a01b0381163b155b610ee95750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415610ee256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f17f73c0010ca8645a7dd450d19c9995963a6540063e182183680204b5add23264736f6c634300081e00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220cce3967bb4d7a4bd1cb0cfe1f804592d50c5b406a3a96637046a3653e135ba8564736f6c634300081e0033",
209
+ "bytecode": "0x60803460b857601f611eee38819003918201601f19168301916001600160401b0383118484101760bc5780849260209460405283398101031260b857516001600160a01b0381169081900360b857801560a5575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3611e1d90816100d18239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806313afa5f41461065157806338f343a0146105a6578063715018a6146105625780638da5cb5b1461053b5780639d8dad701461051e578063a6a3f50514610124578063c4eb0a9e146100e75763f2fde38b14610071575f80fd5b346100e35760203660031901126100e35761008a6106bf565b61009261073e565b6001600160a01b031680156100d0575f80546001600160a01b03198116831782556001600160a01b0316905f516020611dc85f395f51905f529080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346100e35760203660031901126100e3576001600160a01b036101086106bf565b165f526002602052602060ff60405f2054166040519015158152f35b346100e35760603660031901126100e35761013d6106bf565b602435906044356001600160a01b03811691908290036100e35761015f61073e565b4283111561050f576001620151808404620afa6c62023ab1818301049162023ab18302900361019061016d83830162023ab0810490856105b4618eac83049204860301010304930283019260648104908060021c9061016d020103900301906099600283600502010491600a83105f146104f4576064612710916005600260038701965b609902010490039302910201010180925f9372184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310156104d1575b600a906904ee2d6d415b85acef8160201b8110156104b5575b662386f26fc100008110156104a1575b6305f5e100811015610490575b612710811015610481575b6064811015610473575b1015610469575b6001840191600a602161029161027b86610764565b9561028960405197886106d5565b808752610764565b602086019790601f19013689378501015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049081156102d057600a906102a2565b5050610349602561033893604051966902d22a727902137b732160b51b6020890152610318602a89845161030781848401876106f8565b81010301601f1981018a52896106d5565b604051958692645a454e4f2d60d81b6020850152518092858501906106f8565b81010301601f1981018452836106d5565b6040519361164893848601936001600160401b0385118786101761044a5761039b6080936103a99389986107808a396001600160a01b03168752602087018a905260a060408801819052870190610719565b908582036060870152610719565b92015203905ff0801561045e57600154916001600160a01b039190911690600160401b83101561044a5760407f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9161040985600160209701600155610693565b81549060031b9086821b9160018060a01b03901b1916179055835f5260028552815f20600160ff1982541617905581519084825285820152a1604051908152f35b634e487b7160e01b5f52604160045260245ffd5b6040513d5f823e3d90fd5b9260010192610266565b60646002910495019461025f565b61271060049104950194610255565b6305f5e1006008910495019461024a565b662386f26fc100006010910495019461023d565b602095909501946904ee2d6d415b85acef8160201b900461022d565b506040935072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8204610214565b606461271091600560028760089796971987019701956101e3565b633085aae960e01b5f5260045ffd5b346100e3575f3660031901126100e3576020600154604051908152f35b346100e3575f3660031901126100e3575f546040516001600160a01b039091168152602090f35b346100e3575f3660031901126100e35761057a61073e565b5f80546001600160a01b0319811682556001600160a01b03165f516020611dc85f395f51905f528280a3005b346100e3575f3660031901126100e3576040518060206001549283815201809260015f5260205f20905f5b81811061063257505050816105e79103826106d5565b604051918291602083019060208452518091526040830191905f5b818110610610575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610602565b82546001600160a01b03168452602090930192600192830192016105d1565b346100e35760203660031901126100e3576004356001548110156100e35761067a602091610693565b905460405160039290921b1c6001600160a01b03168152f35b6001548110156106ab5760015f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b600435906001600160a01b03821682036100e357565b601f909101601f19168101906001600160401b0382119082101761044a57604052565b5f5b8381106107095750505f910152565b81810151838201526020016106fa565b90602091610732815180928185528580860191016106f8565b601f01601f1916010190565b5f546001600160a01b0316330361075157565b63118cdaa760e01b5f523360045260245ffd5b6001600160401b03811161044a57601f01601f19166020019056fe60c06040523461041a57611648803803806100198161041e565b928339810160a08282031261041a5761003182610443565b60208301516040840151919290916001600160401b03811161041a5781610059918601610457565b606085015190916001600160401b03821161041a5761007f608091610086938801610457565b9501610443565b815190916001600160401b03821161031d5760035490600182811c92168015610410575b60208310146102ff5781601f8493116103a2575b50602090601f831160011461033c575f92610331575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161031d57600454600181811c91168015610313575b60208210146102ff57601f811161029c575b50602094601f8211600114610239579481929394955f9261022e575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561021b57600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b0316801561020c5760805260a05261118790816104c182396080518181816102e6015281816106d50152818161086801528181610d580152610f13015260a05181818161019a0152818161042d015281816105c90152610ec10152f35b63e6c4247b60e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b8881106102845750836001959697981061026c575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f808061025e565b91926020600181928685015181550194019201610249565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102f5575b601f0160051c01905b8181106102ea575061011c565b5f81556001016102dd565b90915081906102d4565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b81811061038a5750908460019594939210610372575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f8080610364565b9293602060018192878601518155019501930161034e565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610406575b90601f859493920160051c01905b8181106103f857506100be565b5f81558493506001016103eb565b90915081906103dd565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761031d57604052565b51906001600160a01b038216820361041a57565b81601f8201121561041a578051906001600160401b03821161031d57610486601f8301601f191660200161041e565b928284526020838301011161041a575f5b8281106104ab57505060205f918301015290565b8060208092840101518282870101520161049756fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde0314610ab6578063095ea7b314610a3457806318160ddd14610a1757806323b872dd14610938578063275bfd7d146109165780632f4350c2146108ea578063313ce5671461084357806340c10f191461078357806370a082311461074c578063715018a6146107045780637158da7c146106c05780637d9f6db5146106985780638da5cb5b1461067057806395d89b411461063d578063a2309ff814610620578063a9059cbb146105ef578063af920582146105b2578063b8c6f579146104cb578063db006a75146104a0578063dd62ed3e14610450578063e593bd7414610416578063f2fde38b146103a3578063f7eb5f46146102305763fbbf93a014610121575f80fd5b3461022c575f36600319011261022c575f60a060405161014081610b3c565b828152826020820152606060408201526060808201528260808201520152610166610b8e565b61016e610c70565b60085461017d60025482610d1c565b61021b6040519361018d85610b3c565b30855261020860208601967f0000000000000000000000000000000000000000000000000000000000000000885260408701908152606087019283526080870195865260a087019485526040519788976020895260018060a01b0390511660208901525160408801525160c0606088015260e0870190610ad1565b9051858203601f19016080870152610ad1565b915160a08401525160c08301520390f35b5f80fd5b3461022c57604036600319011261022c57610249610b10565b602435610254611063565b61025c610e84565b6001600160a01b038216918215610394576007546001600160a01b031680156103855760206004916040519283809263a5ef58f560e01b82525afa90811561037a575f9161033f575b5015610330576102b3610d3d565b8211610321577f167beb24b4e0b809e5ad14deac40057e2206ebff29b4f1240a7d26bf69aaebe3916020916103139082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661108a565b604051908152a26001600655005b633910bcb160e21b5f5260045ffd5b630ca00c6160e01b5f5260045ffd5b90506020813d602011610372575b8161035a60209383610b6b565b8101031261022c5751801515810361022c57846102a5565b3d915061034d565b6040513d5f823e3d90fd5b6360da9f3760e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b3461022c57602036600319011261022c576103bc610b10565b6103c4611063565b6001600160a01b0316801561040357600580546001600160a01b0319811683179091556001600160a01b03165f5160206111125f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461022c57604036600319011261022c57610469610b10565b610471610b26565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461022c57602036600319011261022c576104b9610e84565b6104c4600435610ebf565b6001600655005b3461022c57602036600319011261022c576104e4610b10565b6104ec611063565b6001600160a01b03168015610394576007546001600160a01b0381166105a35760405163c25a950f60e01b8152602081600481865afa90811561037a575f91610561575b50306001600160a01b0390911603610552576001600160a01b03191617600755005b63d27b90fd60e01b5f5260045ffd5b90506020813d60201161059b575b8161057c60209383610b6b565b8101031261022c57516001600160a01b038116810361022c5783610530565b3d915061056f565b6351a05b4d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b3461022c57604036600319011261022c5761061561060b610b10565b6024359033610ded565b602060405160018152f35b3461022c575f36600319011261022c576020600854604051908152f35b3461022c575f36600319011261022c5761066c610658610c70565b604051918291602083526020830190610ad1565b0390f35b3461022c575f36600319011261022c576005546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576007546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022c575f36600319011261022c5761071c611063565b600580546001600160a01b031981169091555f906001600160a01b03165f5160206111125f395f51905f528280a3005b3461022c57602036600319011261022c576001600160a01b0361076d610b10565b165f525f602052602060405f2054604051908152f35b3461022c57604036600319011261022c5761079c610b10565b60075460243591906001600160a01b03163303610834578115610825576001600160a01b03169081156108125761080d916107d982600254610de0565b600255805f525f60205260405f208281540190555f5f5160206111325f395f51905f526020604051858152a3600854610de0565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561037a575f906108ad575b60209060ff60405191168152f35b506020813d6020116108e2575b816108c760209383610b6b565b8101031261022c575160ff8116810361022c5760209061089f565b3d91506108ba565b3461022c575f36600319011261022c57610902610e84565b335f525f6020526104c460405f2054610ebf565b3461022c575f36600319011261022c576020610930610d3d565b604051908152f35b3461022c57606036600319011261022c57610951610b10565b610959610b26565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610997575b506106159350610ded565b8381106109fc5784156109e95733156109d657610615945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461098c565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461022c575f36600319011261022c576020600254604051908152f35b3461022c57604036600319011261022c57610a4d610b10565b6024359033156109e9576001600160a01b03169081156109d657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461022c575f36600319011261022c5761066c610658610b8e565b91908251928382525f5b848110610afb575050825f602080949584010152601f8019910116010190565b80602080928401015182828601015201610adb565b600435906001600160a01b038216820361022c57565b602435906001600160a01b038216820361022c57565b60c081019081106001600160401b03821117610b5757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b03821190821017610b5757604052565b604051905f6003548060011c9160018216918215610c66575b602084108314610c52578386528592908115610c335750600114610bd4575b610bd292500383610b6b565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610c17575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610bff565b60209250610bd294915060ff191682840152151560051b820101610bc6565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610ba7565b604051905f6004548060011c9160018216918215610d12575b602084108314610c52578386528592908115610c335750600114610cb357610bd292500383610b6b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610cf6575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610cde565b92607f1692610c89565b91908203918211610d2957565b634e487b7160e01b5f52601160045260245ffd5b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561037a575f91610dae575b5060025480821115610da857610da591610d1c565b90565b50505f90565b90506020813d602011610dd8575b81610dc960209383610b6b565b8101031261022c57515f610d90565b3d9150610dbc565b91908201809211610d2957565b6001600160a01b0316908115610e71576001600160a01b031691821561081257815f525f60205260405f2054818110610e5857815f5160206111325f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610e95576002600655565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b039091168152602081019190915260400190565b7f0000000000000000000000000000000000000000000000000000000000000000421061105457801561082557335f525f60205260405f20548111611045576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa90811561037a575f91611013575b5060025411611004573315610e7157335f525f60205260405f2054828110610fe95791610fd781610fe493817f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936996335f525f6020520360405f205581600254036002555f6040518381525f5160206111325f395f51905f5260203392a3339061108a565b6040519182913383610ea4565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b633a23d82560e01b5f5260045ffd5b90506020813d60201161103d575b8161102e60209383610b6b565b8101031261022c57515f610f53565b3d9150611021565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b0316330361107757565b63118cdaa760e01b5f523360045260245ffd5b916020916110b36110c15f936040519283918783019563a9059cbb60e01b875260248401610ea4565b03601f198101835282610b6b565b519082855af11561037a575f513d61110857506001600160a01b0381163b155b6110e85750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156110e156fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d09f5661522897b24d7cc808806d753767d7f3d4130a90dc087d6718dfaa70f964736f6c634300081e00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122098f250c265c1852fc6e26e69ce6f187de22631ad453c424c6ccce789738e3e5164736f6c634300081e0033",
210
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c806313afa5f41461065157806338f343a0146105a6578063715018a6146105625780638da5cb5b1461053b5780639d8dad701461051e578063a6a3f50514610124578063c4eb0a9e146100e75763f2fde38b14610071575f80fd5b346100e35760203660031901126100e35761008a6106bf565b61009261073e565b6001600160a01b031680156100d0575f80546001600160a01b03198116831782556001600160a01b0316905f516020611dc85f395f51905f529080a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b346100e35760203660031901126100e3576001600160a01b036101086106bf565b165f526002602052602060ff60405f2054166040519015158152f35b346100e35760603660031901126100e35761013d6106bf565b602435906044356001600160a01b03811691908290036100e35761015f61073e565b4283111561050f576001620151808404620afa6c62023ab1818301049162023ab18302900361019061016d83830162023ab0810490856105b4618eac83049204860301010304930283019260648104908060021c9061016d020103900301906099600283600502010491600a83105f146104f4576064612710916005600260038701965b609902010490039302910201010180925f9372184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310156104d1575b600a906904ee2d6d415b85acef8160201b8110156104b5575b662386f26fc100008110156104a1575b6305f5e100811015610490575b612710811015610481575b6064811015610473575b1015610469575b6001840191600a602161029161027b86610764565b9561028960405197886106d5565b808752610764565b602086019790601f19013689378501015b5f1901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049081156102d057600a906102a2565b5050610349602561033893604051966902d22a727902137b732160b51b6020890152610318602a89845161030781848401876106f8565b81010301601f1981018a52896106d5565b604051958692645a454e4f2d60d81b6020850152518092858501906106f8565b81010301601f1981018452836106d5565b6040519361164893848601936001600160401b0385118786101761044a5761039b6080936103a99389986107808a396001600160a01b03168752602087018a905260a060408801819052870190610719565b908582036060870152610719565b92015203905ff0801561045e57600154916001600160a01b039190911690600160401b83101561044a5760407f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b9161040985600160209701600155610693565b81549060031b9086821b9160018060a01b03901b1916179055835f5260028552815f20600160ff1982541617905581519084825285820152a1604051908152f35b634e487b7160e01b5f52604160045260245ffd5b6040513d5f823e3d90fd5b9260010192610266565b60646002910495019461025f565b61271060049104950194610255565b6305f5e1006008910495019461024a565b662386f26fc100006010910495019461023d565b602095909501946904ee2d6d415b85acef8160201b900461022d565b506040935072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8204610214565b606461271091600560028760089796971987019701956101e3565b633085aae960e01b5f5260045ffd5b346100e3575f3660031901126100e3576020600154604051908152f35b346100e3575f3660031901126100e3575f546040516001600160a01b039091168152602090f35b346100e3575f3660031901126100e35761057a61073e565b5f80546001600160a01b0319811682556001600160a01b03165f516020611dc85f395f51905f528280a3005b346100e3575f3660031901126100e3576040518060206001549283815201809260015f5260205f20905f5b81811061063257505050816105e79103826106d5565b604051918291602083019060208452518091526040830191905f5b818110610610575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610602565b82546001600160a01b03168452602090930192600192830192016105d1565b346100e35760203660031901126100e3576004356001548110156100e35761067a602091610693565b905460405160039290921b1c6001600160a01b03168152f35b6001548110156106ab5760015f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b600435906001600160a01b03821682036100e357565b601f909101601f19168101906001600160401b0382119082101761044a57604052565b5f5b8381106107095750505f910152565b81810151838201526020016106fa565b90602091610732815180928185528580860191016106f8565b601f01601f1916010190565b5f546001600160a01b0316330361075157565b63118cdaa760e01b5f523360045260245ffd5b6001600160401b03811161044a57601f01601f19166020019056fe60c06040523461041a57611648803803806100198161041e565b928339810160a08282031261041a5761003182610443565b60208301516040840151919290916001600160401b03811161041a5781610059918601610457565b606085015190916001600160401b03821161041a5761007f608091610086938801610457565b9501610443565b815190916001600160401b03821161031d5760035490600182811c92168015610410575b60208310146102ff5781601f8493116103a2575b50602090601f831160011461033c575f92610331575b50508160011b915f199060031b1c1916176003555b83516001600160401b03811161031d57600454600181811c91168015610313575b60208210146102ff57601f811161029c575b50602094601f8211600114610239579481929394955f9261022e575b50508160011b915f199060031b1c1916176004555b6001600160a01b031691821561021b57600580546001600160a01b03198116851790915560405193906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016006556001600160a01b0316801561020c5760805260a05261118790816104c182396080518181816102e6015281816106d50152818161086801528181610d580152610f13015260a05181818161019a0152818161042d015281816105c90152610ec10152f35b63e6c4247b60e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610138565b601f1982169560045f52805f20915f5b8881106102845750836001959697981061026c575b505050811b0160045561014d565b01515f1960f88460031b161c191690555f808061025e565b91926020600181928685015181550194019201610249565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102f5575b601f0160051c01905b8181106102ea575061011c565b5f81556001016102dd565b90915081906102d4565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d4565b60035f9081528281209350601f198516905b81811061038a5750908460019594939210610372575b505050811b016003556100e9565b01515f1960f88460031b161c191690555f8080610364565b9293602060018192878601518155019501930161034e565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610406575b90601f859493920160051c01905b8181106103f857506100be565b5f81558493506001016103eb565b90915081906103dd565b91607f16916100aa565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761031d57604052565b51906001600160a01b038216820361041a57565b81601f8201121561041a578051906001600160401b03821161031d57610486601f8301601f191660200161041e565b928284526020838301011161041a575f5b8281106104ab57505060205f918301015290565b8060208092840101518282870101520161049756fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde0314610ab6578063095ea7b314610a3457806318160ddd14610a1757806323b872dd14610938578063275bfd7d146109165780632f4350c2146108ea578063313ce5671461084357806340c10f191461078357806370a082311461074c578063715018a6146107045780637158da7c146106c05780637d9f6db5146106985780638da5cb5b1461067057806395d89b411461063d578063a2309ff814610620578063a9059cbb146105ef578063af920582146105b2578063b8c6f579146104cb578063db006a75146104a0578063dd62ed3e14610450578063e593bd7414610416578063f2fde38b146103a3578063f7eb5f46146102305763fbbf93a014610121575f80fd5b3461022c575f36600319011261022c575f60a060405161014081610b3c565b828152826020820152606060408201526060808201528260808201520152610166610b8e565b61016e610c70565b60085461017d60025482610d1c565b61021b6040519361018d85610b3c565b30855261020860208601967f0000000000000000000000000000000000000000000000000000000000000000885260408701908152606087019283526080870195865260a087019485526040519788976020895260018060a01b0390511660208901525160408801525160c0606088015260e0870190610ad1565b9051858203601f19016080870152610ad1565b915160a08401525160c08301520390f35b5f80fd5b3461022c57604036600319011261022c57610249610b10565b602435610254611063565b61025c610e84565b6001600160a01b038216918215610394576007546001600160a01b031680156103855760206004916040519283809263a5ef58f560e01b82525afa90811561037a575f9161033f575b5015610330576102b3610d3d565b8211610321577f167beb24b4e0b809e5ad14deac40057e2206ebff29b4f1240a7d26bf69aaebe3916020916103139082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661108a565b604051908152a26001600655005b633910bcb160e21b5f5260045ffd5b630ca00c6160e01b5f5260045ffd5b90506020813d602011610372575b8161035a60209383610b6b565b8101031261022c5751801515810361022c57846102a5565b3d915061034d565b6040513d5f823e3d90fd5b6360da9f3760e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b3461022c57602036600319011261022c576103bc610b10565b6103c4611063565b6001600160a01b0316801561040357600580546001600160a01b0319811683179091556001600160a01b03165f5160206111125f395f51905f525f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461022c57604036600319011261022c57610469610b10565b610471610b26565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b3461022c57602036600319011261022c576104b9610e84565b6104c4600435610ebf565b6001600655005b3461022c57602036600319011261022c576104e4610b10565b6104ec611063565b6001600160a01b03168015610394576007546001600160a01b0381166105a35760405163c25a950f60e01b8152602081600481865afa90811561037a575f91610561575b50306001600160a01b0390911603610552576001600160a01b03191617600755005b63d27b90fd60e01b5f5260045ffd5b90506020813d60201161059b575b8161057c60209383610b6b565b8101031261022c57516001600160a01b038116810361022c5783610530565b3d915061056f565b6351a05b4d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760206040517f00000000000000000000000000000000000000000000000000000000000000004210158152f35b3461022c57604036600319011261022c5761061561060b610b10565b6024359033610ded565b602060405160018152f35b3461022c575f36600319011261022c576020600854604051908152f35b3461022c575f36600319011261022c5761066c610658610c70565b604051918291602083526020830190610ad1565b0390f35b3461022c575f36600319011261022c576005546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576007546040516001600160a01b039091168152602090f35b3461022c575f36600319011261022c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461022c575f36600319011261022c5761071c611063565b600580546001600160a01b031981169091555f906001600160a01b03165f5160206111125f395f51905f528280a3005b3461022c57602036600319011261022c576001600160a01b0361076d610b10565b165f525f602052602060405f2054604051908152f35b3461022c57604036600319011261022c5761079c610b10565b60075460243591906001600160a01b03163303610834578115610825576001600160a01b03169081156108125761080d916107d982600254610de0565b600255805f525f60205260405f208281540190555f5f5160206111325f395f51905f526020604051858152a3600854610de0565b600855005b63ec442f0560e01b5f525f60045260245ffd5b631f2a200560e01b5f5260045ffd5b633fbfe96d60e01b5f5260045ffd5b3461022c575f36600319011261022c5760405163313ce56760e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561037a575f906108ad575b60209060ff60405191168152f35b506020813d6020116108e2575b816108c760209383610b6b565b8101031261022c575160ff8116810361022c5760209061089f565b3d91506108ba565b3461022c575f36600319011261022c57610902610e84565b335f525f6020526104c460405f2054610ebf565b3461022c575f36600319011261022c576020610930610d3d565b604051908152f35b3461022c57606036600319011261022c57610951610b10565b610959610b26565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f198110610997575b506106159350610ded565b8381106109fc5784156109e95733156109d657610615945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461098c565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461022c575f36600319011261022c576020600254604051908152f35b3461022c57604036600319011261022c57610a4d610b10565b6024359033156109e9576001600160a01b03169081156109d657335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461022c575f36600319011261022c5761066c610658610b8e565b91908251928382525f5b848110610afb575050825f602080949584010152601f8019910116010190565b80602080928401015182828601015201610adb565b600435906001600160a01b038216820361022c57565b602435906001600160a01b038216820361022c57565b60c081019081106001600160401b03821117610b5757604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b03821190821017610b5757604052565b604051905f6003548060011c9160018216918215610c66575b602084108314610c52578386528592908115610c335750600114610bd4575b610bd292500383610b6b565b565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310610c17575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610bff565b60209250610bd294915060ff191682840152151560051b820101610bc6565b634e487b7160e01b5f52602260045260245ffd5b92607f1692610ba7565b604051905f6004548060011c9160018216918215610d12575b602084108314610c52578386528592908115610c335750600114610cb357610bd292500383610b6b565b5060045f90815290917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b818310610cf6575050906020610bd292820101610bc6565b6020919350806001915483858901015201910190918492610cde565b92607f1692610c89565b91908203918211610d2957565b634e487b7160e01b5f52601160045260245ffd5b6040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561037a575f91610dae575b5060025480821115610da857610da591610d1c565b90565b50505f90565b90506020813d602011610dd8575b81610dc960209383610b6b565b8101031261022c57515f610d90565b3d9150610dbc565b91908201809211610d2957565b6001600160a01b0316908115610e71576001600160a01b031691821561081257815f525f60205260405f2054818110610e5857815f5160206111325f395f51905f5292602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b600260065414610e95576002600655565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b039091168152602081019190915260400190565b7f0000000000000000000000000000000000000000000000000000000000000000421061105457801561082557335f525f60205260405f20548111611045576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081602481855afa90811561037a575f91611013575b5060025411611004573315610e7157335f525f60205260405f2054828110610fe95791610fd781610fe493817f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b936996335f525f6020520360405f205581600254036002555f6040518381525f5160206111325f395f51905f5260203392a3339061108a565b6040519182913383610ea4565b0390a1565b905063391434e360e21b5f523360045260245260445260645ffd5b633a23d82560e01b5f5260045ffd5b90506020813d60201161103d575b8161102e60209383610b6b565b8101031261022c57515f610f53565b3d9150611021565b631e9acf1760e31b5f5260045ffd5b631440798b60e01b5f5260045ffd5b6005546001600160a01b0316330361107757565b63118cdaa760e01b5f523360045260245ffd5b916020916110b36110c15f936040519283918783019563a9059cbb60e01b875260248401610ea4565b03601f198101835282610b6b565b519082855af11561037a575f513d61110857506001600160a01b0381163b155b6110e85750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156110e156fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d09f5661522897b24d7cc808806d753767d7f3d4130a90dc087d6718dfaa70f964736f6c634300081e00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122098f250c265c1852fc6e26e69ce6f187de22631ad453c424c6ccce789738e3e5164736f6c634300081e0033",
288
211
  "linkReferences": {},
289
212
  "deployedLinkReferences": {}
290
213
  }
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const getSupply_1 = __importDefault(require("./getSupply"));
7
7
  const contracts_1 = require("../utils/contracts");
8
+ const rpcError_1 = require("../utils/rpcError");
8
9
  /**
9
10
  * Reads a configured asset's config entry together with its total supply.
10
11
  * @param chainId The chain id.
@@ -26,8 +27,7 @@ async function getAsset(chainId, assetId, provider) {
26
27
  return { ...asset, supply: await (0, getSupply_1.default)(chainId, assetId, provider) };
27
28
  }
28
29
  catch (error) {
29
- console.error(`Error getting asset ${assetId}:`, error);
30
- throw error;
30
+ throw (0, rpcError_1.toRpcError)("assets.getAsset", error, { chainId });
31
31
  }
32
32
  }
33
33
  exports.default = getAsset;