@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
@@ -14,7 +14,7 @@ export declare class RAACNFT__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RAACNFT__factory;
17
- static readonly bytecode = "0x60a034620004cd57601f6200366c38819003828101601f19908116850194939290916001600160401b039182871186881017620004b7578160809287926040998a52833981010312620004cd576200005784620004f2565b60209262000067848701620004f2565b936200008360606200007b8a8a01620004f2565b9801620004f2565b956200008e620004d2565b94600886526714905050c813919560c21b83870152620000ad620004d2565b93600785526614905050d3919560ca1b848601528651828111620004b75780600098620000db8a5462000507565b86811162000487575b50869086831160011462000423578a9262000417575b50508160011b916000199060031b1c19161787555b8451918211620004035781906001956200012a875462000507565b858111620003c8575b50859185841160011462000367575088926200035b575b5050600019600383901b1c191690841b1783555b600b8390556001600160a01b03968716978815620003435787600c549160018060a01b03199a808c851617600c55828d5194167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a31690811562000311575091879493917f76737a646e77644d61567739764e676a43464c6f322f000000000000000000009360805286600f55866010558660115560ff60a01b19601354166013556200020f60145462000507565b818111620002ec575b5050606d6014556014865285207f697066733a2f2f516d5a7a4562546e555773354a447a724c4b513979476b316b8155015516908115908115620002e0575b8115620002d7575b50620002c65762000270336200055d565b506200027c33620005de565b50620002883362000681565b5062000294336200071f565b5083600d541617600d551690600e541617600e5551612e8e9081620007be82396080518181816105e601526115820152f35b845163e6c4247b60e01b8152600490fd5b9050386200025f565b83851615915062000257565b6002620003099260148a52848a20920160051c8201910162000544565b388062000218565b62461bcd60e51b815260048101849052600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b8951631e4fbdf760e01b815260048101879052602490fd5b0151905038806200014a565b878a52868a20889590939291168a5b88828210620003b1575050841162000397575b505050811b0183556200015e565b015160001960f88460031b161c1916905538808062000389565b8385015186558a9790950194938401930162000376565b620003f290888b52878b208780870160051c8201928a8810620003f9575b0160051c019062000544565b3862000133565b92508192620003e6565b634e487b7160e01b87526041600452602487fd5b015190503880620000fa565b8a8052878b209285168b5b898282106200047057505090846001959493921062000456575b505050811b0187556200010f565b015160001960f88460031b161c1916905538808062000448565b60018596829396860151815501950193016200042e565b620004b0908b8052888c208880860160051c8201928b8710620003f9570160051c019062000544565b38620000e4565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620004b757604052565b51906001600160a01b0382168203620004cd57565b90600182811c9216801562000539575b60208310146200052357565b634e487b7160e01b600052602260045260246000fd5b91607f169162000517565b81811062000550575050565b6000815560010162000544565b6001600160a01b031660008181527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3602052604081205490919060ff16620005da57818052600a6020526040822081835260205260408220600160ff1982541617905533916000805160206200364c8339815191528180a4600190565b5090565b6001600160a01b031660008181527f4f5f35b2b01f07f9be0651f033d30422e26500d4938fa8e284ae4c3c59221e5760205260408120549091907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff166200067c57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200364c833981519152339380a4600190565b505090565b6001600160a01b031660008181527f16147e027c43f27e457f7512a0294c87efa522e048b4f634128ae8d93ce6f2d060205260408120549091907f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec9060ff166200067c57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200364c833981519152339380a4600190565b6001600160a01b031660008181527faa1d7351356c4ddc11907b1ee0660f579cfdf507235af2ae01ecd22a4b7ceaae60205260408120549091907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff166200067c57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200364c833981519152339380a460019056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714611af65750816306fdde0314611a6f578163081812fc14611a33578163095ea7b314611956578163106030231461190857816318160ddd146118e95781631b2ef1ca1461153e57816321f314ca1461143d57816323b872dd14611425578163248a9ca3146113fa5781632a55205a146113cf5781632a5c792a1461137d5781632f2ff15d146113535781632f745c591461132a5781633092afd51461130057816336568abe146112ba5781633f1db2d91461129b57816340398d67146111f6578163415a0eba1461116257816342842e0e146111335781634f6ccce714611113578163558e44d3146110f4578163559e775b146110445781635d81cde11461101b5781636352211e14610fea5781636c0360eb14610fb957816370a0823114610f8c578163710e5d2f14610f3e578163715018a614610ef357816375b238fc14610eca5781638c0326af14610ea35781638cf7773714610e845781638da5cb5b14610e5b57816391d1485414610e1457816395d89b4114610d52578163983b2d5614610d285781639a04383214610d0b5781639ee12c8914610c9f578163a0bcfc7f14610b06578163a217fddf14610aeb578163a22cb46514610a49578163a42dce8014610a04578163b88d4fde14610992578163c076056d1461094d578163c415b95c14610924578163c5969d94146107ec578163c87b56dd14610615578163cac89c5c146105d1578163d5391393146105a8578163d547741f14610568578163d5a162f1146104fb578163d9a319b0146104ad578163e02023a114610484578163e26c523c14610446578163e985e9c5146103f8578163eddd0d9c1461037d578163f2fde38b1461030157508063f7cb60d3146102d95763fc0c546a146102ae57600080fd5b346102d557816003193601126102d557600d5490516001600160a01b039091168152602090f35b5080fd5b50346102d557816003193601126102d55760135490516001600160a01b039091168152602090f35b9050346103795760203660031901126103795761031c611bf7565b906103256120d0565b6001600160a01b03918216928315610363575050600c80546001600160a01b03198116841790915516600080516020612d798339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b919050346103795760203660031901126103795781359161039c611e81565b60105480841190816103ee575b506103e05750816020917ff2b0bf9819305cc8e01f2f7f632af2c1cc83e2c07d6125d995c62d682963edf193600f5551908152a180f35b90516371b0df8f60e01b8152fd5b90501515386103a9565b5050346102d557806003193601126102d55760ff81602093610418611bf7565b610420611c12565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b5050346102d55760603660031901126102d55761048090610475610468611bf7565b60443590602435906129da565b905191829182611c8e565b0390f35b5050346102d557816003193601126102d55760209051600080516020612d398339815191528152f35b8284346104f857806003193601126104f857602082516104cc81611d03565b8281520152600f54601154602083516104e481611d03565b838152019081528251918252516020820152f35b80fd5b905034610379576020366003190112610379573590811515809203610379577f9258f5907b894a96ae246130a375e1f94b5426c41e63d65dc3ffe9c4e8d5fa9e91602091610547611e81565b6013805460ff60a01b191660a084901b60ff60a01b1617905551908152a180f35b919050346103795780600319360112610379576105a4913561059f600161058d611c12565b93838752600a60205286200154611ee9565b61206b565b5080f35b5050346102d557816003193601126102d55760209051600080516020612db98339815191528152f35b5050346102d557816003193601126102d557517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9190503461037957602091826003193601126107e857803593610636611d72565b91858691839772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b90818110156107d9575b506904ee2d6d415b85acef8160201b9050808410156107cb575b50662386f26fc10000808410156107bc575b506305f5e100808410156107ad575b506127108084101561079f575b5050606482101561078f575b600a80921015610785575b600190816021818a01996106e76106d28c611e2f565b9b6106df8b519d8e611d4f565b808d52611e2f565b8b8b019790601f1901368937508a0101905b61074f575b506107348761048088610740838a8a8f855198836107258b95518092888089019101611baf565b84019151809386840190611baf565b01038087520185611d4f565b51928284938452830190611bd2565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215610780579190826106f9565b6106fe565b95600101956106bc565b95906064600291049101956106b1565b9701969091049038806106a5565b60089198930492019638610698565b60109198930492019638610689565b879198930492019638610677565b9698508896049250388061065d565b8380fd5b8284346104f8576107fc36611c3e565b929194600080516020612d3983398151915295868452602096600a8852868520338652885260ff87862054161561090657506001600160a01b03169283156108f75785516370a0823160e01b815230838201528781602481885afa9182156108ec5780926108bc575b505084116108ae5750906108a26108a79392610894865194859263a9059cbb60e01b8a85015260248401611c73565b03601f198101845283611d4f565b6127ae565b5160018152f35b8451631e9acf1760e31b8152fd5b9091508782813d83116108e5575b6108d48183611d4f565b810103126104f85750518780610865565b503d6108ca565b8751903d90823e3d90fd5b50845163e6c4247b60e01b8152fd5b865163e2517d3f60e01b815233818501526024810191909152604490fd5b5050346102d557816003193601126102d55760125490516001600160a01b039091168152602090f35b83346104f85760203660031901126104f857610967611bf7565b61096f611e81565b601380546001600160a01b0319166001600160a01b039290921691909117905580f35b8390346102d55760803660031901126102d5576109ad611bf7565b6109b5611c12565b604435906064356001600160401b038111610a005736602382011215610a00576109fd948160246109eb93369301359101611e4a565b926109f7838383612135565b33612631565b80f35b8580fd5b83346104f85760203660031901126104f857610a1e611bf7565b610a26611e81565b601280546001600160a01b0319166001600160a01b039290921691909117905580f35b91905034610379578060031936011261037957610a64611bf7565b9060243591821515809303610ae7576001600160a01b0316928315610ad25750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b836024925191630b61174360e31b8352820152fd5b8480fd5b5050346102d557816003193601126102d55751908152602090f35b839150346102d55760209283600319360112610379576001600160401b038235818111610ae75736602382011215610ae757610b4b9036906024818701359101611e4a565b92610b54611e81565b8351918211610c8c5750610b69601454611cc9565b601f8111610c48575b5084601f8211600114610bd2579181610bc192869794600080516020612e398339815191529791610bc7575b508160011b916000199060031b1c19161760145551928284938452830190611bd2565b0390a180f35b905085015188610b9e565b6014855285852090601f198316865b818110610c31575092600080516020612e398339815191529697949260019282610bc19610610c18575b5050811b01601455610740565b87015160001960f88460031b161c191690558880610c0b565b91928860018192868a015181550194019201610be1565b60148552858520601f830160051c810191878410610c82575b601f0160051c01905b818110610c775750610b72565b858155600101610c6a565b9091508190610c61565b634e487b7160e01b855260419052602484fd5b91905034610379573660031901126102d55735610cba611c12565b610cc2611e81565b610ccc338361206b565b50610cd78183611f8c565b506001600160a01b03169033907f8d8ac61e09adc57e16fcda3ff204447854c5a75bb3e7f7462337b8eccc2f28f18480a480f35b5050346102d55761048090610475610d2236611c28565b906128b2565b83346104f85760203660031901126104f8576105a4610d45611bf7565b610d4d611e81565b611f0f565b5050346102d557816003193601126102d557805190826001805490610d7682611cc9565b80865291818116908115610dec5750600114610db1575b505050610d9f82610480940383611d4f565b51918291602083526020830190611bd2565b80955082526020948583205b828410610dd9575050508261048094610d9f9282010194610d8d565b8054868501880152928601928101610dbd565b6104809750610d9f9450602092508693915060ff191682840152151560051b82010194610d8d565b9050346103795781600319360112610379578160209360ff92610e35611c12565b90358252600a86528282206001600160a01b039091168252855220549151911615158152f35b5050346102d557816003193601126102d557600c5490516001600160a01b039091168152602090f35b5050346102d557816003193601126102d5576020906011549051908152f35b5050346102d557816003193601126102d55760209060ff60135460a01c1690519015158152f35b5050346102d557816003193601126102d55760209051600080516020612e198339815191528152f35b83346104f857806003193601126104f857610f0c6120d0565b600c80546001600160a01b0319811690915581906001600160a01b0316600080516020612d798339815191528280a380f35b905034610379576020366003190112610379577f5d46f46c0e5b2045e0cb8c00367d35d9f3f1fc035950ac8f5c675f6c0a791ba0916020913590610f80611e81565b8160105551908152a180f35b5050346102d55760203660031901126102d557602090610fb2610fad611bf7565b6120fc565b9051908152f35b5050346102d557816003193601126102d55761048090610fd7611d72565b9051918291602083526020830190611bd2565b8284346104f85760203660031901126104f8575061100a602092356123f5565b90516001600160a01b039091168152f35b5050346102d557816003193601126102d557600e5490516001600160a01b039091168152602090f35b8284346104f857602092836003193601126102d557600e54835163029f72bb60e31b81528235928101929092528490829060249082906001600160a01b03165afa9081156110ea5782916110bb575b50610fb29181156110b557506127106110ae600f548361271e565b04906127a1565b906127a1565b90508381813d83116110e3575b6110d28183611d4f565b810103126102d55751610fb2611093565b503d6110c8565b83513d84823e3d90fd5b5050346102d557816003193601126102d5576020906010549051908152f35b8284346104f85760203660031901126104f85750610fb2602092356124b2565b5050346102d5576109fd9061114736611c3e565b9192519261115484611d34565b8584526109f7838383612135565b8383346102d5576020928360031936011261037957600e54825163029f72bb60e31b81528235928101929092528490829060249082906001600160a01b03165afa9283156111eb5780936111b9575b505051908152f35b909192508382813d83116111e4575b6111d28183611d4f565b810103126104f85750519083806111b1565b503d6111c8565b8251903d90823e3d90fd5b9190503461037957602036600319011261037957611212611bf7565b9161121c836120fc565b825163389b148f60e21b81526001600160a01b03909416918401919091526024830184905260448301528282606481305afa9182156112915783610480949361126c575b50505191829182611c8e565b6112899293503d8091833e6112818183611d4f565b810190612961565b903880611260565b81513d85823e3d90fd5b5050346102d557816003193601126102d557602090600f549051908152f35b8383346102d557806003193601126102d5576112d4611c12565b90336001600160a01b038316036112f157506105a491923561206b565b5163334bd91960e11b81528390fd5b83346104f85760203660031901126104f8576105a461131d611bf7565b611325611e81565b611ff5565b5050346102d557806003193601126102d557602090610fb261134a611bf7565b60243590612430565b919050346103795780600319360112610379576105a49135611378600161058d611c12565b611f8c565b919050346103795782600319360112610379576008548151634d021c1960e11b815292830184905260248301528282604481305afa9182156112915783610480949361126c5750505191829182611c8e565b5050346102d557610480906113ed6113e636611c28565b9050612747565b9290915192839283611c73565b9050346103795760203660031901126103795781602093600192358152600a85522001549051908152f35b83346104f8576109fd61143736611c3e565b91612135565b91905034610379578060031936011261037957611458611bf7565b9160243592600080516020612db9833981519152808652600a60205283862033875260205260ff8487205416156115215750611492612816565b6001600160a01b039181831615611513578351926114af84611d34565b8684526114bc8684612a6d565b166114fc575090836114ce92336124ee565b600f54908051928352836020840152820152600080516020612d1983398151915260603392a26001600b5580f35b83516339e3563760e11b8152908101869052602490fd5b835163d92e233d60e01b8152fd5b9050604492519163e2517d3f60e01b835233908301526024820152fd5b9050346103795761154e36611c28565b919092611559612816565b805163fe575a8760e01b815233838201526024946020936001600160a01b0392909190858189817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156118b35789916118cc575b506118bd57868584600e541686519283809263029f72bb60e31b825286888301525afa9081156118b3578991611882575b5080158061187b576127106115fb600f548461271e565b04975b61160889846127a1565b9161186b57811161185b57600d5486516323b872dd60e01b89820152338b820152306044820152606480820193909352918252851660a082016001600160401b0381118382101761184957875261165f91906127ae565b845161166a81611d34565b8981523315611833578461167e8433612a6d565b1661181d5761168f908333336124ee565b600f549085519283528683015284820152600080516020612d1983398151915260603392a2846116c3575b866001600b5580f35b8160125416806116f5575b505050600080516020612d99833981519152929350519283523392a23880808080806116ba565b848661171c9285600d5416908b885180968195829463095ea7b360e01b84528a8401611c73565b03925af19081156118135788916117f6575b50156117e857906084849288836012541693600d5416938651998a958694636033e31560e01b865285015230908401528860448401527f7da96612e6d2354c2264e236b93bba777b43a745691cc351f1be3e1be17c0d5360648401525af19384156117de57600080516020612d9983398151915293946117b1575b8493816116ce565b6117d090833d85116117d7575b6117c88183611d4f565b810190612789565b50386117a9565b503d6117be565b81513d87823e3d90fd5b82516340b27c2160e11b8152fd5b61180d9150853d87116117d7576117c88183611d4f565b3861172e565b84513d8a823e3d90fd5b85516339e3563760e11b81528085018b90528990fd5b8551633250574960e11b81528085018b90528990fd5b634e487b7160e01b8c52604186528a8cfd5b85516308d69cfd60e31b81528490fd5b8651633176f6ab60e21b81528590fd5b89976115fe565b90508581813d83116118ac575b6118998183611d4f565b810103126118a85751386115e4565b8880fd5b503d61188f565b85513d8b823e3d90fd5b508251632652747360e21b8152fd5b6118e39150863d88116117d7576117c88183611d4f565b386115b3565b5050346102d557816003193601126102d5576020906008549051908152f35b905034610379576020366003190112610379577ff4e31203dbe8c5d77888fca62598b5e81d4649a7067af2fa1d7606ff3351626d91602091359061194a611e81565b8160115551908152a180f35b91905034610379578060031936011261037957611971611bf7565b9160243561197e816123f5565b33151580611a20575b806119f7575b6119e1576001600160a01b039485169482918691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258880a48452602052822080546001600160a01b031916909117905580f35b835163a9fbf51f60e01b81523381850152602490fd5b506001600160a01b03811686526005602090815284872033885290528386205460ff161561198d565b506001600160a01b038116331415611987565b90503461037957602036600319011261037957918260209335611a55816123f5565b50825283528190205490516001600160a01b039091168152f35b5050346102d557816003193601126102d557805190828054611a9081611cc9565b80855290600190818116908115610dec5750600114611abb57505050610d9f82610480940383611d4f565b94508180526020948583205b828410611ae3575050508261048094610d9f9282010194610d8d565b8054868501880152928601928101611ac7565b849134610379576020366003190112610379573563ffffffff60e01b8116809103610379576020925063152a902d60e11b8114908115611b38575b5015158152f35b637965db0b60e01b811491508115611b52575b5083611b31565b63780e9d6360e01b811491508115611b6c575b5083611b4b565b6380ac58cd60e01b811491508115611b9e575b8115611b8d575b5083611b65565b6301ffc9a760e01b14905083611b86565b635b5e139f60e01b81149150611b7f565b60005b838110611bc25750506000910152565b8181015183820152602001611bb2565b90602091611beb81518092818552858086019101611baf565b601f01601f1916010190565b600435906001600160a01b0382168203611c0d57565b600080fd5b602435906001600160a01b0382168203611c0d57565b6040906003190112611c0d576004359060243590565b6060906003190112611c0d576001600160a01b03906004358281168103611c0d57916024359081168103611c0d579060443590565b6001600160a01b039091168152602081019190915260400190565b6020908160408183019282815285518094520193019160005b828110611cb5575050505090565b835185529381019392810192600101611ca7565b90600182811c92168015611cf9575b6020831014611ce357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cd8565b604081019081106001600160401b03821117611d1e57604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117611d1e57604052565b601f909101601f19168101906001600160401b03821190821017611d1e57604052565b6040519060008260145491611d8683611cc9565b808352600193808516908115611e0e5750600114611dae575b50611dac92500383611d4f565b565b601460009081527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec94602093509091905b818310611df6575050611dac935082010138611d9f565b85548884018501529485019487945091830191611ddf565b9050611dac94506020925060ff191682840152151560051b82010138611d9f565b6001600160401b038111611d1e57601f01601f191660200190565b929192611e5682611e2f565b91611e646040519384611d4f565b829481845281830111611c0d578281602093846000960137010152565b3360009081527f4f5f35b2b01f07f9be0651f033d30422e26500d4938fa8e284ae4c3c59221e576020526040902054600080516020612e198339815191529060ff1615611ecb5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600a60205260406000203360005260205260ff6040600020541615611ecb5750565b6001600160a01b03166000818152600080516020612d598339815191526020526040812054909190600080516020612db98339815191529060ff16611f8757808352600a6020526040832082845260205260408320600160ff19825416179055600080516020612cf9833981519152339380a4600190565b505090565b90600091808352600a602052604083209160018060a01b03169182845260205260ff60408420541615600014611f8757808352600a6020526040832082845260205260408320600160ff19825416179055600080516020612cf9833981519152339380a4600190565b6001600160a01b03166000818152600080516020612d598339815191526020526040812054909190600080516020612db98339815191529060ff1615611f8757808352600a602052604083208284526020526040832060ff198154169055600080516020612df9833981519152339380a4600190565b90600091808352600a602052604083209160018060a01b03169182845260205260ff604084205416600014611f8757808352600a602052604083208284526020526040832060ff198154169055600080516020612df9833981519152339380a4600190565b600c546001600160a01b031633036120e457565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b0316801561211c57600052600360205260406000205490565b6040516322718ad960e21b815260006004820152602490fd5b6001600160a01b03828116939184156123be5760009483865260209560028752604096848883205416963315158061232e575b508715801561230e575b84845260038352898420805460010190558784526002835289842080546001600160a01b0319168617905587858a600080516020612dd98339815191528780a4156122a25760085487845260098352898420819055600160401b81101561228e57876121e78260016122009401600855612481565b90919082549060031b91821b91600019901b1916179055565b83880361223c575b50505050169283830361221b5750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b612245906120fc565b60001981019390841161227a5782916007918a9452600681528383208584528152878484205587835252205538808080612208565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b84526041600452602484fd5b878414612200576122b2886120fc565b878452600783528984205490898552600684528a8520918181036122ec575b5088855260078452848b812055845282528289812055612200565b8186528285528b862054818752808d8820558652600785528b862055386122d1565b612317886123d7565b888452600383528984208054600019019055612172565b8061237d575b1561233f5738612168565b88878961235c576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b8152908190612379903360048401611c73565b0390fd5b5033881480156123a2575b8061233457508683526004825233868a8520541614612334565b5087835260058252888320338452825260ff8984205416612388565b604051633250574960e11b815260006004820152602490fd5b600090815260046020526040902080546001600160a01b0319169055565b6000818152600260205260409020546001600160a01b0316908115612418575090565b60249060405190637e27328960e01b82526004820152fd5b612439816120fc565b8210156124655760018060a01b0316600052600660205260406000209060005260205260406000205490565b61237960405192839263295f44f760e21b845260048401611c73565b60085481101561249c57600860005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6008548110156124cf576124c590612481565b90549060031b1c90565b6044906040519063295f44f760e21b8252600060048301526024820152fd5b90803b6124fc575b50505050565b604051630a85bd0160e11b8082526001600160a01b039384166004830152600060248301819052604483019590955260806064830152602096939092169486908290819061254e906084830190611bd2565b038187895af18491816125f1575b506125bc575050503d6000146125b4573d61257681611e2f565b906125846040519283611d4f565b81528091843d92013e5b805192836125af57604051633250574960e11b815260048101849052602490fd5b019050fd5b50606061258e565b919450915063ffffffff60e01b16036125d95750388080806124f6565b60249060405190633250574960e11b82526004820152fd5b9091508681813d831161262a575b6126098183611d4f565b81010312610ae757516001600160e01b031981168103610ae757903861255c565b503d6125ff565b909192833b612642575b5050505050565b604051630a85bd0160e11b8082526001600160a01b039384166004830152938316602482015260448101919091526080606482015260209591909316939091908390612692906084830190611bd2565b039285816000958187895af18491816126de575b506126c0575050503d6000146125b4573d61257681611e2f565b919450915063ffffffff60e01b16036125d95750388080808061263b565b9091508681813d8311612717575b6126f68183611d4f565b81010312610ae757516001600160e01b031981168103610ae75790386126a6565b503d6126ec565b8181029291811591840414171561273157565b634e487b7160e01b600052601160045260246000fd5b6013546001600160a01b031691908215801561277f575b61277657612772612710916011549061271e565b0490565b50600091508190565b506011541561275e565b90816020910312611c0d57518015158103611c0d5790565b9190820180921161273157565b906000602091828151910182855af11561280a576000513d61280157506001600160a01b0381163b155b6127df5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156127d8565b6040513d6000823e3d90fd5b6002600b5414612827576002600b55565b604051633ee5aeb560e01b8152600490fd5b6001600160401b038111611d1e5760051b60200190565b9061285a82612839565b6128676040519182611d4f565b8281528092612878601f1991612839565b0190602036910137565b9190820391821161273157565b60001981146127315760010190565b805182101561249c5760209160051b010190565b91600854808311612959575b1561293e578183101561292c576128dd6128d88484612882565b612850565b9060005b6128eb8585612882565b811015612924578461291c8261290c612907846128eb966127a1565b6124b2565b612916828861289e565b5261288f565b9150506128e1565b509250905090565b60405163561ce9bb60e01b8152600490fd5b91505060405161294d81611d34565b60008152600036813790565b9150816128be565b6020908181840312611c0d578051906001600160401b038211611c0d57019180601f84011215611c0d57825161299681612839565b936129a46040519586611d4f565b818552838086019260051b820101928311611c0d578301905b8282106129cb575050505090565b815181529083019083016129bd565b92906129e5846120fc565b8015612a5c57808411612a54575b508281101561292c57612a096128d88285612882565b9160005b612a178386612882565b811015612a4b5782612a4382612a39612a3384612a17966127a1565b8a612430565b612916828961289e565b915050612a0d565b50935050905090565b9250386129f3565b505091505060405161294d81611d34565b6001600160a01b038181168015939091908480612ce8575b612cd6576000928184526020946002865260409384862054169687158015612cb6575b8115612ca0575b8487526002885285872080546001600160a01b0319168517905584848a600080516020612dd98339815191528a80a415612c345760085484875260098852858720819055600160401b811015612c2057846121e7826001612b139401600855612481565b15612bb757505060085460001994858201918211612ba35790600983928695948652818152612b458587205493612481565b90549060031b1c612b59816121e786612481565b865252828420558252812055600854908115612b8f5750810190612b7c82612481565b909182549160031b1b1916905560085590565b634e487b7160e01b81526031600452602490fd5b634e487b7160e01b85526011600452602485fd5b81879693929695949503612bcf575b50505050505090565b612bd8906120fc565b600019810195908611612c0c5783526006825283832085845282528383208190558252600790522055388080808080612bc6565b634e487b7160e01b84526011600452602484fd5b634e487b7160e01b87526041600452602487fd5b878314612b1357612c44886120fc565b8487526007885285872054908988526006895286882091818103612c7e575b50858852600789528787812055875287528585812055612b13565b818952828a5287892054818a5280898b2055895260078a528789205538612c63565b8387526003885285872060018154019055612aaf565b612cbf856123d7565b888752600388528587208054600019019055612aa8565b60405163e6c4247b60e01b8152600490fd5b5060ff60135460a01c1615612a8556fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d7bc3ddf0bf2ada973906c61001cd8f787646720bb7da90229e5bf81fa71bab6d5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ecaa1d7351356c4ddc11907b1ee0660f579cfdf507235af2ae01ecd22a4b7ceaae8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e011fc6332cfccc2ce93014095f0b5a5b29e6a3028f76849e8214e00c3e1c2df089f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3eff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171ba49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756741b2fc379fad678116fe3d4d4b9a1a184ab53ba36b86ad0fa66340b1ab41ada264697066735822122083bcb80ba0863e26b49d300058773b350a54bfea9f7b60883a55314e35fe00e464736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
17
+ static readonly bytecode = "0x60a0346200050057601f6200419b38819003828101601f19908116850194939290916001600160401b039182871186881017620004ea578160809287926040998a528339810103126200050057620000578462000525565b6020926200006784870162000525565b936200008360606200007b8a8a0162000525565b980162000525565b956200008e62000505565b94600886526714905050c813919560c21b83870152620000ad62000505565b93600785526614905050d3919560ca1b848601528651828111620004ea5780600098620000db8a546200053a565b868111620004ba575b50869086831160011462000456578a926200044a575b50508160011b916000199060031b1c19161787555b8451918211620004365781906001956200012a87546200053a565b858111620003fb575b5085918584116001146200039a575088926200038e575b5050600019600383901b1c191690841b1783555b600b8390556001600160a01b03968716978815620003765787600c549160018060a01b03199a808c851617600c55828d5194167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a31690811562000344575091879493917f76737a646e77644d61567739764e676a43464c6f322f000000000000000000009360805286600f558660105586601155610e10601255600160a81b61ffff60a01b1960165416176016556200021c6017546200053a565b8181116200031f575b5050606d6017556017865285207f697066733a2f2f516d5a7a4562546e555773354a447a724c4b513979476b316b815501551690811590811562000313575b81156200030a575b811562000301575b50620002f057620002853362000590565b50620002913362000611565b506200029d33620006b4565b50620002a93362000752565b5083600d541617600d551690600e541617600e555161398a9081620007f182396080518181816106470152818161168201528181611c5501528181612c7301526136fb0152f35b845163e6c4247b60e01b8152600490fd5b90503862000274565b9050806200026c565b83851615915062000264565b60026200033c9260178a52848a20920160051c8201910162000577565b388062000225565b62461bcd60e51b815260048101849052600d60248201526c5a65726f20726567697374727960981b6044820152606490fd5b8951631e4fbdf760e01b815260048101879052602490fd5b0151905038806200014a565b878a52868a20889590939291168a5b88828210620003e45750508411620003ca575b505050811b0183556200015e565b015160001960f88460031b161c19169055388080620003bc565b8385015186558a97909501949384019301620003a9565b6200042590888b52878b208780870160051c8201928a88106200042c575b0160051c019062000577565b3862000133565b9250819262000419565b634e487b7160e01b87526041600452602487fd5b015190503880620000fa565b8a8052878b209285168b5b89828210620004a357505090846001959493921062000489575b505050811b0187556200010f565b015160001960f88460031b161c191690553880806200047b565b600185968293968601518155019501930162000461565b620004e3908b8052888c208880860160051c8201928b87106200042c570160051c019062000577565b38620000e4565b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620004ea57604052565b51906001600160a01b03821682036200050057565b90600182811c921680156200056c575b60208310146200055657565b634e487b7160e01b600052602260045260246000fd5b91607f16916200054a565b81811062000583575050565b6000815560010162000577565b6001600160a01b031660008181527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3602052604081205490919060ff166200060d57818052600a6020526040822081835260205260408220600160ff1982541617905533916000805160206200417b8339815191528180a4600190565b5090565b6001600160a01b031660008181527f4f5f35b2b01f07f9be0651f033d30422e26500d4938fa8e284ae4c3c59221e5760205260408120549091907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16620006af57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200417b833981519152339380a4600190565b505090565b6001600160a01b031660008181527f16147e027c43f27e457f7512a0294c87efa522e048b4f634128ae8d93ce6f2d060205260408120549091907f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec9060ff16620006af57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200417b833981519152339380a4600190565b6001600160a01b031660008181527faa1d7351356c4ddc11907b1ee0660f579cfdf507235af2ae01ecd22a4b7ceaae60205260408120549091907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff16620006af57808352600a6020526040832082845260205260408320600160ff198254161790556000805160206200417b833981519152339380a460019056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146123865750816306fdde03146122ff578163081812fc146122c3578163095ea7b3146121e65781630a4e9eaa146121bd5781630ab6479b1461219457816310603023146121395781631602a1241461211257816318160ddd146120f35781631b2ef1ca14611c1157816321f314ca14611b1157816323b872dd14611af9578163248a9ca314611ace5781632a55205a14611aa35781632a5c792a14611a515781632f2ff15d14611a275781632f745c59146119fe5781633092afd5146119d457816336568abe1461198e5781633f1db2d91461196f57816340398d67146118d4578163415a0eba1461185357816342842e0e14611824578163428d8368146117b557816342966c68146113f85781634915a858146113a35781634f6ccce714611383578163558e44d314611364578163559e775b146112af5781635cb87d26146112345781635d81cde11461120b5781636352211e146111da5781636c0360eb146111a957816370a082311461117c578163710e5d2f1461112e578163715018a6146110e357816375b238fc146110ba5781638c0326af146110935781638cf77737146110745781638da5cb5b1461104b57816391d148541461100457816395d89b4114610f42578163983b2d5614610f185781639a04383214610efb578163a0bcfc7f14610d62578163a217fddf14610d47578163a22cb46514610ca5578163a42dce8014610c36578163a9aad77914610bc7578163b34cd6af14610b5c578163b5b96a9514610ada578163b88d4fde14610a69578163c076056d146109fa578163c415b95c146109d1578163c5969d9414610882578163c87b56dd14610676578163cac89c5c14610632578163d539139314610609578163d547741f146105c9578163d5a162f11461055e578163d9a319b014610510578163e02023a1146104e7578163e26c523c146104a9578163e985e9c51461045b578163eddd0d9c146103e0578163f2fde38b1461036457508063f7cb60d31461033c5763fc0c546a1461031157600080fd5b34610338578160031936011261033857600d5490516001600160a01b039091168152602090f35b5080fd5b503461033857816003193601126103385760145490516001600160a01b039091168152602090f35b9050346103dc5760203660031901126103dc5761037f612487565b9061038861296f565b6001600160a01b039182169283156103c6575050600c80546001600160a01b031981168417909155166000805160206138758339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b919050346103dc5760203660031901126103dc578135916103ff612720565b6010548084119081610451575b506104435750816020917ff2b0bf9819305cc8e01f2f7f632af2c1cc83e2c07d6125d995c62d682963edf193600f5551908152a180f35b90516371b0df8f60e01b8152fd5b905015153861040c565b50503461033857806003193601126103385760ff8160209361047b612487565b6104836124a2565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b505034610338576060366003190112610338576104e3906104d86104cb612487565b60443590602435906133e8565b90519182918261251e565b0390f35b505034610338578160031936011261033857602090516000805160206138358339815191528152f35b82843461055b578060031936011261055b576020825161052f81612593565b8281520152600f546011546020835161054781612593565b838152019081528251918252516020820152f35b80fd5b5050346103385760203660031901126103385760207f9258f5907b894a96ae246130a375e1f94b5426c41e63d65dc3ffe9c4e8d5fa9e9161059d612711565b6105a5612720565b15159060165460ff60a01b8360a01b169060ff60a01b19161760165551908152a180f35b919050346103dc57806003193601126103dc57610605913561060060016105ee6124a2565b93838752600a60205286200154612788565b61290a565b5080f35b505034610338578160031936011261033857602090516000805160206138b58339815191528152f35b505034610338578160031936011261033857517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9050346103dc576020908160031936011261087e57819293813561069981612d9e565b506106a2612602565b80519093901561086257829190819072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8281811015610855575b508790506904ee2d6d415b85acef8160201b80851015610847575b5050662386f26fc1000080841015610838575b506305f5e10080841015610829575b506127108084101561081b575b5050606482101561080b575b600a80921015610801575b6021908893600192816107608580940161075861074f826126bf565b9951998a6125df565b8089526126bf565b878b019890601f1901368a3750860101905b6107cb575b50505050926107ae926107ba926104e3958851958361079f889551809288808901910161243f565b8401915180938684019061243f565b010380845201826125df565b925b51928284938452830190612462565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049182156107fc57919082610772565b610777565b9160010191610733565b9190606460029104910191610728565b93019290910490388061071c565b6008919493049201923861070f565b60109194930492019238610700565b9401939092049186386106ed565b8a955004925038806106d2565b505084516104e393509150610876826125c4565b8152926107bc565b8380fd5b9050346103dc57610892366124ce565b9260008051602061383583398151915295868152602096600a8852868220338352885260ff8783205416156109b357506001600160a01b039384169384156109a3578316156109945785516370a0823160e01b815230838201528781602481885afa918215610989578092610959575b5050841161094b57509061093f6109449392610931865194859263a9059cbb60e01b8a85015260248401612503565b03601f1981018452836125df565b61314f565b5160018152f35b8451631e9acf1760e31b8152fd5b9091508782813d8311610982575b61097181836125df565b8101031261055b5750513880610902565b503d610967565b8751903d90823e3d90fd5b50845163e6c4247b60e01b8152fd5b865163e6c4247b60e01b81528390fd5b865163e2517d3f60e01b815233818501526024810191909152604490fd5b50503461033857816003193601126103385760135490516001600160a01b039091168152602090f35b5050346103385760203660031901126103385760207fc0198e84327d1d66d3382b224be671a73f08601c47bc7cf545f735b708374afe91610a39612487565b610a41612720565b601480546001600160a01b0319166001600160a01b039290921691821790559051908152a180f35b83903461033857608036600319011261033857610a84612487565b610a8c6124a2565b604435906064356001600160401b038111610ad65736602382011215610ad657610ad394816024610ac2933693013591016126da565b92610ace8383836129d4565b612f14565b80f35b8580fd5b919050346103dc5760203660031901126103dc57610af6612487565b610afe612720565b6001600160a01b0316918215610b4e5750600e80546001600160a01b03191683179055519081527fb44f1ae8e93168816f1ae53853c9044346537f74e578e105d6a40d531e9c2edd90602090a180f35b905163d92e233d60e01b8152fd5b5050346103385760203660031901126103385760207ff5964c3811a45c5a6d107874be008d049d72c86591689b4b6465b58ff5b2244f91610b9b612711565b610ba3612720565b15159060165460ff60a81b8360a81b169060ff60a81b19161760165551908152a180f35b5050346103385760203660031901126103385760207fe68184a00c870fd368c1d1bc7794c56acd47de17ca41ab11a2281fb9ba68f4ce91610c06612487565b610c0e612720565b601580546001600160a01b0319166001600160a01b039290921691821790559051908152a180f35b5050346103385760203660031901126103385760207fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f91610c75612487565b610c7d612720565b601380546001600160a01b0319166001600160a01b039290921691821790559051908152a180f35b919050346103dc57806003193601126103dc57610cc0612487565b9060243591821515809303610d43576001600160a01b0316928315610d2e5750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b836024925191630b61174360e31b8352820152fd5b8480fd5b50503461033857816003193601126103385751908152602090f35b8391503461033857602092836003193601126103dc576001600160401b038235818111610d435736602382011215610d4357610da790369060248187013591016126da565b92610db0612720565b8351918211610ee85750610dc5601754612559565b601f8111610ea4575b5084601f8211600114610e2e579181610e1d928697946000805160206139358339815191529791610e23575b508160011b916000199060031b1c19161760175551928284938452830190612462565b0390a180f35b905085015188610dfa565b6017855285852090601f198316865b818110610e8d5750926000805160206139358339815191529697949260019282610e1d9610610e74575b5050811b016017556107bc565b87015160001960f88460031b161c191690558880610e67565b91928860018192868a015181550194019201610e3d565b60178552858520601f830160051c810191878410610ede575b601f0160051c01905b818110610ed35750610dce565b858155600101610ec6565b9091508190610ebd565b634e487b7160e01b855260419052602484fd5b505034610338576104e3906104d8610f12366124b8565b906132c0565b833461055b57602036600319011261055b57610605610f35612487565b610f3d612720565b6127ae565b505034610338578160031936011261033857805190826001805490610f6682612559565b80865291818116908115610fdc5750600114610fa1575b505050610f8f826104e39403836125df565b51918291602083526020830190612462565b80955082526020948583205b828410610fc957505050826104e394610f8f9282010194610f7d565b8054868501880152928601928101610fad565b6104e39750610f8f9450602092508693915060ff191682840152151560051b82010194610f7d565b9050346103dc57816003193601126103dc578160209360ff926110256124a2565b90358252600a86528282206001600160a01b039091168252855220549151911615158152f35b505034610338578160031936011261033857600c5490516001600160a01b039091168152602090f35b5050346103385781600319360112610338576020906011549051908152f35b50503461033857816003193601126103385760209060ff60165460a01c1690519015158152f35b505034610338578160031936011261033857602090516000805160206139158339815191528152f35b833461055b578060031936011261055b576110fc61296f565b600c80546001600160a01b0319811690915581906001600160a01b03166000805160206138758339815191528280a380f35b9050346103dc5760203660031901126103dc577f5d46f46c0e5b2045e0cb8c00367d35d9f3f1fc035950ac8f5c675f6c0a791ba0916020913590611170612720565b8160105551908152a180f35b505034610338576020366003190112610338576020906111a261119d612487565b61299b565b9051908152f35b5050346103385781600319360112610338576104e3906111c7612602565b9051918291602083526020830190612462565b82843461055b57602036600319011261055b57506111fa60209235612d9e565b90516001600160a01b039091168152f35b505034610338578160031936011261033857600e5490516001600160a01b039091168152602090f35b83903461033857606036600319011261033857356112506124a2565b6001600160a01b03604435818116939290848103610ad65761128590611274612720565b61127e838661290a565b508461282b565b5016907f274dd4127a55dcb6f6c12ed38fec5007d965d2afffa8b0bc75c3dc8f3f6b22248480a480f35b9050346103dc5760203660031901126103dc57600e54825163b94fe91760e01b81528235928101929092528290829060249082906001600160a01b03165afa9081156113585790836111a29260209592611328575b508115611322575061271061131b600f54836130a9565b0490613142565b90613142565b611349919250843d8611611351575b61134181836125df565b81019061312c565b509038611304565b503d611337565b505051903d90823e3d90fd5b5050346103385781600319360112610338576020906010549051908152f35b82843461055b57602036600319011261055b57506111a26020923561306d565b919050346103dc5760203660031901126103dc577f118ef705ed0108162ed6a21f605b8f903c3702e44494377d5655946309871ecb91356113e2612720565b601254908060125582519182526020820152a180f35b919050346103dc576020908160031936011261087e5782359160ff60165460a01c16156117a55761142883612d9e565b6000805160206139158339815191528652600a8252828620338752825260ff8387205416159081611791575b506117815782855260028152818520546001600160a01b039081168015158061177a575b61167f575b508386526002825282862054169081159182158061165f575b8588526002835284882080546001600160a01b03191690558588836000805160206138d58339815191528280a483156115de57505060085484875260098252838720819055600160401b8110156115cb57846114fb826001611514940160085561303c565b90919082549060031b91821b91600019901b1916179055565b600854600019918282019182116115b85760099086895281815261153b868a20549361303c565b90549060031b1c61154f816114fb8661303c565b89525283872055838652858381205560085480156115a557016115856115748261303c565b8154906000199060031b1b19169055565b600855611590578380f35b51637e27328960e01b81529182015260249150fd5b634e487b7160e01b875260318652602487fd5b634e487b7160e01b885260118752602488fd5b634e487b7160e01b875260418652602487fd5b6115e9575b50611514565b6115f28161299b565b908588526007835284882054828103611628575b50858852878581205587526006825283872090875281528583812055386115e3565b81895260068452858920838a52845285892054828a5260068552868a20828b52855280878b20558952600784528589205538611606565b61166886612d80565b818852600383528488208054600019019055611496565b817f00000000000000000000000000000000000000000000000000000000000000001690845163fe575a8760e01b91828252888201528481602481865afa908115611770578991611753575b50611743578390602486518094819382528b8b8301525afa90811561173957879161170c575b506116fc573861147d565b8251632652747360e21b81528590fd5b61172c9150833d8511611732575b61172481836125df565b810190613114565b386116f1565b503d61171a565b84513d89823e3d90fd5b8451632652747360e21b81528790fd5b61176a9150853d87116117325761172481836125df565b386116cb565b86513d8b823e3d90fd5b5086611478565b815163e6c4247b60e01b81528490fd5b6001600160a01b0316331415905038611454565b8151634dee6bd960e11b81528490fd5b5050346103385760203660031901126103385760207fb929f6219d2fbce05f5134811c97429aa690e5899c6d9e61ff55e08291ab6126916117f4612487565b6117fc612720565b601680546001600160a01b0319166001600160a01b039290921691821790559051908152a180f35b50503461033857610ad390611838366124ce565b91925192611845846125c4565b858452610ace8383836129d4565b919050346103dc5760203660031901126103dc57600e54815163b94fe91760e01b81528335938101939093528190839060249082906001600160a01b03165afa9182156118ca57602093926118aa575b5051908152f35b816118c29293503d84116113515761134181836125df565b5090386118a3565b81513d85823e3d90fd5b919050346103dc5760203660031901126103dc576118f0612487565b916118fa8361299b565b825163389b148f60e21b81526001600160a01b03909416918401919091526024830184905260448301528282606481305afa9182156118ca57836104e3949361194a575b5050519182918261251e565b6119679293503d8091833e61195f81836125df565b81019061336f565b90388061193e565b505034610338578160031936011261033857602090600f549051908152f35b8383346103385780600319360112610338576119a86124a2565b90336001600160a01b038316036119c5575061060591923561290a565b5163334bd91960e11b81528390fd5b833461055b57602036600319011261055b576106056119f1612487565b6119f9612720565b612894565b5050346103385780600319360112610338576020906111a2611a1e612487565b60243590612feb565b919050346103dc57806003193601126103dc576106059135611a4c60016105ee6124a2565b61282b565b919050346103dc57826003193601126103dc576008548151634d021c1960e11b815292830184905260248301528282604481305afa9182156118ca57836104e3949361194a575050519182918261251e565b505034610338576104e390611ac1611aba366124b8565b90506130d2565b9290915192839283612503565b9050346103dc5760203660031901126103dc5781602093600192358152600a85522001549051908152f35b833461055b57610ad3611b0b366124ce565b916129d4565b919050346103dc57806003193601126103dc57611b2c612487565b91602435926000805160206138b5833981519152808652600a60205283862033875260205260ff848720541615611bf45750611b66613224565b6001600160a01b039181831615611be657835192611b83846125c4565b868452611b90868461347b565b16611bcf57509083611ba192612e09565b600f5490805192835283602084015282015260008051602061381583398151915260603392a26001600b5580f35b83516339e3563760e11b8152908101869052602490fd5b835163d92e233d60e01b8152fd5b9050604492519163e2517d3f60e01b835233908301526024820152fd5b9050346103dc57611c21366124b8565b919092611c2c613224565b805163fe575a8760e01b815233838201526024946020936001600160a01b0392909190858189817f000000000000000000000000000000000000000000000000000000000000000088165afa9081156120e95789916120cc575b506120bd576016549560ff8760a81c16156120ad5783600e541685516333a623df60e11b8152838582015287818b81855afa908115611fe2578b91612090575b50612080579085899281519384809263b94fe91760e01b825287898301525afa8015612076578a928b91612053575b508215612043578015908115612019575b5061200957612710611d1a600f54846130a9565b0497611d268984613142565b918211611ff957851680151580611fec575b611f75575b50600d5486516323b872dd60e01b89820152338b820152306044820152606480820193909352918252851660a082016001600160401b03811183821017611f63578752611d8a919061314f565b8451611d95816125c4565b8981523315611f4d5784611da9843361347b565b16611f3757611db9908333612e09565b600f54908551928352868301528482015260008051602061381583398151915260603392a284611ded575b866001600b5580f35b816013541680611e1f575b505050600080516020613895833981519152929350519283523392a2388080808080611de4565b8486611e469285600d5416908b885180968195829463095ea7b360e01b84528a8401612503565b03925af1908115611f2d578891611f10575b5015611f0257906084849288836013541693600d5416938651998a958694636033e31560e01b865285015230908401528860448401527f7da96612e6d2354c2264e236b93bba777b43a745691cc351f1be3e1be17c0d5360648401525af1938415611ef8576000805160206138958339815191529394611edb575b849381611df8565b611ef190833d85116117325761172481836125df565b5038611ed3565b81513d87823e3d90fd5b82516340b27c2160e11b8152fd5b611f279150853d87116117325761172481836125df565b38611e58565b84513d8a823e3d90fd5b85516339e3563760e11b81528085018b90528990fd5b8551633250574960e11b81528085018b90528990fd5b634e487b7160e01b8c52604186528a8cfd5b878a60448860155416938a51948593849263032c91b160e31b84528b84015233908301525afa908115611fe2578b91611fc5575b5015611fb55738611d3d565b855163fad4132360e01b81528490fd5b611fdc9150883d8a116117325761172481836125df565b38611fa9565b87513d8d823e3d90fd5b5085601554161515611d38565b86516308d69cfd60e31b81528590fd5b8551630d57861b60e21b81528490fd5b90506012548015159182612030575b505038611d06565b61203a9250613142565b42113880612028565b865163363fc8a960e11b81528590fd5b905061206d919250863d88116113515761134181836125df565b91909138611cf5565b86513d8c823e3d90fd5b855163297a27b160e11b81528490fd5b6120a79150883d8a116117325761172481836125df565b38611cc6565b845163af79b43760e01b81528390fd5b508251632652747360e21b8152fd5b6120e39150863d88116117325761172481836125df565b38611c86565b85513d8b823e3d90fd5b5050346103385781600319360112610338576020906008549051908152f35b50503461033857816003193601126103385760209060ff60165460a81c1690519015158152f35b919050346103dc5760203660031901126103dc57813591612158612720565b6127108310156104435750816020917ff4e31203dbe8c5d77888fca62598b5e81d4649a7067af2fa1d7606ff3351626d9360115551908152a180f35b50503461033857816003193601126103385760155490516001600160a01b039091168152602090f35b50503461033857816003193601126103385760165490516001600160a01b039091168152602090f35b919050346103dc57806003193601126103dc57612201612487565b9160243561220e81612d9e565b331515806122b0575b80612287575b612271576001600160a01b039485169482918691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258880a48452602052822080546001600160a01b031916909117905580f35b835163a9fbf51f60e01b81523381850152602490fd5b506001600160a01b03811686526005602090815284872033885290528386205460ff161561221d565b506001600160a01b038116331415612217565b9050346103dc5760203660031901126103dc579182602093356122e581612d9e565b50825283528190205490516001600160a01b039091168152f35b50503461033857816003193601126103385780519082805461232081612559565b80855290600190818116908115610fdc575060011461234b57505050610f8f826104e39403836125df565b94508180526020948583205b82841061237357505050826104e394610f8f9282010194610f7d565b8054868501880152928601928101612357565b8491346103dc5760203660031901126103dc573563ffffffff60e01b81168091036103dc576020925063152a902d60e11b81149081156123c8575b5015158152f35b637965db0b60e01b8114915081156123e2575b50836123c1565b63780e9d6360e01b8114915081156123fc575b50836123db565b6380ac58cd60e01b81149150811561242e575b811561241d575b50836123f5565b6301ffc9a760e01b14905083612416565b635b5e139f60e01b8114915061240f565b60005b8381106124525750506000910152565b8181015183820152602001612442565b9060209161247b8151809281855285808601910161243f565b601f01601f1916010190565b600435906001600160a01b038216820361249d57565b600080fd5b602435906001600160a01b038216820361249d57565b604090600319011261249d576004359060243590565b606090600319011261249d576001600160a01b0390600435828116810361249d5791602435908116810361249d579060443590565b6001600160a01b039091168152602081019190915260400190565b6020908160408183019282815285518094520193019160005b828110612545575050505090565b835185529381019392810192600101612537565b90600182811c92168015612589575b602083101461257357565b634e487b7160e01b600052602260045260246000fd5b91607f1691612568565b604081019081106001600160401b038211176125ae57604052565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176125ae57604052565b601f909101601f19168101906001600160401b038211908210176125ae57604052565b604051906000826017549161261683612559565b80835260019380851690811561269e575060011461263e575b5061263c925003836125df565b565b601760009081527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1594602093509091905b81831061268657505061263c93508201013861262f565b8554888401850152948501948794509183019161266f565b905061263c94506020925060ff191682840152151560051b8201013861262f565b6001600160401b0381116125ae57601f01601f191660200190565b9291926126e6826126bf565b916126f460405193846125df565b82948184528183011161249d578281602093846000960137010152565b60043590811515820361249d57565b3360009081527f4f5f35b2b01f07f9be0651f033d30422e26500d4938fa8e284ae4c3c59221e5760205260409020546000805160206139158339815191529060ff161561276a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600a60205260406000203360005260205260ff604060002054161561276a5750565b6001600160a01b0316600081815260008051602061385583398151915260205260408120549091906000805160206138b58339815191529060ff1661282657808352600a6020526040832082845260205260408320600160ff198254161790556000805160206137f5833981519152339380a4600190565b505090565b90600091808352600a602052604083209160018060a01b03169182845260205260ff6040842054161560001461282657808352600a6020526040832082845260205260408320600160ff198254161790556000805160206137f5833981519152339380a4600190565b6001600160a01b0316600081815260008051602061385583398151915260205260408120549091906000805160206138b58339815191529060ff161561282657808352600a602052604083208284526020526040832060ff1981541690556000805160206138f5833981519152339380a4600190565b90600091808352600a602052604083209160018060a01b03169182845260205260ff60408420541660001461282657808352600a602052604083208284526020526040832060ff1981541690556000805160206138f5833981519152339380a4600190565b600c546001600160a01b0316330361298357565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160a01b031680156129bb57600052600360205260406000205490565b6040516322718ad960e21b815260006004820152602490fd5b6001600160a01b0382811693918415612d67576000948386526020956002875260409684888320541680151580612d5f575b612c70575b50858252600281528488832054169633151580612be0575b5087158015612bc0575b84845260038352898420805460010190558784526002835289842080546001600160a01b0319168617905587858a6000805160206138d58339815191528780a415612b445760085487845260098352898420819055600160401b811015612b3057876114fb826001612aa2940160085561303c565b838803612ade575b505050501692838303612abd5750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b612ae79061299b565b600019810193908411612b1c5782916007918a9452600681528383208584528152878484205587835252205538808080612aaa565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b84526041600452602484fd5b878414612aa257612b548861299b565b8784526007835289842054818103612b89575b50878452838a8120558884526006835289842090845282528289812055612aa2565b898552600684528a852082865284528a8520548a8652600685528b86208287528552808c8720558552600784528a85205538612b67565b612bc988612d80565b888452600383528984208054600019019055612a2d565b80612c2f575b15612bf15738612a23565b888789612c0e576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b8152908190612c2b903360048401612503565b0390fd5b503388148015612c54575b80612be657508683526004825233868a8520541614612be6565b5087835260058252888320338452825260ff8984205416612c3a565b857f00000000000000000000000000000000000000000000000000000000000000001690895163fe575a8760e01b9182825260048201528381602481865afa908115612d55578591612d38575b50612d2757829060248b518094819382528860048301525afa908115612d1d578391612d00575b50612cef5738612a0b565b8751632652747360e21b8152600490fd5b612d179150823d84116117325761172481836125df565b38612ce4565b89513d85823e3d90fd5b8951632652747360e21b8152600490fd5b612d4f9150843d86116117325761172481836125df565b38612cbd565b8b513d87823e3d90fd5b506001612a06565b604051633250574960e11b815260006004820152602490fd5b600090815260046020526040902080546001600160a01b0319169055565b6000818152600260205260409020546001600160a01b0316908115612dc1575090565b60249060405190637e27328960e01b82526004820152fd5b3d15612e04573d90612dea826126bf565b91612df860405193846125df565b82523d6000602084013e565b606090565b919091803b612e1757505050565b60018060a01b03169160405160208180612e5b630a85bd0160e11b968783523360048401526000968760248501526044840152608060648401526084830190612462565b038185885af190829082612ecc575b5050612ea25782612e79612dd9565b8051919082612e9b57604051633250574960e11b815260048101839052602490fd5b9050602001fd5b6001600160e01b03191603612eb45750565b60249060405190633250574960e11b82526004820152fd5b909192506020813d8211612f0c575b81612ee8602093836125df565b810103126103385751906001600160e01b03198216820361055b5750903880612e6a565b3d9150612edb565b9190803b612f23575b50505050565b612f6560018060a01b0380921694604051938493630a85bd0160e11b968786523360048701521660248501526044840152608060648401526084830190612462565b03906020816000938185885af190829082612fa3575b5050612f8a5782612e79612dd9565b6001600160e01b03191603612eb4575038808080612f1d565b909192506020813d8211612fe3575b81612fbf602093836125df565b810103126103385751906001600160e01b03198216820361055b5750903880612f7b565b3d9150612fb2565b612ff48161299b565b8210156130205760018060a01b0316600052600660205260406000209060005260205260406000205490565b612c2b60405192839263295f44f760e21b845260048401612503565b60085481101561305757600860005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60085481101561308a576130809061303c565b90549060031b1c90565b6044906040519063295f44f760e21b8252600060048301526024820152fd5b818102929181159184041417156130bc57565b634e487b7160e01b600052601160045260246000fd5b6014546001600160a01b031691908215801561310a575b613101576130fd61271091601154906130a9565b0490565b50600091508190565b50601154156130e9565b9081602091031261249d5751801515810361249d5790565b919082604091031261249d576020825192015190565b919082018092116130bc57565b6000806131789260018060a01b03169360208151910182865af1613171612dd9565b90836131c1565b80519081151591826131a6575b505061318e5750565b60249060405190635274afe760e01b82526004820152fd5b6131b99250602080918301019101613114565b153880613185565b906131e857508051156131d657805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061321b575b6131f9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156131f1565b6002600b5414613235576002600b55565b604051633ee5aeb560e01b8152600490fd5b6001600160401b0381116125ae5760051b60200190565b9061326882613247565b61327560405191826125df565b8281528092613286601f1991613247565b0190602036910137565b919082039182116130bc57565b60001981146130bc5760010190565b80518210156130575760209160051b010190565b91600854808311613367575b1561334c578183101561333a576132eb6132e68484613290565b61325e565b9060005b6132f98585613290565b811015613332578461332a8261331a613315846132f996613142565b61306d565b61332482886132ac565b5261329d565b9150506132ef565b509250905090565b60405163561ce9bb60e01b8152600490fd5b91505060405161335b816125c4565b60008152600036813790565b9150816132cc565b602090818184031261249d578051906001600160401b03821161249d57019180601f8401121561249d5782516133a481613247565b936133b260405195866125df565b818552838086019260051b82010192831161249d578301905b8282106133d9575050505090565b815181529083019083016133cb565b92906133f38461299b565b801561346a57808411613462575b508281101561333a576134176132e68285613290565b9160005b6134258386613290565b8110156134595782613451826134476134418461342596613142565b8a612feb565b61332482896132ac565b91505061341b565b50935050905090565b925038613401565b505091505060405161335b816125c4565b9060008181526020916002835260018060a01b0390604091808385205416801515806137e9575b6136f8575b50818452600285528083852054169586159182156136d8575b81169182159081156136c2575b8487526002885285872080546001600160a01b0319168517905584848a6000805160206138d58339815191528a80a4156136465760085484875260098852858720819055600160401b81101561363257846114fb826001613531940160085561303c565b156135c9575050600854600019948582019182116135b55790600983928695948652818152613563858720549361303c565b90549060031b1c613577816114fb8661303c565b8652528284205582528120556008549081156135a157500161359b6115748261303c565b60085590565b634e487b7160e01b81526031600452602490fd5b634e487b7160e01b85526011600452602485fd5b818796939296959495036135e1575b50505050505090565b6135ea9061299b565b60001981019590861161361e57835260068252838320858452825283832081905582526007905220553880808080806135d8565b634e487b7160e01b84526011600452602484fd5b634e487b7160e01b87526041600452602487fd5b878314613531576136568861299b565b848752600788528587205481810361368b575b5084875286868120558887526006885285872090875287528585812055613531565b898852600689528688208289528952868820548a895260068a52878920828a528a5280888a20558852600789528688205538613669565b83875260038852858720600181540190556134cd565b6136e184612d80565b8786526003875284862080546000190190556134c0565b817f00000000000000000000000000000000000000000000000000000000000000001690845163fe575a8760e01b9182825260048201528781602481865afa9081156137df5787916137c2575b506137b157869060248651809481938252868c1660048301525afa9081156137a757859161378a575b5061377957386134a7565b8251632652747360e21b8152600490fd5b6137a19150863d88116117325761172481836125df565b3861376e565b84513d87823e3d90fd5b8451632652747360e21b8152600490fd5b6137d99150883d8a116117325761172481836125df565b38613745565b86513d89823e3d90fd5b5081871615156134a256fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d7bc3ddf0bf2ada973906c61001cd8f787646720bb7da90229e5bf81fa71bab6d5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ecaa1d7351356c4ddc11907b1ee0660f579cfdf507235af2ae01ecd22a4b7ceaae8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e011fc6332cfccc2ce93014095f0b5a5b29e6a3028f76849e8214e00c3e1c2df089f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3eff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171ba49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756741b2fc379fad678116fe3d4d4b9a1a184ab53ba36b86ad0fa66340b1ab41ada2646970667358221220b0e6ef5e9c638939364d777da7b5819451d5b1a8207be8f91de559ed68a58b2264736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -51,6 +51,22 @@ export declare class RAACNFT__factory extends ContractFactory {
51
51
  }];
