@raac/rpc 1.1.0-beta.7 → 1.1.0-beta.71

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 (489) hide show
  1. package/dist/RPCLibrary.js +53 -6
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +302 -305
  3. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +485 -0
  4. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +485 -0
  5. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +556 -0
  6. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -93
  7. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +169 -13
  8. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +637 -0
  9. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +190 -29
  10. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +47 -2
  11. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +55 -3
  12. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +227 -209
  13. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +400 -124
  14. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +397 -0
  15. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +223 -7
  16. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +138 -8
  17. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +299 -28
  18. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  19. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +77 -21
  20. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +614 -0
  21. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +29 -2
  22. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +44 -9
  23. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +89 -9
  24. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +405 -108
  25. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  26. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  27. package/dist/artifacts/zeno/Auction.sol/Auction.json +84 -2
  28. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +44 -2
  29. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +29 -2
  30. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  31. package/dist/configs/chains/11155111.json +70 -20
  32. package/dist/configs/chains/17000.json +25 -0
  33. package/dist/configs/chains/18453.json +187 -0
  34. package/dist/configs/chains/8453.json +61 -18
  35. package/dist/configs/chains/index.js +2 -0
  36. package/dist/minter/get.js +1 -3
  37. package/dist/minter/getApy.js +2 -2
  38. package/dist/nfts/approveNFT.js +25 -0
  39. package/dist/nfts/getApprovalForAll.js +32 -0
  40. package/dist/nfts/getNFTApproval.js +33 -0
  41. package/dist/nfts/getOwnerOfNFT.js +39 -0
  42. package/dist/nfts/setApprovalForAll.js +34 -0
  43. package/dist/oracles/chainlink-networks-config.js +252 -0
  44. package/dist/oracles/encryptSecretURLs.js +25 -0
  45. package/dist/oracles/encryptSecrets.js +29 -0
  46. package/dist/oracles/houses/config.js +19 -0
  47. package/dist/oracles/houses/request.js +176 -0
  48. package/dist/oracles/houses/simulate.js +21 -0
  49. package/dist/oracles/prime-rate/config.js +16 -0
  50. package/dist/oracles/prime-rate/request.js +149 -0
  51. package/dist/oracles/prime-rate/simulate.js +25 -0
  52. package/dist/pools/lendingPool/_helpers.js +2 -3
  53. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
  54. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
  55. package/dist/pools/lendingPool/borrowFromLendingPool.js +5 -3
  56. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +34 -3
  57. package/dist/pools/lendingPool/calculateInsuranceFee.js +2 -2
  58. package/dist/pools/lendingPool/closeLiquidation.js +2 -2
  59. package/dist/pools/lendingPool/depositAssetToLendingPool.js +2 -2
  60. package/dist/pools/lendingPool/depositToLendingPool.js +4 -2
  61. package/dist/pools/lendingPool/getAdapterAddress.js +8 -10
  62. package/dist/pools/lendingPool/getAdapters.js +1 -1
  63. package/dist/pools/lendingPool/getEligibleUserDeposits.js +1 -1
  64. package/dist/pools/lendingPool/getHealthFactor.js +2 -2
  65. package/dist/pools/lendingPool/getLendingPoolInfo.js +21 -15
  66. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +1 -1
  67. package/dist/pools/lendingPool/getParameters.js +3 -4
  68. package/dist/pools/lendingPool/getPositionDebt.js +2 -2
  69. package/dist/pools/lendingPool/getPositionScaledDebt.js +2 -2
  70. package/dist/pools/lendingPool/getPositionView.js +1 -1
  71. package/dist/pools/lendingPool/getPositionsScaledDebt.js +1 -1
  72. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +1 -1
  73. package/dist/pools/lendingPool/getUserCollateralValue.js +1 -1
  74. package/dist/pools/lendingPool/initializeLiquidation.js +2 -2
  75. package/dist/pools/lendingPool/openVaultPosition.js +2 -4
  76. package/dist/pools/lendingPool/repayToLendingPool.js +2 -2
  77. package/dist/pools/lendingPool/vaultOpened.js +22 -0
  78. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +3 -4
  79. package/dist/pools/lendingPool/withdrawFromLendingPool.js +7 -4
  80. package/dist/pools/rwaVault/_helpers.js +2 -3
  81. package/dist/pools/rwaVault/depositToRWAVault.js +6 -5
  82. package/dist/pools/rwaVault/getNextRandomNFT.js +1 -1
  83. package/dist/pools/rwaVault/getRWAVaultInfo.js +3 -14
  84. package/dist/pools/rwaVault/previewDeposit.js +16 -0
  85. package/dist/pools/rwaVault/previewWithdraw.js +16 -0
  86. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +9 -5
  87. package/dist/pools/rwaVault/requestRandomSeed.js +1 -1
  88. package/dist/pools/stabilityPool/_helpers.js +11 -0
  89. package/dist/pools/stabilityPool/getStabilityPoolInfo.js +2 -39
  90. package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +28 -0
  91. package/dist/pools/{lendingPool → stabilityPool}/requestWithdraw.js +2 -7
  92. package/dist/scripts/analyze_lending_positions.js +277 -0
  93. package/dist/scripts/analyze_transfers.js +247 -0
  94. package/dist/scripts/calculate_portfolio.js +167 -0
  95. package/dist/scripts/generateErrorMap.js +180 -0
  96. package/dist/scripts/index.js +182 -70
  97. package/dist/scripts/run_analysis.js +115 -0
  98. package/dist/scripts/test_lending_analysis.js +105 -0
  99. package/dist/scripts/users.js +304 -0
  100. package/dist/types/RPCLibrary.d.ts +37 -9
  101. package/dist/types/configs/chains/index.d.ts +5 -3
  102. package/dist/types/configs/index.d.ts +2 -1
  103. package/dist/types/nfts/approveNFT.d.ts +9 -0
  104. package/dist/types/nfts/getApprovalForAll.d.ts +14 -0
  105. package/dist/types/nfts/getNFTApproval.d.ts +14 -0
  106. package/dist/types/nfts/getOwnerOfNFT.d.ts +13 -0
  107. package/dist/types/nfts/setApprovalForAll.d.ts +14 -0
  108. package/dist/types/oracles/chainlink-networks-config.d.ts +222 -0
  109. package/dist/types/oracles/encryptSecretURLs.d.ts +5 -0
  110. package/dist/types/oracles/encryptSecrets.d.ts +4 -0
  111. package/dist/types/oracles/houses/config.d.ts +13 -0
  112. package/dist/types/oracles/houses/request.d.ts +5 -0
  113. package/dist/types/oracles/houses/simulate.d.ts +1 -0
  114. package/dist/types/oracles/prime-rate/config.d.ts +14 -0
  115. package/dist/types/oracles/prime-rate/request.d.ts +2 -0
  116. package/dist/types/oracles/prime-rate/simulate.d.ts +1 -0
  117. package/dist/types/pools/lendingPool/_helpers.d.ts +2 -2
  118. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +4 -2
  119. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +4 -2
  120. package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +2 -2
  121. package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +2 -2
  122. package/dist/types/pools/lendingPool/closeLiquidation.d.ts +2 -2
  123. package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +2 -2
  124. package/dist/types/pools/lendingPool/getHealthFactor.d.ts +2 -2
  125. package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +1 -0
  126. package/dist/types/pools/lendingPool/getParameters.d.ts +1 -2
  127. package/dist/types/pools/lendingPool/getPositionDebt.d.ts +2 -2
  128. package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +2 -2
  129. package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +2 -2
  130. package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +2 -2
  131. package/dist/types/pools/lendingPool/vaultOpened.d.ts +11 -0
  132. package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +2 -3
  133. package/dist/types/pools/rwaVault/_helpers.d.ts +2 -2
  134. package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +2 -2
  135. package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +2 -6
  136. package/dist/types/pools/rwaVault/previewDeposit.d.ts +4 -0
  137. package/dist/types/pools/rwaVault/previewWithdraw.d.ts +4 -0
  138. package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +3 -2
  139. package/dist/types/pools/stabilityPool/_helpers.d.ts +4 -0
  140. package/dist/types/pools/stabilityPool/getStabilityPoolInfo.d.ts +0 -3
  141. package/dist/types/pools/stabilityPool/getWithdrawRequestInfo.d.ts +13 -0
  142. package/dist/types/scripts/analyze_lending_positions.d.ts +1 -0
  143. package/dist/types/scripts/analyze_transfers.d.ts +1 -0
  144. package/dist/types/scripts/calculate_portfolio.d.ts +1 -0
  145. package/dist/types/scripts/generateErrorMap.d.ts +1 -0
  146. package/dist/types/scripts/run_analysis.d.ts +1 -0
  147. package/dist/types/scripts/test_lending_analysis.d.ts +1 -0
  148. package/dist/types/scripts/users.d.ts +1 -0
  149. package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -3
  150. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC4626.d.ts +318 -0
  151. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +0 -1
  152. package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC4626.d.ts +318 -0
  153. package/dist/types/typechain-types/@openzeppelin/contracts/utils/index.d.ts +0 -1
  154. package/dist/types/typechain-types/@openzeppelin/contracts/utils/math/index.d.ts +1 -0
  155. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.d.ts +36 -0
  156. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
  157. package/dist/types/typechain-types/contracts/core/collectors/ERC20Collector.d.ts +264 -0
  158. package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +180 -178
  159. package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +17 -5
  160. package/dist/types/typechain-types/contracts/core/collectors/RAACTokenCollector.d.ts +264 -0
  161. package/dist/types/typechain-types/contracts/core/collectors/RWAIndexTokenCollector.d.ts +264 -0
  162. package/dist/types/typechain-types/contracts/core/collectors/Treasury.d.ts +53 -52
  163. package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +3 -0
  164. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +119 -5
  165. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +19 -1
  166. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +119 -5
  167. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +119 -5
  168. package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +2 -6
  169. package/dist/types/typechain-types/contracts/core/governance/proposals/TimelockController.d.ts +33 -3
  170. package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +1 -41
  171. package/dist/types/typechain-types/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.d.ts +36 -20
  172. package/dist/types/typechain-types/contracts/core/oracles/BaseChainlinkFunctionsOracle.d.ts +112 -27
  173. package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +116 -10
  174. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.d.ts +316 -0
  175. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle.d.ts +55 -0
  176. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle.d.ts +25 -0
  177. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
  178. package/dist/types/typechain-types/contracts/core/oracles/RAACHousePriceOracle.d.ts +128 -27
  179. package/dist/types/typechain-types/contracts/core/oracles/RAACPrimeRateOracle.d.ts +112 -27
  180. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/IPriceOracle.d.ts +25 -0
  181. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +37 -0
  182. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
  183. package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle.d.ts +33 -0
  184. package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/IPriceOracle.d.ts +25 -0
  185. package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/index.d.ts +2 -0
  186. package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +6 -0
  187. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +10 -1
  188. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.d.ts +281 -0
  189. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.d.ts +10 -1
  190. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +117 -138
  191. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +86 -63
  192. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +86 -63
  193. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +97 -62
  194. package/dist/types/typechain-types/contracts/core/pools/LendingPool/index.d.ts +1 -2
  195. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationStrategyProxy.d.ts +62 -28
  196. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +23 -7
  197. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +273 -81
  198. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPoolStorage.d.ts +57 -25
  199. package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.d.ts +231 -0
  200. package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList.d.ts +25 -0
  201. package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
  202. package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +129 -7
  203. package/dist/types/typechain-types/contracts/core/primitives/index.d.ts +2 -1
  204. package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +39 -9
  205. package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +12 -111
  206. package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +191 -31
  207. package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +15 -19
  208. package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +5 -1
  209. package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.d.ts +176 -0
  210. package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.d.ts +210 -0
  211. package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.d.ts +17 -7
  212. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapter.sol/RAACNFTVaultAdapter.d.ts +218 -0
  213. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapter.sol/RAACNFTVaultAdapterNAVOracle.d.ts +47 -0
  214. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapter.sol/index.d.ts +2 -0
  215. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +262 -0
  216. package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +321 -65
  217. package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +3 -4
  218. package/dist/types/typechain-types/contracts/interfaces/core/collectors/IDistributionTarget.d.ts +43 -0
  219. package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +136 -44
  220. package/dist/types/typechain-types/contracts/interfaces/core/collectors/ITreasury.d.ts +23 -42
  221. package/dist/types/typechain-types/contracts/interfaces/core/collectors/index.d.ts +1 -0
  222. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +101 -5
  223. package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +2 -6
  224. package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/ITimelockController.d.ts +33 -3
  225. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +1 -37
  226. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.d.ts +21 -20
  227. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +47 -1
  228. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IERC20PriceOracle.d.ts +25 -0
  229. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IERC721PriceOracle.d.ts +29 -0
  230. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePriceOracle.d.ts +29 -0
  231. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.d.ts +8 -68
  232. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer.d.ts +71 -0
  233. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.d.ts +49 -0
  234. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
  235. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable.d.ts +35 -0
  236. package/dist/types/typechain-types/contracts/interfaces/core/oracles/index.d.ts +6 -1
  237. package/dist/types/typechain-types/contracts/interfaces/core/pools/ILiquidityPool.d.ts +26 -12
  238. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IAssetAdapter.d.ts +10 -1
  239. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +80 -56
  240. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage.d.ts +52 -1
  241. package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +170 -43
  242. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +31 -1
  243. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +7 -15
  244. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +127 -29
  245. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRToken.d.ts +7 -19
  246. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +315 -23
  247. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IERC721VaultAdapter.d.ts +37 -0
  248. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +1 -3
  249. package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +1 -0
  250. package/dist/types/typechain-types/contracts/interfaces/curve/ICurveCrvUSDVault.d.ts +33 -1
  251. package/dist/types/typechain-types/contracts/mocks/core/collectors/MockTreasury.d.ts +23 -58
  252. package/dist/types/typechain-types/contracts/mocks/core/curve/CurveCrvUSDVaultMock.d.ts +358 -0
  253. package/dist/types/typechain-types/contracts/mocks/core/curve/index.d.ts +1 -0
  254. package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget.d.ts +37 -0
  255. package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
  256. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockChainlinkAggregator.d.ts +151 -0
  257. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle.d.ts +25 -0
  258. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA.d.ts +59 -0
  259. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
  260. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.d.ts +33 -0
  261. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle.d.ts +169 -0
  262. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable.d.ts +171 -0
  263. package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACHousePriceOracle.d.ts +128 -27
  264. package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACPrimeRateOracle.d.ts +112 -27
  265. package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +6 -2
  266. package/dist/types/typechain-types/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool.d.ts +593 -0
  267. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPool.d.ts +11 -3
  268. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolCollector.d.ts +10 -7
  269. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +80 -56
  270. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLiquidityPool.d.ts +26 -12
  271. package/dist/types/typechain-types/contracts/mocks/core/pools/index.d.ts +1 -0
  272. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis.d.ts +39 -0
  273. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList.d.ts +25 -0
  274. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
  275. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockDistributableContract.d.ts +9 -1
  276. package/dist/types/typechain-types/contracts/mocks/core/primitives/index.d.ts +2 -0
  277. package/dist/types/typechain-types/contracts/mocks/core/tokens/CrvUSDTokenLimited.d.ts +238 -0
  278. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  279. package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMock.d.ts +5 -1
  280. package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation.d.ts +185 -0
  281. package/dist/types/typechain-types/contracts/mocks/libraries/pools/index.d.ts +1 -0
  282. package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +33 -2
  283. package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +34 -2
  284. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -2
  285. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC4626__factory.d.ts +472 -0
  286. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +0 -1
  287. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC4626__factory.d.ts +632 -0
  288. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  289. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +13 -1
  290. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  291. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -9
  292. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  293. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
  294. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/index.d.ts +0 -1
  295. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
  296. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  297. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/index.d.ts +1 -0
  298. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable__factory.d.ts +29 -0
  299. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
  300. package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +393 -0
  301. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +234 -238
  302. package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +49 -3
  303. package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +389 -0
  304. package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +389 -0
  305. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +100 -59
  306. package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +3 -0
  307. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +179 -1
  308. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -1
  309. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +49 -1
  310. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +180 -2
  311. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +180 -2
  312. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +14 -2
  313. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +25 -1
  314. package/dist/types/typechain-types/factories/contracts/core/lockers/LLamaTemple__factory.d.ts +25 -1
  315. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +1 -71
  316. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +43 -10
  317. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseChainlinkFunctionsOracle__factory.d.ts +128 -23
  318. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +135 -14
  319. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +409 -0
  320. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle__factory.d.ts +45 -0
  321. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle__factory.d.ts +21 -0
  322. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
  323. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +203 -28
  324. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +153 -28
  325. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/IPriceOracle__factory.d.ts +17 -0
  326. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +74 -0
  327. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
  328. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +52 -0
  329. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/IPriceOracle__factory.d.ts +17 -0
  330. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/index.d.ts +2 -0
  331. package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +3 -0
  332. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +35 -1
  333. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter__factory.d.ts +15 -1
  334. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter__factory.d.ts +433 -0
  335. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +98 -53
  336. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +178 -161
  337. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +118 -53
  338. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +132 -51
  339. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/index.d.ts +1 -1
  340. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +60 -42
  341. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +72 -10
  342. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +56 -42
  343. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +324 -107
  344. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts +320 -0
  345. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList__factory.d.ts +21 -0
  346. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
  347. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +174 -8
  348. package/dist/types/typechain-types/factories/contracts/core/primitives/index.d.ts +1 -1
  349. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +107 -9
  350. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +15 -168
  351. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  352. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +233 -24
  353. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
  354. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +60 -18
  355. package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +22 -4
  356. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +21 -1
  357. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter__factory.d.ts +311 -0
  358. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter__factory.d.ts +26 -6
  359. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +347 -0
  360. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapter.sol/RAACNFTVaultAdapterNAVOracle__factory.d.ts +25 -0
  361. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapter.sol/RAACNFTVaultAdapter__factory.d.ts +350 -0
  362. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapter.sol/index.d.ts +2 -0
  363. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +417 -0
  364. package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +318 -86
  365. package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +3 -2
  366. package/dist/types/typechain-types/factories/contracts/interfaces/IComplianceRegistry__factory.d.ts +4 -0
  367. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IDistributionTarget__factory.d.ts +39 -0
  368. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +131 -95
  369. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/ITreasury__factory.d.ts +20 -49
  370. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/index.d.ts +1 -0
  371. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +133 -1
  372. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +13 -1
  373. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/ITimelockController__factory.d.ts +24 -0
  374. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +0 -60
  375. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator__factory.d.ts +19 -16
  376. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +52 -1
  377. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IERC20PriceOracle__factory.d.ts +17 -0
  378. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IERC721PriceOracle__factory.d.ts +25 -0
  379. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePriceOracle__factory.d.ts +21 -0
  380. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer__factory.d.ts +59 -0
  381. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices__factory.d.ts +67 -0
  382. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
  383. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices__factory.d.ts +1 -89
  384. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable__factory.d.ts +25 -0
  385. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/index.d.ts +5 -1
  386. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/ILiquidityPool__factory.d.ts +26 -10
  387. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IAssetAdapter__factory.d.ts +14 -0
  388. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage__factory.d.ts +53 -0
  389. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +109 -78
  390. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +8 -0
  391. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +201 -44
  392. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +70 -0
  393. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -16
  394. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +122 -22
  395. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRToken__factory.d.ts +12 -18
  396. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +301 -19
  397. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IERC721VaultAdapter__factory.d.ts +41 -0
  398. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +0 -4
  399. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +1 -0
  400. package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveCrvUSDVault__factory.d.ts +64 -0
  401. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +4 -0
  402. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  403. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  404. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  405. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  406. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  407. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  408. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +21 -68
  409. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
  410. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +671 -0
  411. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
  412. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/index.d.ts +1 -0
  413. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  414. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +65 -0
  415. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  416. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
  417. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +25 -1
  418. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +168 -0
  419. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle__factory.d.ts +21 -0
  420. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +98 -0
  421. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
  422. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle__factory.d.ts +42 -0
  423. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  424. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  425. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +242 -0
  426. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  427. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +184 -0
  428. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +203 -28
  429. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +153 -28
  430. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/index.d.ts +5 -1
  431. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +958 -0
  432. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +29 -11
  433. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +110 -69
  434. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +15 -5
  435. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +47 -11
  436. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  437. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  438. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/index.d.ts +1 -0
  439. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +50 -0
  440. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList__factory.d.ts +21 -0
  441. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
  442. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  443. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  444. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +35 -1
  445. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  446. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/index.d.ts +1 -0
  447. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +431 -0
  448. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  449. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  450. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  451. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +21 -1
  452. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  453. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  454. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  455. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  456. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  457. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +21 -1
  458. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  459. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  460. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +1 -1
  461. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
  462. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  463. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  464. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +224 -0
  465. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +19 -5
  466. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/index.d.ts +1 -0
  467. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  468. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  469. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  470. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +34 -1
  471. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +64 -1
  472. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  473. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +21 -1
  474. package/dist/types/typechain-types/index.d.ts +72 -22
  475. package/dist/types/utils/artifacts.d.ts +678 -93
  476. package/dist/types/utils/contracts.d.ts +4 -2
  477. package/dist/types/utils/errorDecoder.d.ts +37 -0
  478. package/dist/types/wallet/assets/approveNFT.d.ts +0 -0
  479. package/dist/types/wallet/assets/getAllowance.d.ts +1 -1
  480. package/dist/types/wallet/assets/getBalance.d.ts +5 -1
  481. package/dist/utils/artifacts.js +14 -1
  482. package/dist/utils/errorDecoder.js +137 -0
  483. package/dist/wallet/assets/approveNFT.js +0 -0
  484. package/dist/wallet/assets/getAllowance.js +3 -3
  485. package/dist/wallet/assets/getBalance.js +20 -6
  486. package/package.json +8 -4
  487. package/dist/pools/lendingPool/getWithdrawRequestInfo.js +0 -25
  488. package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +0 -8
  489. /package/dist/types/pools/{lendingPool → stabilityPool}/requestWithdraw.d.ts +0 -0