52
52
  readonly name: "AccessControlUnauthorizedAccount";
53
53
  readonly type: "error";
54
+ }, {
55
+ readonly inputs: readonly [{
56
+ readonly internalType: "address";
57
+ readonly name: "target";
58
+ readonly type: "address";
59
+ }];
60
+ readonly name: "AddressEmptyCode";
61
+ readonly type: "error";
62
+ }, {
63
+ readonly inputs: readonly [{
64
+ readonly internalType: "address";
65
+ readonly name: "account";
66
+ readonly type: "address";
67
+ }];
68
+ readonly name: "AddressInsufficientBalance";
69
+ readonly type: "error";
54
70
  }, {
55
71
  readonly inputs: readonly [];
56
72
  readonly name: "ApprovalFailed";
@@ -59,6 +75,10 @@ export declare class RAACNFT__factory extends ContractFactory {
59
75
  readonly inputs: readonly [];
60
76
  readonly name: "BlacklistedAddress";
61
77
  readonly type: "error";
78
+ }, {
79
+ readonly inputs: readonly [];
80
+ readonly name: "BurningDisabled";
81
+ readonly type: "error";
62
82
  }, {
63
83
  readonly inputs: readonly [];
64
84
  readonly name: "ERC721EnumerableForbiddenBatchMint";
@@ -157,7 +177,15 @@ export declare class RAACNFT__factory extends ContractFactory {
157
177
  readonly type: "error";
158
178
  }, {
159
179
  readonly inputs: readonly [];
160
- readonly name: "HousePrice";
180
+ readonly name: "FailedInnerCall";
181
+ readonly type: "error";
182
+ }, {
183
+ readonly inputs: readonly [];
184
+ readonly name: "HousePricePending";
185
+ readonly type: "error";
186
+ }, {
187
+ readonly inputs: readonly [];
188
+ readonly name: "HousePriceZero";
161
189
  readonly type: "error";
162
190
  }, {
163
191
  readonly inputs: readonly [];
@@ -175,6 +203,10 @@ export declare class RAACNFT__factory extends ContractFactory {
175
203
  readonly inputs: readonly [];
176
204
  readonly name: "InvalidRange";
177
205
  readonly type: "error";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "MintingDisabled";
209
+ readonly type: "error";
178
210
  }, {
179
211
  readonly inputs: readonly [{
180
212
  readonly internalType: "address";
@@ -203,10 +235,18 @@ export declare class RAACNFT__factory extends ContractFactory {
203
235
  }];
204
236
  readonly name: "SafeERC20FailedOperation";
205
237
  readonly type: "error";
238
+ }, {
239
+ readonly inputs: readonly [];
240
+ readonly name: "StalePriceData";
241
+ readonly type: "error";
206
242
  }, {
207
243
  readonly inputs: readonly [];
208
244
  readonly name: "TokenAlreadyMinted";
209
245
  readonly type: "error";
246
+ }, {
247
+ readonly inputs: readonly [];
248
+ readonly name: "ZKMECooperatorNotApproved";
249
+ readonly type: "error";
210
250
  }, {
211
251
  readonly inputs: readonly [];
212
252
  readonly name: "ZeroAddress";
@@ -221,6 +261,16 @@ export declare class RAACNFT__factory extends ContractFactory {
221
261
  }];
222
262
  readonly name: "AllowBurningUpdated";
223
263
  readonly type: "event";
264
+ }, {
265
+ readonly anonymous: false;
266
+ readonly inputs: readonly [{
267
+ readonly indexed: false;
268
+ readonly internalType: "bool";
269
+ readonly name: "allowMinting";
270
+ readonly type: "bool";
271
+ }];
272
+ readonly name: "AllowMintingUpdated";
273
+ readonly type: "event";
224
274
  }, {
225
275
  readonly anonymous: false;
226
276
  readonly inputs: readonly [{
@@ -271,6 +321,26 @@ export declare class RAACNFT__factory extends ContractFactory {
271
321
  }];
272
322
  readonly name: "BaseURIUpdated";
273
323
  readonly type: "event";
324
+ }, {
325
+ readonly anonymous: false;
326
+ readonly inputs: readonly [{
327
+ readonly indexed: false;
328
+ readonly internalType: "address";
329
+ readonly name: "feeCollector";
330
+ readonly type: "address";
331
+ }];
332
+ readonly name: "FeeCollectorUpdated";
333
+ readonly type: "event";
334
+ }, {
335
+ readonly anonymous: false;
336
+ readonly inputs: readonly [{
337
+ readonly indexed: false;
338
+ readonly internalType: "address";
339
+ readonly name: "housePrices";
340
+ readonly type: "address";
341
+ }];
342
+ readonly name: "HousePriceOracleUpdated";
343
+ readonly type: "event";
274
344
  }, {
275
345
  readonly anonymous: false;
276
346
  readonly inputs: readonly [{
@@ -291,26 +361,6 @@ export declare class RAACNFT__factory extends ContractFactory {
291
361
  }];
292
362
  readonly name: "MintFeeUpdated";
293
363
  readonly type: "event";
294
- }, {
295
- readonly anonymous: false;
296
- readonly inputs: readonly [{
297
- readonly indexed: true;
298
- readonly internalType: "bytes32";
299
- readonly name: "role";
300
- readonly type: "bytes32";
301
- }, {
302
- readonly indexed: true;
303
- readonly internalType: "address";
304
- readonly name: "previousMinter";
305
- readonly type: "address";
306
- }, {
307
- readonly indexed: true;
308
- readonly internalType: "address";
309
- readonly name: "newMinter";
310
- readonly type: "address";
311
- }];
312
- readonly name: "MinterRoleTransferred";
313
- readonly type: "event";
314
364
  }, {
315
365
  readonly anonymous: false;
316
366
  readonly inputs: readonly [{
@@ -361,6 +411,16 @@ export declare class RAACNFT__factory extends ContractFactory {
361
411
  }];
362
412
  readonly name: "NFTMinted";
363
413
  readonly type: "event";
414
+ }, {
415
+ readonly anonymous: false;
416
+ readonly inputs: readonly [{
417
+ readonly indexed: false;
418
+ readonly internalType: "address";
419
+ readonly name: "nftRoyaltyFeeCollector";
420
+ readonly type: "address";
421
+ }];
422
+ readonly name: "NFTRoyaltyFeeCollectorUpdated";
423
+ readonly type: "event";
364
424
  }, {
365
425
  readonly anonymous: false;
366
426
  readonly inputs: readonly [{
@@ -376,6 +436,21 @@ export declare class RAACNFT__factory extends ContractFactory {
376
436
  }];
377
437
  readonly name: "OwnershipTransferred";
378
438
  readonly type: "event";
439
+ }, {
440
+ readonly anonymous: false;
441
+ readonly inputs: readonly [{
442
+ readonly indexed: false;
443
+ readonly internalType: "uint256";
444
+ readonly name: "oldThreshold";
445
+ readonly type: "uint256";
446
+ }, {
447
+ readonly indexed: false;
448
+ readonly internalType: "uint256";
449
+ readonly name: "newThreshold";
450
+ readonly type: "uint256";
451
+ }];
452
+ readonly name: "PriceStalenessThresholdUpdated";
453
+ readonly type: "event";
379
454
  }, {
380
455
  readonly anonymous: false;
381
456
  readonly inputs: readonly [{
@@ -436,6 +511,26 @@ export declare class RAACNFT__factory extends ContractFactory {
436
511
  }];
437
512
  readonly name: "RoleRevoked";
438
513
  readonly type: "event";
514
+ }, {
515
+ readonly anonymous: false;
516
+ readonly inputs: readonly [{
517
+ readonly indexed: true;
518
+ readonly internalType: "bytes32";
519
+ readonly name: "role";
520
+ readonly type: "bytes32";
521
+ }, {
522
+ readonly indexed: true;
523
+ readonly internalType: "address";
524
+ readonly name: "previousAddress";
525
+ readonly type: "address";
526
+ }, {
527
+ readonly indexed: true;
528
+ readonly internalType: "address";
529
+ readonly name: "newAddress";
530
+ readonly type: "address";
531
+ }];
532
+ readonly name: "RoleTransferred";
533
+ readonly type: "event";
439
534
  }, {
440
535
  readonly anonymous: false;
441
536
  readonly inputs: readonly [{
@@ -466,6 +561,26 @@ export declare class RAACNFT__factory extends ContractFactory {
466
561
  }];
467
562
  readonly name: "Transfer";
468
563
  readonly type: "event";
564
+ }, {
565
+ readonly anonymous: false;
566
+ readonly inputs: readonly [{
567
+ readonly indexed: false;
568
+ readonly internalType: "address";
569
+ readonly name: "zkmeCooperator";
570
+ readonly type: "address";
571
+ }];
572
+ readonly name: "ZKMECooperatorUpdated";
573
+ readonly type: "event";
574
+ }, {
575
+ readonly anonymous: false;
576
+ readonly inputs: readonly [{
577
+ readonly indexed: false;
578
+ readonly internalType: "address";
579
+ readonly name: "zkmeVerify";
580
+ readonly type: "address";
581
+ }];
582
+ readonly name: "ZKMEVerifyUpdated";
583
+ readonly type: "event";
469
584
  }, {
470
585
  readonly inputs: readonly [];
471
586
  readonly name: "ADMIN_ROLE";
@@ -556,6 +671,16 @@ export declare class RAACNFT__factory extends ContractFactory {
556
671
  }];
557
672
  readonly stateMutability: "view";
558
673
  readonly type: "function";
674
+ }, {
675
+ readonly inputs: readonly [];
676
+ readonly name: "allowMinting";
677
+ readonly outputs: readonly [{
678
+ readonly internalType: "bool";
679
+ readonly name: "";
680
+ readonly type: "bool";
681
+ }];
682
+ readonly stateMutability: "view";
683
+ readonly type: "function";
559
684
  }, {
560
685
  readonly inputs: readonly [{
561
686
  readonly internalType: "address";
@@ -594,6 +719,16 @@ export declare class RAACNFT__factory extends ContractFactory {
594
719
  }];
595
720
  readonly stateMutability: "view";
596
721
  readonly type: "function";
722
+ }, {
723
+ readonly inputs: readonly [{
724
+ readonly internalType: "uint256";
725
+ readonly name: "tokenId";
726
+ readonly type: "uint256";
727
+ }];
728
+ readonly name: "burn";
729
+ readonly outputs: readonly [];
730
+ readonly stateMutability: "nonpayable";
731
+ readonly type: "function";
597
732
  }, {
598
733
  readonly inputs: readonly [];
599
734
  readonly name: "complianceRegistry";
@@ -1001,6 +1136,16 @@ export declare class RAACNFT__factory extends ContractFactory {
1001
1136
  readonly outputs: readonly [];
1002
1137
  readonly stateMutability: "nonpayable";
1003
1138
  readonly type: "function";
1139
+ }, {
1140
+ readonly inputs: readonly [{
1141
+ readonly internalType: "bool";
1142
+ readonly name: "_allowMinting";
1143
+ readonly type: "bool";
1144
+ }];
1145
+ readonly name: "setAllowMinting";
1146
+ readonly outputs: readonly [];
1147
+ readonly stateMutability: "nonpayable";
1148
+ readonly type: "function";
1004
1149
  }, {
1005
1150
  readonly inputs: readonly [{
1006
1151
  readonly internalType: "address";
@@ -1035,6 +1180,16 @@ export declare class RAACNFT__factory extends ContractFactory {
1035
1180
  readonly outputs: readonly [];
1036
1181
  readonly stateMutability: "nonpayable";
1037
1182
  readonly type: "function";
1183
+ }, {
1184
+ readonly inputs: readonly [{
1185
+ readonly internalType: "address";
1186
+ readonly name: "_housePrices";
1187
+ readonly type: "address";
1188
+ }];
1189
+ readonly name: "setHousePriceOracle";
1190
+ readonly outputs: readonly [];
1191
+ readonly stateMutability: "nonpayable";
1192
+ readonly type: "function";
1038
1193
  }, {
1039
1194
  readonly inputs: readonly [{
1040
1195
  readonly internalType: "uint256";
@@ -1065,6 +1220,16 @@ export declare class RAACNFT__factory extends ContractFactory {
1065
1220
  readonly outputs: readonly [];
1066
1221
  readonly stateMutability: "nonpayable";
1067
1222
  readonly type: "function";
1223
+ }, {
1224
+ readonly inputs: readonly [{
1225
+ readonly internalType: "uint256";
1226
+ readonly name: "_threshold";
1227
+ readonly type: "uint256";
1228
+ }];
1229
+ readonly name: "setPriceStalenessThreshold";
1230
+ readonly outputs: readonly [];
1231
+ readonly stateMutability: "nonpayable";
1232
+ readonly type: "function";
1068
1233
  }, {
1069
1234
  readonly inputs: readonly [{
1070
1235
  readonly internalType: "uint256";
@@ -1075,6 +1240,26 @@ export declare class RAACNFT__factory extends ContractFactory {
1075
1240
  readonly outputs: readonly [];
1076
1241
  readonly stateMutability: "nonpayable";
1077
1242
  readonly type: "function";
1243
+ }, {
1244
+ readonly inputs: readonly [{
1245
+ readonly internalType: "address";
1246
+ readonly name: "_zkmeCooperator";
1247
+ readonly type: "address";
1248
+ }];
1249
+ readonly name: "setZKMECooperator";
1250
+ readonly outputs: readonly [];
1251
+ readonly stateMutability: "nonpayable";
1252
+ readonly type: "function";
1253
+ }, {
1254
+ readonly inputs: readonly [{
1255
+ readonly internalType: "address";
1256
+ readonly name: "_zkmeVerify";
1257
+ readonly type: "address";
1258
+ }];
1259
+ readonly name: "setZKMEVerify";
1260
+ readonly outputs: readonly [];
1261
+ readonly stateMutability: "nonpayable";
1262
+ readonly type: "function";
1078
1263
  }, {
1079
1264
  readonly inputs: readonly [{
1080
1265
  readonly internalType: "bytes4";
@@ -1144,7 +1329,7 @@ export declare class RAACNFT__factory extends ContractFactory {
1144
1329
  }, {
1145
1330
  readonly inputs: readonly [{
1146
1331
  readonly internalType: "uint256";
1147
- readonly name: "_tokenId";
1332
+ readonly name: "tokenId";
1148
1333
  readonly type: "uint256";
1149
1334
  }];
1150
1335
  readonly name: "tokenURI";
@@ -1200,7 +1385,11 @@ export declare class RAACNFT__factory extends ContractFactory {
1200
1385
  readonly type: "bytes32";
1201
1386
  }, {
1202
1387
  readonly internalType: "address";
1203
- readonly name: "newMinter";
1388
+ readonly name: "oldAddress";
1389
+ readonly type: "address";
1390
+ }, {
1391
+ readonly internalType: "address";
1392
+ readonly name: "newAddress";
1204
1393
  readonly type: "address";
1205
1394
  }];
1206
1395
  readonly name: "transferRole";
@@ -1229,6 +1418,26 @@ export declare class RAACNFT__factory extends ContractFactory {
1229
1418
  }];
1230
1419
  readonly stateMutability: "nonpayable";
1231
1420
  readonly type: "function";
1421
+ }, {
1422
+ readonly inputs: readonly [];
1423
+ readonly name: "zkmeCooperator";
1424
+ readonly outputs: readonly [{
1425
+ readonly internalType: "address";
1426
+ readonly name: "";
1427
+ readonly type: "address";
1428
+ }];
1429
+ readonly stateMutability: "view";
1430
+ readonly type: "function";
1431
+ }, {
1432
+ readonly inputs: readonly [];
1433
+ readonly name: "zkmeVerify";
1434
+ readonly outputs: readonly [{
1435
+ readonly internalType: "address";
1436
+ readonly name: "";
1437
+ readonly type: "address";
1438
+ }];
1439
+ readonly stateMutability: "view";
1440
+ readonly type: "function";
1232
1441
  }];
1233
1442
  static createInterface(): RAACNFTInterface;
1234
1443
  static connect(address: string, runner?: ContractRunner | null): RAACNFT;
@@ -14,7 +14,7 @@ export declare class RAACToken__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RAACToken__factory;
17
- static readonly bytecode = "0x6080346200045e57601f90601f19620019d63881900380850183168401936001600160401b039290919082861084871117620004635781606092849260409889528339810103126200045e5780516001600160a01b039190828116908190036200045e576020948686840151930151946200007962000479565b600a8152692920a0a1902a37b5b2b760b11b888201526200009962000479565b9060049a8b8352635241414360e01b8a84015281519284841162000352576003938454936001948d8682811c921690811562000453575b8210146200043d57908d8286859411620003e4575b50508d90858311600114620003735760009262000367575b505060001982871b1c191690841b1784555b805194851162000352578c548381811c9116801562000347575b8c8210146200033257808e848e9311620002e5575b5050508a9185116001146200027c578495509084929160009562000270575b50501b92600019911b1c19161787555b80156200025957600580546001600160a01b0319808216841790925590938291167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36103e89283600a556008541617600855818111620002495783817f2ca04e67ea99ed7e999e7e5bddcc141c31b0d558dbf6c018b19dc6e73c1264f8926006558651908152a181116200023a5790817ff0bdbee6eff4ff8b804ab3c9b849606fd8c5cc501d88a88d7cd973495962a288926007558351908152a15161153c90816200049a8239f35b505051637122fedf60e11b8152fd5b84516353d892d160e01b81528690fd5b8551631e4fbdf760e01b8152600081890152602490fd5b0151935038806200015d565b9291948416928c600052848b6000209460005b8d89838310620002cd5750505010620002b2575b50505050811b0187556200016d565b01519060f884600019921b161c1916905538808080620002a3565b8686015189559097019694850194889350016200028f565b60005283826000209181890160051c830193891062000328575b0160051c019084905b8281106200031b57508c91508e6200013e565b6000815501849062000308565b92508192620002ff565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000129565b60418d634e487b7160e01b6000525260246000fd5b015190503880620000fd565b869350908e918860005282600020926000905b8c86168210620003c4575050838b811610620003ab575b505050811b0184556200010f565b015160001983891b60f8161c191690553880806200039d565b919294958291948685015181550194019201908f91889594939262000386565b909192508760005285826000209181860160051c830193861062000433575b918891869594930160051c01915b8281106200042357508f9150620000e5565b6000815585945088910162000411565b9250819262000403565b5060228f634e487b7160e01b6000525260246000fd5b91607f1691620000d0565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620004635760405256fe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146101dd57806307546172146101d8578063095ea7b3146101d357806318160ddd146101ce57806323b872dd146101c9578063313ce567146101c4578063397f145f146101bf5780633af32abf146101b05780633c340940146101ba57806340c10f19146101b557806341566585146101b057806342966c68146101ab5780634c4f2d04146101a65780634f8fc921146101a15780635139fb461461019c5780635794f9d41461019757806370a0823114610192578063715018a61461018d5780638610b09e146101835780638da5cb5b146101885780638fa817321461018357806395d89b411461017e578063a42dce8014610179578063a9059cbb14610174578063c415b95c1461016f578063dd62ed3e1461016a578063eff8143514610165578063f2fde38b146101605763fca3b5aa1461015b57600080fd5b610dfc565b610d86565b610cd1565b610c85565b610c5c565b610c2b565b610b4d565b610a8a565b610a44565b610a61565b6109f8565b6109be565b6108d0565b6108b2565b610894565b61082c565b610791565b61066a565b6106c7565b6106a9565b61052a565b61050e565b61046b565b61044d565b61039d565b610348565b61022b565b6020808252825181830181905290939260005b82811061021757505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016101f5565b34610337576000806003193601126103345760405190806003549060019180831c9280821692831561032a575b60209283861085146103165785885260208801949081156102f5575060011461029c575b6102988761028c81890382610e91565b604051918291826101e2565b0390f35b600360005294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106102e4575050509101905061028c82610298388061027c565b8054858701529482019481016102c8565b60ff191685525050505090151560051b01905061028c82610298388061027c565b634e487b7160e01b82526022600452602482fd5b93607f1693610258565b80fd5b600080fd5b6001600160a01b031690565b34610337576000366003190112610337576009546040516001600160a01b039091168152602090f35b600435906001600160a01b038216820361033757565b602435906001600160a01b038216820361033757565b34610337576040366003190112610337576103b6610371565b6024353315610434576001600160a01b03821691821561041b576103e382916103de33610746565b61077a565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b34610337576000366003190112610337576020600254604051908152f35b3461033757606036600319011261033757610484610371565b61048c610387565b6044359060018060a01b03831660005260016020526104af33604060002061077a565b549260001984106104d1575b6104c59350610eca565b60405160018152602090f35b8284106104ed576104e8836104c595033383610f07565b6104bb565b604051637dc7a0d960e11b81528061050a85873360048501610f2e565b0390fd5b3461033757600036600319011261033757602060405160128152f35b3461033757604036600319011261033757610543610371565b602435801515810361033757610557610e65565b80156105ed576001600160a01b03821680156105db576105806105798461072c565b5460ff1690565b6105c9576105c7926105b6917f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d600080a261072c565b9060ff801983541691151516179055565b005b604051630f084ddf60e31b8152600490fd5b604051633756244d60e01b8152600490fd5b6001600160a01b03821680156106585761061061060c6105798561072c565b1590565b610646576105c7926105b6917f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c600080a261072c565b60405163ad7acb4760e01b8152600490fd5b604051633188159760e11b8152600490fd5b34610337576020366003190112610337576001600160a01b0361068b610371565b16600052600b602052602060ff604060002054166040519015158152f35b34610337576000366003190112610337576020600754604051908152f35b34610337576040366003190112610337576106e0610371565b6009546001600160a01b03908116330361071a57811615610708576105c79060243590610faf565b60405163e6c4247b60e01b8152600490fd5b60405163045241dd60e01b8152600490fd5b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b34610337576020366003190112610337576004356107b160075482611488565b9081810390811161082757331561080e576107cc90336110b3565b801515806107f0575b6107db57005b6105c7906107ea60085461033c565b33610eca565b506008546001600160a01b03906108069061033c565b1615156107d5565b604051634b637e8f60e11b815260006004820152602490fd5b610f4c565b3461033757602036600319011261033757600435610848610e65565b6103e88111610882576020817fc95e3cdb0b31b8636c27d550ff6665d89d668b27ac8ffd62eb9a00bc8eade77592600a55604051908152a1005b604051630ec87b9d60e21b8152600490fd5b34610337576000366003190112610337576020600a54604051908152f35b34610337576000366003190112610337576020600654604051908152f35b34610337576020366003190112610337576004356108ec610e65565b6103e881116109ac5760065480610941575b7f2ca04e67ea99ed7e999e7e5bddcc141c31b0d558dbf6c018b19dc6e73c1264f861093c8361092c81600655565b6040519081529081906020820190565b0390a1005b61094d600a5482611488565b90818101808211610827578311918215610980575b505061096e57386108fe565b604051630ed3cb6360e41b8152600490fd5b909150828281109283610998575b5050503880610962565b6109a3929350610f62565b1138828161098e565b604051634b79937960e01b8152600490fd5b34610337576020366003190112610337576001600160a01b036109df610371565b1660005260006020526020604060002054604051908152f35b346103375760008060031936011261033457610a12610e65565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206114c78339815191528280a380f35b346103375760003660031901126103375760206040516103e88152f35b34610337576000366003190112610337576005546040516001600160a01b039091168152602090f35b34610337576000806003193601126103345760405190806004549060019180831c92808216928315610b43575b60209283861085146103165785885260208801949081156102f55750600114610aea576102988761028c81890382610e91565b600460005294509192917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b838610610b32575050509101905061028c82610298388061027c565b805485870152948201948101610b16565b93607f1693610ab7565b3461033757602036600319011261033757610b66610371565b610b6e610e65565b600854906001600160a01b03908183161580610c20575b610bf3575b1680918115610bc9575b6001600160a01b031916176008557f12e1d17016b94668449f97876f4a8d5cc2c19f314db337418894734037cc19d4600080a2005b7f04a98e10f560e94a90ad1e6dbdcc0afd4c5f8cbba3a712a1c2779c07ee2112cb600080a1610b94565b8181167f2daa03c9c35b0db99b0b614fc3e94af962870c11042b4eddf43ca05f733c22a4600080a2610b8a565b508181161515610b85565b3461033757604036600319011261033757610c51610c47610371565b6024359033610eca565b602060405160018152f35b34610337576000366003190112610337576008546040516001600160a01b039091168152602090f35b34610337576040366003190112610337576020610cc8610ca3610371565b610cab610387565b6001600160a01b039091166000908152600184526040902061077a565b54604051908152f35b3461033757602036600319011261033757600435610ced610e65565b6103e881116109ac5760075480610d2d575b7ff0bdbee6eff4ff8b804ab3c9b849606fd8c5cc501d88a88d7cd973495962a28861093c8361092c81600755565b610d39600a5482611488565b90818101808211610827578311918215610d5a575b505061096e5738610cff565b909150828281109283610d72575b5050503880610d4e565b610d7d929350610f62565b11388281610d68565b3461033757602036600319011261033757610d9f610371565b610da7610e65565b6001600160a01b03908116908115610de357600580546001600160a01b031981168417909155166000805160206114c7833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461033757602036600319011261033757610e15610371565b610e1d610e65565b6001600160a01b0316801561070857600980546001600160a01b031916821790557f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b6600080a2005b6005546001600160a01b03163303610e7957565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b03821190821017610eb457604052565b634e487b7160e01b600052604160045260246000fd5b91906001600160a01b038084161561080e57811615610eee57610eec926111a8565b565b60405163ec442f0560e01b815260006004820152602490fd5b906001600160a01b03808316156104345781161561041b576103de610f2b92610746565b55565b604091949392606082019560018060a01b0316825260208201520152565b634e487b7160e01b600052601160045260246000fd5b9190820391821161082757565b9190820180921161082757565b8181029291811591840414171561082757565b8115610f99570490565b634e487b7160e01b600052601260045260246000fd5b610fbe60065460075490610f6f565b91821580156110ab575b801561109a575b8015611074575b8015611062575b8015611045575b61103a578281611035611012611000610eec9761102a96611488565b9361100d60075486610f7c565b610f8f565b61103061102060085461033c565b61102a8387610f62565b90611367565b611293565b610f62565b90610eec9250611367565b506008546001600160a01b039061105b9061033c565b1615610fe4565b5061106f6105798361072c565b610fdd565b5060008052600b6020526110956000805160206114a7833981519152610579565b610fd6565b506001600160a01b03821615610fcf565b506001610fc8565b6110c260065460075490610f6f565b9182158015611197575b801561118f575b801561117d575b8015611157575b801561113a575b61112f578281611035611104611000610eec9761112996611488565b61112361111260085461033c565b61111c8387610f62565b90886113c7565b856112c4565b906112c4565b90610eec92506112c4565b506008546001600160a01b03906111509061033c565b16156110e8565b5060008052600b6020526111786000805160206114a7833981519152610579565b6110e1565b5061118a6105798361072c565b6110da565b5060016110d3565b506001600160a01b038216156110cc565b906111b860065460075490610f6f565b9283158015611282575b8015611271575b801561125f575b801561124d575b8015611230575b6112255783816110356111fa611000610eec9861121f96611488565b61121961120860085461033c565b6112128387610f62565b90896113c7565b866112c4565b916113c7565b91610eec93506113c7565b506008546001600160a01b03906112469061033c565b16156111de565b5061125a6105798361072c565b6111d7565b5061126c6105798461072c565b6111d0565b506001600160a01b038216156111c9565b506001600160a01b038316156111c2565b600254818101809111610827576000805160206114e7833981519152602083600094859403600255604051908152a3565b6001600160a01b038116908161130d5750600254918083018093116108275760206000805160206114e7833981519152916000946002555b8060025403600255604051908152a3565b929161131884610760565b549381851061134957816020916113436000805160206114e783398151915294600097980391610760565b556112fc565b61050a859260405193849363391434e360e21b855260048501610f2e565b90600254908082018092116108275760206000805160206114e78339815191529160009360025560018060a01b03851694851585146113b3575080600254036002555b604051908152a3565b6113bc90610760565b8181540190556113aa565b90916001600160a01b038083169283611432575081611419916114036113fe6000805160206114e783398151915295600254610f6f565b600255565b8516948561141e575061092c8160025403600255565b0390a3565b61142790610760565b81815401905561092c565b61143b81610760565b5483811061146a579183916114646000805160206114e783398151915295611419950391610760565b55611403565b9061050a8460405193849363391434e360e21b855260048501610f2e565b8161138819048111158215171561033757612710910261138801049056fedf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f768be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b13015ebae3bb3f7d1edf5e8bafa5b0dbd976dd306df00f40b246c33cdfafdb164736f6c63430008140033";
17
+ static readonly bytecode = "0x6080346200045e57601f90601f19620019d53881900380850183168401936001600160401b039290919082861084871117620004635781606092849260409889528339810103126200045e5780516001600160a01b039190828116908190036200045e576020948686840151930151946200007962000479565b600a8152692920a0a1902a37b5b2b760b11b888201526200009962000479565b9060049a8b8352635241414360e01b8a84015281519284841162000352576003938454936001948d8682811c921690811562000453575b8210146200043d57908d8286859411620003e4575b50508d90858311600114620003735760009262000367575b505060001982871b1c191690841b1784555b805194851162000352578c548381811c9116801562000347575b8c8210146200033257808e848e9311620002e5575b5050508a9185116001146200027c578495509084929160009562000270575b50501b92600019911b1c19161787555b80156200025957600580546001600160a01b0319808216841790925590938291167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36103e89283600a556008541617600855818111620002495783817f2ca04e67ea99ed7e999e7e5bddcc141c31b0d558dbf6c018b19dc6e73c1264f8926006558651908152a181116200023a5790817ff0bdbee6eff4ff8b804ab3c9b849606fd8c5cc501d88a88d7cd973495962a288926007558351908152a15161153b90816200049a8239f35b505051637122fedf60e11b8152fd5b84516353d892d160e01b81528690fd5b8551631e4fbdf760e01b8152600081890152602490fd5b0151935038806200015d565b9291948416928c600052848b6000209460005b8d89838310620002cd5750505010620002b2575b50505050811b0187556200016d565b01519060f884600019921b161c1916905538808080620002a3565b8686015189559097019694850194889350016200028f565b60005283826000209181890160051c830193891062000328575b0160051c019084905b8281106200031b57508c91508e6200013e565b6000815501849062000308565b92508192620002ff565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000129565b60418d634e487b7160e01b6000525260246000fd5b015190503880620000fd565b869350908e918860005282600020926000905b8c86168210620003c4575050838b811610620003ab575b505050811b0184556200010f565b015160001983891b60f8161c191690553880806200039d565b919294958291948685015181550194019201908f91889594939262000386565b909192508760005285826000209181860160051c830193861062000433575b918891869594930160051c01915b8281106200042357508f9150620000e5565b6000815585945088910162000411565b9250819262000403565b5060228f634e487b7160e01b6000525260246000fd5b91607f1691620000d0565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620004635760405256fe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146101dd57806307546172146101d8578063095ea7b3146101d357806318160ddd146101ce57806323b872dd146101c9578063313ce567146101c4578063397f145f146101bf5780633af32abf146101b05780633c340940146101ba57806340c10f19146101b557806341566585146101b057806342966c68146101ab5780634c4f2d04146101a65780634f8fc921146101a15780635139fb461461019c5780635794f9d41461019757806370a0823114610192578063715018a61461018d5780638610b09e146101835780638da5cb5b146101885780638fa817321461018357806395d89b411461017e578063a42dce8014610179578063a9059cbb14610174578063c415b95c1461016f578063dd62ed3e1461016a578063eff8143514610165578063f2fde38b146101605763fca3b5aa1461015b57600080fd5b610dfb565b610d85565b610cd0565b610c84565b610c5b565b610c2a565b610b4c565b610a89565b610a43565b610a60565b6109f7565b6109bd565b6108cf565b6108b1565b610893565b61082b565b610790565b610669565b6106c6565b6106a8565b610529565b61050d565b61046b565b61044d565b61039d565b610348565b61022b565b6020808252825181830181905290939260005b82811061021757505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016101f5565b34610337576000806003193601126103345760405190806003549060019180831c9280821692831561032a575b60209283861085146103165785885260208801949081156102f5575060011461029c575b6102988761028c81890382610e90565b604051918291826101e2565b0390f35b600360005294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106102e4575050509101905061028c82610298388061027c565b8054858701529482019481016102c8565b60ff191685525050505090151560051b01905061028c82610298388061027c565b634e487b7160e01b82526022600452602482fd5b93607f1693610258565b80fd5b600080fd5b6001600160a01b031690565b34610337576000366003190112610337576009546040516001600160a01b039091168152602090f35b600435906001600160a01b038216820361033757565b602435906001600160a01b038216820361033757565b34610337576040366003190112610337576103b6610371565b6024353315610434576001600160a01b03821691821561041b576103e382916103de33610745565b610779565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b34610337576000366003190112610337576020600254604051908152f35b3461033757606036600319011261033757610484610371565b61048c610387565b6044359060018060a01b03831660005260016020526104af336040600020610779565b5492600184016104d0575b6104c49350610ec9565b60405160018152602090f35b8284106104ec576104e7836104c495033383610f06565b6104ba565b604051637dc7a0d960e11b81528061050985873360048501610f2d565b0390fd5b3461033757600036600319011261033757602060405160128152f35b3461033757604036600319011261033757610542610371565b602435801515810361033757610556610e64565b80156105ec576001600160a01b03821680156105da5761057f6105788461072b565b5460ff1690565b6105c8576105c6926105b5917f4f783c179409b4127238bc9c990bc99b9a651666a0d20b51d6c42849eb88466d600080a261072b565b9060ff801983541691151516179055565b005b604051630f084ddf60e31b8152600490fd5b604051633756244d60e01b8152600490fd5b6001600160a01b03821680156106575761060f61060b6105788561072b565b1590565b610645576105c6926105b5917f535611fb62fa2a833988f283b779e417e996813e44046f521d76c17b5943b08c600080a261072b565b60405163ad7acb4760e01b8152600490fd5b604051633188159760e11b8152600490fd5b34610337576020366003190112610337576001600160a01b0361068a610371565b16600052600b602052602060ff604060002054166040519015158152f35b34610337576000366003190112610337576020600754604051908152f35b34610337576040366003190112610337576106df610371565b6009546001600160a01b03908116330361071957811615610707576105c69060243590610fae565b60405163e6c4247b60e01b8152600490fd5b60405163045241dd60e01b8152600490fd5b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b34610337576020366003190112610337576004356107b060075482611487565b9081810390811161082657331561080d576107cb90336110b2565b801515806107ef575b6107da57005b6105c6906107e960085461033c565b33610ec9565b506008546001600160a01b03906108059061033c565b1615156107d4565b604051634b637e8f60e11b815260006004820152602490fd5b610f4b565b3461033757602036600319011261033757600435610847610e64565b6103e88111610881576020817fc95e3cdb0b31b8636c27d550ff6665d89d668b27ac8ffd62eb9a00bc8eade77592600a55604051908152a1005b604051630ec87b9d60e21b8152600490fd5b34610337576000366003190112610337576020600a54604051908152f35b34610337576000366003190112610337576020600654604051908152f35b34610337576020366003190112610337576004356108eb610e64565b6103e881116109ab5760065480610940575b7f2ca04e67ea99ed7e999e7e5bddcc141c31b0d558dbf6c018b19dc6e73c1264f861093b8361092b81600655565b6040519081529081906020820190565b0390a1005b61094c600a5482611487565b9081810180821161082657831191821561097f575b505061096d57386108fd565b604051630ed3cb6360e41b8152600490fd5b909150828281109283610997575b5050503880610961565b6109a2929350610f61565b1138828161098d565b604051634b79937960e01b8152600490fd5b34610337576020366003190112610337576001600160a01b036109de610371565b1660005260006020526020604060002054604051908152f35b346103375760008060031936011261033457610a11610e64565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206114c68339815191528280a380f35b346103375760003660031901126103375760206040516103e88152f35b34610337576000366003190112610337576005546040516001600160a01b039091168152602090f35b34610337576000806003193601126103345760405190806004549060019180831c92808216928315610b42575b60209283861085146103165785885260208801949081156102f55750600114610ae9576102988761028c81890382610e90565b600460005294509192917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b838610610b31575050509101905061028c82610298388061027c565b805485870152948201948101610b15565b93607f1693610ab6565b3461033757602036600319011261033757610b65610371565b610b6d610e64565b600854906001600160a01b03908183161580610c1f575b610bf2575b1680918115610bc8575b6001600160a01b031916176008557f12e1d17016b94668449f97876f4a8d5cc2c19f314db337418894734037cc19d4600080a2005b7f04a98e10f560e94a90ad1e6dbdcc0afd4c5f8cbba3a712a1c2779c07ee2112cb600080a1610b93565b8181167f2daa03c9c35b0db99b0b614fc3e94af962870c11042b4eddf43ca05f733c22a4600080a2610b89565b508181161515610b84565b3461033757604036600319011261033757610c50610c46610371565b6024359033610ec9565b602060405160018152f35b34610337576000366003190112610337576008546040516001600160a01b039091168152602090f35b34610337576040366003190112610337576020610cc7610ca2610371565b610caa610387565b6001600160a01b0390911660009081526001845260409020610779565b54604051908152f35b3461033757602036600319011261033757600435610cec610e64565b6103e881116109ab5760075480610d2c575b7ff0bdbee6eff4ff8b804ab3c9b849606fd8c5cc501d88a88d7cd973495962a28861093b8361092b81600755565b610d38600a5482611487565b90818101808211610826578311918215610d59575b505061096d5738610cfe565b909150828281109283610d71575b5050503880610d4d565b610d7c929350610f61565b11388281610d67565b3461033757602036600319011261033757610d9e610371565b610da6610e64565b6001600160a01b03908116908115610de257600580546001600160a01b031981168417909155166000805160206114c6833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461033757602036600319011261033757610e14610371565b610e1c610e64565b6001600160a01b0316801561070757600980546001600160a01b031916821790557f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b6600080a2005b6005546001600160a01b03163303610e7857565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b03821190821017610eb357604052565b634e487b7160e01b600052604160045260246000fd5b91906001600160a01b038084161561080d57811615610eed57610eeb926111a7565b565b60405163ec442f0560e01b815260006004820152602490fd5b906001600160a01b03808316156104345781161561041b576103de610f2a92610745565b55565b604091949392606082019560018060a01b0316825260208201520152565b634e487b7160e01b600052601160045260246000fd5b9190820391821161082657565b9190820180921161082657565b8181029291811591840414171561082657565b8115610f98570490565b634e487b7160e01b600052601260045260246000fd5b610fbd60065460075490610f6e565b91821580156110aa575b8015611099575b8015611073575b8015611061575b8015611044575b611039578281611034611011610fff610eeb9761102996611487565b9361100c60075486610f7b565b610f8e565b61102f61101f60085461033c565b6110298387610f61565b90611366565b611292565b610f61565b90610eeb9250611366565b506008546001600160a01b039061105a9061033c565b1615610fe3565b5061106e6105788361072b565b610fdc565b5060008052600b6020526110946000805160206114a6833981519152610578565b610fd5565b506001600160a01b03821615610fce565b506001610fc7565b6110c160065460075490610f6e565b9182158015611196575b801561118e575b801561117c575b8015611156575b8015611139575b61112e578281611034611103610fff610eeb9761112896611487565b61112261111160085461033c565b61111b8387610f61565b90886113c6565b856112c3565b906112c3565b90610eeb92506112c3565b506008546001600160a01b039061114f9061033c565b16156110e7565b5060008052600b6020526111776000805160206114a6833981519152610578565b6110e0565b506111896105788361072b565b6110d9565b5060016110d2565b506001600160a01b038216156110cb565b906111b760065460075490610f6e565b9283158015611281575b8015611270575b801561125e575b801561124c575b801561122f575b6112245783816110346111f9610fff610eeb9861121e96611487565b61121861120760085461033c565b6112118387610f61565b90896113c6565b866112c3565b916113c6565b91610eeb93506113c6565b506008546001600160a01b03906112459061033c565b16156111dd565b506112596105788361072b565b6111d6565b5061126b6105788461072b565b6111cf565b506001600160a01b038216156111c8565b506001600160a01b038316156111c1565b600254818101809111610826576000805160206114e6833981519152602083600094859403600255604051908152a3565b6001600160a01b038116908161130c5750600254918083018093116108265760206000805160206114e6833981519152916000946002555b8060025403600255604051908152a3565b92916113178461075f565b549381851061134857816020916113426000805160206114e68339815191529460009798039161075f565b556112fb565b610509859260405193849363391434e360e21b855260048501610f2d565b90600254908082018092116108265760206000805160206114e68339815191529160009360025560018060a01b03851694851585146113b2575080600254036002555b604051908152a3565b6113bb9061075f565b8181540190556113a9565b90916001600160a01b038083169283611431575081611418916114026113fd6000805160206114e683398151915295600254610f6e565b600255565b8516948561141d575061092b8160025403600255565b0390a3565b6114269061075f565b81815401905561092b565b61143a8161075f565b54838110611469579183916114636000805160206114e68339815191529561141895039161075f565b55611402565b906105098460405193849363391434e360e21b855260048501610f2d565b8161138819048111158215171561033757612710910261138801049056fedf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f768be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200416f31d69ad25ac346b6d6ed15b605df58dd6fe72448e9e9dd1884b1442b15b64736f6c63430008140033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";