@@ -29,6 +29,28 @@
29
29
  "name": "AddressCannotBeZero",
30
30
  "type": "error"
31
31
  },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "target",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "AddressEmptyCode",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "account",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "AddressInsufficientBalance",
52
+ "type": "error"
53
+ },
32
54
  {
33
55
  "inputs": [],
34
56
  "name": "ApprovalFailed",
@@ -39,6 +61,11 @@
39
61
  "name": "BlacklistedAddress",
40
62
  "type": "error"
41
63
  },
64
+ {
65
+ "inputs": [],
66
+ "name": "CannotDepositAndWithdrawSameBlock",
67
+ "type": "error"
68
+ },
42
69
  {
43
70
  "inputs": [],
44
71
  "name": "CollateralAndParamterDataMismatch",
@@ -54,6 +81,11 @@
54
81
  "name": "ExpectedPause",
55
82
  "type": "error"
56
83
  },
84
+ {
85
+ "inputs": [],
86
+ "name": "FailedInnerCall",
87
+ "type": "error"
88
+ },
57
89
  {
58
90
  "inputs": [],
59
91
  "name": "InsufficientBalance",
@@ -114,6 +146,11 @@
114
146
  "name": "MarketNotFound",
115
147
  "type": "error"
116
148
  },
149
+ {
150
+ "inputs": [],
151
+ "name": "NoPendingWithdraw",
152
+ "type": "error"
153
+ },
117
154
  {
118
155
  "inputs": [],
119
156
  "name": "NotInitializing",
@@ -162,6 +199,11 @@
162
199
  "name": "SameAddressNotAllowed",
163
200
  "type": "error"
164
201
  },
202
+ {
203
+ "inputs": [],
204
+ "name": "TimelockDisabled",
205
+ "type": "error"
206
+ },
165
207
  {
166
208
  "inputs": [],
167
209
  "name": "TransferFailed",
@@ -172,6 +214,31 @@
172
214
  "name": "UnauthorizedAccess",
173
215
  "type": "error"
174
216
  },
217
+ {
218
+ "inputs": [],
219
+ "name": "WithdrawAmountTooHigh",
220
+ "type": "error"
221
+ },
222
+ {
223
+ "inputs": [],
224
+ "name": "WithdrawTimelockExpired",
225
+ "type": "error"
226
+ },
227
+ {
228
+ "inputs": [],
229
+ "name": "WithdrawTimelockInvalid",
230
+ "type": "error"
231
+ },
232
+ {
233
+ "inputs": [],
234
+ "name": "WithdrawTimelockNotExpired",
235
+ "type": "error"
236
+ },
237
+ {
238
+ "inputs": [],
239
+ "name": "WithdrawTimelockNotReady",
240
+ "type": "error"
241
+ },
175
242
  {
176
243
  "anonymous": false,
177
244
  "inputs": [
@@ -247,6 +314,25 @@
247
314
  "name": "Deposit",
248
315
  "type": "event"
249
316
  },
317
+ {
318
+ "anonymous": false,
319
+ "inputs": [
320
+ {
321
+ "indexed": false,
322
+ "internalType": "address",
323
+ "name": "previous",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "indexed": false,
328
+ "internalType": "address",
329
+ "name": "latest",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "FeeCollectorUpdated",
334
+ "type": "event"
335
+ },
250
336
  {
251
337
  "anonymous": false,
252
338
  "inputs": [
@@ -279,6 +365,56 @@
279
365
  "name": "LiquidationStrategyProxyUpdated",
280
366
  "type": "event"
281
367
  },
368
+ {
369
+ "anonymous": false,
370
+ "inputs": [
371
+ {
372
+ "indexed": false,
373
+ "internalType": "address",
374
+ "name": "previous",
375
+ "type": "address"
376
+ },
377
+ {
378
+ "indexed": false,
379
+ "internalType": "address",
380
+ "name": "latest",
381
+ "type": "address"
382
+ }
383
+ ],
384
+ "name": "LiquidationSwapUpdated",
385
+ "type": "event"
386
+ },
387
+ {
388
+ "anonymous": false,
389
+ "inputs": [
390
+ {
391
+ "indexed": false,
392
+ "internalType": "uint256",
393
+ "name": "mintPercentage",
394
+ "type": "uint256"
395
+ },
396
+ {
397
+ "indexed": false,
398
+ "internalType": "uint256",
399
+ "name": "burnPercentage",
400
+ "type": "uint256"
401
+ },
402
+ {
403
+ "indexed": false,
404
+ "internalType": "uint256",
405
+ "name": "swapPercentage",
406
+ "type": "uint256"
407
+ },
408
+ {
409
+ "indexed": false,
410
+ "internalType": "uint256",
411
+ "name": "liquidityPercentage",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "name": "LiquidationVaultTokenSplitUpdated",
416
+ "type": "event"
417
+ },
282
418
  {
283
419
  "anonymous": false,
284
420
  "inputs": [
@@ -439,6 +575,25 @@
439
575
  "name": "RAACDepositedFromPool",
440
576
  "type": "event"
441
577
  },
578
+ {
579
+ "anonymous": false,
580
+ "inputs": [
581
+ {
582
+ "indexed": false,
583
+ "internalType": "address",
584
+ "name": "previous",
585
+ "type": "address"
586
+ },
587
+ {
588
+ "indexed": false,
589
+ "internalType": "address",
590
+ "name": "latest",
591
+ "type": "address"
592
+ }
593
+ ],
594
+ "name": "RWAVaultUpdated",
595
+ "type": "event"
596
+ },
442
597
  {
443
598
  "anonymous": false,
444
599
  "inputs": [
@@ -472,96 +627,109 @@
472
627
  "internalType": "uint256",
473
628
  "name": "deCRVUSDAmount",
474
629
  "type": "uint256"
475
- },
476
- {
477
- "indexed": false,
478
- "internalType": "uint256",
479
- "name": "raacRewards",
480
- "type": "uint256"
481
630
  }
482
631
  ],
483
632
  "name": "Withdraw",
484
633
  "type": "event"
485
634
  },
486
635
  {
636
+ "anonymous": false,
487
637
  "inputs": [
488
638
  {
639
+ "indexed": true,
489
640
  "internalType": "address",
490
- "name": "manager",
641
+ "name": "user",
491
642
  "type": "address"
492
643
  }
493
644
  ],
494
- "name": "addManager",
495
- "outputs": [],
496
- "stateMutability": "nonpayable",
497
- "type": "function"
645
+ "name": "WithdrawCancelled",
646
+ "type": "event"
498
647
  },
499
648
  {
649
+ "anonymous": false,
500
650
  "inputs": [
501
651
  {
652
+ "indexed": true,
502
653
  "internalType": "address",
503
654
  "name": "user",
504
655
  "type": "address"
505
- }
506
- ],
507
- "name": "balanceOf",
508
- "outputs": [
656
+ },
509
657
  {
658
+ "indexed": false,
510
659
  "internalType": "uint256",
511
- "name": "",
660
+ "name": "amount",
661
+ "type": "uint256"
662
+ },
663
+ {
664
+ "indexed": false,
665
+ "internalType": "uint256",
666
+ "name": "readyAt",
512
667
  "type": "uint256"
513
668
  }
514
669
  ],
515
- "stateMutability": "view",
516
- "type": "function"
670
+ "name": "WithdrawQueued",
671
+ "type": "event"
517
672
  },
518
673
  {
674
+ "anonymous": false,
519
675
  "inputs": [
520
676
  {
677
+ "indexed": false,
521
678
  "internalType": "uint256",
522
- "name": "rcrvUSDAmount",
679
+ "name": "previous",
680
+ "type": "uint256"
681
+ },
682
+ {
683
+ "indexed": false,
684
+ "internalType": "uint256",
685
+ "name": "latest",
523
686
  "type": "uint256"
524
687
  }
525
688
  ],
526
- "name": "calculateDeCRVUSDAmount",
527
- "outputs": [
689
+ "name": "WithdrawTimelockDelayUpdated",
690
+ "type": "event"
691
+ },
692
+ {
693
+ "anonymous": false,
694
+ "inputs": [
528
695
  {
696
+ "indexed": false,
529
697
  "internalType": "uint256",
530
- "name": "",
698
+ "name": "previous",
699
+ "type": "uint256"
700
+ },
701
+ {
702
+ "indexed": false,
703
+ "internalType": "uint256",
704
+ "name": "latest",
531
705
  "type": "uint256"
532
706
  }
533
707
  ],
534
- "stateMutability": "view",
535
- "type": "function"
708
+ "name": "WithdrawTimelockDurationUpdated",
709
+ "type": "event"
536
710
  },
537
711
  {
538
712
  "inputs": [
539
713
  {
540
714
  "internalType": "address",
541
- "name": "user",
715
+ "name": "manager",
542
716
  "type": "address"
543
717
  }
544
718
  ],
545
- "name": "calculateRaacRewards",
546
- "outputs": [
547
- {
548
- "internalType": "uint256",
549
- "name": "",
550
- "type": "uint256"
551
- }
552
- ],
553
- "stateMutability": "view",
719
+ "name": "addManager",
720
+ "outputs": [],
721
+ "stateMutability": "nonpayable",
554
722
  "type": "function"
555
723
  },
556
724
  {
557
725
  "inputs": [
558
726
  {
559
- "internalType": "uint256",
560
- "name": "deCRVUSDAmount",
561
- "type": "uint256"
727
+ "internalType": "address",
728
+ "name": "user",
729
+ "type": "address"
562
730
  }
563
731
  ],
564
- "name": "calculateRcrvUSDAmount",
732
+ "name": "balanceOf",
565
733
  "outputs": [
566
734
  {
567
735
  "internalType": "uint256",
@@ -612,29 +780,48 @@
612
780
  "type": "function"
613
781
  },
614
782
  {
615
- "inputs": [],
616
- "name": "deTokenDecimals",
617
- "outputs": [
783
+ "inputs": [
618
784
  {
619
- "internalType": "uint8",
620
- "name": "",
621
- "type": "uint8"
785
+ "internalType": "uint256",
786
+ "name": "scaledAmount",
787
+ "type": "uint256"
622
788
  }
623
789
  ],
624
- "stateMutability": "view",
790
+ "name": "deposit",
791
+ "outputs": [],
792
+ "stateMutability": "nonpayable",
625
793
  "type": "function"
626
794
  },
627
795
  {
628
796
  "inputs": [
797
+ {
798
+ "internalType": "address",
799
+ "name": "",
800
+ "type": "address"
801
+ }
802
+ ],
803
+ "name": "depositBlock",
804
+ "outputs": [
629
805
  {
630
806
  "internalType": "uint256",
631
- "name": "amount",
807
+ "name": "",
632
808
  "type": "uint256"
633
809
  }
634
810
  ],
635
- "name": "deposit",
636
- "outputs": [],
637
- "stateMutability": "nonpayable",
811
+ "stateMutability": "view",
812
+ "type": "function"
813
+ },
814
+ {
815
+ "inputs": [],
816
+ "name": "feeCollector",
817
+ "outputs": [
818
+ {
819
+ "internalType": "address",
820
+ "name": "",
821
+ "type": "address"
822
+ }
823
+ ],
824
+ "stateMutability": "view",
638
825
  "type": "function"
639
826
  },
640
827
  {
@@ -650,6 +837,32 @@
650
837
  "stateMutability": "view",
651
838
  "type": "function"
652
839
  },
840
+ {
841
+ "inputs": [],
842
+ "name": "getPoolIndex",
843
+ "outputs": [
844
+ {
845
+ "internalType": "uint256",
846
+ "name": "",
847
+ "type": "uint256"
848
+ }
849
+ ],
850
+ "stateMutability": "view",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [],
855
+ "name": "getRawTotalDeposits",
856
+ "outputs": [
857
+ {
858
+ "internalType": "uint256",
859
+ "name": "",
860
+ "type": "uint256"
861
+ }
862
+ ],
863
+ "stateMutability": "view",
864
+ "type": "function"
865
+ },
653
866
  {
654
867
  "inputs": [
655
868
  {
@@ -658,7 +871,7 @@
658
871
  "type": "address"
659
872
  }
660
873
  ],
661
- "name": "getPendingRewards",
874
+ "name": "getScaledDeposit",
662
875
  "outputs": [
663
876
  {
664
877
  "internalType": "uint256",
@@ -705,17 +918,31 @@
705
918
  "inputs": [
706
919
  {
707
920
  "internalType": "address",
708
- "name": "_rToken",
921
+ "name": "user",
709
922
  "type": "address"
710
- },
923
+ }
924
+ ],
925
+ "name": "getUserIndex",
926
+ "outputs": [
927
+ {
928
+ "internalType": "uint256",
929
+ "name": "",
930
+ "type": "uint256"
931
+ }
932
+ ],
933
+ "stateMutability": "view",
934
+ "type": "function"
935
+ },
936
+ {
937
+ "inputs": [
711
938
  {
712
939
  "internalType": "address",
713
- "name": "_deToken",
940
+ "name": "_rToken",
714
941
  "type": "address"
715
942
  },
716
943
  {
717
944
  "internalType": "address",
718
- "name": "_raacToken",
945
+ "name": "_deToken",
719
946
  "type": "address"
720
947
  },
721
948
  {
@@ -782,6 +1009,25 @@
782
1009
  "stateMutability": "view",
783
1010
  "type": "function"
784
1011
  },
1012
+ {
1013
+ "inputs": [
1014
+ {
1015
+ "internalType": "address",
1016
+ "name": "user",
1017
+ "type": "address"
1018
+ }
1019
+ ],
1020
+ "name": "isUserDepositInSameBlock",
1021
+ "outputs": [
1022
+ {
1023
+ "internalType": "bool",
1024
+ "name": "",
1025
+ "type": "bool"
1026
+ }
1027
+ ],
1028
+ "stateMutability": "view",
1029
+ "type": "function"
1030
+ },
785
1031
  {
786
1032
  "inputs": [],
787
1033
  "name": "lendingPool",
@@ -816,6 +1062,11 @@
816
1062
  "internalType": "bytes",
817
1063
  "name": "data",
818
1064
  "type": "bytes"
1065
+ },
1066
+ {
1067
+ "internalType": "uint256",
1068
+ "name": "minSharesOut",
1069
+ "type": "uint256"
819
1070
  }
820
1071
  ],
821
1072
  "name": "liquidateBorrower",
@@ -877,19 +1128,6 @@
877
1128
  "stateMutability": "view",
878
1129
  "type": "function"
879
1130
  },
880
- {
881
- "inputs": [],
882
- "name": "liquidityGauge",
883
- "outputs": [
884
- {
885
- "internalType": "address",
886
- "name": "",
887
- "type": "address"
888
- }
889
- ],
890
- "stateMutability": "view",
891
- "type": "function"
892
- },
893
1131
  {
894
1132
  "inputs": [
895
1133
  {
@@ -909,19 +1147,6 @@
909
1147
  "stateMutability": "view",
910
1148
  "type": "function"
911
1149
  },
912
- {
913
- "inputs": [],
914
- "name": "minter",
915
- "outputs": [
916
- {
917
- "internalType": "contract IRAACMinter",
918
- "name": "",
919
- "type": "address"
920
- }
921
- ],
922
- "stateMutability": "view",
923
- "type": "function"
924
- },
925
1150
  {
926
1151
  "inputs": [
927
1152
  {
@@ -1002,32 +1227,6 @@
1002
1227
  "stateMutability": "view",
1003
1228
  "type": "function"
1004
1229
  },
1005
- {
1006
- "inputs": [],
1007
- "name": "rTokenDecimals",
1008
- "outputs": [
1009
- {
1010
- "internalType": "uint8",
1011
- "name": "",
1012
- "type": "uint8"
1013
- }
1014
- ],
1015
- "stateMutability": "view",
1016
- "type": "function"
1017
- },
1018
- {
1019
- "inputs": [],
1020
- "name": "raacToken",
1021
- "outputs": [
1022
- {
1023
- "internalType": "contract IRAACToken",
1024
- "name": "",
1025
- "type": "address"
1026
- }
1027
- ],
1028
- "stateMutability": "view",
1029
- "type": "function"
1030
- },
1031
1230
  {
1032
1231
  "inputs": [
1033
1232
  {
@@ -1048,6 +1247,19 @@
1048
1247
  "stateMutability": "nonpayable",
1049
1248
  "type": "function"
1050
1249
  },
1250
+ {
1251
+ "inputs": [
1252
+ {
1253
+ "internalType": "uint256",
1254
+ "name": "amount",
1255
+ "type": "uint256"
1256
+ }
1257
+ ],
1258
+ "name": "requestWithdraw",
1259
+ "outputs": [],
1260
+ "stateMutability": "nonpayable",
1261
+ "type": "function"
1262
+ },
1051
1263
  {
1052
1264
  "inputs": [],
1053
1265
  "name": "rwaVault",
@@ -1061,6 +1273,19 @@
1061
1273
  "stateMutability": "view",
1062
1274
  "type": "function"
1063
1275
  },
1276
+ {
1277
+ "inputs": [
1278
+ {
1279
+ "internalType": "address",
1280
+ "name": "_feeCollector",
1281
+ "type": "address"
1282
+ }
1283
+ ],
1284
+ "name": "setFeeCollector",
1285
+ "outputs": [],
1286
+ "stateMutability": "nonpayable",
1287
+ "type": "function"
1288
+ },
1064
1289
  {
1065
1290
  "inputs": [
1066
1291
  {
@@ -1119,11 +1344,11 @@
1119
1344
  "inputs": [
1120
1345
  {
1121
1346
  "internalType": "address",
1122
- "name": "_liquidityGauge",
1347
+ "name": "_rwaVault",
1123
1348
  "type": "address"
1124
1349
  }
1125
1350
  ],
1126
- "name": "setLiquidityGauge",
1351
+ "name": "setRWAVault",
1127
1352
  "outputs": [],
1128
1353
  "stateMutability": "nonpayable",
1129
1354
  "type": "function"
@@ -1131,12 +1356,12 @@
1131
1356
  {
1132
1357
  "inputs": [
1133
1358
  {
1134
- "internalType": "address",
1135
- "name": "_minter",
1136
- "type": "address"
1359
+ "internalType": "uint256",
1360
+ "name": "_withdrawTimelockDelay",
1361
+ "type": "uint256"
1137
1362
  }
1138
1363
  ],
1139
- "name": "setMinter",
1364
+ "name": "setWithdrawTimelockDelay",
1140
1365
  "outputs": [],
1141
1366
  "stateMutability": "nonpayable",
1142
1367
  "type": "function"
@@ -1144,12 +1369,12 @@
1144
1369
  {
1145
1370
  "inputs": [
1146
1371
  {
1147
- "internalType": "address",
1148
- "name": "_rwaVault",
1149
- "type": "address"
1372
+ "internalType": "uint256",
1373
+ "name": "_withdrawTimelockDuration",
1374
+ "type": "uint256"
1150
1375
  }
1151
1376
  ],
1152
- "name": "setRWAVault",
1377
+ "name": "setWithdrawTimelockDuration",
1153
1378
  "outputs": [],
1154
1379
  "stateMutability": "nonpayable",
1155
1380
  "type": "function"
@@ -1187,6 +1412,19 @@
1187
1412
  "stateMutability": "nonpayable",
1188
1413
  "type": "function"
1189
1414
  },
1415
+ {
1416
+ "inputs": [
1417
+ {
1418
+ "internalType": "uint256",
1419
+ "name": "deTokenAmount",
1420
+ "type": "uint256"
1421
+ }
1422
+ ],
1423
+ "name": "withdraw",
1424
+ "outputs": [],
1425
+ "stateMutability": "nonpayable",
1426
+ "type": "function"
1427
+ },
1190
1428
  {
1191
1429
  "inputs": [
1192
1430
  {
@@ -1195,7 +1433,45 @@
1195
1433
  "type": "address"
1196
1434
  }
1197
1435
  ],
1198
- "name": "userDeposits",
1436
+ "name": "withdrawTimelock",
1437
+ "outputs": [
1438
+ {
1439
+ "internalType": "uint256",
1440
+ "name": "amount",
1441
+ "type": "uint256"
1442
+ },
1443
+ {
1444
+ "internalType": "uint256",
1445
+ "name": "indexAtRequest",
1446
+ "type": "uint256"
1447
+ },
1448
+ {
1449
+ "internalType": "uint256",
1450
+ "name": "balanceAtRequest",
1451
+ "type": "uint256"
1452
+ },
1453
+ {
1454
+ "internalType": "uint256",
1455
+ "name": "userIndexAtRequest",
1456
+ "type": "uint256"
1457
+ },
1458
+ {
1459
+ "internalType": "uint256",
1460
+ "name": "readyAt",
1461
+ "type": "uint256"
1462
+ },
1463
+ {
1464
+ "internalType": "uint256",
1465
+ "name": "expireAt",
1466
+ "type": "uint256"
1467
+ }
1468
+ ],
1469
+ "stateMutability": "view",
1470
+ "type": "function"
1471
+ },
1472
+ {
1473
+ "inputs": [],
1474
+ "name": "withdrawTimelockDelay",
1199
1475
  "outputs": [
1200
1476
  {
1201
1477
  "internalType": "uint256",
@@ -1207,21 +1483,21 @@
1207
1483
  "type": "function"
1208
1484
  },
1209
1485
  {
1210
- "inputs": [
1486
+ "inputs": [],
1487
+ "name": "withdrawTimelockDuration",
1488
+ "outputs": [
1211
1489
  {
1212
1490
  "internalType": "uint256",
1213
- "name": "deCRVUSDAmount",
1491
+ "name": "",
1214
1492
  "type": "uint256"
1215
1493
  }
1216
1494
  ],
1217
- "name": "withdraw",
1218
- "outputs": [],
1219
- "stateMutability": "nonpayable",
1495
+ "stateMutability": "view",
1220
1496
  "type": "function"
1221
1497
  }
1222
1498
  ],
1223
- "bytecode": "0x60c034620000d457601f620020fc38819003918201601f19168301916001600160401b03831184841017620000d9578084926040948552833981010312620000d4576200005a60206200005283620000ef565b9201620000ef565b6001601155906001600160a01b031680156200009f5760805260a052604051611ff79081620001058239608051818181611173015261133e015260a051816116620152f35b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000d45756fe6080604052600436101561001257600080fd5b60003560e01c806303df1954146102e3578063048bf085146102de57806307546172146102d95780630ba36dcd14610248578063150b7a02146102d4578063168a4822146102cf578063201d69e2146102ca57806328f7a355146102c55780632d06177a146102c05780632e1a7d4d146102bb57806331cc0278146102b657806335876476146102b15780633f4ba83a146102ac57806340c65f72146102a75780635c975abb146102a257806361d027b31461029d578063631ca5b71461029857806370a0823114610248578063715018a61461029357806371dccd241461022057806375d412891461028e5780637c2b606a146102255780638456cb59146102895780638da5cb5b1461028457806392c4c25f1461027f578063934114e91461027a5780639766e7b014610275578063a59a997314610270578063ac18de431461026b578063b00451d814610266578063b01cd32314610261578063b6b55f251461025c578063b7d3e97a14610257578063baaa3ca314610252578063bb2436b01461024d578063c084b10b14610248578063cac89c5c14610243578063d4bb70181461023e578063db56ea3514610239578063e40963f214610234578063e94f729a1461022f578063f2fde38b1461022a578063f3ae241514610225578063f6ed201714610220578063f9a0be681461021b5763fca3b5aa1461021657600080fd5b6114fb565b6114d2565b610d54565b610d9d565b6114a9565b611485565b61145c565b611413565b61136d565b611328565b610533565b61130a565b6112d3565b611216565b61112e565b611085565b61105c565b610f2b565b610f02565b610ed9565b610eb0565b610e8c565b610e56565b610ddc565b610d7f565b610cf8565b610ccf565b610ca6565b610c76565b610c4d565b610bd6565b610a70565b610a2d565b610827565b61075c565b610733565b6106f0565b610667565b6105d9565b6104d6565b610488565b346103dd5760803660031901126103dd57600435602435604435906064359133600052600960205260ff6040600020541615806103bb575b6103a9578184018085116103a4578181018091116103a4578381018091116103a457612710036103695761035d6103629261035861036796600d55565b600e55565b600f55565b601055565b005b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642070657263656e746167657360681b6044820152606490fd5b61191e565b604051631a27eac360e11b8152600490fd5b50600080516020611f42833981519152546001600160a01b031633141561031b565b600080fd5b6001600160a01b031690565b600435906001600160a01b03821682036103dd57565b602435906001600160a01b03821682036103dd57565b604435906001600160a01b03821682036103dd57565b606435906001600160a01b03821682036103dd57565b608435906001600160a01b03821682036103dd57565b60a435906001600160a01b03821682036103dd57565b60c435906001600160a01b03821682036103dd57565b346103dd5760203660031901126103dd576104a16103ee565b6104a961153e565b600580546001600160a01b0319166001600160a01b0392909216919091179055005b60009103126103dd57565b346103dd5760003660031901126103dd57600c546040516001600160a01b039091168152602090f35b6001600160a01b0316600090815260096020526040902090565b6001600160a01b03166000908152600b6020526040902090565b346103dd5760203660031901126103dd576001600160a01b036105546103ee565b16600052600b6020526020604060002054604051908152f35b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161059657604052565b61056d565b601f909101601f19168101906001600160401b0382119082101761059657604052565b6001600160401b03811161059657601f01601f191660200190565b346103dd5760803660031901126103dd576105f26103ee565b506105fb610404565b506064356001600160401b0381116103dd57366023820112156103dd57806004013590610627826105be565b91610635604051938461059b565b80835236602482840101116103dd576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b346103dd5760003660031901126103dd57600054604051630481930d60e21b815230600482015290602090829060249082906001600160a01b03165afa80156106eb576020916000916106be575b50604051908152f35b6106de9150823d81116106e4575b6106d6818361059b565b810190611b07565b386106b5565b503d6106cc565b6115f2565b346103dd5760203660031901126103dd576107096103ee565b61071161153e565b600680546001600160a01b0319166001600160a01b0392909216919091179055005b346103dd5760003660031901126103dd576001546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd576107756103ee565b61077d61153e565b6001600160a01b03811660008181526009602052604081205490929060ff166107e957806107bd6107b06107c2936104ff565b805460ff19166001179055565b611c97565b7f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a8280a280f35b60405162461bcd60e51b81526020600482015260166024820152754d616e6167657220616c72656164792065786973747360501b6044820152606490fd5b346103dd5760203660031901126103dd576004803590610845611ae4565b61084d611a5d565b8115610a1e5761085b611d50565b61086e6108696001546103e2565b6103e2565b602060405180926370a0823160e01b8252818061088d33888301610e43565b03915afa80156106eb578391600091610a00575b50106109f1576108b082611dff565b916108ba33611e3e565b90836108c533610519565b54106109e0576108d433610519565b6108df858254611b25565b90556108ea33610519565b54156109cf575b6108ff6108696001546103e2565b803b156103dd578160009161092b9583604051809881958294632770a7eb60e21b845233908401611903565b03925af19283156106eb577f02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca94936109b6575b5061097684336109716108696000546103e2565b611b32565b8161099e575b6040805194855260208501919091528301523391606090a26103676001601155565b6109b182336109716108696002546103e2565b61097c565b806109c36109c992610583565b806104cb565b3861095d565b60006109da33610519565b556108f1565b604051631e9acf1760e31b81528390fd5b604051631e9acf1760e31b8152fd5b610a18915060203d81116106e4576106d6818361059b565b386108a1565b60405163162908e360e11b8152fd5b346103dd5760203660031901126103dd57610a466103ee565b610a4e61153e565b600780546001600160a01b0319166001600160a01b0392909216919091179055005b346103dd5760e03660031901126103dd57610a896103ee565b610a91610404565b90610a9a61041a565b610aa2610430565b610aaa610446565b610ab261045c565b91610abb610472565b600080516020611fa283398151915254604081901c60ff161597919591906001600160401b031680159081610bce575b6001149081610bc4575b159081610bbb575b50610ba957600080516020611fa283398151915280546001600160401b0319166001179055610b309688610b84576115fe565b610b3657005b600080516020611fa2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b600080516020611fa2833981519152805460ff60401b1916600160401b1790556115fe565b60405163f92ee8a960e01b8152600490fd5b90501538610afd565b303b159150610af5565b899150610aeb565b346103dd5760003660031901126103dd57610bef61153e565b600080516020611f82833981519152805460ff811615610c3b5760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103dd5760003660031901126103dd576000546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600080516020611f8283398151915254166040519015158152f35b346103dd5760003660031901126103dd576008546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576007546040516001600160a01b039091168152602090f35b346103dd57600080600319360112610d5157610d1261153e565b600080516020611f4283398151915280546001600160a01b0319811690915581906001600160a01b0316600080516020611f628339815191528280a380f35b80fd5b346103dd5760203660031901126103dd576020610d77610d726103ee565b611e3e565b604051908152f35b346103dd5760203660031901126103dd576020610d77600435611dff565b346103dd5760203660031901126103dd576001600160a01b03610dbe6103ee565b166000526009602052602060ff604060002054166040519015158152f35b346103dd5760003660031901126103dd57610df561153e565b610dfd611a5d565b600080516020611f82833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b6001600160a01b03909116815260200190565b346103dd5760003660031901126103dd57600080516020611f42833981519152546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600c5460a81c16604051908152f35b346103dd5760003660031901126103dd576006546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576004546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576003546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd57610f446103ee565b610f4c61153e565b610f66610f62610f5b836104ff565b5460ff1690565b1590565b61104a57610f80610f76826104ff565b805460ff19169055565b6001600160a01b039081169060005b600a5480821015611042578383610fbd610fa8856113f3565b905460039190911b1c6001600160a01b031690565b1614610fd25750610fcd90611ce9565b610f8f565b6110139250610fee610fa8610fe9610ff493611b16565b6113f3565b916113f3565b90919082549060031b9160018060a01b03809116831b921b1916179055565b61101b611cf8565b7fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd31600080a2005b50505061101b565b6040516322a5e34b60e01b8152600490fd5b346103dd5760003660031901126103dd576012546040516001600160a01b039091168152602090f35b346103dd57600080600319360112610d51576040518091600a549081835260208093018092600a835284832090835b81811061111157505050846110ca91038561059b565b60405193838594850191818652518092526040850193925b8281106110f157505050500390f35b83516001600160a01b0316855286955093810193928101926001016110e2565b82546001600160a01b0316845292860192600192830192016110b4565b346103dd5760203660031901126103dd5760043561114a611ae4565b611152611a5d565b80156112045760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106eb576000916111d6575b506111c4576111ba90611941565b6103676001601155565b604051632652747360e21b8152600490fd5b6111f7915060203d81116111fd575b6111ef818361059b565b8101906118eb565b386111ac565b503d6111e5565b60405163162908e360e11b8152600490fd5b346103dd5760203660031901126103dd5761122f6103ee565b61123761153e565b6001600160a01b039080821680156112c157601254928316908181146112af576001600160a01b031990931692909217601255604080516001600160a01b0393841681529190921660208201527fee76f64ea0204b40f46a632a9c93079e8225b5a6983c82fcb269aa46949f487d9181908101610b7f565b60405163aba916dd60e01b8152600490fd5b6040516303988b8160e61b8152600490fd5b346103dd5760003660031901126103dd576080600d54600e54600f5460105491604051938452602084015260408301526060820152f35b346103dd5760203660031901126103dd576020610d77600435611dd2565b346103dd5760003660031901126103dd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103dd5760803660031901126103dd576113866103ee565b61138e610404565b61139661041a565b606435926001600160401b03929091908385116103dd57366023860112156103dd5784600401359384116103dd5736602485870101116103dd576024610367950192611b6c565b634e487b7160e01b600052603260045260246000fd5b600a5481101561140e57600a60005260206000200190600090565b6113dd565b346103dd5760203660031901126103dd57600435600a548110156103dd57600a600052600080516020611f2283398151915201546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576002546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600c5460a01c16604051908152f35b346103dd5760203660031901126103dd576103676114c56103ee565b6114cd61153e565b611577565b346103dd5760003660031901126103dd576005546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd576115146103ee565b61151c61153e565b600c80546001600160a01b0319166001600160a01b0392909216919091179055005b600080516020611f42833981519152546001600160a01b0316330361155f57565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b039081169081156115c057600080516020611f4283398151915280546001600160a01b03198116841790915516600080516020611f62833981519152600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b908160209103126103dd575160ff811681036103dd5790565b6040513d6000823e3d90fd5b6001600160a01b039081169693959091871580156118a2575b8015611898575b801561188e575b8015611884575b801561187a575b8015611870575b61185e57826117809661171a826116d69a6116f88261175e9a8f61173c996116b084926116867f00000000000000000000000000000000000000000000000000000000000000006118ac565b61168e6118bc565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600180546001600160a01b0319166001600160a01b03939092169283169190911790559e565b60028054919092166001600160a01b03166001600160a01b0319909116179055565b60048054919092166001600160a01b03166001600160a01b0319909116179055565b60038054919092166001600160a01b03166001600160a01b0319909116179055565b60088054919092166001600160a01b03166001600160a01b0319909116179055565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b60405163313ce56760e01b8082526020938490839060049082905afa9182156106eb5784926117d191600091611841575b50600c805460ff60a01b191660a09290921b60ff60a01b16919091179055565b60046040518094819382525afa9081156106eb5761181292600092611814575b5050600c805460ff60a81b191660a89290921b60ff60a81b16919091179055565b565b6118339250803d1061183a575b61182b818361059b565b8101906115d9565b38806117f1565b503d611821565b6118589150843d861161183a5761182b818361059b565b386117b1565b60405163e6c4247b60e01b8152600490fd5b508285161561163a565b5082821615611633565b508286161561162c565b5082871615611625565b508284161561161e565b5082811615611617565b611812906118b86118bc565b6114cd5b60ff600080516020611fa28339815191525460401c16156118d957565b604051631afcd79f60e31b8152600490fd5b908160209103126103dd575180151581036103dd5790565b6001600160a01b039091168152602081019190915260400190565b634e487b7160e01b600052601160045260246000fd5b919082018092116103a457565b611949611d50565b6000546040516323b872dd60e01b60208201523360248201523060448201526064808201849052815260a08101916001600160a01b03166001600160401b038311828410176105965761199e92604052611a88565b6119a781611dd2565b6119b56108696001546103e2565b90813b156103dd57600060405180936340c10f1960e01b82528183816119df873360048401611903565b03925af19081156106eb577f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1592611a4592611a4a575b50611a1f33610519565b611a2a858254611934565b90556040805194855260208501919091523393918291820190565b0390a2565b806109c3611a5792610583565b38611a15565b60ff600080516020611f828339815191525416611a7657565b60405163d93c066560e01b8152600490fd5b906000602091828151910182855af1156115f2576000513d611adb57506001600160a01b0381163b155b611ab95750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611ab2565b600260115414611af5576002601155565b604051633ee5aeb560e01b8152600490fd5b908160209103126103dd575190565b6000198101919082116103a457565b919082039182116103a457565b611b676118129392611b5960405194859263a9059cbb60e01b602085015260248401611903565b03601f19810184528361059b565b611a88565b9391909293600094338652600960205260ff6040872054161580611c45575b6103a957611c1860c487968796611ba0611ae4565b611ba8611a5d565b611bb0611d50565b8060018060a01b03958680601254169960405198899681602089019c8d631a976e0360e31b9052166024890152166044870152166064850152608060848501528160a48501528484013787838284010152601f801991011681010360a481018452018261059b565b51915af4611c24611c67565b9015611c365750506118126001601155565b8051918215610d515750602001fd5b50600080516020611f42833981519152546001600160a01b0316331415611b8b565b3d15611c92573d90611c78826105be565b91611c86604051938461059b565b82523d6000602084013e565b606090565b600a54600160401b811015610596576001810180600a5581101561140e57600a600052600080516020611f228339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b60001981146103a45760010190565b600a548015611d3a57600019818101918083101561140e57600a60008190529101600080516020611f228339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b600c546001600160a01b031680611d645750565b803b156103dd5760008091600460405180948193633eaf5d9f60e01b83525af180156106eb57611d915750565b61181290610583565b9060ff8091169116039060ff82116103a457565b60ff16604d81116103a457600a0a90565b818102929181159184041417156103a457565b611dfc90611df6611df1600c5460ff808260a01c169160a81c16611d9a565b611dae565b90611dbf565b90565b611dfc90611df6611df1600c5460ff808260a81c169160a01c16611d9a565b8115611e28570490565b634e487b7160e01b600052601260045260246000fd5b611e4790610519565b54611e566108696001546103e2565b60405180916318160ddd60e01b825281600460209384935afa9182156106eb57600092611f02575b50611e8d6108696002546103e2565b8160405180926370a0823160e01b82528180611eac3060048301610e43565b03915afa9182156106eb57600092611ee5575b5050620f42408210611edd57611dfc92611ed891611dbf565b611e1e565b505050600090565b611efb9250803d106106e4576106d6818361059b565b3880611ebf565b81611f1a9293503d84116106e4576106d6818361059b565b9038611e7e56fec65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220abe9f565eaa272120d324529038d8cc908392b41c8a106f2bf657698f2e54b7f64736f6c63430008140033",
1224
- "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806303df1954146102e3578063048bf085146102de57806307546172146102d95780630ba36dcd14610248578063150b7a02146102d4578063168a4822146102cf578063201d69e2146102ca57806328f7a355146102c55780632d06177a146102c05780632e1a7d4d146102bb57806331cc0278146102b657806335876476146102b15780633f4ba83a146102ac57806340c65f72146102a75780635c975abb146102a257806361d027b31461029d578063631ca5b71461029857806370a0823114610248578063715018a61461029357806371dccd241461022057806375d412891461028e5780637c2b606a146102255780638456cb59146102895780638da5cb5b1461028457806392c4c25f1461027f578063934114e91461027a5780639766e7b014610275578063a59a997314610270578063ac18de431461026b578063b00451d814610266578063b01cd32314610261578063b6b55f251461025c578063b7d3e97a14610257578063baaa3ca314610252578063bb2436b01461024d578063c084b10b14610248578063cac89c5c14610243578063d4bb70181461023e578063db56ea3514610239578063e40963f214610234578063e94f729a1461022f578063f2fde38b1461022a578063f3ae241514610225578063f6ed201714610220578063f9a0be681461021b5763fca3b5aa1461021657600080fd5b6114fb565b6114d2565b610d54565b610d9d565b6114a9565b611485565b61145c565b611413565b61136d565b611328565b610533565b61130a565b6112d3565b611216565b61112e565b611085565b61105c565b610f2b565b610f02565b610ed9565b610eb0565b610e8c565b610e56565b610ddc565b610d7f565b610cf8565b610ccf565b610ca6565b610c76565b610c4d565b610bd6565b610a70565b610a2d565b610827565b61075c565b610733565b6106f0565b610667565b6105d9565b6104d6565b610488565b346103dd5760803660031901126103dd57600435602435604435906064359133600052600960205260ff6040600020541615806103bb575b6103a9578184018085116103a4578181018091116103a4578381018091116103a457612710036103695761035d6103629261035861036796600d55565b600e55565b600f55565b601055565b005b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642070657263656e746167657360681b6044820152606490fd5b61191e565b604051631a27eac360e11b8152600490fd5b50600080516020611f42833981519152546001600160a01b031633141561031b565b600080fd5b6001600160a01b031690565b600435906001600160a01b03821682036103dd57565b602435906001600160a01b03821682036103dd57565b604435906001600160a01b03821682036103dd57565b606435906001600160a01b03821682036103dd57565b608435906001600160a01b03821682036103dd57565b60a435906001600160a01b03821682036103dd57565b60c435906001600160a01b03821682036103dd57565b346103dd5760203660031901126103dd576104a16103ee565b6104a961153e565b600580546001600160a01b0319166001600160a01b0392909216919091179055005b60009103126103dd57565b346103dd5760003660031901126103dd57600c546040516001600160a01b039091168152602090f35b6001600160a01b0316600090815260096020526040902090565b6001600160a01b03166000908152600b6020526040902090565b346103dd5760203660031901126103dd576001600160a01b036105546103ee565b16600052600b6020526020604060002054604051908152f35b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161059657604052565b61056d565b601f909101601f19168101906001600160401b0382119082101761059657604052565b6001600160401b03811161059657601f01601f191660200190565b346103dd5760803660031901126103dd576105f26103ee565b506105fb610404565b506064356001600160401b0381116103dd57366023820112156103dd57806004013590610627826105be565b91610635604051938461059b565b80835236602482840101116103dd576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b346103dd5760003660031901126103dd57600054604051630481930d60e21b815230600482015290602090829060249082906001600160a01b03165afa80156106eb576020916000916106be575b50604051908152f35b6106de9150823d81116106e4575b6106d6818361059b565b810190611b07565b386106b5565b503d6106cc565b6115f2565b346103dd5760203660031901126103dd576107096103ee565b61071161153e565b600680546001600160a01b0319166001600160a01b0392909216919091179055005b346103dd5760003660031901126103dd576001546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd576107756103ee565b61077d61153e565b6001600160a01b03811660008181526009602052604081205490929060ff166107e957806107bd6107b06107c2936104ff565b805460ff19166001179055565b611c97565b7f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a8280a280f35b60405162461bcd60e51b81526020600482015260166024820152754d616e6167657220616c72656164792065786973747360501b6044820152606490fd5b346103dd5760203660031901126103dd576004803590610845611ae4565b61084d611a5d565b8115610a1e5761085b611d50565b61086e6108696001546103e2565b6103e2565b602060405180926370a0823160e01b8252818061088d33888301610e43565b03915afa80156106eb578391600091610a00575b50106109f1576108b082611dff565b916108ba33611e3e565b90836108c533610519565b54106109e0576108d433610519565b6108df858254611b25565b90556108ea33610519565b54156109cf575b6108ff6108696001546103e2565b803b156103dd578160009161092b9583604051809881958294632770a7eb60e21b845233908401611903565b03925af19283156106eb577f02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca94936109b6575b5061097684336109716108696000546103e2565b611b32565b8161099e575b6040805194855260208501919091528301523391606090a26103676001601155565b6109b182336109716108696002546103e2565b61097c565b806109c36109c992610583565b806104cb565b3861095d565b60006109da33610519565b556108f1565b604051631e9acf1760e31b81528390fd5b604051631e9acf1760e31b8152fd5b610a18915060203d81116106e4576106d6818361059b565b386108a1565b60405163162908e360e11b8152fd5b346103dd5760203660031901126103dd57610a466103ee565b610a4e61153e565b600780546001600160a01b0319166001600160a01b0392909216919091179055005b346103dd5760e03660031901126103dd57610a896103ee565b610a91610404565b90610a9a61041a565b610aa2610430565b610aaa610446565b610ab261045c565b91610abb610472565b600080516020611fa283398151915254604081901c60ff161597919591906001600160401b031680159081610bce575b6001149081610bc4575b159081610bbb575b50610ba957600080516020611fa283398151915280546001600160401b0319166001179055610b309688610b84576115fe565b610b3657005b600080516020611fa2833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081015b0390a1005b600080516020611fa2833981519152805460ff60401b1916600160401b1790556115fe565b60405163f92ee8a960e01b8152600490fd5b90501538610afd565b303b159150610af5565b899150610aeb565b346103dd5760003660031901126103dd57610bef61153e565b600080516020611f82833981519152805460ff811615610c3b5760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103dd5760003660031901126103dd576000546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600080516020611f8283398151915254166040519015158152f35b346103dd5760003660031901126103dd576008546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576007546040516001600160a01b039091168152602090f35b346103dd57600080600319360112610d5157610d1261153e565b600080516020611f4283398151915280546001600160a01b0319811690915581906001600160a01b0316600080516020611f628339815191528280a380f35b80fd5b346103dd5760203660031901126103dd576020610d77610d726103ee565b611e3e565b604051908152f35b346103dd5760203660031901126103dd576020610d77600435611dff565b346103dd5760203660031901126103dd576001600160a01b03610dbe6103ee565b166000526009602052602060ff604060002054166040519015158152f35b346103dd5760003660031901126103dd57610df561153e565b610dfd611a5d565b600080516020611f82833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b6001600160a01b03909116815260200190565b346103dd5760003660031901126103dd57600080516020611f42833981519152546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600c5460a81c16604051908152f35b346103dd5760003660031901126103dd576006546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576004546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576003546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd57610f446103ee565b610f4c61153e565b610f66610f62610f5b836104ff565b5460ff1690565b1590565b61104a57610f80610f76826104ff565b805460ff19169055565b6001600160a01b039081169060005b600a5480821015611042578383610fbd610fa8856113f3565b905460039190911b1c6001600160a01b031690565b1614610fd25750610fcd90611ce9565b610f8f565b6110139250610fee610fa8610fe9610ff493611b16565b6113f3565b916113f3565b90919082549060031b9160018060a01b03809116831b921b1916179055565b61101b611cf8565b7fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd31600080a2005b50505061101b565b6040516322a5e34b60e01b8152600490fd5b346103dd5760003660031901126103dd576012546040516001600160a01b039091168152602090f35b346103dd57600080600319360112610d51576040518091600a549081835260208093018092600a835284832090835b81811061111157505050846110ca91038561059b565b60405193838594850191818652518092526040850193925b8281106110f157505050500390f35b83516001600160a01b0316855286955093810193928101926001016110e2565b82546001600160a01b0316845292860192600192830192016110b4565b346103dd5760203660031901126103dd5760043561114a611ae4565b611152611a5d565b80156112045760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156106eb576000916111d6575b506111c4576111ba90611941565b6103676001601155565b604051632652747360e21b8152600490fd5b6111f7915060203d81116111fd575b6111ef818361059b565b8101906118eb565b386111ac565b503d6111e5565b60405163162908e360e11b8152600490fd5b346103dd5760203660031901126103dd5761122f6103ee565b61123761153e565b6001600160a01b039080821680156112c157601254928316908181146112af576001600160a01b031990931692909217601255604080516001600160a01b0393841681529190921660208201527fee76f64ea0204b40f46a632a9c93079e8225b5a6983c82fcb269aa46949f487d9181908101610b7f565b60405163aba916dd60e01b8152600490fd5b6040516303988b8160e61b8152600490fd5b346103dd5760003660031901126103dd576080600d54600e54600f5460105491604051938452602084015260408301526060820152f35b346103dd5760203660031901126103dd576020610d77600435611dd2565b346103dd5760003660031901126103dd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103dd5760803660031901126103dd576113866103ee565b61138e610404565b61139661041a565b606435926001600160401b03929091908385116103dd57366023860112156103dd5784600401359384116103dd5736602485870101116103dd576024610367950192611b6c565b634e487b7160e01b600052603260045260246000fd5b600a5481101561140e57600a60005260206000200190600090565b6113dd565b346103dd5760203660031901126103dd57600435600a548110156103dd57600a600052600080516020611f2283398151915201546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd576002546040516001600160a01b039091168152602090f35b346103dd5760003660031901126103dd57602060ff600c5460a01c16604051908152f35b346103dd5760203660031901126103dd576103676114c56103ee565b6114cd61153e565b611577565b346103dd5760003660031901126103dd576005546040516001600160a01b039091168152602090f35b346103dd5760203660031901126103dd576115146103ee565b61151c61153e565b600c80546001600160a01b0319166001600160a01b0392909216919091179055005b600080516020611f42833981519152546001600160a01b0316330361155f57565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b039081169081156115c057600080516020611f4283398151915280546001600160a01b03198116841790915516600080516020611f62833981519152600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b908160209103126103dd575160ff811681036103dd5790565b6040513d6000823e3d90fd5b6001600160a01b039081169693959091871580156118a2575b8015611898575b801561188e575b8015611884575b801561187a575b8015611870575b61185e57826117809661171a826116d69a6116f88261175e9a8f61173c996116b084926116867f00000000000000000000000000000000000000000000000000000000000000006118ac565b61168e6118bc565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600180546001600160a01b0319166001600160a01b03939092169283169190911790559e565b60028054919092166001600160a01b03166001600160a01b0319909116179055565b60048054919092166001600160a01b03166001600160a01b0319909116179055565b60038054919092166001600160a01b03166001600160a01b0319909116179055565b60088054919092166001600160a01b03166001600160a01b0319909116179055565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b60405163313ce56760e01b8082526020938490839060049082905afa9182156106eb5784926117d191600091611841575b50600c805460ff60a01b191660a09290921b60ff60a01b16919091179055565b60046040518094819382525afa9081156106eb5761181292600092611814575b5050600c805460ff60a81b191660a89290921b60ff60a81b16919091179055565b565b6118339250803d1061183a575b61182b818361059b565b8101906115d9565b38806117f1565b503d611821565b6118589150843d861161183a5761182b818361059b565b386117b1565b60405163e6c4247b60e01b8152600490fd5b508285161561163a565b5082821615611633565b508286161561162c565b5082871615611625565b508284161561161e565b5082811615611617565b611812906118b86118bc565b6114cd5b60ff600080516020611fa28339815191525460401c16156118d957565b604051631afcd79f60e31b8152600490fd5b908160209103126103dd575180151581036103dd5790565b6001600160a01b039091168152602081019190915260400190565b634e487b7160e01b600052601160045260246000fd5b919082018092116103a457565b611949611d50565b6000546040516323b872dd60e01b60208201523360248201523060448201526064808201849052815260a08101916001600160a01b03166001600160401b038311828410176105965761199e92604052611a88565b6119a781611dd2565b6119b56108696001546103e2565b90813b156103dd57600060405180936340c10f1960e01b82528183816119df873360048401611903565b03925af19081156106eb577f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1592611a4592611a4a575b50611a1f33610519565b611a2a858254611934565b90556040805194855260208501919091523393918291820190565b0390a2565b806109c3611a5792610583565b38611a15565b60ff600080516020611f828339815191525416611a7657565b60405163d93c066560e01b8152600490fd5b906000602091828151910182855af1156115f2576000513d611adb57506001600160a01b0381163b155b611ab95750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611ab2565b600260115414611af5576002601155565b604051633ee5aeb560e01b8152600490fd5b908160209103126103dd575190565b6000198101919082116103a457565b919082039182116103a457565b611b676118129392611b5960405194859263a9059cbb60e01b602085015260248401611903565b03601f19810184528361059b565b611a88565b9391909293600094338652600960205260ff6040872054161580611c45575b6103a957611c1860c487968796611ba0611ae4565b611ba8611a5d565b611bb0611d50565b8060018060a01b03958680601254169960405198899681602089019c8d631a976e0360e31b9052166024890152166044870152166064850152608060848501528160a48501528484013787838284010152601f801991011681010360a481018452018261059b565b51915af4611c24611c67565b9015611c365750506118126001601155565b8051918215610d515750602001fd5b50600080516020611f42833981519152546001600160a01b0316331415611b8b565b3d15611c92573d90611c78826105be565b91611c86604051938461059b565b82523d6000602084013e565b606090565b600a54600160401b811015610596576001810180600a5581101561140e57600a600052600080516020611f228339815191520180546001600160a01b0319166001600160a01b03909216919091179055565b60001981146103a45760010190565b600a548015611d3a57600019818101918083101561140e57600a60008190529101600080516020611f228339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b600c546001600160a01b031680611d645750565b803b156103dd5760008091600460405180948193633eaf5d9f60e01b83525af180156106eb57611d915750565b61181290610583565b9060ff8091169116039060ff82116103a457565b60ff16604d81116103a457600a0a90565b818102929181159184041417156103a457565b611dfc90611df6611df1600c5460ff808260a01c169160a81c16611d9a565b611dae565b90611dbf565b90565b611dfc90611df6611df1600c5460ff808260a81c169160a01c16611d9a565b8115611e28570490565b634e487b7160e01b600052601260045260246000fd5b611e4790610519565b54611e566108696001546103e2565b60405180916318160ddd60e01b825281600460209384935afa9182156106eb57600092611f02575b50611e8d6108696002546103e2565b8160405180926370a0823160e01b82528180611eac3060048301610e43565b03915afa9182156106eb57600092611ee5575b5050620f42408210611edd57611dfc92611ed891611dbf565b611e1e565b505050600090565b611efb9250803d106106e4576106d6818361059b565b3880611ebf565b81611f1a9293503d84116106e4576106d6818361059b565b9038611e7e56fec65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220abe9f565eaa272120d324529038d8cc908392b41c8a106f2bf657698f2e54b7f64736f6c63430008140033",
1499
+ "bytecode": "0x60c034620000dd57601f6200299638819003918201601f19168301916001600160401b03831184841017620000e2578084926040948552833981010312620000dd576200005a60206200005283620000f8565b9201620000f8565b906001600160a01b03168015620000a85760805260a05260405161288890816200010e82396080518181816108e701528181610d4b0152818161130c015261149d015260a051816118480152f35b60405162461bcd60e51b815260206004820152600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000dd5756fe6080604052600436101561001257600080fd5b60003560e01c806303df19541461030d578063150b7a0214610308578063168a482214610303578063201d69e2146102fe578063202019a6146102f957806322c14db9146102f457806328f7a355146102ef5780632d06177a146102ea5780632e1a7d4d146102e557806331cc0278146102e05780633f4ba83a146102db578063407003bb146102d657806340c65f72146102d15780634b9d7775146102cc578063523266b9146102c75780635c975abb146102c257806361d027b3146102bd578063631ca5b7146102b85780636b1cbe99146102b357806370a082311461024f578063715018a6146102ae578063745400c9146102a95780637c2b606a1461022c5780638456cb59146102a45780638da5cb5b1461029f578063914b748a1461029a578063934114e9146102955780639612071f146102905780639766e7b01461028b578063a013f9c614610286578063a14e19d514610281578063a42dce801461027c578063a4ad3e9f14610277578063a59a997314610272578063ac18de431461026d578063b00451d814610268578063b01cd32314610263578063b6b55f251461025e578063b7d3e97a14610259578063baaa3ca314610254578063c084b10b1461024f578063c415b95c1461024a578063cac89c5c14610245578063cc2a9a5b14610240578063db56ea351461023b578063ee9907a414610236578063f2fde38b146102315763f3ae24151461022c57600080fd5b610db2565b61172b565b6116a3565b61165a565b6114cc565b611487565b61145e565b610c53565b611430565b611371565b6112c7565b61121e565b6111f5565b6110c4565b61109b565b611070565b610fff565b610faf565b610f3e565b610f15565b610ee8565b610ebf565b610ea1565b610e6b565b610df1565b610d0f565b610cb3565b610c00565b610bd7565b610bae565b610b7e565b610b60565b610b0d565b610ae4565b610a72565b6109fb565b61098a565b6108a2565b6107b7565b61078e565b61073e565b610704565b61065f565b6105dc565b61053f565b3461043e57608036600319011261043e57600435602435604435916064359233600052600860205260ff60406000205416158061041c575b61040a57828201808311610405578181018091116104055784810180911161040557612710036103ca577f0e8daa20b0a832fcebda985cc6ebc5ba969c162681cec173e37fd2c9b76c42b5936103c59161039e84600a55565b6103a785600b55565b6103b081600c55565b6103b982600d55565b60405194859485611414565b0390a1005b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642070657263656e746167657360681b6044820152606490fd5b611e3a565b604051631a27eac360e11b8152600490fd5b50600080516020612773833981519152546001600160a01b0316331415610345565b600080fd5b6001600160a01b031690565b600435906001600160a01b038216820361043e57565b602435906001600160a01b038216820361043e57565b604435906001600160a01b038216820361043e57565b606435906001600160a01b038216820361043e57565b608435906001600160a01b038216820361043e57565b60a435906001600160a01b038216820361043e57565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116104fc57604052565b6104d3565b601f909101601f19168101906001600160401b038211908210176104fc57604052565b6001600160401b0381116104fc57601f01601f191660200190565b3461043e57608036600319011261043e5761055861044f565b50610561610465565b506064356001600160401b03811161043e573660238201121561043e5780600401359061058d82610524565b9161059b6040519384610501565b808352366024828401011161043e576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b0390f35b600091031261043e57565b3461043e57600036600319011261043e576001546040516318160ddd60e01b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d575b50604051908152f35b61064d9150823d8111610653575b6106458183610501565b810190611a55565b38610624565b503d61063b565b611a49565b3461043e57602036600319011261043e577f9bfd546607ad0b53bbd540edcb5253cf31fe61fd20ed51331e38e4bd21ce06b461069961044f565b6106a1611754565b600580546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b6001600160a01b0316600090815260086020526040902090565b6001600160a01b03166000908152600e6020526040902090565b3461043e57602036600319011261043e576001600160a01b0361072561044f565b1660005260116020526020604060002054604051908152f35b3461043e57600036600319011261043e5760025460405163220f1ac960e21b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d5750604051908152f35b3461043e57600036600319011261043e576001546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576107d061044f565b6107d8611754565b6001600160a01b03811660008181526008602052604081205490929060ff1661089057818352600860205260408320805460ff1916600117905560095490600160401b8210156104fc57600182018060095582101561088b57600984526000805160206127b383398151915290910180546001600160a01b0319166001600160a01b039092169190911790557f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a8280a280f35b611629565b604051636c0b3b8160e11b8152600490fd5b3461043e57602036600319011261043e576004356108be611b68565b6108c6611b3d565b80156109785760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a5760009161094a575b506109385761092e9061204a565b610936611a1d565b005b604051632652747360e21b8152600490fd5b61096b915060203d8111610971575b6109638183610501565b810190611a31565b38610920565b503d610959565b60405163162908e360e11b8152600490fd5b3461043e57602036600319011261043e577f53b405bfacece77f40f8a3f5f7ccc95b6b28b9828ea5f39b6351dcb935bc12416109c461044f565b6109cc611754565b600680546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b3461043e57600036600319011261043e57610a14611754565b6000805160206127f3833981519152805460ff811615610a605760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461043e5760a036600319011261043e57610a8b61044f565b610a93610465565b90610a9c61047b565b606435916001600160401b039182841161043e573660238501121561043e57836004013592831161043e57366024848601011161043e57610936946024608435950192612430565b3461043e57600036600319011261043e576000546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e577f244eb54cac6535a86303bc595966d5a61110599f580c3d181a784a386951856f600435610b4a611754565b600f5481600f556103c560405192839283611bb3565b3461043e57600036600319011261043e576020601054604051908152f35b3461043e57600036600319011261043e57602060ff6000805160206127f383398151915254166040519015158152f35b3461043e57600036600319011261043e576007546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576006546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e577f27c528cbda4f3f36ae0f98af201cb897665399d363e2baf5aa0e93e77b4556f8600435610c3d611754565b601054816010556103c560405192839283611bb3565b3461043e57602036600319011261043e57610c6c61044f565b60015460405163c084b10b60e01b81526001600160a01b0392831660048201529160209183916024918391165afa801561065a5760209160009161062d5750604051908152f35b3461043e57600080600319360112610d0c57610ccd611754565b60008051602061277383398151915280546001600160a01b0319811690915581906001600160a01b03166000805160206127938339815191528280a380f35b80fd5b3461043e57602036600319011261043e57610d28611b68565b610d30611b3d565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a57600091610d94575b506109385761092e600435611e5d565b610dac915060203d8111610971576109638183610501565b38610d84565b3461043e57602036600319011261043e576001600160a01b03610dd361044f565b166000526008602052602060ff604060002054166040519015158152f35b3461043e57600036600319011261043e57610e0a611754565b610e12611b3d565b6000805160206127f3833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b6001600160a01b03909116815260200190565b3461043e57600036600319011261043e57600080516020612773833981519152546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576020600f54604051908152f35b3461043e57600036600319011261043e576005546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576020610f0b610f0661044f565b6126f6565b6040519015158152f35b3461043e57600036600319011261043e576003546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576001600160a01b03610f5f61044f565b16600052600e60205260c0604060002080549060018101549060028101546003820154906005600484015493015493604051958652602086015260408501526060840152608083015260a0820152f35b3461043e57600036600319011261043e5760015460405163a14e19d560e01b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d5750604051908152f35b3461043e57602036600319011261043e577f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3861103961044f565b611041611754565b600480546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b3461043e57602036600319011261043e57602061109361108e61044f565b6125b8565b604051908152f35b3461043e57600036600319011261043e576002546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576110dd61044f565b6110e5611754565b6110ff6110fb6110f4836106d0565b5460ff1690565b1590565b6111e35761111961110f826106d0565b805460ff19169055565b6001600160a01b039081169060005b600954808210156111db5783836111566111418561163f565b905460039190911b1c6001600160a01b031690565b161461116b575061116690612542565b611128565b6111ac925061118761114161118261118d93612551565b61163f565b9161163f565b90919082549060031b9160018060a01b03809116831b921b1916179055565b6111b4612560565b7fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd31600080a2005b5050506111b4565b6040516322a5e34b60e01b8152600490fd5b3461043e57600036600319011261043e576044546040516001600160a01b039091168152602090f35b3461043e57600080600319360112610d0c57604051809160095490818352602080930180926009835284832090835b8181106112aa5750505084611263910385610501565b60405193838594850191818652518092526040850193925b82811061128a57505050500390f35b83516001600160a01b03168552869550938101939281019260010161127b565b82546001600160a01b03168452928601926001928301920161124d565b3461043e57602036600319011261043e576004356112e3611b68565b6112eb611b3d565b80156109785760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a57600091611353575b506109385761092e90611a64565b61136b915060203d8111610971576109638183610501565b38611345565b3461043e57602036600319011261043e5761138a61044f565b611392611754565b6001600160a01b0390808216801561140257604454928316908181146113f0577fee76f64ea0204b40f46a632a9c93079e8225b5a6983c82fcb269aa46949f487d9360018060a01b031916176044556103c560405192839283612528565b60405163aba916dd60e01b8152600490fd5b6040516303988b8160e61b8152600490fd5b9094939260609260808301968352602083015260408201520152565b3461043e57600036600319011261043e57600a54600b54906105cd600c54600d549060405194859485611414565b3461043e57600036600319011261043e576004546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461043e5760c036600319011261043e576114e561044f565b6114ed610465565b906114f661047b565b6114fe610491565b6115066104a7565b9061150f6104bd565b60008051602061283383398151915254604081901c60ff161596919491906001600160401b031680159081611621575b6001149081611617575b15908161160e575b506115fc5760008051602061283383398151915280546001600160401b031916600117905561158495876115d7576117ef565b61158a57005b600080516020612833833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081016103c5565b600080516020612833833981519152805460ff60401b1916600160401b1790556117ef565b60405163f92ee8a960e01b8152600490fd5b90501538611551565b303b159150611549565b88915061153f565b634e487b7160e01b600052603260045260246000fd5b60095481101561088b57600960005260206000200190600090565b3461043e57602036600319011261043e5760043560095481101561043e5760096000526000805160206127b383398151915201546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576116bc61044f565b600154604051633ba641e960e21b81526001600160a01b0392831660048201529160209183916024918391165afa801561065a576105cd9160009161170d575b506040519081529081906020820190565b611725915060203d8111610653576106458183610501565b386116fc565b3461043e57602036600319011261043e5761093661174761044f565b61174f611754565b61178d565b600080516020612773833981519152546001600160a01b0316330361177557565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b039081169081156117d65760008051602061277383398151915280546001600160a01b03198116841790915516600080516020612793833981519152600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b92949390926001600160a01b0392908316908115801561199b575b8015611991575b8015611987575b801561197d575b8015611973575b61196157611948966118e28580936118c0826119269a61189e6119049961186c7f00000000000000000000000000000000000000000000000000000000000000006119a5565b6118746119e4565b61187c611a0d565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60018054919092166001600160a01b03166001600160a01b0319909116179055565b60038054919092166001600160a01b03166001600160a01b0319909116179055565b60028054919092166001600160a01b03166001600160a01b0319909116179055565b60078054919092166001600160a01b03166001600160a01b0319909116179055565b604480546001600160a01b0319166001600160a01b0392909216919091179055565b611953610708600f55565b61195f6202a300601055565b565b60405163e6c4247b60e01b8152600490fd5b5083861615611826565b508383161561181f565b5083871615611818565b5083811615611811565b508385161561180a565b61195f906119b16119b5565b61174f5b60ff6000805160206128338339815191525460401c16156119d257565b604051631afcd79f60e31b8152600490fd5b6119ec6119b5565b6119f46119b5565b6000805160206127f3833981519152805460ff19169055565b611a156119b5565b611a1d6119b5565b600160008051602061281383398151915255565b9081602091031261043e5751801515810361043e5790565b6040513d6000823e3d90fd5b9081602091031261043e575190565b611a77611a72600254610443565b610443565b803b1561043e5760008091600460405180948193631d8557d760e01b83525af1801561065a57611b24575b50611ab1611a72600054610443565b602060405180926370a0823160e01b82528180611ad13360048301610e58565b03915afa801561065a578291600091611b06575b5010611af45761195f90611bc4565b604051631e9acf1760e31b8152600490fd5b611b1e915060203d8111610653576106458183610501565b38611ae5565b80611b31611b37926104e9565b806105d1565b38611aa2565b60ff6000805160206127f38339815191525416611b5657565b60405163d93c066560e01b8152600490fd5b6000805160206128138339815191526002815414611b865760029055565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b908152602081019190915260400190565b6000611be082611bd7611a728454610443565b30903390611ce1565b611bee611a72600154610443565b803b15611cdd578160405180926340c10f1960e01b8252818381611c16893360048401611b98565b03925af1801561065a57611cca575b503360009081526011602052604090204390556004611c43336106ea565b0154611c81575b507f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1560405180611c7c33948083611bb3565b0390a2565b611cb1611c8d336106ea565b60056000918281558260018201558260028201558260038201558260048201550155565b6000805160206127d3833981519152339180a238611c4a565b80611b31611cd7926104e9565b38611c25565b5080fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176104fc5761195f926040525b600080611d5e9260018060a01b03169360208151910182865af1611d57611da7565b9083611dd7565b8051908115159182611d8c575b5050611d745750565b60249060405190635274afe760e01b82526004820152fd5b611d9f9250602080918301019101611a31565b153880611d6b565b3d15611dd2573d90611db882610524565b91611dc66040519384610501565b82523d6000602084013e565b606090565b90611dfe5750805115611dec57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611e31575b611e0f575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611e07565b634e487b7160e01b600052601160045260246000fd5b9190820180921161040557565b600f541561203857801561201557611e74336106ea565b611e82611a72600154610443565b6040516370a0823160e01b8152602091829082908180611ea53360048301610e58565b03915afa90811561065a57600091611ff8575b506002830155828255611ecf611a72600154610443565b91816040518094633ba641e960e21b82528180611eef3360048301610e58565b03915afa801561065a57600493600091611fdb575b50600382015581611f19611a72600254610443565b60405163220f1ac960e21b815294859182905afa801561065a577f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c48893611c7c93600092611fbe575b50506001820155611f86611f7a611f7a600f5442611e50565b6001600160401b031690565b908160048201556005611fad611f7a611f7a611fa4600f5442611e50565b60105490611e50565b910155604051918291339583611bb3565b611fd49250803d10610653576106458183610501565b3880611f61565b611ff29150833d8511610653576106458183610501565b38611f04565b61200f9150823d8411610653576106458183610501565b38611eb8565b50612022611c8d336106ea565b336000805160206127d3833981519152600080a2565b60405163410dc88360e11b8152600490fd5b612053336126f6565b61215757612065611a72600254610443565b803b1561043e57604051918291631d8557d760e01b83528260046000958680945af191821561065a5761209e92612144575b50336121a3565b906120ad611a72600154610443565b90813b15610d0c57806040518093632770a7eb60e21b82528183816120d6893360048401611b98565b03925af190811561065a57612100928492612131575b506120fb611a72339254610443565b612169565b7ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860405180611c7c33948083611bb3565b80611b3161213e926104e9565b386120ec565b80611b31612151926104e9565b38612097565b6040516378bd8d1960e11b8152600490fd5b61219e61195f939261219060405194859263a9059cbb60e01b602085015260248401611b98565b03601f198101845283610501565b611d35565b919091600f54156123b3576121b7816106ea565b60048082015480156123a357421061239457426005830154106123855784825403612376576121ea611a72600254610443565b60405192839163220f1ac960e21b8352828460209687935afa91821561065a57600092612357575b506001810154918215801561234e575b156123315750600291500154945b600019810361232b575084905b8195821161231c57612253611a72600154610443565b6040516370a0823160e01b80825291938582806122728a888301610e58565b0381885afa91821561065a576000926122fd575b501161229d575b50505050611c8d61195f916106ea565b849650916122bb949184936040519687948593849384528301610e58565b03915afa801561065a5761195f92611c8d926000926122e0575b50509391388061228d565b6122f69250803d10610653576106458183610501565b38806122d5565b612315919250863d8811610653576106458183610501565b9038612286565b604051635b6aa88560e01b8152fd5b9061223d565b6123406123489360029261274d565b910154612713565b94612230565b50828114612222565b61236f919250843d8611610653576106458183610501565b9038612212565b604051631536aed760e31b8152fd5b604051635f8dd0cb60e01b8152fd5b60405163f79b9a3360e01b8152fd5b50604051637b7e3ed560e11b8152fd5b90916123c1611c8d836106ea565b600019810361242b575060206123fa916123df611a72600154610443565b60405180809581946370a0823160e01b835260048301610e58565b03915afa90811561065a57600091612410575090565b612428915060203d8111610653576106458183610501565b90565b905090565b9092949394600095338752600860205260ff6040882054161580612506575b61040a5760e48796956124db928897612466611b68565b61246e611b3d565b8160018060a01b03968780604454169a604051998a978160208a019d8e63407003bb60e01b90521660248a015216604488015216606486015260a060848601528160c4860152858501378884838501015260a4830152601f801991011681010360c4810184520182610501565b51915af46124e7611da7565b90156124f757505061195f611a1d565b8051918215610d0c5750602001fd5b50600080516020612773833981519152546001600160a01b031633141561244f565b6001600160a01b0391821681529116602082015260400190565b60001981146104055760010190565b60001981019190821161040557565b60095480156125a257600019818101918083101561088b576009600081905291016000805160206127b38339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b6125c6611a72600154610443565b604051630481930d60e21b815291602091908284806125e88460048301610e58565b0381855afa93841561065a576000946126d7575b5060048361260e611a72600254610443565b60405163220f1ac960e21b815292839182905afa91821561065a5784916000936126b6575b5061265492936040518080958194633ba641e960e21b835260048301610e58565b03915afa92831561065a57600093612697575b50508115801561268f575b61268a5761242892916126849161274d565b90612713565b505090565b508215612672565b6126ae929350803d10610653576106458183610501565b903880612667565b61265493506126d190833d8511610653576106458183610501565b92612633565b6126ef919450833d8511610653576106458183610501565b92386125fc565b6001600160a01b0316600090815260116020526040902054431490565b8115676765c793fa10079d601a1b19839004821115171561043e57676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b8160011c90676765c793fa10079d601b1b9081831904811184151761043e570201049056fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e06e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200db8521d62105ae02a2d0c5761059c12eafa967fd6b85f02fdff2c1980d5999664736f6c63430008140033",
1500
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806303df19541461030d578063150b7a0214610308578063168a482214610303578063201d69e2146102fe578063202019a6146102f957806322c14db9146102f457806328f7a355146102ef5780632d06177a146102ea5780632e1a7d4d146102e557806331cc0278146102e05780633f4ba83a146102db578063407003bb146102d657806340c65f72146102d15780634b9d7775146102cc578063523266b9146102c75780635c975abb146102c257806361d027b3146102bd578063631ca5b7146102b85780636b1cbe99146102b357806370a082311461024f578063715018a6146102ae578063745400c9146102a95780637c2b606a1461022c5780638456cb59146102a45780638da5cb5b1461029f578063914b748a1461029a578063934114e9146102955780639612071f146102905780639766e7b01461028b578063a013f9c614610286578063a14e19d514610281578063a42dce801461027c578063a4ad3e9f14610277578063a59a997314610272578063ac18de431461026d578063b00451d814610268578063b01cd32314610263578063b6b55f251461025e578063b7d3e97a14610259578063baaa3ca314610254578063c084b10b1461024f578063c415b95c1461024a578063cac89c5c14610245578063cc2a9a5b14610240578063db56ea351461023b578063ee9907a414610236578063f2fde38b146102315763f3ae24151461022c57600080fd5b610db2565b61172b565b6116a3565b61165a565b6114cc565b611487565b61145e565b610c53565b611430565b611371565b6112c7565b61121e565b6111f5565b6110c4565b61109b565b611070565b610fff565b610faf565b610f3e565b610f15565b610ee8565b610ebf565b610ea1565b610e6b565b610df1565b610d0f565b610cb3565b610c00565b610bd7565b610bae565b610b7e565b610b60565b610b0d565b610ae4565b610a72565b6109fb565b61098a565b6108a2565b6107b7565b61078e565b61073e565b610704565b61065f565b6105dc565b61053f565b3461043e57608036600319011261043e57600435602435604435916064359233600052600860205260ff60406000205416158061041c575b61040a57828201808311610405578181018091116104055784810180911161040557612710036103ca577f0e8daa20b0a832fcebda985cc6ebc5ba969c162681cec173e37fd2c9b76c42b5936103c59161039e84600a55565b6103a785600b55565b6103b081600c55565b6103b982600d55565b60405194859485611414565b0390a1005b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642070657263656e746167657360681b6044820152606490fd5b611e3a565b604051631a27eac360e11b8152600490fd5b50600080516020612773833981519152546001600160a01b0316331415610345565b600080fd5b6001600160a01b031690565b600435906001600160a01b038216820361043e57565b602435906001600160a01b038216820361043e57565b604435906001600160a01b038216820361043e57565b606435906001600160a01b038216820361043e57565b608435906001600160a01b038216820361043e57565b60a435906001600160a01b038216820361043e57565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116104fc57604052565b6104d3565b601f909101601f19168101906001600160401b038211908210176104fc57604052565b6001600160401b0381116104fc57601f01601f191660200190565b3461043e57608036600319011261043e5761055861044f565b50610561610465565b506064356001600160401b03811161043e573660238201121561043e5780600401359061058d82610524565b9161059b6040519384610501565b808352366024828401011161043e576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b0390f35b600091031261043e57565b3461043e57600036600319011261043e576001546040516318160ddd60e01b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d575b50604051908152f35b61064d9150823d8111610653575b6106458183610501565b810190611a55565b38610624565b503d61063b565b611a49565b3461043e57602036600319011261043e577f9bfd546607ad0b53bbd540edcb5253cf31fe61fd20ed51331e38e4bd21ce06b461069961044f565b6106a1611754565b600580546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b6001600160a01b0316600090815260086020526040902090565b6001600160a01b03166000908152600e6020526040902090565b3461043e57602036600319011261043e576001600160a01b0361072561044f565b1660005260116020526020604060002054604051908152f35b3461043e57600036600319011261043e5760025460405163220f1ac960e21b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d5750604051908152f35b3461043e57600036600319011261043e576001546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576107d061044f565b6107d8611754565b6001600160a01b03811660008181526008602052604081205490929060ff1661089057818352600860205260408320805460ff1916600117905560095490600160401b8210156104fc57600182018060095582101561088b57600984526000805160206127b383398151915290910180546001600160a01b0319166001600160a01b039092169190911790557f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a8280a280f35b611629565b604051636c0b3b8160e11b8152600490fd5b3461043e57602036600319011261043e576004356108be611b68565b6108c6611b3d565b80156109785760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a5760009161094a575b506109385761092e9061204a565b610936611a1d565b005b604051632652747360e21b8152600490fd5b61096b915060203d8111610971575b6109638183610501565b810190611a31565b38610920565b503d610959565b60405163162908e360e11b8152600490fd5b3461043e57602036600319011261043e577f53b405bfacece77f40f8a3f5f7ccc95b6b28b9828ea5f39b6351dcb935bc12416109c461044f565b6109cc611754565b600680546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b3461043e57600036600319011261043e57610a14611754565b6000805160206127f3833981519152805460ff811615610a605760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461043e5760a036600319011261043e57610a8b61044f565b610a93610465565b90610a9c61047b565b606435916001600160401b039182841161043e573660238501121561043e57836004013592831161043e57366024848601011161043e57610936946024608435950192612430565b3461043e57600036600319011261043e576000546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e577f244eb54cac6535a86303bc595966d5a61110599f580c3d181a784a386951856f600435610b4a611754565b600f5481600f556103c560405192839283611bb3565b3461043e57600036600319011261043e576020601054604051908152f35b3461043e57600036600319011261043e57602060ff6000805160206127f383398151915254166040519015158152f35b3461043e57600036600319011261043e576007546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576006546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e577f27c528cbda4f3f36ae0f98af201cb897665399d363e2baf5aa0e93e77b4556f8600435610c3d611754565b601054816010556103c560405192839283611bb3565b3461043e57602036600319011261043e57610c6c61044f565b60015460405163c084b10b60e01b81526001600160a01b0392831660048201529160209183916024918391165afa801561065a5760209160009161062d5750604051908152f35b3461043e57600080600319360112610d0c57610ccd611754565b60008051602061277383398151915280546001600160a01b0319811690915581906001600160a01b03166000805160206127938339815191528280a380f35b80fd5b3461043e57602036600319011261043e57610d28611b68565b610d30611b3d565b60405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a57600091610d94575b506109385761092e600435611e5d565b610dac915060203d8111610971576109638183610501565b38610d84565b3461043e57602036600319011261043e576001600160a01b03610dd361044f565b166000526008602052602060ff604060002054166040519015158152f35b3461043e57600036600319011261043e57610e0a611754565b610e12611b3d565b6000805160206127f3833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b6001600160a01b03909116815260200190565b3461043e57600036600319011261043e57600080516020612773833981519152546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576020600f54604051908152f35b3461043e57600036600319011261043e576005546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576020610f0b610f0661044f565b6126f6565b6040519015158152f35b3461043e57600036600319011261043e576003546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576001600160a01b03610f5f61044f565b16600052600e60205260c0604060002080549060018101549060028101546003820154906005600484015493015493604051958652602086015260408501526060840152608083015260a0820152f35b3461043e57600036600319011261043e5760015460405163a14e19d560e01b815290602090829060049082906001600160a01b03165afa801561065a5760209160009161062d5750604051908152f35b3461043e57602036600319011261043e577f5d16ad41baeb009cd23eb8f6c7cde5c2e0cd5acf4a33926ab488875c37c37f3861103961044f565b611041611754565b600480546001600160a01b038381166001600160a01b03198316179092556040519283926103c5921683612528565b3461043e57602036600319011261043e57602061109361108e61044f565b6125b8565b604051908152f35b3461043e57600036600319011261043e576002546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576110dd61044f565b6110e5611754565b6110ff6110fb6110f4836106d0565b5460ff1690565b1590565b6111e35761111961110f826106d0565b805460ff19169055565b6001600160a01b039081169060005b600954808210156111db5783836111566111418561163f565b905460039190911b1c6001600160a01b031690565b161461116b575061116690612542565b611128565b6111ac925061118761114161118261118d93612551565b61163f565b9161163f565b90919082549060031b9160018060a01b03809116831b921b1916179055565b6111b4612560565b7fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd31600080a2005b5050506111b4565b6040516322a5e34b60e01b8152600490fd5b3461043e57600036600319011261043e576044546040516001600160a01b039091168152602090f35b3461043e57600080600319360112610d0c57604051809160095490818352602080930180926009835284832090835b8181106112aa5750505084611263910385610501565b60405193838594850191818652518092526040850193925b82811061128a57505050500390f35b83516001600160a01b03168552869550938101939281019260010161127b565b82546001600160a01b03168452928601926001928301920161124d565b3461043e57602036600319011261043e576004356112e3611b68565b6112eb611b3d565b80156109785760405163fe575a8760e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561065a57600091611353575b506109385761092e90611a64565b61136b915060203d8111610971576109638183610501565b38611345565b3461043e57602036600319011261043e5761138a61044f565b611392611754565b6001600160a01b0390808216801561140257604454928316908181146113f0577fee76f64ea0204b40f46a632a9c93079e8225b5a6983c82fcb269aa46949f487d9360018060a01b031916176044556103c560405192839283612528565b60405163aba916dd60e01b8152600490fd5b6040516303988b8160e61b8152600490fd5b9094939260609260808301968352602083015260408201520152565b3461043e57600036600319011261043e57600a54600b54906105cd600c54600d549060405194859485611414565b3461043e57600036600319011261043e576004546040516001600160a01b039091168152602090f35b3461043e57600036600319011261043e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461043e5760c036600319011261043e576114e561044f565b6114ed610465565b906114f661047b565b6114fe610491565b6115066104a7565b9061150f6104bd565b60008051602061283383398151915254604081901c60ff161596919491906001600160401b031680159081611621575b6001149081611617575b15908161160e575b506115fc5760008051602061283383398151915280546001600160401b031916600117905561158495876115d7576117ef565b61158a57005b600080516020612833833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29080602081016103c5565b600080516020612833833981519152805460ff60401b1916600160401b1790556117ef565b60405163f92ee8a960e01b8152600490fd5b90501538611551565b303b159150611549565b88915061153f565b634e487b7160e01b600052603260045260246000fd5b60095481101561088b57600960005260206000200190600090565b3461043e57602036600319011261043e5760043560095481101561043e5760096000526000805160206127b383398151915201546040516001600160a01b039091168152602090f35b3461043e57602036600319011261043e576116bc61044f565b600154604051633ba641e960e21b81526001600160a01b0392831660048201529160209183916024918391165afa801561065a576105cd9160009161170d575b506040519081529081906020820190565b611725915060203d8111610653576106458183610501565b386116fc565b3461043e57602036600319011261043e5761093661174761044f565b61174f611754565b61178d565b600080516020612773833981519152546001600160a01b0316330361177557565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b039081169081156117d65760008051602061277383398151915280546001600160a01b03198116841790915516600080516020612793833981519152600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b92949390926001600160a01b0392908316908115801561199b575b8015611991575b8015611987575b801561197d575b8015611973575b61196157611948966118e28580936118c0826119269a61189e6119049961186c7f00000000000000000000000000000000000000000000000000000000000000006119a5565b6118746119e4565b61187c611a0d565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60018054919092166001600160a01b03166001600160a01b0319909116179055565b60038054919092166001600160a01b03166001600160a01b0319909116179055565b60028054919092166001600160a01b03166001600160a01b0319909116179055565b60078054919092166001600160a01b03166001600160a01b0319909116179055565b604480546001600160a01b0319166001600160a01b0392909216919091179055565b611953610708600f55565b61195f6202a300601055565b565b60405163e6c4247b60e01b8152600490fd5b5083861615611826565b508383161561181f565b5083871615611818565b5083811615611811565b508385161561180a565b61195f906119b16119b5565b61174f5b60ff6000805160206128338339815191525460401c16156119d257565b604051631afcd79f60e31b8152600490fd5b6119ec6119b5565b6119f46119b5565b6000805160206127f3833981519152805460ff19169055565b611a156119b5565b611a1d6119b5565b600160008051602061281383398151915255565b9081602091031261043e5751801515810361043e5790565b6040513d6000823e3d90fd5b9081602091031261043e575190565b611a77611a72600254610443565b610443565b803b1561043e5760008091600460405180948193631d8557d760e01b83525af1801561065a57611b24575b50611ab1611a72600054610443565b602060405180926370a0823160e01b82528180611ad13360048301610e58565b03915afa801561065a578291600091611b06575b5010611af45761195f90611bc4565b604051631e9acf1760e31b8152600490fd5b611b1e915060203d8111610653576106458183610501565b38611ae5565b80611b31611b37926104e9565b806105d1565b38611aa2565b60ff6000805160206127f38339815191525416611b5657565b60405163d93c066560e01b8152600490fd5b6000805160206128138339815191526002815414611b865760029055565b604051633ee5aeb560e01b8152600490fd5b6001600160a01b039091168152602081019190915260400190565b908152602081019190915260400190565b6000611be082611bd7611a728454610443565b30903390611ce1565b611bee611a72600154610443565b803b15611cdd578160405180926340c10f1960e01b8252818381611c16893360048401611b98565b03925af1801561065a57611cca575b503360009081526011602052604090204390556004611c43336106ea565b0154611c81575b507f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1560405180611c7c33948083611bb3565b0390a2565b611cb1611c8d336106ea565b60056000918281558260018201558260028201558260038201558260048201550155565b6000805160206127d3833981519152339180a238611c4a565b80611b31611cd7926104e9565b38611c25565b5080fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b038411176104fc5761195f926040525b600080611d5e9260018060a01b03169360208151910182865af1611d57611da7565b9083611dd7565b8051908115159182611d8c575b5050611d745750565b60249060405190635274afe760e01b82526004820152fd5b611d9f9250602080918301019101611a31565b153880611d6b565b3d15611dd2573d90611db882610524565b91611dc66040519384610501565b82523d6000602084013e565b606090565b90611dfe5750805115611dec57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611e31575b611e0f575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611e07565b634e487b7160e01b600052601160045260246000fd5b9190820180921161040557565b600f541561203857801561201557611e74336106ea565b611e82611a72600154610443565b6040516370a0823160e01b8152602091829082908180611ea53360048301610e58565b03915afa90811561065a57600091611ff8575b506002830155828255611ecf611a72600154610443565b91816040518094633ba641e960e21b82528180611eef3360048301610e58565b03915afa801561065a57600493600091611fdb575b50600382015581611f19611a72600254610443565b60405163220f1ac960e21b815294859182905afa801561065a577f2816dbba0837d8d68f7bcead98695dd98db2cc1cb4066694ead56a12e795c48893611c7c93600092611fbe575b50506001820155611f86611f7a611f7a600f5442611e50565b6001600160401b031690565b908160048201556005611fad611f7a611f7a611fa4600f5442611e50565b60105490611e50565b910155604051918291339583611bb3565b611fd49250803d10610653576106458183610501565b3880611f61565b611ff29150833d8511610653576106458183610501565b38611f04565b61200f9150823d8411610653576106458183610501565b38611eb8565b50612022611c8d336106ea565b336000805160206127d3833981519152600080a2565b60405163410dc88360e11b8152600490fd5b612053336126f6565b61215757612065611a72600254610443565b803b1561043e57604051918291631d8557d760e01b83528260046000958680945af191821561065a5761209e92612144575b50336121a3565b906120ad611a72600154610443565b90813b15610d0c57806040518093632770a7eb60e21b82528183816120d6893360048401611b98565b03925af190811561065a57612100928492612131575b506120fb611a72339254610443565b612169565b7ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56860405180611c7c33948083611bb3565b80611b3161213e926104e9565b386120ec565b80611b31612151926104e9565b38612097565b6040516378bd8d1960e11b8152600490fd5b61219e61195f939261219060405194859263a9059cbb60e01b602085015260248401611b98565b03601f198101845283610501565b611d35565b919091600f54156123b3576121b7816106ea565b60048082015480156123a357421061239457426005830154106123855784825403612376576121ea611a72600254610443565b60405192839163220f1ac960e21b8352828460209687935afa91821561065a57600092612357575b506001810154918215801561234e575b156123315750600291500154945b600019810361232b575084905b8195821161231c57612253611a72600154610443565b6040516370a0823160e01b80825291938582806122728a888301610e58565b0381885afa91821561065a576000926122fd575b501161229d575b50505050611c8d61195f916106ea565b849650916122bb949184936040519687948593849384528301610e58565b03915afa801561065a5761195f92611c8d926000926122e0575b50509391388061228d565b6122f69250803d10610653576106458183610501565b38806122d5565b612315919250863d8811610653576106458183610501565b9038612286565b604051635b6aa88560e01b8152fd5b9061223d565b6123406123489360029261274d565b910154612713565b94612230565b50828114612222565b61236f919250843d8611610653576106458183610501565b9038612212565b604051631536aed760e31b8152fd5b604051635f8dd0cb60e01b8152fd5b60405163f79b9a3360e01b8152fd5b50604051637b7e3ed560e11b8152fd5b90916123c1611c8d836106ea565b600019810361242b575060206123fa916123df611a72600154610443565b60405180809581946370a0823160e01b835260048301610e58565b03915afa90811561065a57600091612410575090565b612428915060203d8111610653576106458183610501565b90565b905090565b9092949394600095338752600860205260ff6040882054161580612506575b61040a5760e48796956124db928897612466611b68565b61246e611b3d565b8160018060a01b03968780604454169a604051998a978160208a019d8e63407003bb60e01b90521660248a015216604488015216606486015260a060848601528160c4860152858501378884838501015260a4830152601f801991011681010360c4810184520182610501565b51915af46124e7611da7565b90156124f757505061195f611a1d565b8051918215610d0c5750602001fd5b50600080516020612773833981519152546001600160a01b031633141561244f565b6001600160a01b0391821681529116602082015260400190565b60001981146104055760010190565b60001981019190821161040557565b60095480156125a257600019818101918083101561088b576009600081905291016000805160206127b38339815191520180546001600160a01b031916905555565b634e487b7160e01b600052603160045260246000fd5b6125c6611a72600154610443565b604051630481930d60e21b815291602091908284806125e88460048301610e58565b0381855afa93841561065a576000946126d7575b5060048361260e611a72600254610443565b60405163220f1ac960e21b815292839182905afa91821561065a5784916000936126b6575b5061265492936040518080958194633ba641e960e21b835260048301610e58565b03915afa92831561065a57600093612697575b50508115801561268f575b61268a5761242892916126849161274d565b90612713565b505090565b508215612672565b6126ae929350803d10610653576106458183610501565b903880612667565b61265493506126d190833d8511610653576106458183610501565b92612633565b6126ef919450833d8511610653576106458183610501565b92386125fc565b6001600160a01b0316600090815260116020526040902054431490565b8115676765c793fa10079d601a1b19839004821115171561043e57676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b8160011c90676765c793fa10079d601b1b9081831904811184151761043e570201049056fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e06e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af8b775bb80a5d4addc5ea2601b2378ae89a1bb9010227157ac02aa71498e799c4cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200db8521d62105ae02a2d0c5761059c12eafa967fd6b85f02fdff2c1980d5999664736f6c63430008140033",
1225
1501
  "linkReferences": {},
1226
1502
  "deployedLinkReferences": {}
1227
1503
  }