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

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 (487) 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/{lendingPool → stabilityPool}/getWithdrawRequestInfo.js +7 -7
  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/{lendingPool → stabilityPool}/getWithdrawRequestInfo.d.ts +4 -2
  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/types/pools/{lendingPool → stabilityPool}/requestWithdraw.d.ts +0 -0
@@ -5,16 +5,16 @@ import type { RToken, RTokenInterface } from "../../../../contracts/core/tokens/
5
5
  type RTokenConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
6
  export declare class RToken__factory extends ContractFactory {
7
7
  constructor(...args: RTokenConstructorParams);
8
- getDeployTransaction(name: string, symbol: string, initialOwner: AddressLike, assetAddress: AddressLike, overrides?: NonPayableOverrides & {
8
+ getDeployTransaction(name: string, symbol: string, initialOwner: AddressLike, assetAddress: AddressLike, complianceRegistry: AddressLike, overrides?: NonPayableOverrides & {
9
9
  from?: string;
10
10
  }): Promise<ContractDeployTransaction>;
11
- deploy(name: string, symbol: string, initialOwner: AddressLike, assetAddress: AddressLike, overrides?: NonPayableOverrides & {
11
+ deploy(name: string, symbol: string, initialOwner: AddressLike, assetAddress: AddressLike, complianceRegistry: AddressLike, overrides?: NonPayableOverrides & {
12
12
  from?: string;
13
13
  }): Promise<RToken & {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RToken__factory;
17
- static readonly bytecode = "0x610160604081815234620004e557620027828038038091620000228286620004ea565b84398201608083820312620004e55782516001600160401b039290838111620004e557826200005391860162000533565b916020908186015190858211620004e5576200007191870162000533565b906200008d6060620000858589016200058e565b97016200058e565b9183519684880188811088821117620003e457855260019687895283890197603160f81b89528751828111620003e45760038054918383811c93168015620004da575b88841014620004c457601f9283811162000479575b5080888482116001146200040657600091620003fa575b5060001982841b1c191690841b1781555b855191848311620003e45760049687548581811c91168015620003d9575b8a821014620003c45782811162000379575b50889184116001146200030e5793839491849260009562000302575b50501b92600019911b1c19161783555b6200017487620005a3565b97610120988952620001868a62000748565b97610140988952858151910120998a60e0525190209861010099808b524660a0528751958601917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528887015260608601524660808601523060a086015260a0855260c085019185831090831117620002ed57818752845190206080523060c0526001600160a01b03918216938415620002d6575050600880546001600160a01b0319808216861790925586519591949083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316928315620002ca5750506b033b2e3c9fd0803ce8000000600b55600a541617600a555191611ee29384620008a085396080518461111a015260a051846111d5015260c051846110e4015260e051846111690152518361118f01525182610888015251816108b10152f35b63e6c4247b60e01b8152fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604184634e487b7160e01b6000525260246000fd5b01519350388062000159565b9190601f1984169288600052848a6000209460005b8c8983831062000361575050501062000346575b50505050811b01835562000169565b01519060f884600019921b161c191690553880808062000337565b86860151895590970196948501948893500162000323565b88600052896000208380870160051c8201928c8810620003ba575b0160051c019086905b828110620003ad5750506200013d565b600081550186906200039d565b9250819262000394565b602289634e487b7160e01b6000525260246000fd5b90607f16906200012b565b634e487b7160e01b600052604160045260246000fd5b90508b015138620000fc565b8592508c90601f198316856000528b600020928c6000915b838310620004575750505083116200043e575b5050811b0181556200010d565b8d015160001983861b60f8161c19169055388062000431565b948482949597989293960151815501940192019087949392918f8d906200041e565b82600052886000208480840160051c8201928b8510620004ba575b0160051c019085905b828110620004ad575050620000e5565b600081550185906200049d565b9250819262000494565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000d0565b600080fd5b601f909101601f19168101906001600160401b03821190821017620003e457604052565b60005b838110620005225750506000910152565b818101518382015260200162000511565b81601f82011215620004e55780516001600160401b038111620003e457604051926200056a601f8301601f191660200185620004ea565b81845260208284010111620004e5576200058b91602080850191016200050e565b90565b51906001600160a01b0382168203620004e557565b8051602091908281101562000623575090601f825111620005e15780825192015190808310620005d257501790565b82600019910360031b1b161790565b604490620006159260405193849263305a27a960e01b8452806004850152825192839182602487015286860191016200050e565b601f01601f19168101030190fd5b6001600160401b038111620003e4576005928354926001938481811c911680156200073d575b83821014620004c457601f811162000706575b5081601f84116001146200069c575092829391839260009462000690575b50501b916000199060031b1c191617905560ff90565b0151925038806200067a565b919083601f1981168760005284600020946000905b88838310620006eb5750505010620006d1575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080620006c4565b858701518855909601959485019487935090810190620006b1565b8560005284601f846000209201871c820191601f8601881c015b828110620007305750506200065c565b6000815501859062000720565b90607f169062000649565b805160209081811015620007755750601f825111620005e15780825192015190808310620005d257501790565b906001600160401b038211620003e457600654926001938481811c9116801562000894575b83821014620004c457601f81116200085a575b5081601f8411600114620007ee5750928293918392600094620007e2575b50501b916000199060031b1c19161760065560ff90565b015192503880620007cb565b919083601f198116600660005284600020946000905b888383106200083f575050501062000825575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000817565b85870151885590960195948501948793509081019062000804565b600660005284601f84600020920160051c820191601f860160051c015b82811062000887575050620007ad565b6000815501859062000877565b90607f16906200079a56fe6080604052600436101561001257600080fd5b60003560e01c80630261bf8b146101f257806306fdde03146101ed578063095ea7b3146101e8578063113aa8b1146101e357806311cf308d146101de57806312064c34146101d957806318160ddd146101d457806323b872dd146101cf578063261de8e4146101ca578063313ce567146101c55780633644e515146101c05780635c921eb9146101bb578063670ab5e91461017057806370a08231146101b6578063715018a6146101b1578063768bab45146101ac5780637ecebe00146101a757806384b0196e146101a25780638da5cb5b1461019d57806395d89b4114610198578063a592d9ec14610193578063a9059cbb1461018e578063b3f1c93d14610189578063ce9d735f14610184578063d505accf1461017f578063d7020d0a1461017a578063dd62ed3e14610175578063e4f43ae014610170578063e5711e8b1461016b5763f2fde38b1461016657600080fd5b610d3b565b610ce5565b6106d8565b610c99565b610c54565b610b16565b610afb565b610aaf565b610a50565b610a32565b61098e565b610965565b61086d565b610833565b610770565b610724565b610701565b610698565b61067d565b610661565b610643565b610578565b610520565b6104e6565b610461565b6103e0565b6103af565b6102a3565b610226565b600091031261020257565b600080fd5b6001600160a01b031690565b6001600160a01b03909116815260200190565b34610202576000366003190112610202576009546040516001600160a01b039091168152602090f35b919082519283825260005b84811061027b575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161025a565b9060206102a092818152019061024f565b90565b346102025760008060031936011261038057604051816003546102c581610ddd565b8084529060019081811690811561035857506001146102ff575b6102fb846102ef81880382610eb1565b6040519182918261028f565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061034557505050816102fb936102ef92820101936102df565b8054858501870152928501928101610329565b6102fb96506102ef9450602092508593915060ff191682840152151560051b820101936102df565b80fd5b600435906001600160a01b038216820361020257565b602435906001600160a01b038216820361020257565b34610202576040366003190112610202576103d56103cb610383565b6024359033610f39565b602060405160018152f35b34610202576020366003190112610202576103f9610383565b610401610db1565b6001600160a01b0390811690811561044f57600980546001600160a01b031981168417909155167fb8852e851bdabda04c25661cfbfa7b09b3019206382f067a349af593e883214a600080a3005b60405163e6c4247b60e01b8152600490fd5b3461020257602036600319011261020257600954600435906001600160a01b031633036104d457600b5481106104c2576020817f98c7d87cc1242fd0802e2cc1c048bab3a03309350b0e8af0c06f6110b7aa168692600b55604051908152a1005b60405163162908e360e11b8152600490fd5b6040516323f09b3960e21b8152600490fd5b34610202576020366003190112610202576001600160a01b03610507610383565b1660005260006020526020604060002054604051908152f35b3461020257600036600319011261020257602061053b611ab4565b604051908152f35b6060906003190112610202576001600160a01b0390600435828116810361020257916024359081168103610202579060443590565b346102025761058636610543565b9060018060a01b038316928360005260016020526105a8336040600020610f22565b549360001985106105bf575b506103d59350611b17565b83851061062257156106095733156105f057826103d594036105e9336105e484610ed4565b610f22565b55386105b4565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b81528061063f86883360048501611c0b565b0390fd5b34610202576000366003190112610202576020600b54604051908152f35b3461020257600036600319011261020257602060405160128152f35b3461020257600036600319011261020257602061053b6110e1565b34610202576040366003190112610202576106b1610383565b6009546001600160a01b0390811633036104d4576106d69160243591600a5416611996565b005b3461020257600036600319011261020257600a546040516001600160a01b039091168152602090f35b3461020257602036600319011261020257602061053b61071f610383565b611a13565b34610202576000806003193601126103805761073e610db1565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611e6d8339815191528280a380f35b3461020257604036600319011261020257610789610383565b600954602435916001600160a01b0391821633036104d45781811692831561044f576107b3611cea565b8015610821577f8e0c39c35c1b74f6bfcad090b169e897c28876977985f957d1ba4ae1f85e3ff893610812936107fd93610802938082101561081757509384925b600a5416610207565b611996565b6040519081529081906020820190565b0390a2005b90509384926107f4565b60405163c4a0580160e01b8152600490fd5b34610202576020366003190112610202576001600160a01b03610854610383565b1660005260076020526020604060002054604051908152f35b346102025760008060031936011261038057610917906108ac7f0000000000000000000000000000000000000000000000000000000000000000611221565b6108d57f0000000000000000000000000000000000000000000000000000000000000000611319565b91604051916108e383610e45565b818352604051948594600f60f81b865261090960209360e08589015260e088019061024f565b90868203604088015261024f565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061094e57505050500390f35b83518552869550938101939281019260010161093f565b34610202576000366003190112610202576008546040516001600160a01b039091168152602090f35b346102025760008060031936011261038057604051816004546109b081610ddd565b8084529060019081811690811561035857506001146109d9576102fb846102ef81880382610eb1565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a1f57505050816102fb936102ef92820101936102df565b8054858501870152928501928101610a03565b34610202576000366003190112610202576020600254604051908152f35b34610202576040366003190112610202576103d5610a6c610383565b6024359033611b17565b6080906003190112610202576001600160a01b039060043582811681036102025791602435908116810361020257906044359060643590565b3461020257610abd36610a76565b6009549293929091906001600160a01b031633036104d457608093610ae193611417565b916040519315158452602084015260408301526060820152f35b3461020257600036600319011261020257602061053b611cea565b346102025760e036600319011261020257610b2f610383565b610b37610399565b6044359060643560843560ff8116810361020257814211610c3b576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610bf4929091610bdc60e083610eb1565b610bef60c4359360a435935190206111fb565b610f91565b6001600160a01b0384811690821603610c1157506106d692610f39565b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b3461020257610c6236610a76565b6009549293929091906001600160a01b031633036104d457606093610c8693611716565b9060405192835260208301526040820152f35b34610202576040366003190112610202576020610cdc610cb7610383565b610cbf610399565b6001600160a01b0390911660009081526001845260409020610f22565b54604051908152f35b3461020257610cf336610543565b6009549091906001600160a01b0390811633036104d4578082161561044f5780600a54169316928314610d29576106d692611996565b604051637d1eea7760e11b8152600490fd5b3461020257602036600319011261020257610d54610383565b610d5c610db1565b6001600160a01b03908116908115610d9857600880546001600160a01b03198116841790915516600080516020611e6d833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b6008546001600160a01b03163303610dc557565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610e0d575b6020831014610df757565b634e487b7160e01b600052602260045260246000fd5b91607f1691610dec565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610e4057604052565b610e17565b602081019081106001600160401b03821117610e4057604052565b60c081019081106001600160401b03821117610e4057604052565b604081019081106001600160401b03821117610e4057604052565b608081019081106001600160401b03821117610e4057604052565b601f909101601f19168101906001600160401b03821190821017610e4057604052565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b6001600160a01b03166000908152600c6020526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156106095782169384156105f05780610f877f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925946105e4602095610ed4565b55604051908152a3565b916102a09391610fa093610fb5565b90929192611054565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161102857926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156110235780516001600160a01b0381161561101a57918190565b50809160019190565b610fa9565b50505060009160039190565b6004111561103e57565b634e487b7160e01b600052602160045260246000fd5b61105d81611034565b80611066575050565b61106f81611034565b600181036110895760405163f645eedf60e01b8152600490fd5b61109281611034565b600281036110b35760405163fce698f760e01b815260048101839052602490fd5b806110bf600392611034565b146110c75750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806111d2575b1561113c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526111cc81610e60565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611113565b6042906112066110e1565b906040519161190160f01b8352600283015260228201522090565b60ff811461125f5760ff811690601f821161124d576040519161124383610e7b565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061127283610ddd565b8083526001938085169081156112f85750600114611298575b506102a092500382610eb1565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106112e05750506102a093508201013861128b565b855487840185015294850194869450918301916112c9565b90506102a094506020925060ff191682840152151560051b8201013861128b565b60ff811461133b5760ff811690601f821161124d576040519161124383610e7b565b5060405160065481600061134e83610ddd565b8083526001938085169081156112f8575060011461137357506102a092500382610eb1565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106113bb5750506102a093508201013861128b565b855487840185015294850194869450918301916113a4565b90816020910312610202575190565b634e487b7160e01b600052601160045260246000fd5b9190820391821161140557565b6113e2565b9190820180921161140557565b909391926001600160a01b039291831680158015611629575b61044f578415611615576114448286611e12565b9361144e87610eee565b54906004602061146a611465611465600954610207565b610207565b60405163220f1ac960e21b815292839182905afa928315611023576114ef6114e97f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee958c611558956000926115d9575b506114d76114ca6114e392610f08565b546001600160801b031690565b6001600160801b031690565b906113f8565b82611e12565b15986000918b906001600160801b03898161150c6114ca86610f08565b16151591826115c1575b5050611590575b505061155361152b886116e3565b6115348d610f08565b80546001600160801b0319166001600160801b03909216919091179055565b61140a565b9761156e6115686114d78b6116e3565b82611633565b604080518a81526020810196909652911693a3611589611ab4565b9293929190565b6115b9929350806115b36114d76114ca6115ad8d6114e396611e12565b95610f08565b90611e12565b908a3861151d565b9091506115d06114ca85610f08565b16108938611516565b6114e39192506114ca6116056114d79260203d811161160e575b6115fd8183610eb1565b8101906113d3565b939250506114ba565b503d6115f3565b505092505050600090600090600090600090565b5083861615611430565b6001600160a01b0380821692919083156116ca5760095416803b1561020257600080916024604051809481936331b5a45b60e21b83528960048401525af18015611023576116bb575b5060025490828201809211611405576000926116ac602092600080516020611e8d83398151915294600255610eee565b818154019055604051908152a3565b6116c490610e2d565b3861167c565b60405163ec442f0560e01b815260006004820152602490fd5b6001600160801b03908181116116f7571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b919290916001600160a01b038082169290831580156118b5575b61044f5785156118a05761174383611a13565b9061174d84610eee565b54600092906001600160801b0385816117686114ca8a610f08565b1615159182611888575b505061185e575b5061178f611786856116e3565b61153487610f08565b808811611856575b508660009281811160001461181957946117ce6114d76117c96117d494600080516020611e4d833981519152996113f8565b6116e3565b90611633565b85169486308703611800575b5050604080519182526020820192909252a36117fa611ab4565b90918290565b611812916107fd611465600a54610207565b38866117e0565b906118259293506113f8565b9081156104c257611851600080516020611e4d8339815191529461184b6114d7856116e3565b906118bf565b6117d4565b965038611797565b6118819193506114e36118718683611e12565b916115b36114d76114ca8a610f08565b9138611779565b9091506118976114ca89610f08565b16108538611772565b5050505050506118ae611ab4565b6000918290565b5080851615611730565b91906001600160a01b038084169190821561197d5760095416803b1561020257600080916024604051809481936331b5a45b60e21b83528860048401525af180156110235761196e575b5061191384610eee565b5493818510611950578160209161193e600080516020611e8d83398151915294600097980391610eee565b558060025403600255604051908152a3565b61063f859260405193849363391434e360e21b855260048501611c0b565b61197790610e2d565b38611909565b604051634b637e8f60e11b815260006004820152602490fd5b9160006020916040518381019163a9059cbb60e01b835260018060a01b0380961660248301526044820152604481526119ce81610e96565b519082865af115610fa9576000513d611a0a57508082163b155b6119f0575050565b604051635274afe760e01b81529116600482015260249150fd5b600114156119e8565b600460018060a01b03918281166000526000602052602060406000205493600954166040519384809263220f1ac960e21b82525afa91821561102357600092611a94575b506001600160801b0390611a6a90610f08565b5416808203918083116114055714611a905790611a8a6102a09282611e12565b9061140a565b5090565b611aad91925060203d811161160e576115fd8183610eb1565b9038611a57565b60025460095460405163220f1ac960e21b81529190602090839060049082906001600160a01b03165afa908115611023576102a092600092611af7575b50611e12565b611b1091925060203d811161160e576115fd8183610eb1565b9038611af1565b6001600160a01b0380821693929190841561197d57821680156116ca57611b45611465611465600954610207565b94853b156102025760405191826331b5a45b60e21b978882526000948591818381611b738b60048301610213565b03925af1801561102357611bf8575b5003611b96575b50611b949350611c29565b565b611ba7611465611465600954610207565b94853b15611bf4576040519586918252818381611bc78860048301610213565b03925af193841561102357611b949415611b895780611be8611bee92610e2d565b806101f7565b38611b89565b5080fd5b80611be8611c0592610e2d565b38611b82565b604091949392606082019560018060a01b0316825260208201520152565b90916001600160a01b038083169283611c94575081611c7b91611c65611c60600080516020611e8d8339815191529560025461140a565b600255565b85169485611c8057506108028160025403600255565b0390a3565b611c8990610eee565b818154019055610802565b611c9d81610eee565b54838110611ccc57918391611cc6600080516020611e8d83398151915295611c7b950391610eee565b55611c65565b9061063f8460405193849363391434e360e21b855260048501611c0b565b611cfb611465611465600a54610207565b6040516370a0823160e01b815290602090819083908180611d1f3060048301610213565b03915afa91821561102357600092611df3575b50611d44611465611465600954610207565b60405163220f1ac960e21b808252938382600481865afa90811561102357611d7392600092611ddb5750611e12565b9282611d7d611ab4565b9160046040518095819382525afa91821561102357611da593600093611dbc575b5050611e12565b808211611db3575050600090565b6102a0916113f8565b611dd3929350803d1061160e576115fd8183610eb1565b903880611d9e565b611b10919250853d871161160e576115fd8183610eb1565b81611e0b9293503d841161160e576115fd8183610eb1565b9038611d32565b8115676765c793fa10079d601a1b19839004821115171561020257676765c793fa10079d601b1b9102676765c793fa10079d601a1b01049056fe5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa28be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209485e0cab6dc634b8996ab05df7e63a7dccf3d144d06bb6dcd1339fed5cc065164736f6c63430008140033";
17
+ static readonly bytecode = "0x6101806040818152346200054557620027d780380380916200002282866200054a565b8439820160a083820312620005455782516001600160401b0392908381116200054557826200005391860162000593565b90602092838601519085821162000545576200007191870162000593565b6200007e828701620005ee565b946200009b60806200009360608a01620005ee565b9801620005ee565b958351978489018981108482111762000440578552600197888a52878a0198603160f81b8a528751858111620004405760038054918383811c931680156200053a575b8c84101462000524578b601f93848111620004d7575b5050808c848211600114620004625760009162000456575b5060001982841b1c191690841b1781555b875191878311620004405760049889548d8682811c921690811562000435575b821014620004205780838f9211620003d3575b50508c918411600114620003615793839491849260009562000355575b50501b92600019911b1c19161785555b620001888762000603565b98610120998a526200019a8b620007a8565b976101409889528981519101209a8b60e052519020936101009a858c524660a0528751958a8701917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528988015260608701524660808701523060a087015260a0865260c0860191868310908311176200034057818852855190206080523060c0526001600160a01b0393841694851562000329575050826008549160018060a01b031995808785161760085582895194167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316978815620002f957505061016096875216918215620002eb5750600a541617600a555192611ed7948562000900863960805185611190015260a0518561124b015260c0518561115a015260e051856111df015251846112050152518361087b015251826108a4015251818181610b260152611bdd0152f35b835163e6c4247b60e01b8152fd5b62461bcd60e51b825281860152600d60248201526c5a65726f20726567697374727960981b604482015260649150fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604187634e487b7160e01b6000525260246000fd5b0151935038806200016d565b908c929184601f1981168c60005285600020956000905b89838310620003b557505050106200039a575b50505050811b0185556200017d565b01519060f884600019921b161c19169055388080806200038b565b90929350859783929686015181550196019301908f91879262000378565b8b60005283826000209181880160051c830193881062000416575b0160051c019086905b8281106200040957508e915062000150565b60008155018690620003f7565b92508192620003ee565b60228b634e487b7160e01b6000525260246000fd5b91607f16916200013d565b634e487b7160e01b600052604160045260246000fd5b90508b0151386200010c565b8592508d908d601f198416908660005283600020936000915b838310620004b45750505083116200049b575b5050811b0181556200011d565b8d015160001983861b60f8161c1916905538806200048e565b94848294959798929396015181550194019201908f918f9289969594936200047b565b8360005284826000209181850160051c83019385106200051a575b0160051c019085905b8281106200050d57508d9150620000f4565b60008155018590620004fb565b92508192620004f2565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000de565b600080fd5b601f909101601f19168101906001600160401b038211908210176200044057604052565b60005b838110620005825750506000910152565b818101518382015260200162000571565b81601f82011215620005455780516001600160401b038111620004405760405192620005ca601f8301601f1916602001856200054a565b818452602082840101116200054557620005eb91602080850191016200056e565b90565b51906001600160a01b03821682036200054557565b8051602091908281101562000683575090601f8251116200064157808251920151908083106200063257501790565b82600019910360031b1b161790565b604490620006759260405193849263305a27a960e01b8452806004850152825192839182602487015286860191016200056e565b601f01601f19168101030190fd5b6001600160401b03811162000440576005928354926001938481811c911680156200079d575b838210146200052457601f811162000766575b5081601f8411600114620006fc5750928293918392600094620006f0575b50501b916000199060031b1c191617905560ff90565b015192503880620006da565b919083601f1981168760005284600020946000905b888383106200074b575050501062000731575b505050811b01905560ff90565b015160001960f88460031b161c1916905538808062000724565b85870151885590960195948501948793509081019062000711565b8560005284601f846000209201871c820191601f8601881c015b82811062000790575050620006bc565b6000815501859062000780565b90607f1690620006a9565b805160209081811015620007d55750601f8251116200064157808251920151908083106200063257501790565b906001600160401b0382116200044057600654926001938481811c91168015620008f4575b838210146200052457601f8111620008ba575b5081601f84116001146200084e575092829391839260009462000842575b50501b916000199060031b1c19161760065560ff90565b0151925038806200082b565b919083601f198116600660005284600020946000905b888383106200089f575050501062000885575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000877565b85870151885590960195948501948793509081019062000864565b600660005284601f84600020920160051c820191601f860160051c015b828110620008e75750506200080d565b60008155018590620008d7565b90607f1690620007fa56fe6080604052600436101561001257600080fd5b60003560e01c80630261bf8b1461020257806306fdde03146101fd578063095ea7b3146101f8578063113aa8b1146101f357806312064c34146101ee57806318160ddd146101e957806323b872dd146101e4578063313ce567146101df5780633644e515146101da5780635c921eb9146101d5578063670ab5e91461018057806370a08231146101d0578063715018a6146101cb578063768bab45146101c65780637ecebe00146101c157806384b0196e146101bc5780638da5cb5b146101b757806395d89b41146101b2578063a14e19d5146101ad578063a592d9ec146101a8578063a9059cbb146101a3578063b3f1c93d1461019e578063cac89c5c14610199578063ce9d735f14610194578063d505accf1461018f578063d7020d0a1461018a578063dd62ed3e14610185578063e4f43ae014610180578063e5711e8b1461017b578063ee9907a4146101765763f2fde38b1461017157600080fd5b610dc9565b610d87565b610d37565b6106cb565b610ceb565b610cb8565b610b7b565b610b55565b610b10565b610ac0565b610a61565b610a43565b610a25565b610981565b610958565b610860565b610826565b610763565b610717565b6106f4565b610679565b61065e565b6105c2565b6104f8565b6104a0565b610466565b6103e5565b6103b4565b6102a8565b610226565b6001600160a01b031690565b6001600160a01b03909116815260200190565b3461024f57600036600319011261024f576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610280575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161025f565b9060206102a5928181520190610254565b90565b3461024f5760008060031936011261038557604051816003546102ca81610e6b565b8084529060019081811690811561035d5750600114610304575b610300846102f481880382610f2c565b60405191829182610294565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061034a5750505081610300936102f492820101936102e4565b805485850187015292850192810161032e565b61030096506102f49450602092508593915060ff191682840152151560051b820101936102e4565b80fd5b600435906001600160a01b038216820361024f57565b602435906001600160a01b038216820361024f57565b3461024f57604036600319011261024f576103da6103d0610388565b6024359033610fb4565b602060405160018152f35b3461024f57602036600319011261024f576103fe610388565b610406610e3f565b6001600160a01b0390811690811561045457600980546001600160a01b031981168417909155167fb8852e851bdabda04c25661cfbfa7b09b3019206382f067a349af593e883214a600080a3005b60405163e6c4247b60e01b8152600490fd5b3461024f57602036600319011261024f576001600160a01b03610487610388565b1660005260006020526020604060002054604051908152f35b3461024f57600036600319011261024f5760206104bb61193e565b604051908152f35b606090600319011261024f576001600160a01b0390600435828116810361024f5791602435908116810361024f579060443590565b3461024f57610506366104c3565b9060018060a01b03831692836000526001602052610528336040600020610f9d565b54936001850161053e575b506103da93506119a1565b8385106105a1571561058857331561056f57826103da94036105683361056384610f4f565b610f9d565b5538610533565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806105be868833600485016119c3565b0390fd5b3461024f5760008060031936011261038557600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115610659578291610616575b60405160ff83168152602090f35b90506020813d8211610651575b8161063060209383610f2c565b8101031261064d5761030091505161064781610b70565b38610608565b5080fd5b3d9150610623565b611024565b3461024f57600036600319011261024f5760206104bb611157565b3461024f57604036600319011261024f57610692610388565b6009546001600160a01b0390811633036106b9576106b79160243591600a5416611710565b005b6040516323f09b3960e21b8152600490fd5b3461024f57600036600319011261024f57600a546040516001600160a01b039091168152602090f35b3461024f57602036600319011261024f5760206104bb610712610388565b61186c565b3461024f5760008060031936011261038557610731610e3f565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611e628339815191528280a380f35b3461024f57604036600319011261024f5761077c610388565b600954602435916001600160a01b0391821633036106b957818116928315610454576107a6611d86565b8015610814577f8e0c39c35c1b74f6bfcad090b169e897c28876977985f957d1ba4ae1f85e3ff893610805936107f0936107f5938082101561080a57509384925b600a5416610207565b611710565b6040519081529081906020820190565b0390a2005b90509384926107e7565b60405163c4a0580160e01b8152600490fd5b3461024f57602036600319011261024f576001600160a01b03610847610388565b1660005260076020526020604060002054604051908152f35b3461024f576000806003193601126103855761090a9061089f7f0000000000000000000000000000000000000000000000000000000000000000611297565b6108c87f000000000000000000000000000000000000000000000000000000000000000061138f565b91604051916108d683610ebb565b818352604051948594600f60f81b86526108fc60209360e08589015260e0880190610254565b908682036040880152610254565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b82811061094157505050500390f35b835185528695509381019392810192600101610932565b3461024f57600036600319011261024f576008546040516001600160a01b039091168152602090f35b3461024f5760008060031936011261038557604051816004546109a381610e6b565b8084529060019081811690811561035d57506001146109cc57610300846102f481880382610f2c565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a125750505081610300936102f492820101936102e4565b80548585018701529285019281016109f6565b3461024f57600036600319011261024f576020600b54604051908152f35b3461024f57600036600319011261024f576020600254604051908152f35b3461024f57604036600319011261024f576103da610a7d610388565b60243590336119a1565b608090600319011261024f576001600160a01b0390600435828116810361024f5791602435908116810361024f57906044359060643590565b3461024f57610ace36610a87565b6009549293929091906001600160a01b031633036106b95761030093610af39361148c565b604080519384526020840192909252908201529081906060820190565b3461024f57600036600319011261024f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461024f57600036600319011261024f5760206104bb611d86565b60ff81160361024f57565b3461024f5760e036600319011261024f57610b94610388565b610b9c61039e565b60443590606435608435610baf81610b70565b814211610c9f576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610c58929091610c4060e083610f2c565b610c5360c4359360a43593519020611271565b61100c565b6001600160a01b0384811690821603610c7557506106b792610fb4565b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b3461024f57610cc636610a87565b6009549293929091906001600160a01b031633036106b95761030093610af3936115d1565b3461024f57604036600319011261024f576020610d2e610d09610388565b610d1161039e565b6001600160a01b0390911660009081526001845260409020610f9d565b54604051908152f35b3461024f57610d45366104c3565b90610d4e610e3f565b6001600160a01b03818116156104545780600a54169316928314610d75576106b792611710565b604051637d1eea7760e11b8152600490fd5b3461024f57602036600319011261024f576001600160a01b03610da8610388565b16600052600c602052602060018060801b0360406000205416604051908152f35b3461024f57602036600319011261024f57610de2610388565b610dea610e3f565b6001600160a01b03908116908115610e2657600880546001600160a01b03198116841790915516600080516020611e62833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b6008546001600160a01b03163303610e5357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610e9b575b6020831014610e8557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610e7a565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117610ed657604052565b610ea5565b60c081019081106001600160401b03821117610ed657604052565b604081019081106001600160401b03821117610ed657604052565b608081019081106001600160401b03821117610ed657604052565b601f909101601f19168101906001600160401b03821190821017610ed657604052565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b6001600160a01b03166000908152600c6020526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b03808216929190831561058857821693841561056f57806110027f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594610563602095610f4f565b55604051908152a3565b916102a5939161101b93611030565b909291926110ca565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161109e57926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156106595780516001600160a01b0381161561109557918190565b50809160019190565b50505060009160039190565b600411156110b457565b634e487b7160e01b600052602160045260246000fd5b6110d3816110aa565b806110dc575050565b6110e5816110aa565b600181036110ff5760405163f645eedf60e01b8152600490fd5b611108816110aa565b600281036111295760405163fce698f760e01b815260048101839052602490fd5b806111356003926110aa565b1461113d5750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611248575b156111b2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261124281610edb565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611189565b60429061127c611157565b906040519161190160f01b8352600283015260228201522090565b60ff81146112d55760ff811690601f82116112c357604051916112b983610ef6565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b506040516005548160006112e883610e6b565b80835260019380851690811561136e575060011461130e575b506102a592500382610f2c565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106113565750506102a5935082010138611301565b8554878401850152948501948694509183019161133f565b90506102a594506020925060ff191682840152151560051b82010138611301565b60ff81146113b15760ff811690601f82116112c357604051916112b983610ef6565b506040516006548160006113c483610e6b565b80835260019380851690811561136e57506001146113e957506102a592500382610f2c565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106114315750506102a5935082010138611301565b8554878401850152948501948694509183019161141a565b6001600160401b038111610ed657601f01601f191660200190565b634e487b7160e01b600052601160045260246000fd5b9190820180921161148757565b611464565b9192916001600160a01b03908116919082158015611551575b61045457841561153d576114b98483611a00565b6114c38486611e3c565b91600b5492830180931161148757600b929092557f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee916115146001600160801b0361150d88611591565b168261155b565b60408051878152602081019690965291169390819081015b0390a361153761193e565b90918290565b505050505061154a61193e565b6000918290565b50808216156114a5565b906001600160a01b0382161561157857611576916000611aa6565b565b60405163ec442f0560e01b815260006004820152602490fd5b6001600160801b03908181116115a5571690565b604490604051906306dfcc6560e41b8252608060048301526024820152fd5b9190820391821161148757565b919290916001600160a01b0380821692909190831580156116d2575b6104545785156116c4577f5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa2926116698361162a8461152c96611a00565b611634848a611e3c565b600b54808211156116ad57505061164b6000600b55565b6116636116578a611591565b6001600160801b031690565b906116dc565b8516948630870361168f575b505060408051878152602081019290925290918291820190565b6116a6916107f06116a1600a54610207565b610207565b3886611675565b6116bf916116ba916115c4565b600b55565b61164b565b50505050505061154a61193e565b50828516156115ed565b906001600160a01b038216156116f757600061157692611aa6565b604051634b637e8f60e11b815260006004820152602490fd5b91600080916117859360405195602087019263a9059cbb60e01b845260018060a01b03809316602489015260448801526044875261174d87610f11565b1694519082865af13d156117da573d9061176682611449565b916117746040519384610f2c565b82523d6000602084013e5b836117fa565b80519081151591826117b8575b505061179b5750565b604051635274afe760e01b81529081906105be9060048301610213565b6117d39250906020806117cf9383010191016117e2565b1590565b3880611792565b60609061177f565b9081602091031261024f5751801515810361024f5790565b90611821575080511561180f57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611854575b611832575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561182a565b9081602091031261024f575190565b600461187782610f69565b5491602061188c6116a16116a1600954610207565b60405163220f1ac960e21b815293849182905afa9182156106595760009261190e575b506001600160801b036118d16118c483610f83565b546001600160801b031690565b16158015611906575b611901576102a592916118f56116576118c46118fb94610f83565b90611e3c565b90611e02565b505090565b5082156118da565b61193091925060203d8111611937575b6119288183610f2c565b81019061185d565b90386118af565b503d61191e565b600b5460095460405163220f1ac960e21b81529190602090839060049082906001600160a01b03165afa908115610659576102a592600092611981575b50611e02565b61199a91925060203d8111611937576119288183610f2c565b903861197b565b91906001600160a01b03808416156116f7578116156115785761157692611aa6565b604091949392606082019560018060a01b0316825260208201520152565b80546001600160801b0319166001600160801b03909216919091179055565b6001600160a01b038116600081815260208190526040812054929392918215611a855750600c6020526040902054611a6790611a5990611a5390611a4d906001600160801b031686611e3c565b84611e02565b93611591565b611a6285610f83565b6119e1565b808211611a7357505050565b8103908111611487576115769161155b565b92611576945060409250611a9890611591565b928152600c602052206119e1565b91906001600160a01b038084161515908180611cba575b611bc9575b611ad36116a16116a1600954610207565b604051639612071f60e01b81526020939190848180611af58b60048301610213565b0381855afa90811561065957600091611b9c575b50611b8a57836004916040519283809263220f1ac960e21b82525afa93841561065957600094611b6b575b5050611b5c575b8216611b4c575b5061157692611cc5565b611b569082611a00565b38611b42565b611b668286611a00565b611b3b565b611b82929450803d10611937576119288183610f2c565b913880611b34565b60405163098a315f60e01b8152600490fd5b611bbc9150853d8711611bc2575b611bb48183610f2c565b8101906117e2565b38611b09565b503d611baa565b60405163fe575a8760e01b808252602091907f0000000000000000000000000000000000000000000000000000000000000000841690838380611c0f8c60048301610213565b0381855afa92831561065957600093611c9b575b508215611c46575b5050905015611ac257604051632652747360e21b8152600490fd5b8391925060405192839182528180611c618a60048301610213565b03915afa91821561065957600092611c7e575b5050803880611c2b565b611c949250803d10611bc257611bb48183610f2c565b3880611c74565b611cb3919350843d8611611bc257611bb48183610f2c565b9138611c23565b508083161515611abd565b90916001600160a01b038083169283611d30575081611d1791611d01611cfc600080516020611e828339815191529560025461147a565b600255565b85169485611d1c57506107f58160025403600255565b0390a3565b611d2590610f69565b8181540190556107f5565b611d3981610f69565b54838110611d6857918391611d62600080516020611e8283398151915295611d17950391610f69565b55611d01565b906105be8460405193849363391434e360e21b8552600485016119c3565b600a546040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa90811561065957600091611de4575b50611dca61193e565b808211611dd8575050600090565b81039081116114875790565b611dfc915060203d8111611937576119288183610f2c565b38611dc1565b8115676765c793fa10079d601a1b19839004821115171561024f57676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b8160011c90676765c793fa10079d601b1b9081831904811184151761024f570201049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220decda158fbeb4fb22ae638dcedfc584e91e929adbc6dd06a6b6e078db4c81a8664736f6c63430008140033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "string";
@@ -32,9 +32,37 @@ export declare class RToken__factory extends ContractFactory {
32
32
  readonly internalType: "address";
33
33
  readonly name: "assetAddress";
34
34
  readonly type: "address";
35
+ }, {
36
+ readonly internalType: "address";
37
+ readonly name: "complianceRegistry";
38
+ readonly type: "address";
35
39
  }];
36
40
  readonly stateMutability: "nonpayable";
37
41
  readonly type: "constructor";
42
+ }, {
43
+ readonly inputs: readonly [{
44
+ readonly internalType: "address";
45
+ readonly name: "target";
46
+ readonly type: "address";
47
+ }];
48
+ readonly name: "AddressEmptyCode";
49
+ readonly type: "error";
50
+ }, {
51
+ readonly inputs: readonly [{
52
+ readonly internalType: "address";
53
+ readonly name: "account";
54
+ readonly type: "address";
55
+ }];
56
+ readonly name: "AddressInsufficientBalance";
57
+ readonly type: "error";
58
+ }, {
59
+ readonly inputs: readonly [];
60
+ readonly name: "BlacklistedAddress";
61
+ readonly type: "error";
62
+ }, {
63
+ readonly inputs: readonly [];
64
+ readonly name: "CannotDepositAndTransferInSameBlock";
65
+ readonly type: "error";
38
66
  }, {
39
67
  readonly inputs: readonly [];
40
68
  readonly name: "CannotRescueMainAsset";
@@ -143,6 +171,10 @@ export declare class RToken__factory extends ContractFactory {
143
171
  }];
144
172
  readonly name: "ERC2612InvalidSigner";
145
173
  readonly type: "error";
174
+ }, {
175
+ readonly inputs: readonly [];
176
+ readonly name: "FailedInnerCall";
177
+ readonly type: "error";
146
178
  }, {
147
179
  readonly inputs: readonly [{
148
180
  readonly internalType: "address";
@@ -528,6 +560,16 @@ export declare class RToken__factory extends ContractFactory {
528
560
  }];
529
561
  readonly stateMutability: "view";
530
562
  readonly type: "function";
563
+ }, {
564
+ readonly inputs: readonly [];
565
+ readonly name: "complianceRegistry";
566
+ readonly outputs: readonly [{
567
+ readonly internalType: "contract IComplianceRegistry";
568
+ readonly name: "";
569
+ readonly type: "address";
570
+ }];
571
+ readonly stateMutability: "view";
572
+ readonly type: "function";
531
573
  }, {
532
574
  readonly inputs: readonly [];
533
575
  readonly name: "decimals";
@@ -594,7 +636,7 @@ export declare class RToken__factory extends ContractFactory {
594
636
  readonly type: "function";
595
637
  }, {
596
638
  readonly inputs: readonly [];
597
- readonly name: "getLiquidityIndex";
639
+ readonly name: "getRawTotalDeposits";
598
640
  readonly outputs: readonly [{
599
641
  readonly internalType: "uint256";
600
642
  readonly name: "";
@@ -602,6 +644,20 @@ export declare class RToken__factory extends ContractFactory {
602
644
  }];
603
645
  readonly stateMutability: "view";
604
646
  readonly type: "function";
647
+ }, {
648
+ readonly inputs: readonly [{
649
+ readonly internalType: "address";
650
+ readonly name: "user";
651
+ readonly type: "address";
652
+ }];
653
+ readonly name: "getUserIndex";
654
+ readonly outputs: readonly [{
655
+ readonly internalType: "uint128";
656
+ readonly name: "";
657
+ readonly type: "uint128";
658
+ }];
659
+ readonly stateMutability: "view";
660
+ readonly type: "function";
605
661
  }, {
606
662
  readonly inputs: readonly [{
607
663
  readonly internalType: "address";
@@ -622,10 +678,6 @@ export declare class RToken__factory extends ContractFactory {
622
678
  }];
623
679
  readonly name: "mint";
624
680
  readonly outputs: readonly [{
625
- readonly internalType: "bool";
626
- readonly name: "";
627
- readonly type: "bool";
628
- }, {
629
681
  readonly internalType: "uint256";
630
682
  readonly name: "";
631
683
  readonly type: "uint256";
@@ -864,16 +916,6 @@ export declare class RToken__factory extends ContractFactory {
864
916
  readonly outputs: readonly [];
865
917
  readonly stateMutability: "nonpayable";
866
918
  readonly type: "function";
867
- }, {
868
- readonly inputs: readonly [{
869
- readonly internalType: "uint256";
870
- readonly name: "newLiquidityIndex";
871
- readonly type: "uint256";
872
- }];
873
- readonly name: "updateLiquidityIndex";
874
- readonly outputs: readonly [];
875
- readonly stateMutability: "nonpayable";
876
- readonly type: "function";
877
919
  }];
878
920
  static createInterface(): RTokenInterface;
879
921
  static connect(address: string, runner?: ContractRunner | null): RToken;
@@ -1,20 +1,20 @@
1
1
  import { ContractFactory, ContractTransactionResponse } from "ethers";
2
- import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
2
+ import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
3
3
  import type { NonPayableOverrides } from "../../../../common";
4
4
  import type { RWAIndexToken, RWAIndexTokenInterface } from "../../../../contracts/core/tokens/RWAIndexToken";
5
5
  type RWAIndexTokenConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
6
  export declare class RWAIndexToken__factory extends ContractFactory {
7
7
  constructor(...args: RWAIndexTokenConstructorParams);
8
- getDeployTransaction(name_: string, symbol_: string, overrides?: NonPayableOverrides & {
8
+ getDeployTransaction(name_: string, symbol_: string, _complianceRegistry: AddressLike, overrides?: NonPayableOverrides & {
9
9
  from?: string;
10
10
  }): Promise<ContractDeployTransaction>;
11
- deploy(name_: string, symbol_: string, overrides?: NonPayableOverrides & {
11
+ deploy(name_: string, symbol_: string, _complianceRegistry: AddressLike, overrides?: NonPayableOverrides & {
12
12
  from?: string;
13
13
  }): Promise<RWAIndexToken & {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RWAIndexToken__factory;
17
- static readonly bytecode = "0x6080604052346200038b57620012cd803803806200001d8162000390565b9283398101906040818303126200038b5780516001600160401b03908181116200038b57836200004f918401620003b6565b91602093848201518381116200038b576200006b9201620003b6565b82518281116200028b576003918254916001958684811c9416801562000380575b888510146200036a578190601f9485811162000314575b508890858311600114620002ad57600092620002a1575b505060001982861b1c191690861b1783555b80519384116200028b5760049586548681811c9116801562000280575b828210146200026b5783811162000220575b5080928511600114620001b25750938394918492600095620001a6575b50501b92600019911b1c19161781555b33156200018e5760058054336001600160a01b03198216811790925560405191906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a360c86006556000600755610ea49081620004298239f35b602490600060405191631e4fbdf760e01b8352820152fd5b01519350388062000118565b92919084601f1981168860005285600020956000905b89838310620002055750505010620001ea575b50505050811b01815562000128565b01519060f884600019921b161c1916905538808080620001db565b858701518955909701969485019488935090810190620001c8565b87600052816000208480880160051c82019284891062000261575b0160051c019087905b82811062000254575050620000fb565b6000815501879062000244565b925081926200023b565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c828210620002fd5750508411620002e4575b505050811b018355620000cc565b015160001983881b60f8161c19169055388080620002d6565b8385015186558c97909501949384019301620002c3565b90915085600052886000208580850160051c8201928b861062000360575b918a91869594930160051c01915b82811062000350575050620000a3565b600081558594508a910162000340565b9250819262000332565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200028b57604052565b919080601f840112156200038b5782516001600160401b0381116200028b57602090620003ec601f8201601f1916830162000390565b928184528282870101116200038b5760005b8181106200041457508260009394955001015290565b8581018301518482018401528201620003fe56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461089357508163095ea7b3146108695781630b78f9c01461084257816318160ddd1461082357816323b872dd14610739578163313ce5671461071d57816340c10f191461067657816342d740ac146106575781634886c6751461063a5781636817031b1461059f57816370a0823114610568578163715018a61461051d57816378d2429a146104fe5781638348a288146104a85781638da5cb5b1461047f57816395d89b41146103995781639dc29fac14610359578163a42dce80146102b5578163a9059cbb14610284578163c415b95c1461025b578163dd62ed3e14610212578163e796cebe146101d4578163f2fde38b14610158575063fbfa77cf1461012d57600080fd5b3461015457816003193601126101545760085490516001600160a01b039091168152602090f35b5080fd5b9050346101d05760203660031901126101d0576101736109af565b9061017c6109e0565b6001600160a01b039182169283156101ba575050600580546001600160a01b03198116841790915516600080516020610e2f8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5050346101545760203660031901126101545760209160ff9082906001600160a01b036101ff6109af565b168152600a855220541690519015158152f35b505034610154578060031936011261015457806020926102306109af565b6102386109ca565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b50503461015457816003193601126101545760095490516001600160a01b039091168152602090f35b5050346101545780600319360112610154576020906102ae6102a46109af565b6024359033610c14565b5160018152f35b9050346101d05760203660031901126101d0576102d06109af565b6102d86109e0565b6001600160a01b0316918215610301575050600980546001600160a01b03191691909117905580f35b906020608492519162461bcd60e51b8352820152602c60248201527f525741496e646578546f6b656e3a2066656520636f6c6c6563746f722061646460448201526b72657373206973207a65726f60a01b6064820152fd5b50503461015457366003190112610396576103936103756109af565b61038a60018060a01b03600854163314610ad8565b60243590610b4d565b80f35b80fd5b838334610154578160031936011261015457805191809380549160019083821c92828516948515610475575b60209586861081146104625785895290811561043e5750600114610403575b6103ff87876103f5828c0383610a0c565b5191829182610966565b0390f35b9080949750528583205b82841061042b57505050826103ff946103f5928201019486806103e4565b805486850188015292860192810161040d565b60ff19168887015250505050151560051b83010192506103f5826103ff86806103e4565b634e487b7160e01b845260228352602484fd5b93607f16936103c5565b50503461015457816003193601126101545760055490516001600160a01b039091168152602090f35b5050346101545780600319360112610154576104c26109af565b90602435918215158093036104fa576104d96109e0565b60018060a01b03168352600a60205282209060ff8019835416911617905580f35b8380fd5b5050346101545781600319360112610154576020906006549051908152f35b83346103965780600319360112610396576105366109e0565b600580546001600160a01b0319811690915581906001600160a01b0316600080516020610e2f8339815191528280a380f35b5050346101545760203660031901126101545760209181906001600160a01b036105906109af565b16815280845220549051908152f35b9050346101d05760203660031901126101d0576105ba6109af565b6105c26109e0565b6001600160a01b03169182156105eb575050600880546001600160a01b03191691909117905580f35b906020608492519162461bcd60e51b83528201526024808201527f525741496e646578546f6b656e3a207661756c742061646472657373206973206044820152637a65726f60e01b6064820152fd5b505034610154578160031936011261015457602090516127108152f35b5050346101545781600319360112610154576020906007549051908152f35b919050346101d057806003193601126101d0576106916109af565b60085460243592916001600160a01b03916106af9083163314610ad8565b1692831561070857600254908382018092116106f557508492600080516020610e4f8339815191529260209260025585855284835280852082815401905551908152a380f35b634e487b7160e01b865260119052602485fd5b84602492519163ec442f0560e01b8352820152fd5b5050346101545781600319360112610154576020905160128152f35b90508234610396576060366003190112610396576107556109af565b61075d6109ca565b916044359360018060a01b038316808352600160205286832033845260205286832054916000198310610799575b6020886102ae898989610c14565b8683106108015781156107ea5733156107d3575082526001602090815286832033845281529186902090859003905582906102ae8761078b565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b905061081f868851938493637dc7a0d960e11b855233908501610b2f565b0390fd5b5050346101545781600319360112610154576020906002549051908152f35b919050346101d0573660031901126101545761085c6109e0565b3560065560243560075580f35b5050346101545780600319360112610154576020906102ae6108896109af565b6024359033610a45565b929150346104fa57836003193601126104fa57600354600181811c918690828116801561095c575b6020958686108214610949575084885290811561092757506001146108ec575b6103ff86866103f5828b0383610a0c565b929550600383528583205b82841061091457505050826103ff946103f59282010194386108db565b80548685018801529286019281016108f7565b60ff191687860152505050151560051b83010192506103f5826103ff386108db565b634e487b7160e01b845260229052602483fd5b93607f16936108bb565b6020808252825181830181905290939260005b82811061099b57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610979565b600435906001600160a01b03821682036109c557565b600080fd5b602435906001600160a01b03821682036109c557565b6005546001600160a01b031633036109f457565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b03821190821017610a2f57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03908116918215610abf5716918215610aa65760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b15610adf57565b60405162461bcd60e51b815260206004820152602260248201527f525741496e646578546f6b656e3a2063616c6c6572206973206e6f74207661756044820152611b1d60f21b6064820152608490fd5b604091949392606082019560018060a01b0316825260208201520152565b906001600160a01b038216908115610bc55760009282845283602052604084205490828210610ba8575081600080516020610e4f833981519152926020928587528684520360408620558060025403600255604051908152a3565b61081f8360405193849363391434e360e21b855260048501610b2f565b604051634b637e8f60e11b815260006004820152602490fd5b81810292918115918404141715610bf157565b634e487b7160e01b600052601160045260246000fd5b91908203918211610bf157565b929060018060a01b03936000938582168552600a60205260ff6040862054168015610d7d575b15610d7057610c72939495610c776127109283610c5960065483610bde565b04968794610c6960075484610bde565b04978892610c07565b610c07565b9480610d60575b5081610c94575b5050610c92939450610d90565b565b816084602092610ca68a953088610d90565b610cb583826009541630610a45565b60095416916040519485938492636033e31560e01b845230600485015230602485015260448401527f7689acae4ef80fb7e474eade54e598402fef3f9b6f9021d931abd43e64ef04fc60648401525af18015610d5557610d16575b80610c85565b6020813d8211610d4d575b81610d2e60209383610a0c565b81010312610d49575180151503610d455784610d10565b8480fd5b8580fd5b3d9150610d21565b6040513d88823e3d90fd5b610d6a9084610b4d565b38610c7e565b929450610c929350610d90565b50858316855260ff604086205416610c3a565b916001600160a01b03808416928315610bc55716928315610e155760009083825281602052604082205490838210610df857509160408282600080516020610e4f833981519152958760209652828652038282205586815220818154019055604051908152a3565b61081f8460405193849363391434e360e21b855260048501610b2f565b60405163ec442f0560e01b815260006004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220eef3d7251dde7e63151e2eb00b333ef2b5ac51c34fdcfc2314303d5b8d566c3264736f6c63430008140033";
17
+ static readonly bytecode = "0x60a060405234620003f157620015fb803803806200001d81620003f6565b9283398101606082820312620003f15781516001600160401b039190828111620003f157816200004f9185016200041c565b9260209182820151848111620003f1576040916200006f9184016200041c565b9101516001600160a01b038082169590949091869003620003f1578151818111620002f1576003908154906001948583811c93168015620003e6575b88841014620003d0578190601f938481116200037a575b508890848311600114620003135760009262000307575b505060001982851b1c191690851b1782555b8451928311620002f15760049485548581811c91168015620002e6575b88821014620002d15782811162000286575b50869184116001146200021b579383949184926000956200020f575b50501b92600019911b1c19161781555b3315620001f75760058054336001600160a01b03198216811790925560405194167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a38315620001c8578360805260c8600655600060075560405161116c90816200048f823960805181818161027b0152818161031401526109a40152f35b62461bcd60e51b8352820152600d60248201526c5a65726f20726567697374727960981b604482015260649150fd5b602490600060405191631e4fbdf760e01b8352820152fd5b01519350388062000136565b9190601f198416928660005284886000209460005b8a898383106200026e575050501062000253575b50505050811b01815562000146565b01519060f884600019921b161c191690553880808062000244565b86860151895590970196948501948893500162000230565b86600052876000208380870160051c8201928a8810620002c7575b0160051c019086905b828110620002ba5750506200011a565b60008155018690620002aa565b92508192620002a1565b602287634e487b7160e01b6000525260246000fd5b90607f169062000108565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d9565b90879350601f19831691866000528a6000209260005b8c8282106200036357505084116200034a575b505050811b018255620000eb565b015160001983871b60f8161c191690553880806200033c565b8385015186558b9790950194938401930162000329565b90915084600052886000208480850160051c8201928b8610620003c6575b918991869594930160051c01915b828110620003b6575050620000c2565b60008155859450899101620003a6565b9250819262000398565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000ab565b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620002f157604052565b919080601f84011215620003f15782516001600160401b038111620002f15760209062000452601f8201601f19168301620003f6565b92818452828287010111620003f15760005b8181106200047a57508260009394955001015290565b85810183015184820184015282016200046456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314610d5257508163095ea7b314610ca85781630b78f9c014610bc457816318160ddd14610ba557816323b872dd1461093b578163313ce5671461091f57816340c10f191461087857816342d740ac146108595781634886c6751461083c5781636817031b146107a157816370a082311461076a578163715018a61461071f57816378d2429a146107005781638348a288146106aa5781638da5cb5b1461068157816395d89b411461059b5781639dc29fac1461055e578163a42dce80146104ba578163a9059cbb146102d3578163c415b95c146102aa578163cac89c5c14610266578163dd62ed3e1461021d578163e796cebe146101df578163f2fde38b14610163575063fbfa77cf1461013857600080fd5b3461015f578160031936011261015f5760085490516001600160a01b039091168152602090f35b5080fd5b9050346101db5760203660031901126101db5761017e610e6e565b90610187610e9f565b6001600160a01b039182169283156101c5575050600580546001600160a01b031981168417909155166000805160206110f78339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b50503461015f57602036600319011261015f5760209160ff9082906001600160a01b0361020a610e6e565b168152600a855220541690519015158152f35b50503461015f578060031936011261015f578060209261023b610e6e565b610243610e89565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b50503461015f578160031936011261015f57517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50503461015f578160031936011261015f5760095490516001600160a01b039091168152602090f35b8284346104b757816003193601126104b7576102ed610e6e565b825163fe575a8760e01b808252338683015260209592936001600160a01b039360248035947f0000000000000000000000000000000000000000000000000000000000000000871694918a90829081885afa9081156104ad578491610490575b506104815787519081528881602481898b169788878301525afa90811561047757839161044a575b5061043c57508590338152600a885260ff828220541692831561042b575b50505060001461041a57916103d3916103ee936103d861271091826103ba60065483611022565b049586936103ca60075484611022565b0496879261104b565b61104b565b938061040a575b50806103f5575b505033611058565b5160018152f35b610403916009541633611058565b85806103e6565b6104149033610f79565b876103df565b90506104269133611058565b6103ee565b60ff93508152205416848780610393565b8651632652747360e21b8152fd5b61046a9150893d8b11610470575b6104628183610ecb565b81019061100a565b89610375565b503d610458565b88513d85823e3d90fd5b508651632652747360e21b8152fd5b6104a791508a3d8c11610470576104628183610ecb565b8a61034d565b89513d86823e3d90fd5b80fd5b9050346101db5760203660031901126101db576104d5610e6e565b6104dd610e9f565b6001600160a01b0316918215610506575050600980546001600160a01b03191691909117905580f35b906020608492519162461bcd60e51b8352820152602c60248201527f525741496e646578546f6b656e3a2066656520636f6c6c6563746f722061646460448201526b72657373206973207a65726f60a01b6064820152fd5b50503461015f573660031901126104b75761059861057a610e6e565b61058f60018060a01b03600854163314610f04565b60243590610f79565b80f35b83833461015f578160031936011261015f57805191809380549160019083821c92828516948515610677575b6020958686108114610664578589529081156106405750600114610605575b61060187876105f7828c0383610ecb565b5191829182610e25565b0390f35b9080949750528583205b82841061062d5750505082610601946105f7928201019486806105e6565b805486850188015292860192810161060f565b60ff19168887015250505050151560051b83010192506105f78261060186806105e6565b634e487b7160e01b845260228352602484fd5b93607f16936105c7565b50503461015f578160031936011261015f5760055490516001600160a01b039091168152602090f35b50503461015f578060031936011261015f576106c4610e6e565b90602435918215158093036106fc576106db610e9f565b60018060a01b03168352600a60205282209060ff8019835416911617905580f35b8380fd5b50503461015f578160031936011261015f576020906006549051908152f35b83346104b757806003193601126104b757610738610e9f565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206110f78339815191528280a380f35b50503461015f57602036600319011261015f5760209181906001600160a01b03610792610e6e565b16815280845220549051908152f35b9050346101db5760203660031901126101db576107bc610e6e565b6107c4610e9f565b6001600160a01b03169182156107ed575050600880546001600160a01b03191691909117905580f35b906020608492519162461bcd60e51b83528201526024808201527f525741496e646578546f6b656e3a207661756c742061646472657373206973206044820152637a65726f60e01b6064820152fd5b50503461015f578160031936011261015f57602090516127108152f35b50503461015f578160031936011261015f576020906007549051908152f35b919050346101db57806003193601126101db57610893610e6e565b60085460243592916001600160a01b03916108b19083163314610f04565b1692831561090a57600254908382018092116108f7575084926000805160206111178339815191529260209260025585855284835280852082815401905551908152a380f35b634e487b7160e01b865260119052602485fd5b84602492519163ec442f0560e01b8352820152fd5b50503461015f578160031936011261015f576020905160128152f35b9050346101db5760603660031901126101db57610956610e6e565b61095e610e89565b9160443560018060a01b039182841696878152602097600189528782203383528952878220546000198103610b26575b50875163fe575a8760e01b8082528185018390527f0000000000000000000000000000000000000000000000000000000000000000871694918b81602481895afa908115610b1c578591610aff575b50610af05789519081528a816024818a8d169889878301525afa908115610ae6578491610ac9575b50610abb57509087918152600a895260ff8282205416928315610aaa575b505050600014610a9e57916103ee93916103d393610a646127109182610a4b60065483611022565b04968793610a5b60075484611022565b0497889261104b565b9480610a8e575b5080610a79575b5050611058565b610a87916009541683611058565b3880610a72565b610a989084610f79565b38610a6b565b91610426939150611058565b60ff93508152205416853880610a23565b8851632652747360e21b8152fd5b610ae091508b3d8d11610470576104628183610ecb565b38610a05565b8a513d86823e3d90fd5b508851632652747360e21b8152fd5b610b1691508c8d3d10610470576104628183610ecb565b386109dd565b8b513d87823e3d90fd5b848110610b83578115610b6c573315610b5557849082845260018b528984203385528b5203888320553861098e565b8851634a1406b160e11b8152808501849052602490fd5b885163e602df0560e01b8152808501849052602490fd5b8851637dc7a0d960e11b8152908190610ba190879033848901610f5b565b0390fd5b50503461015f578160031936011261015f576020906002549051908152f35b9050346101db57816003193601126101db5780359060243592610be5610e9f565b61271080841015610c5557841015610c0257505060065560075580f35b906020608492519162461bcd60e51b8352820152602760248201527f525741496e646578546f6b656e3a206275726e206665652065786365656473206044820152666d6178696d756d60c81b6064820152fd5b815162461bcd60e51b8152602081850152602760248201527f525741496e646578546f6b656e3a2073776170206665652065786365656473206044820152666d6178696d756d60c81b6064820152608490fd5b9050346101db57816003193601126101db57610cc2610e6e565b602435903315610d3b576001600160a01b0316918215610d2457508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b929150346106fc57836003193601126106fc57600354600181811c9186908281168015610e1b575b6020958686108214610e085750848852908115610de65750600114610dab575b61060186866105f7828b0383610ecb565b929550600383528583205b828410610dd35750505082610601946105f7928201019438610d9a565b8054868501880152928601928101610db6565b60ff191687860152505050151560051b83010192506105f78261060138610d9a565b634e487b7160e01b845260229052602483fd5b93607f1693610d7a565b6020808252825181830181905290939260005b828110610e5a57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610e38565b600435906001600160a01b0382168203610e8457565b600080fd5b602435906001600160a01b0382168203610e8457565b6005546001600160a01b03163303610eb357565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b03821190821017610eee57604052565b634e487b7160e01b600052604160045260246000fd5b15610f0b57565b60405162461bcd60e51b815260206004820152602260248201527f525741496e646578546f6b656e3a2063616c6c6572206973206e6f74207661756044820152611b1d60f21b6064820152608490fd5b604091949392606082019560018060a01b0316825260208201520152565b906001600160a01b038216908115610ff15760009282845283602052604084205490828210610fd4575081600080516020611117833981519152926020928587528684520360408620558060025403600255604051908152a3565b610ba18360405193849363391434e360e21b855260048501610f5b565b604051634b637e8f60e11b815260006004820152602490fd5b90816020910312610e8457518015158103610e845790565b8181029291811591840414171561103557565b634e487b7160e01b600052601160045260246000fd5b9190820391821161103557565b916001600160a01b03808416928315610ff157169283156110dd57600090838252816020526040822054908382106110c057509160408282600080516020611117833981519152958760209652828652038282205586815220818154019055604051908152a3565b610ba18460405193849363391434e360e21b855260048501610f5b565b60405163ec442f0560e01b815260006004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ef2369774064a543538c14dcce399532de9775aff98a022cd6e194b1a1dc169c64736f6c63430008140033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "string";
@@ -24,9 +24,17 @@ export declare class RWAIndexToken__factory extends ContractFactory {
24
24
  readonly internalType: "string";
25
25
  readonly name: "symbol_";
26
26
  readonly type: "string";
27
+ }, {
28
+ readonly internalType: "address";
29
+ readonly name: "_complianceRegistry";
30
+ readonly type: "address";
27
31
  }];
28
32
  readonly stateMutability: "nonpayable";
29
33
  readonly type: "constructor";
34
+ }, {
35
+ readonly inputs: readonly [];
36
+ readonly name: "BlacklistedAddress";
37
+ readonly type: "error";
30
38
  }, {
31
39
  readonly inputs: readonly [{
32
40
  readonly internalType: "address";
@@ -246,6 +254,16 @@ export declare class RWAIndexToken__factory extends ContractFactory {
246
254
  }];
247
255
  readonly stateMutability: "view";
248
256
  readonly type: "function";
257
+ }, {
258
+ readonly inputs: readonly [];
259
+ readonly name: "complianceRegistry";
260
+ readonly outputs: readonly [{
261
+ readonly internalType: "contract IComplianceRegistry";
262
+ readonly name: "";
263
+ readonly type: "address";
264
+ }];
265
+ readonly stateMutability: "view";
266
+ readonly type: "function";
249
267
  }, {
250
268
  readonly inputs: readonly [];
251
269
  readonly name: "decimals";
@@ -14,7 +14,7 @@ export declare class VeRAACToken__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): VeRAACToken__factory;
17
- static readonly bytecode = "0x60a0346200044657601f90601f196001600160401b03620043ff3881900385810184168501838111868210176200034a578592829160405283396020948591810103126200044657516001600160a01b03808216949092909185900362000446576200006a6200044b565b916012835271566f746520457363726f776564205241414360701b81840152620000936200044b565b96600688526576655241414360d01b828901528351918383116200034a5760039283546001968782811c921680156200043b575b8483101462000425578185849311620003cf575b5083908583116001146200036c5760009262000360575b505060001982861b1c191690861b1783555b88519384116200034a5760049687548681811c911680156200033f575b838210146200032a57838111620002df575b50819285116001146200027557505082939495969760009362000269575b505082841b92600019911b1c19161783555b3315620002515760058054336001600160a01b03198216811790925560405193167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3600655821562000245578260805262093a8080600f556301e133808060105569d3c21bcecceda1000000806012556a0c685fa11e01ec6f000000918260115583602a55602b55602d55602c556161a8601b55612710601c55601d55670de0b6b3a7640000601e55604051613f9390816200046c82396080518181816103f9015281816105600152818161177101528181611b300152611ecc0152f35b63e6c4247b60e01b8152fd5b604051631e4fbdf760e01b8152600081850152602490fd5b01519150388062000151565b60008881528281209186169a919493925b8b8210620002c757505084869798999a10620002ac575b50505050811b01835562000163565b01519060f884600019921b161c19169055388080806200029d565b80888597829496860151815501960193019062000286565b88600052826000208480880160051c82019285891062000320575b0160051c019087905b8281106200031357505062000133565b6000815501879062000303565b92508192620002fa565b602289634e487b7160e01b6000525260246000fd5b90607f169062000121565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f2565b908a8994169187600052856000209260005b87828210620003b857505084116200039f575b505050811b01835562000104565b015160001983881b60f8161c1916905538808062000391565b8385015186558c979095019493840193016200037e565b90915085600052836000208580850160051c8201928686106200041b575b918a91869594930160051c01915b8281106200040b575050620000db565b600081558594508a9101620003fb565b92508192620003ed565b634e487b7160e01b600052602260045260246000fd5b91607f1691620000c7565b600080fd5b60408051919082016001600160401b038111838210176200034a5760405256fe60806040908082526004918236101561001757600080fd5b600091823560e01c90816306fdde031461239957508063095ea7b3146122ef5780630b5dce33146122cc5780630c525835146122665780630c9cbf0e1461221b57806310075ab21461220057806312064c34146121ca5780631338736f14611e5057806318160ddd14611e335780631c03e6cc14611d5b578063211dc32d14611cda57806323b872dd14611bf05780632d4c6e8a14611bd257806330f3f0db146119b1578063313ce5671461199657806334bbeab8146118f8578063363015331461180a5780633a6ba693146117e55780633ccfd60b146116af5780633d509c97146115225780633fa05f8a1461149157806348e5d9f8146114005780634c5ecdac146113c55780634ee2cd7e1461139d578063558ac136146112ea5780635679ab34146112cc57806356fe702d146112ae5780635ade228a146112915780635c975abb1461126e57806370a0823114611247578063715018a6146111fc57806372070b81146111de578063742ea065146111835780637bb7bed11461114257806382944e2d146111255780638da5cb5b146110fd57806395d89b41146110185780639714378c14610da5578063981b24d014610d855780639c17a18d14610cce578063a592d9ec14610cb0578063a9059cbb14610c80578063aaf5eb6814610c5e578063ac15e02d14610be4578063afd7babe14610bc6578063b2e0df9614610b50578063b5fd73f814610b13578063b66503cf146107ff578063c74ed2fe14610788578063d279c1911461073a578063d2e01b2f14610683578063d4570c1c14610656578063d700c18b146105e5578063db2e21bc146104c0578063dd5b762314610470578063dd62ed3e14610428578063e40963f2146103e5578063f1229777146103b9578063f2fde38b1461033d5763f786b958146102b957600080fd5b346103395760203660031901126103395782356102d461257b565b600f549081811115610329577fc586b63a7dd25a8f779ea2204bd799faa31a041413e1c1dc848fc3d4db326bc593945061031181601054936133d5565b600f54602a5580602b5582519182526020820152a180f35b825163180d062b60e31b81528590fd5b5080fd5b5082346103b55760203660031901126103b5576103586124b6565b9061036161257b565b6001600160a01b0391821692831561039f575050600580546001600160a01b03198116841790915516600080516020613f1e8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610339576020366003190112610339576020906103de6103d96124b6565b61292a565b9051908152f35b5034610339578160031936011261033957517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5034610339578060031936011261033957806020926104456124b6565b61044d6124d1565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5081833461033957602036600319011261033957359161048e61257b565b828252602e6020528120557f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b8280a280f35b5082346103b557826003193601126103b5576104da6127cf565b60085480159081156105db575b506105cd57338352600a60205281832090825191610504836125a7565b60ff60038254928386526001810154602087015260028101548787015201541615156060840152156105bf57505190610559610540423361388f565b338552600a602052610553838620612818565b336127ff565b61058482337f000000000000000000000000000000000000000000000000000000000000000061284b565b519081527f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e5160203392a26105b733612f9f565b600160065580f35b82516343b976c160e01b8152fd5b9051632457654760e11b8152fd5b90504210846104e7565b5034610339578060031936011261033957806080926106026124b6565b61060a6124d1565b9060018060a01b038091168352603260205283832091168252602052209081549160018101549163ffffffff600360028401549301541692815194855260208501528301526060820152f35b50346103395780600319360112610339576020906103de6106756124b6565b61067d6124d1565b90612a6f565b50346103395760203660031901126103395790816080926106a26124b6565b926106ab6128f6565b506001600160a01b0384168152600a60205220815191906106cb836125a7565b610700815494858552600183015494856020820152606060ff600360028701549687898601520154161515910152429061388f565b926060835161070e816125a7565b868152602081019283528481019384520193845282519485525160208501525190830152516060820152f35b5082346103b55760203660031901126103b5576107556124b6565b9161075e6127cf565b60ff6007541661077b57836105b78461077681612b9c565b612ce6565b5163ab35696f60e01b8152fd5b50346103395760203660031901126103395782356107a461257b565b6010549081811015610329578015610329577fbe1603c07044e0ff5ba6fe6ecca480a3f67123018f6f566298d5e33b2d3b5d099394506107e7600f5492826133d5565b60105481602a55602b5582519182526020820152a180f35b50346103395780600319360112610339576108186124b6565b90602435926108256127cf565b60ff918260075416610b0457849060018060a01b038095169384845260309460209386855282848720541615610af4578815610ae457855b602f548110156108e75780896108756108c893612517565b919054600392831b1c16808a528a895286888b205416156108e057603189526108a0888b209161292a565b81548042106000146108da575042925b6002830192835485116108cd575b505050505061291b565b61085d565b01555538808080806108be565b926108b0565b505061291b565b8a878487858e8b848652603181528386209161090243613b43565b8015610ad457600584015561091981303389612725565b8254804210610a9d575b5050670de0b6b3a764000091828402848104841485151715610a575762093a80809104938460018401558415610a8d578185028581048303610a7a57048510610a6a574260028301554201804211610a57578155870180546001600160c81b0319163364ffffffffff60a01b1916174360a81b63ffffffff60a81b1617600160a01b17905583516370a0823160e01b815230818901528181602481895afa908115610a4d578791610a1c575b508311610a0c577f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d819949596508351928352820152a2600160065580f35b835163f16eeebd60e01b81528790fd5b90508181813d8311610a46575b610a33818361260e565b81010312610a425751886109cf565b8680fd5b503d610a29565b85513d89823e3d90fd5b634e487b7160e01b885260118952602488fd5b85516308af88a160e21b81528990fd5b634e487b7160e01b8a5260118b5260248afd5b86516308af88a160e21b81528a90fd5b610acc929450610ac5610aba670de0b6b3a76400009242906127f2565b600186015490612880565b04906126a5565b918780610923565b855163cabeb65560e01b81528990fd5b835163162908e360e11b81528a90fd5b8351630cbdb7b360e41b81528a90fd5b5163ab35696f60e01b81528590fd5b50346103395760203660031901126103395760209160ff9082906001600160a01b03610b3d6124b6565b1681526030855220541690519015158152f35b5034610339576020366003190112610339578235610b6c61257b565b601b5490601c54811115610bb6578015610bb6577ffb34721264d9bd99f9397915cd89b3efe17ab520387dde594891fb4746ad1b5593945080601b5582519182526020820152a180f35b825163151843ad60e21b81528590fd5b5034610339578160031936011261033957602090600f549051908152f35b5082346103b55760203660031901126103b557803591610c0261257b565b828452602e60205242818520556203f480420191824211610c4b57507f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa9160209151908152a280f35b634e487b7160e01b855260119052602484fd5b503461033957816003193601126103395760209051670de0b6b3a76400008152f35b5034610339578060031936011261033957602090610ca9610c9f6124b6565b6024359033612631565b5160018152f35b50346103395781600319360112610339576020906002549051908152f35b509034610d825781600319360112610d8257610ce86124b6565b90601d549160205491610cff60215492429061388f565b91610d0942613932565b601b54601c548851979296929160c089016001600160401b0381118a821017610d6f578a610d539b9c505288526020880152888701526060860152608085015260a084015261326d565b612710610d6282602435612880565b0482519182526020820152f35b634e487b7160e01b875260418c52602487fd5b80fd5b509034610d82576020366003190112610d8257506103de60209235613b43565b5082346103b5576020918260031936011261101457610dc26127cf565b60ff6007541661077b57610dd533612b9c565b338452600a8352808420928151610deb816125a7565b84548152606060ff600360019788810154868601526002810154878601520154161515910152610e1a336124fd565b60ff60038201541615611005576002810193845442811115610ff657610e6f90878454940154865194610e4c866125a7565b8552858501528086850152876060850152610e6a83359142906127f2565b6126a5565b906010548211610fe8575090610e88610eca92426126a5565b809555610e94336124fd565b9060ff6003865193610ea5856125a7565b8054855289810154878601526002810154888601520154161515606083015233613522565b8151918383527fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49283833392a2338652600a8252610f80818720610f64835191610f13836125a7565b805483526003898201549187850192835260ff8260028301549289880193845201541690606086019115158252338d5260258952878d209386518555518c85015551600284015551151591016126c8565b600e54602955610f7442876127f2565b9051906010549161334c565b610f8a81336139f4565b610f94423361388f565b80821115610fc557610fa990610faf926127f2565b336126d9565b519283523392a2610fbf33612f9f565b60065580f35b808210610fd4575b5050610faf565b610fe191610553916127f2565b8680610fcd565b8451630f962f3d60e31b8152fd5b5083516307b7d7dd60e51b8152fd5b505051636086ee6f60e11b8152fd5b8380fd5b5034610339578160031936011261033957805191809380549160019083821c928285169485156110f3575b60209586861081146110e0578589529081156110bc5750600114611081575b61107d8787611073828c038361260e565b519182918261246d565b0390f35b9080949750528583205b8284106110a9575050508261107d9461107392820101943880611062565b805486850188015292860192810161108b565b60ff19168887015250505050151560051b83010192506110738261107d3880611062565b634e487b7160e01b845260228352602484fd5b93607f1693611043565b503461033957816003193601126103395760055490516001600160a01b039091168152602090f35b5034610339578160031936011261033957602090516203f4808152f35b5082346103b55760203660031901126103b5573591602f54831015610d82575061116d602092612517565b905491519160018060a01b039160031b1c168152f35b503461033957816003193601126103395761119c61257b565b600080516020613ebe8339815191528252602e60205242908220557ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b58180a180f35b50346103395781600319360112610339576020906008549051908152f35b8234610d825780600319360112610d825761121561257b565b600580546001600160a01b0319811690915581906001600160a01b0316600080516020613f1e8339815191528280a380f35b5034610339576020366003190112610339576020906103de6112676124b6565b429061388f565b503461033957816003193601126103395760209060ff6007541690519015158152f35b50346103395781600319360112610339576020905162093a808152f35b5034610339578160031936011261033957602090601c549051908152f35b50346103395781600319360112610339576020906010549051908152f35b50913461033957602036600319011261033957826113066124b6565b6001600160a01b0381168452600a602052818420548251639c17a18d60e01b8152938492839261133a929091908401612830565b0381305afa9081156113935782809261135c575b505082519182526020820152f35b915091508282813d831161138c575b611375818361260e565b81010312610d82575060208151910151388061134e565b503d61136b565b83513d84823e3d90fd5b50346103395780600319360112610339576020906103de6113bc6124b6565b60243590613ce5565b50346103395760203660031901126103395760209160029082906001600160a01b036113ef6124b6565b168152600a85522001549051908152f35b508290346103b55760203660031901126103b5576101009263ffffffff906001600160a01b03908390826114326124b6565b168152603160205220908154946001830154946002840154906005600386015493860154950154968151988952602089015287015260608601528116608085015260ff8160a01c16151560a085015260a81c1660c083015260e0820152f35b503461033957816003193601126103395760a091608082516114b2816125d8565b82815282602082015282848201528260608201520152601c5490601b5490601d54906020549160215493608083516114e9816125d8565b87815260208101928352848101938452606081019586520194855282519586525160208601525190840152516060830152516080820152f35b5082346103b55760203660031901126103b55761153d6124b6565b61154561257b565b6001600160a01b0390811680855260306020528385205490929060ff16156116a157828552603193846020528086205442106116945783865260306020528520805460ff19169055845b602f80548083101561168857908491866115a885612517565b949054600395861b1c16146115c8575050506115c39061291b565b61158f565b92600097919594929697199384810190811161167557906115fc866115ef61161b94612517565b9054908b1b1c1691612517565b90919082549060031b9160018060a01b03809116831b921b1916179055565b8454918215611665575050019261163184612517565b81939154921b1b19169055555b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50098280a280f35b634e487b7160e01b895252602487fd5b634e487b7160e01b8a526011845260248afd5b5050505050905061163e565b516398ccee4b60e01b8152fd5b8351630cbdb7b360e41b8152fd5b5082346103b557826003193601126103b5576116c96127cf565b6116d233612b9c565b338352600a602052818320908251916116ea836125a7565b80548084526001820154602085015260ff600360028401549387870194855201541615156060850152156117d6575142106117c85750519061176a61172f423361388f565b338552600a602052611742838620612818565b6025602052611752838620612818565b600e5460295561176133613aa6565b61055333612ce6565b61179582337f000000000000000000000000000000000000000000000000000000000000000061284b565b519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a26105b733612f9f565b825163342ad40160e11b8152fd5b508251636086ee6f60e11b8152fd5b5034610339578160031936011261033957602090516a0c685fa11e01ec6f0000008152f35b503461033957816003193601126103395761182361257b565b7fb90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910808352602e6020528183205480156118e8576203f480908181018091116118d55742106118c55742018042116118b2578394506020817f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc2204926008558451908152a18252602e60205281205580f35b634e487b7160e01b845260118552602484fd5b82516394ef5f3560e01b81528590fd5b634e487b7160e01b855260118652602485fd5b825163610a8b2d60e01b81528590fd5b503461033957816003193601126103395761191161257b565b600080516020613ebe833981519152808352602e6020528183205480156118e8576203f48081018091116118b257421061198657829350600160ff1960095416176009557fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d873568380a18252602e60205281205580f35b81516394ef5f3560e01b81528490fd5b50346103395781600319360112610339576020905160128152f35b508290346103b55760209081600319360112611014578235916119d26127cf565b60ff60075416611bc2576119e533612b9c565b6119ee336124fd565b60ff60038201541615611bb25760028101549042821115611ba25780546001968783015493865194611a1f866125a7565b8386528686015286850152876060850152611a3a87836126a5565b60125410611b94575090611a5286611a6c94936126a5565b9055611a6085600e546126a5565b600e55610e94336124fd565b8151918383527fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549283833392a2338652600a825280862060258352818720818103611b64575b5050600e5480602955600a8352825580862054602155611ad06130e2565b338652600a8252610faf610fa9611b1e838920610f74855191611af2836125a7565b805483528a8101548884015260ff6003600283015492838a8701520154161515606084015242906127f2565b611b2881336139f4565b611b548730337f0000000000000000000000000000000000000000000000000000000000000000612725565b611b5e423361388f565b906127f2565b600360ff8184611b8d955485558a8101548b8601556002810154600286015501541691016126c8565b8680611ab2565b855163172bd6a160e31b8152fd5b83516307b7d7dd60e51b81528690fd5b8251636086ee6f60e11b81528590fd5b815163ab35696f60e01b81528490fd5b5034610339578160031936011261033957602090601b549051908152f35b50919034610d82576060366003190112610d8257611c0c6124b6565b611c146124d1565b916044359360018060a01b038316808352600160205286832033845260205286832054916000198310611c50575b602088610ca9898989612631565b868310611cb8578115611ca1573315611c8a57508252600160209081528683203384528152918690209085900390558290610ca938611c42565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050611cd6868851938493637dc7a0d960e11b855233908501612687565b0390fd5b509034610d825781600319360112610d8257611cf46124b6565b92611cfd6124d1565b60018060a01b039081811692838552603060205260ff868620541615611d4d57506103de938693600293611d34889460209a612a6f565b95168252603288528282209082528752200154906126a5565b8551630cbdb7b360e41b8152fd5b508290346103b55760203660031901126103b557611d776124b6565b611d7f61257b565b6001600160a01b038116928315611e2557838552603060205260ff8386205416611e1757602f5490600160401b821015611e045750906115fc826001611dc89401602f55612517565b81835260306020528220805460ff191660011790557ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8268280a280f35b634e487b7160e01b865260419052602485fd5b825163630b374b60e01b8152fd5b825163e6c4247b60e01b8152fd5b50346103395781600319360112610339576020906103de42613932565b503461033957611e5f366124e7565b611e6a9291926127cf565b60ff600754166121ba57611e7d33612b9c565b82156121aa5769d3c21bcecceda1000000831161219a576a0c685fa11e01ec6f000000611ead84610e6a42613932565b1161218a57600f9485548210801561217f575b61217157611ef08430337f0000000000000000000000000000000000000000000000000000000000000000612725565b611efa82426126a5565b91865480151580612166575b612139575b50611f1690426126a5565b90835191611f23836125a7565b858352611f9d602093611f6a8582014281526003898401868152606085019060018252611f4f336124fd565b938651855551600185015551600284015551151591016126c8565b611f7688600e546126a5565b600e558651611f84816125a7565b8981528986820152898882015289606082015233613522565b7f71fc552ee832a9004ea0bdb07cb6dd9d641eb2cb53b3cfe88c8fdcff886734a0855180611fce3394428b846133fd565b0390a2601054904284111561212b57507f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce0479495966120ad9161202861201d61201642886127f2565b928a612893565b830b91830b8261350b565b9161205b8751612037816125a7565b84830b815283878201524289820152436060820152338c52600b8752888c20613498565b816120f3575b5050338852600a8352848820602584528589208181036120c1575b5050600e54806029558355600a83528488205460215561209a6130e2565b6001600160801b0316610fa981336139f4565b82519485528401523392a26105b733612f9f565b600360ff81846120ec95548555600181015460018601556002810154600286015501541691016126c8565b388061207c565b858a52600c855261210b878b2092835480930b613438565b6001600160801b03166001600160801b0319919091161790553880612061565b845163e2d8438b60e01b8152fd5b8110801561215b575b61214c5738611f0b565b508251630f962f3d60e31b8152fd5b506010548111612142565b506010541515611f06565b8251630f962f3d60e31b8152fd5b506010548211611ec0565b8151633c92a01b60e11b81528590fd5b815163172bd6a160e31b81528590fd5b815163162908e360e11b81528590fd5b815163ab35696f60e01b81528590fd5b50346103395760203660031901126103395760209181906001600160a01b036121f16124b6565b16815280845220549051908152f35b5034610339576020906103de612215366124e7565b906128b3565b503461033957806003193601126103395760028160209361223a6124b6565b6122426124d1565b6001600160a01b039182168352603287528383209116825285522001549051908152f35b503461033957602036600319011261033957823561228261257b565b601c5490601b54811015610bb6578015610bb6577f513e0cb9f7e6f20f3331a3d6bc5a2070854a399222885cccf74ac523949f0b3a93945080601c5582519182526020820152a180f35b503461033957816003193601126103395760209060ff6009541690519015158152f35b5082346103b557816003193601126103b5576123096124b6565b602435903315612382576001600160a01b031691821561236b57508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b9293905034611014578360031936011261101457600354600181811c9186908281168015612463575b6020958686108214612450575084885290811561242e57506001146123f3575b61107d8686611073828b038361260e565b929550600383528583205b82841061241b575050508261107d946110739282010194386123e2565b80548685018801529286019281016123fe565b60ff191687860152505050151560051b83010192506110738261107d386123e2565b634e487b7160e01b845260229052602483fd5b93607f16936123c2565b6020808252825181830181905290939260005b8281106124a257505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501612480565b600435906001600160a01b03821682036124cc57565b600080fd5b602435906001600160a01b03821682036124cc57565b60409060031901126124cc576004359060243590565b6001600160a01b03166000908152600a6020526040902090565b602f5481101561253257602f60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60245481101561253257602460005260206000200190600090565b80548210156125325760005260206000200190600090565b6005546001600160a01b0316330361258f57565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b038211176125c257604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176125c257604052565b604081019081106001600160401b038211176125c257604052565b601f909101601f19168101906001600160401b038211908210176125c257604052565b91906001600160a01b038084161561266e578116156126555761265392612eb1565b565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b919082018092116126b257565b634e487b7160e01b600052601160045260246000fd5b9060ff801983541691151516179055565b6001600160a01b031690811561265557600080516020613f3e8339815191526020826127096000946002546126a5565b60025584845283825260408420818154019055604051908152a3565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815261265391612767826125d8565b906000602091828151910182855af1156127c3576000513d6127ba57506001600160a01b0381163b155b6127985750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415612791565b6040513d6000823e3d90fd5b6002600654146127e0576002600655565b604051633ee5aeb560e01b8152600490fd5b919082039182116126b257565b906001600160a01b0382161561266e5761265391612ddf565b60036000918281558260018201558260028201550155565b6001600160a01b039091168152602081019190915260400190565b612767612653939261287260405194859263a9059cbb60e01b602085015260248401612830565b03601f19810184528361260e565b818102929181159184041417156126b257565b811561289d570490565b634e487b7160e01b600052601260045260246000fd5b801580156128ee575b6128e7576128d76128dc92601054928382116128df57612880565b612893565b90565b839150612880565b5050600090565b5081156128bc565b60405190612903826125a7565b60006060838281528260208201528260408201520152565b60001981146126b25760010190565b6001600160a01b0390811660009081526031602052604080822090516101008101949392906001600160401b03861181871017612a5b5760e093949560405282549283825260018101549360208301948552600282015492836040820152600560038401549363ffffffff606084019a868c526004830154908116608086015260ff8160a01c16151560a086015260a81c1660c0840152015496879101528515612a5157804210600014612a4b575042905b82821115612a415750906129ef916127f2565b91612a06670de0b6b3a76400009384925190612880565b04828102928184041490151715612a2d57506128dc9291612a2691612893565b90516126a5565b634e487b7160e01b81526011600452602490fd5b9550505050505090565b906129dc565b5094505050505090565b634e487b7160e01b82526041600452602482fd5b9060018060a01b0391828216600090808252603060205260409460ff868420541615612afb576060866128dc9796948694612af594612a269816825260326020528282209082526020522063ffffffff6003885192612acd846125a7565b80548452600181015499602085019a8b52600282015490850152015416918291015282613ce5565b50612b0c565b8551630cbdb7b360e41b8152600490fd5b670de0b6b3a764000091612b92612b989260018060a01b0380821660005260326020526040600020908416600052602052612b8a612b8460406000209263ffffffff600360405195612b5d876125a7565b80548752600181015460208801526002810154604088015201541690816060860152613ce5565b9361292a565b9051906127f2565b90612880565b0490565b60005b602f54811015612ce25780612bb6612c2992612517565b9060018060a01b03809154600393841b1c16908160005260209260308452604060ff816000205416156108be57603185528060002093612bf58161292a565b938554804210600014612cdd5750425b6002870180548211612cd0575b505089169586612c2e575b5050505050505061291b565b612b9f565b612c9092876000526032825280600020836000528252806000209485019763ffffffff97886004818c541692015460a81c168110600014612cbc57612c73908d613ce5565b928460005260338152826000209160005252600020555b88612b0c565b612c9f600183019182546126a5565b905555431663ffffffff1982541617905538808080808080612c1d565b509190603382526000209160005252612c8a565b8686890155553880612c12565b612c05565b5050565b6001600160a01b0390808216908115612dcd5760005b602f54811015612dc757808385612d15612d6794612517565b90549060031b1c168060005260206030815260409060ff82600020541615612dbe578360005260328152816000208360005281528160002091600183019081549182612d6c575050505050505061291b565b612cfc565b7f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9460006002925501612da08382546126a5565b9055612dad828a8761284b565b51908152a383388080808080612c1d565b5050505061291b565b50505050565b60405163e6c4247b60e01b8152600490fd5b9091906001600160a01b038116908115808015612ea9575b612e0d57604051638cd22d1960e01b8152600490fd5b15612e495750600080516020613f3e833981519152602084612e34600095966002546126a5565b6002555b8060025403600255604051908152a3565b92600082815280602052604081205494828610612e8a575081816040600080516020613f3e8339815191529460009798876020965283865203912055612e38565b8590611cd68460405193849363391434e360e21b855260048501612687565b506001612df7565b6001600160a01b038082169290918315808015612f95575b612edf57604051638cd22d1960e01b8152600490fd5b15612f395750600080516020613f3e83398151915291602091612f04866002546126a5565b6002555b169384612f215780600254036002555b604051908152a3565b84600052600082526040600020818154019055612f18565b60009084825281602052604082205490868210612f785750918160408760209588600080516020613f3e83398151915298965283875203912055612f08565b611cd68760405193849363391434e360e21b855260048501612687565b5083831615612ec9565b612fb1612fab82613377565b826139f4565b612fba42613932565b6001600160e01b03908181116130d05761300963ffffffff92834316921691600080516020613ede833981519152604093845190612ff7826125f3565b83825260209482828780950152613991565b8551908152a2600e5481556001600160a01b038481166000818152600a84528481205460215592909161303a6130e2565b835b602f548110156130c65780826130546130b993612517565b919054600392831b1c16908188526030865260ff8989205416156108e0576031865289898920544210156130be576130a191888a52603288528a8a20848b5288528a8a200154168b613ce5565b9087526033855287872086885285528787205561291b565b61303c565b50505061291b565b5050505050505050565b604051632f537ee160e01b8152600490fd5b601d54801561325b57601b5490601c54821061324957601454908115158080613237575b6131b557601f54928161319f575b5061318d57821561317b577f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a082924260145561314f82426126a5565b6015554260165582601755600060185581601955601a5561317660405192839242846133fd565b0390a1565b6040516319a2a9bd60e01b8152600490fd5b60405163f0aaee6560e01b8152600490fd5b6131ad9150601954906126a5565b421038613114565b5050601f5491504210801561322c575b61321a576016544203806131de575b5060175542601655565b601754818102906131ef8383612893565b03613208576018540160185560195401601955386131d4565b60405163f20577e560e01b8152600490fd5b6040516337bf561360e11b8152600490fd5b5060155442116131c5565b5061324282846126a5565b4210613106565b60405163151843ad60e21b8152600490fd5b60405163a8c60b8160e01b8152600490fd5b91909182158015613340575b61333657670de0b6b3a764000092838202918083048514901517156126b2576132a191612893565b66038d7ea4c68000811061333657606082015190838202918083048514901517156126b2576132dd8491612b9261330d94608087015190612893565b048251936132fb6132f460208601968751906127f2565b8093612880565b049080821161332e575b5083516126a5565b9151808310613328575051808211613323575090565b905090565b91505090565b905038613305565b5060209150015190565b50608082015115613279565b610e6a6133619284928382116128df57612880565b6000198101919082116126b2576128dc91612893565b6001600160a01b03166000908152600a60205260409020600381015460ff161580156133c7575b6133c157806133b560026128dc93015442906127f2565b9054906010549161334c565b50600090565b50600281015442101561339e565b818110156133eb5780156133eb57600f55601055565b604051630f962f3d60e31b8152600490fd5b6040919493926060820195825260208201520152565b600f91820b910b039060016001607f1b0319821260016001607f1b038313176126b257565b600f91820b910b019060016001607f1b0319821260016001607f1b038313176126b257565b600d5481101561253257600d6000526003602060002091020190600090565b8054821015612532576000526003602060002091020190600090565b8054600160401b8110156125c2576134b59160018201815561347c565b9190916134f5578051602082015160801b6001600160801b0319166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b90600f0b90600f0b029081600f0b9182036126b257565b929192604091825192613534846125a7565b60009586855260209485810190888252428482015260609543878301528484019088848c8451894282116137c2575b505050505060018060a01b03168a52600b885261358282868c20613498565b61358a6128f6565b50600d549387851561379e5750600019850185811161378a57906135ae899261345d565b50978c8b8a5480600f0b9060801d8b51926135c8846125a7565b82845281600f0b90840152428c84015243878401526135ec6001849e0154426127f2565b9182613756575b50505050505b8281015115158061374a575b6136e1575b500151151590816136d5575b5061369f575b5050600160401b81101561368b5780600161363a9201600d5561345d565b9490946136775782519083015160801b6001600160801b0319166001600160801b0390911617845581015160018401550151600291909101559050565b634e487b7160e01b87526004879052602487fd5b634e487b7160e01b87526041600452602487fd5b51906136b2600f92830b8651840b613438565b820b855251810b906136ca878601928351830b613438565b900b9052388061361c565b90504290511138613616565b6136ee42898301516127f2565b81516010546001600160801b039261372c92849161370e9184919061334c565b16936137228d600f96870b9051870b613413565b850b8d5251612893565b16810b906137408c8b01928351830b613413565b900b90523861360a565b50428882015111613605565b61376861376e928694600f0b9061350b565b90613413565b600f0b80835212613782575b8080806135f3565b528c3861377a565b634e487b7160e01b8c52601160045260248cfd5b9086516137aa816125a7565b8c81528c8b82015242888201524383820152976135f9565b6137fb926137d46138329342906127f2565b8d8c51908d6137e86010548095819561334c565b60018060801b0380998195829451612893565b1699600f9a8b0b905216880b8c52848101924284511161384d575b50505050600c8a51860b9689518352522093845480940b613438565b6001600160801b0319909216911617905588848c3889613563565b6138579151612893565b16860b90518252600c87528282209061387482549182890b613413565b6001600160801b031990911690861617905538848e82613816565b6001600160a01b03166000908152600b60205260408120805491929190811561391857600019820191821161391e57906138c89161347c565b506001810154828111613918576138e56138f4916138fd946127f2565b915491600f0b8260801d61350b565b90600f0b613413565b908082600f0b1360001461332357506001600160801b031690565b50505090565b634e487b7160e01b84526011600452602484fd5b600d5480156128e75760001981019081116126b2576139509061345d565b506001810154828111613989576138e56138f49161396d946127f2565b60008082600f0b1360001461332357506001600160801b031690565b505050600090565b602454600160401b8110156125c2578060016139b09201602455612548565b9190916134f557805160209182015190911b63ffffffff191663ffffffff91909116179055565b8054600160401b8110156125c2576139b091600182018155612563565b6001600160e01b03918281116130d0576001600160a01b03909116914363ffffffff1691908315613a6b5791604091613a5e600080516020613efe8339815191529486600052602260205284600020855191613a4f836125f3565b858352841660208301526139d7565b82519182526020820152a2565b600080516020613ede83398151915292935060209116613a9d604051613a90816125f3565b8581528284820152613991565b604051908152a2565b6001600160a01b03164363ffffffff168115613b08576040600080516020613efe83398151915291836000526022602052613af982600020835190613aea826125f3565b838252600060208301526139d7565b815190815260006020820152a2565b9050613b28604051613b19816125f3565b82815260006020820152613991565b600080516020613ede833981519152602060405160008152a2565b438111613c9a5760248054801561398957600090600019808201828111613c8657905b818410613c15575050811015613c005781600052602060002001549163ffffffff831691818314613bf757600c820291808304600c1490151715613be357600c830292808404600c1490151715613be3575081811115613bdb576128dc9291613bce916127f2565b602b54809260201c613cac565b505060201c90565b634e487b7160e01b60009081526011600452fd5b50505060201c90565b50634e487b7160e01b60009081526032600452fd5b9092613c2184826126a5565b6001808201809211613c71571c908663ffffffff613c3e84612548565b50541611613c4f5750925b90613b66565b935081810190811115613c495784634e487b7160e01b60005260116004526000fd5b86634e487b7160e01b60005260116004526000fd5b5050634e487b7160e01b8252506011600452fd5b604051631391e11b60e21b8152600490fd5b9181811015613cdc57613361928492610e6a9260009181811115613cd457612b9292506127f2565b505090612880565b50505050600090565b438211613c9a5760018060a01b03166000918183526025602052604083209060405192613d11846125a7565b82549081855260019160ff6003848701549660208901978852600281015460408a0152015416159081159182606089015291613eb4575b50613eac57855260226020526040852080548015613ea357869260001991808301908111613e7b57939291905b848410613e2f575050613d889250612563565b50548163ffffffff821614613e245750438103613dcf575042905b519283821115613dc857506128dc92613dbb916127f2565b905190602b548092613cac565b9250505090565b8381430391124382128116904383139015161761391e5783811315613e12575b600c810290808204600c149015171561391e57613e0c90426127f2565b90613da3565b600160ff1b811461391e578303613def565b935050505060201c90565b909192613e3c85826126a5565b828101809111613e8f57821c908663ffffffff613e598488612563565b50541611613e6d5750935b93929190613d75565b945082810190811115613e64575b634e487b7160e01b89526011600452602489fd5b634e487b7160e01b8a52601160045260248afd5b50505050505090565b505050505090565b90501538613d4856fe34937d7722678a23b9c1078911aa0d40eec7326d87ab5d725c6e06c2ae06fbabb45c44c56db4e898aff83acd229edf5e8e6ef1ecc211e8775a7203a310225b379d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220960b35d3660ef61e09b8f55a36abadcd1c42458724ab25d9d868f951cf4770a864736f6c63430008140033";
17
+ static readonly bytecode = "0x60a0346200044657601f90601f196001600160401b03620045f33881900385810184168501838111868210176200034a578592829160405283396020948591810103126200044657516001600160a01b03808216949092909185900362000446576200006a6200044b565b916012835271566f746520457363726f776564205241414360701b81840152620000936200044b565b96600688526576655241414360d01b828901528351918383116200034a5760039283546001968782811c921680156200043b575b8483101462000425578185849311620003cf575b5083908583116001146200036c5760009262000360575b505060001982861b1c191690861b1783555b88519384116200034a5760049687548681811c911680156200033f575b838210146200032a57838111620002df575b50819285116001146200027557505082939495969760009362000269575b505082841b92600019911b1c19161783555b3315620002515760058054336001600160a01b03198216811790925560405193167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3600655821562000245578260805262093a8080600f556301e133808060105569d3c21bcecceda1000000806012556a0c685fa11e01ec6f000000918260115583602a55602b55602d55602c556161a8601b55612710601c55601d55670de0b6b3a7640000601e5560405161418790816200046c82396080518181816103f9015281816105c50152818161180901528181611c1b0152611fc50152f35b63e6c4247b60e01b8152fd5b604051631e4fbdf760e01b8152600081850152602490fd5b01519150388062000151565b60008881528281209186169a919493925b8b8210620002c757505084869798999a10620002ac575b50505050811b01835562000163565b01519060f884600019921b161c19169055388080806200029d565b80888597829496860151815501960193019062000286565b88600052826000208480880160051c82019285891062000320575b0160051c019087905b8281106200031357505062000133565b6000815501879062000303565b92508192620002fa565b602289634e487b7160e01b6000525260246000fd5b90607f169062000121565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f2565b908a8994169187600052856000209260005b87828210620003b857505084116200039f575b505050811b01835562000104565b015160001983881b60f8161c1916905538808062000391565b8385015186558c979095019493840193016200037e565b90915085600052836000208580850160051c8201928686106200041b575b918a91869594930160051c01915b8281106200040b575050620000db565b600081558594508a9101620003fb565b92508192620003ed565b634e487b7160e01b600052602260045260246000fd5b91607f1691620000c7565b600080fd5b60408051919082016001600160401b038111838210176200034a5760405256fe60806040908082526004918236101561001757600080fd5b600091823560e01c90816306fdde031461249257508063095ea7b3146123e85780630b5dce33146123c55780630c5258351461235f5780630c9cbf0e1461231457806310075ab2146122f957806312064c34146122c35780631338736f14611f4a57806318160ddd14611f2d5780631c03e6cc14611e55578063211dc32d14611dd457806323b872dd14611cea5780632d4c6e8a14611ccc57806330f3f0db14611a49578063313ce56714611a2e57806334bbeab81461199057806336301533146118a25780633a6ba6931461187d5780633ccfd60b146117475780633d509c97146115ba5780633fa05f8a1461152957806348e5d9f8146114985780634c5ecdac1461145d5780634ee2cd7e14611435578063558ac136146113825780635679ab341461136457806356fe702d146113465780635ade228a146113295780635c975abb1461130657806370a08231146112df578063715018a61461129457806372070b8114611276578063742ea0651461121b5780637bb7bed1146111da57806382944e2d146111bd5780638da5cb5b1461119557806395d89b41146110b05780639714378c14610e4d578063981b24d014610e2d5780639c17a18d14610d76578063a592d9ec14610d58578063a9059cbb14610d28578063aaf5eb6814610d06578063ac15e02d14610c8c578063afd7babe14610c6e578063b2e0df9614610bf8578063b5fd73f814610bbb578063b66503cf146108a7578063c74ed2fe14610830578063d279c191146107da578063d2e01b2f14610723578063d4570c1c146106f6578063d700c18b14610685578063db2e21bc146104c0578063dd5b762314610470578063dd62ed3e14610428578063e40963f2146103e5578063f1229777146103b9578063f2fde38b1461033d5763f786b958146102b957600080fd5b346103395760203660031901126103395782356102d4612674565b600f549081811115610329577fc586b63a7dd25a8f779ea2204bd799faa31a041413e1c1dc848fc3d4db326bc5939450610311816010549361359c565b600f54602a5580602b5582519182526020820152a180f35b825163180d062b60e31b81528590fd5b5080fd5b5082346103b55760203660031901126103b5576103586125af565b90610361612674565b6001600160a01b0391821692831561039f575050600580546001600160a01b031981168417909155166000805160206141128339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610339576020366003190112610339576020906103de6103d96125af565b612af1565b9051908152f35b5034610339578160031936011261033957517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5034610339578060031936011261033957806020926104456125af565b61044d6125ca565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5081833461033957602036600319011261033957359161048e612674565b828252602e6020528120557f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b8280a280f35b5091346103395781600319360112610339576104da612996565b600854801590811561067b575b5061066d576104f533612d63565b3382526020600a81528383209084519461050e866126a0565b825495868152600194858501548483015260028501548383015260ff978860038097015416151560608401521561065f5750519261054c4233613a56565b96338752600a845261055f8388206129df565b6025845261056e8388206129df565b600e5460295561057d33613c6d565b61058633612ead565b86865b6105ff575b505050907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e51916105be87336129c6565b6105e984337f0000000000000000000000000000000000000000000000000000000000000000612a12565b519283523392a26105f933613166565b60065580f35b602f5481101561065a579061064e826106188994612610565b905490861b1c6001600160a01b03168a5260308752858a20548316156106555760338752858a20338b5287528986812055612a47565b9091610589565b612a47565b61058e565b82516343b976c160e01b8152fd5b8251632457654760e11b8152fd5b90504210386104e7565b5034610339578060031936011261033957806080926106a26125af565b6106aa6125ca565b9060018060a01b038091168352603260205283832091168252602052209081549160018101549163ffffffff600360028401549301541692815194855260208501528301526060820152f35b50346103395780600319360112610339576020906103de6107156125af565b61071d6125ca565b90612c36565b50346103395760203660031901126103395790816080926107426125af565b9261074b612acc565b506001600160a01b0384168152600a602052208151919061076b836126a0565b6107a0815494858552600183015494856020820152606060ff6003600287015496878986015201541615159101524290613a56565b92606083516107ae816126a0565b868152602081019283528481019384520193845282519485525160208501525190830152516060820152f35b5082346103b55760203660031901126103b5576107f56125af565b916107fe612996565b60ff60075416610823578361081b8461081681612d63565b612ead565b600160065580f35b5163ab35696f60e01b8152fd5b503461033957602036600319011261033957823561084c612674565b6010549081811015610329578015610329577fbe1603c07044e0ff5ba6fe6ecca480a3f67123018f6f566298d5e33b2d3b5d0993945061088f600f54928261359c565b60105481602a55602b5582519182526020820152a180f35b50346103395780600319360112610339576108c06125af565b90602435926108cd612996565b60ff918260075416610bac57849060018060a01b038095169384845260309460209386855282848720541615610b9c578815610b8c57855b602f5481101561098f57808961091d61097093612610565b919054600392831b1c16808a528a895286888b205416156109885760318952610948888b2091612af1565b8154804210600014610982575042925b600283019283548511610975575b5050505050612a47565b610905565b0155553880808080610966565b92610958565b5050612a47565b8a878487858e8b84865260318152838620916109aa43613d0a565b8015610b7c5760058401556109c18130338961281e565b8254804210610b45575b5050670de0b6b3a764000091828402848104841485151715610aff5762093a80809104938460018401558415610b35578185028581048303610b2257048510610b12574260028301554201804211610aff578155870180546001600160c81b0319163364ffffffffff60a01b1916174360a81b63ffffffff60a81b1617600160a01b17905583516370a0823160e01b815230818901528181602481895afa908115610af5578791610ac4575b508311610ab4577f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d819949596508351928352820152a2600160065580f35b835163f16eeebd60e01b81528790fd5b90508181813d8311610aee575b610adb8183612707565b81010312610aea575188610a77565b8680fd5b503d610ad1565b85513d89823e3d90fd5b634e487b7160e01b885260118952602488fd5b85516308af88a160e21b81528990fd5b634e487b7160e01b8a5260118b5260248afd5b86516308af88a160e21b81528a90fd5b610b74929450610b6d610b62670de0b6b3a76400009242906129b9565b600186015490612a56565b049061279e565b9187806109cb565b855163cabeb65560e01b81528990fd5b835163162908e360e11b81528a90fd5b8351630cbdb7b360e41b81528a90fd5b5163ab35696f60e01b81528590fd5b50346103395760203660031901126103395760209160ff9082906001600160a01b03610be56125af565b1681526030855220541690519015158152f35b5034610339576020366003190112610339578235610c14612674565b601b5490601c54811115610c5e578015610c5e577ffb34721264d9bd99f9397915cd89b3efe17ab520387dde594891fb4746ad1b5593945080601b5582519182526020820152a180f35b825163151843ad60e21b81528590fd5b5034610339578160031936011261033957602090600f549051908152f35b5082346103b55760203660031901126103b557803591610caa612674565b828452602e60205242818520556203f480420191824211610cf357507f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa9160209151908152a280f35b634e487b7160e01b855260119052602484fd5b503461033957816003193601126103395760209051670de0b6b3a76400008152f35b5034610339578060031936011261033957602090610d51610d476125af565b602435903361272a565b5160018152f35b50346103395781600319360112610339576020906002549051908152f35b509034610e2a5781600319360112610e2a57610d906125af565b90601d549160205491610da7602154924290613a56565b91610db142613af9565b601b54601c548851979296929160c089016001600160401b0381118a821017610e17578a610dfb9b9c505288526020880152888701526060860152608085015260a0840152613434565b612710610e0a82602435612a56565b0482519182526020820152f35b634e487b7160e01b875260418c52602487fd5b80fd5b509034610e2a576020366003190112610e2a57506103de60209235613d0a565b5082346103b557602091826003193601126110ac57610e6a612996565b60ff6007541661082357610e7d33612d63565b338452600a8352808420928151610e93816126a0565b84548152606060ff600360019788810154868601526002810154878601520154161515910152610ec2336125f6565b60ff6003820154161561109d57600281019384544281111561108e57610f1790878454940154865194610ef4866126a0565b8552858501528086850152876060850152610f1283359142906129b9565b61279e565b906010548211611080575090610f30610f72924261279e565b809555610f3c336125f6565b9060ff6003865193610f4d856126a0565b80548552898101548786015260028101548886015201541615156060830152336136e9565b8151918383527fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49283833392a2338652600a825261102881872061100c835191610fbb836126a0565b805483526003898201549187850192835260ff8260028301549289880193845201541690606086019115158252338d5260258952878d209386518555518c85015551600284015551151591016127c1565b600e5460295561101c42876129b9565b90519060105491613513565b6110328133613bbb565b61103c4233613a56565b8082111561105757611051906105e9926129b9565b336127d2565b808210611066575b50506105e9565b61107991611073916129b9565b336129c6565b868061105f565b8451630f962f3d60e31b8152fd5b5083516307b7d7dd60e51b8152fd5b505051636086ee6f60e11b8152fd5b8380fd5b5034610339578160031936011261033957805191809380549160019083821c9282851694851561118b575b6020958686108114611178578589529081156111545750600114611119575b611115878761110b828c0383612707565b5191829182612566565b0390f35b9080949750528583205b82841061114157505050826111159461110b928201019438806110fa565b8054868501880152928601928101611123565b60ff19168887015250505050151560051b830101925061110b8261111538806110fa565b634e487b7160e01b845260228352602484fd5b93607f16936110db565b503461033957816003193601126103395760055490516001600160a01b039091168152602090f35b5034610339578160031936011261033957602090516203f4808152f35b5082346103b55760203660031901126103b5573591602f54831015610e2a5750611205602092612610565b905491519160018060a01b039160031b1c168152f35b5034610339578160031936011261033957611234612674565b6000805160206140b28339815191528252602e60205242908220557ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b58180a180f35b50346103395781600319360112610339576020906008549051908152f35b8234610e2a5780600319360112610e2a576112ad612674565b600580546001600160a01b0319811690915581906001600160a01b03166000805160206141128339815191528280a380f35b5034610339576020366003190112610339576020906103de6112ff6125af565b4290613a56565b503461033957816003193601126103395760209060ff6007541690519015158152f35b50346103395781600319360112610339576020905162093a808152f35b5034610339578160031936011261033957602090601c549051908152f35b50346103395781600319360112610339576020906010549051908152f35b509134610339576020366003190112610339578261139e6125af565b6001600160a01b0381168452600a602052818420548251639c17a18d60e01b815293849283926113d29290919084016129f7565b0381305afa90811561142b578280926113f4575b505082519182526020820152f35b915091508282813d8311611424575b61140d8183612707565b81010312610e2a57506020815191015138806113e6565b503d611403565b83513d84823e3d90fd5b50346103395780600319360112610339576020906103de6114546125af565b60243590613eac565b50346103395760203660031901126103395760209160029082906001600160a01b036114876125af565b168152600a85522001549051908152f35b508290346103b55760203660031901126103b5576101009263ffffffff906001600160a01b03908390826114ca6125af565b168152603160205220908154946001830154946002840154906005600386015493860154950154968151988952602089015287015260608601528116608085015260ff8160a01c16151560a085015260a81c1660c083015260e0820152f35b503461033957816003193601126103395760a0916080825161154a816126d1565b82815282602082015282848201528260608201520152601c5490601b5490601d5490602054916021549360808351611581816126d1565b87815260208101928352848101938452606081019586520194855282519586525160208601525190840152516060830152516080820152f35b5082346103b55760203660031901126103b5576115d56125af565b6115dd612674565b6001600160a01b0390811680855260306020528385205490929060ff1615611739578285526031938460205280862054421061172c5783865260306020528520805460ff19169055845b602f805480831015611720579084918661164085612610565b949054600395861b1c16146116605750505061165b90612a47565b611627565b92600097919594929697199384810190811161170d5790611694866116876116b394612610565b9054908b1b1c1691612610565b90919082549060031b9160018060a01b03809116831b921b1916179055565b84549182156116fd57505001926116c984612610565b81939154921b1b19169055555b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50098280a280f35b634e487b7160e01b895252602487fd5b634e487b7160e01b8a526011845260248afd5b505050505090506116d6565b516398ccee4b60e01b8152fd5b8351630cbdb7b360e41b8152fd5b5082346103b557826003193601126103b557611761612996565b61176a33612d63565b338352600a60205281832090825191611782836126a0565b80548084526001820154602085015260ff6003600284015493878701948552015416151560608501521561186e57514210611860575051906118026117c74233613a56565b338552600a6020526117da8386206129df565b60256020526117ea8386206129df565b600e546029556117f933613c6d565b61107333612ead565b61182d82337f0000000000000000000000000000000000000000000000000000000000000000612a12565b519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a261081b33613166565b825163342ad40160e11b8152fd5b508251636086ee6f60e11b8152fd5b5034610339578160031936011261033957602090516a0c685fa11e01ec6f0000008152f35b50346103395781600319360112610339576118bb612674565b7fb90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910808352602e602052818320548015611980576203f4809081810180911161196d57421061195d57420180421161194a578394506020817f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc2204926008558451908152a18252602e60205281205580f35b634e487b7160e01b845260118552602484fd5b82516394ef5f3560e01b81528590fd5b634e487b7160e01b855260118652602485fd5b825163610a8b2d60e01b81528590fd5b50346103395781600319360112610339576119a9612674565b6000805160206140b2833981519152808352602e602052818320548015611980576203f480810180911161194a574210611a1e57829350600160ff1960095416176009557fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d873568380a18252602e60205281205580f35b81516394ef5f3560e01b81528490fd5b50346103395781600319360112610339576020905160128152f35b508290346103b557602090816003193601126110ac57823591611a6a612996565b60ff60075416611cbc57611a7d33612d63565b6002916a0c685fa11e01ec6f000000611a9785855461279e565b11611cad57611aa5336125f6565b60ff60038201541615611c9d57838101549042821115611c8d5780546001978883015493855194611ad5866126a0565b8386528786015285850152886060850152611af0888361279e565b60125410611c7f575090611b0887611b57949361279e565b9055611b1686600e5461279e565b600e55611b22336125f6565b9060ff6003855193611b33856126a0565b805485528a81015488860152888101548786015201541615156060830152336136e9565b6105e9611051611c098351958787527fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549687873392a2338a52600a8652848a2060258752858b208a828203611c4f575b505050600e5480602955600a87528655848a2054602155611bc66132a9565b338a52600a865261101c858b2060ff6003885194611be3866126a0565b835486528d8401548b87015283015492838a8701520154161515606084015242906129b9565b611c138133613bbb565b611c3f8730337f000000000000000000000000000000000000000000000000000000000000000061281e565b611c494233613a56565b906129b9565b60ff6003848193611c77965486558082015490860155868101548786015501541691016127c1565b8a808a611ba7565b845163172bd6a160e31b8152fd5b82516307b7d7dd60e51b81528790fd5b8151636086ee6f60e11b81528690fd5b51633c92a01b60e11b81528490fd5b815163ab35696f60e01b81528490fd5b5034610339578160031936011261033957602090601b549051908152f35b50919034610e2a576060366003190112610e2a57611d066125af565b611d0e6125ca565b916044359360018060a01b038316808352600160205286832033845260205286832054916000198303611d4a575b602088610d5189898961272a565b868310611db2578115611d9b573315611d8457508252600160209081528683203384528152918690209085900390558290610d5138611d3c565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b9050611dd0868851938493637dc7a0d960e11b855233908501612780565b0390fd5b509034610e2a5781600319360112610e2a57611dee6125af565b92611df76125ca565b60018060a01b039081811692838552603060205260ff868620541615611e4757506103de938693600293611e2e889460209a612c36565b951682526032885282822090825287522001549061279e565b8551630cbdb7b360e41b8152fd5b508290346103b55760203660031901126103b557611e716125af565b611e79612674565b6001600160a01b038116928315611f1f57838552603060205260ff8386205416611f1157602f5490600160401b821015611efe575090611694826001611ec29401602f55612610565b81835260306020528220805460ff191660011790557ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8268280a280f35b634e487b7160e01b865260419052602485fd5b825163630b374b60e01b8152fd5b825163e6c4247b60e01b8152fd5b50346103395781600319360112610339576020906103de42613af9565b503461033957611f59366125e0565b611f64929192612996565b60ff600754166122b357611f7733612d63565b82156122a35769d3c21bcecceda10000008311612293576a0c685fa11e01ec6f000000611fa68460025461279e565b1161228357600f94855482108015612278575b61226a57611fe98430337f000000000000000000000000000000000000000000000000000000000000000061281e565b611ff3824261279e565b9186548015158061225f575b612232575b5061200f904261279e565b9083519161201c836126a0565b8583526120966020936120638582014281526003898401868152606085019060018252612048336125f6565b938651855551600185015551600284015551151591016127c1565b61206f88600e5461279e565b600e55865161207d816126a0565b89815289868201528988820152896060820152336136e9565b7f71fc552ee832a9004ea0bdb07cb6dd9d641eb2cb53b3cfe88c8fdcff886734a08551806120c73394428b846135c4565b0390a2601054904284111561222457507f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce0479495966121a69161212161211661210f42886129b9565b928a612a69565b830b91830b826136d2565b916121548751612130816126a0565b84830b815283878201524289820152436060820152338c52600b8752888c2061365f565b816121ec575b5050338852600a8352848820602584528589208181036121ba575b5050600e54806029558355600a8352848820546021556121936132a9565b6001600160801b03166110518133613bbb565b82519485528401523392a261081b33613166565b600360ff81846121e595548555600181015460018601556002810154600286015501541691016127c1565b3880612175565b858a52600c8552612204878b2092835480930b6135ff565b6001600160801b03166001600160801b031991909116179055388061215a565b845163e2d8438b60e01b8152fd5b81108015612254575b6122455738612004565b508251630f962f3d60e31b8152fd5b50601054811161223b565b506010541515611fff565b8251630f962f3d60e31b8152fd5b506010548211611fb9565b8151633c92a01b60e11b81528590fd5b815163172bd6a160e31b81528590fd5b815163162908e360e11b81528590fd5b815163ab35696f60e01b81528590fd5b50346103395760203660031901126103395760209181906001600160a01b036122ea6125af565b16815280845220549051908152f35b5034610339576020906103de61230e366125e0565b90612a89565b50346103395780600319360112610339576002816020936123336125af565b61233b6125ca565b6001600160a01b039182168352603287528383209116825285522001549051908152f35b503461033957602036600319011261033957823561237b612674565b601c5490601b54811015610c5e578015610c5e577f513e0cb9f7e6f20f3331a3d6bc5a2070854a399222885cccf74ac523949f0b3a93945080601c5582519182526020820152a180f35b503461033957816003193601126103395760209060ff6009541690519015158152f35b5082346103b557816003193601126103b5576124026125af565b60243590331561247b576001600160a01b031691821561246457508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b92939050346110ac57836003193601126110ac57600354600181811c918690828116801561255c575b6020958686108214612549575084885290811561252757506001146124ec575b611115868661110b828b0383612707565b929550600383528583205b82841061251457505050826111159461110b9282010194386124db565b80548685018801529286019281016124f7565b60ff191687860152505050151560051b830101925061110b82611115386124db565b634e487b7160e01b845260229052602483fd5b93607f16936124bb565b6020808252825181830181905290939260005b82811061259b57505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501612579565b600435906001600160a01b03821682036125c557565b600080fd5b602435906001600160a01b03821682036125c557565b60409060031901126125c5576004359060243590565b6001600160a01b03166000908152600a6020526040902090565b602f5481101561262b57602f60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60245481101561262b57602460005260206000200190600090565b805482101561262b5760005260206000200190600090565b6005546001600160a01b0316330361268857565b60405163118cdaa760e01b8152336004820152602490fd5b608081019081106001600160401b038211176126bb57604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176126bb57604052565b604081019081106001600160401b038211176126bb57604052565b601f909101601f19168101906001600160401b038211908210176126bb57604052565b91906001600160a01b03808416156127675781161561274e5761274c92613078565b565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b919082018092116127ab57565b634e487b7160e01b600052601160045260246000fd5b9060ff801983541691151516179055565b6001600160a01b031690811561274e5760008051602061413283398151915260208261280260009460025461279e565b60025584845283825260408420818154019055604051908152a3565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815261274c91612860826126d1565b60018060a01b031690600080826020829451910182865af13d15612927573d906001600160401b03821161291357906128bb91604051916128ab6020601f19601f8401160184612707565b82523d84602084013e5b84612933565b9081519182151592836128eb575b5050506128d35750565b60249060405190635274afe760e01b82526004820152fd5b819293509060209181010312610339576020015190811591821503610e2a57503880806128c9565b634e487b7160e01b83526041600452602483fd5b6128bb906060906128b5565b9061295a575080511561294857805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061298d575b61296b575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612963565b6002600654146129a7576002600655565b604051633ee5aeb560e01b8152600490fd5b919082039182116127ab57565b906001600160a01b038216156127675761274c91612fa6565b60036000918281558260018201558260028201550155565b6001600160a01b039091168152602081019190915260400190565b61286061274c9392612a3960405194859263a9059cbb60e01b6020850152602484016129f7565b03601f198101845283612707565b60001981146127ab5760010190565b818102929181159184041417156127ab57565b8115612a73570490565b634e487b7160e01b600052601260045260246000fd5b80158015612ac4575b612abd57612aad612ab29260105492838211612ab557612a56565b612a69565b90565b839150612a56565b5050600090565b508115612a92565b60405190612ad9826126a0565b60006060838281528260208201528260408201520152565b6001600160a01b0390811660009081526031602052604080822090516101008101949392906001600160401b03861181871017612c225760e093949560405282549283825260018101549360208301948552600282015492836040820152600560038401549363ffffffff606084019a868c526004830154908116608086015260ff8160a01c16151560a086015260a81c1660c0840152015496879101528515612c1857804210600014612c12575042905b82821115612c08575090612bb6916129b9565b91612bcd670de0b6b3a76400009384925190612a56565b04828102928184041490151715612bf45750612ab29291612bed91612a69565b905161279e565b634e487b7160e01b81526011600452602490fd5b9550505050505090565b90612ba3565b5094505050505090565b634e487b7160e01b82526041600452602482fd5b9060018060a01b0391828216600090808252603060205260409460ff868420541615612cc257606086612ab29796948694612cbc94612bed9816825260326020528282209082526020522063ffffffff6003885192612c94846126a0565b80548452600181015499602085019a8b52600282015490850152015416918291015282613eac565b50612cd3565b8551630cbdb7b360e41b8152600490fd5b670de0b6b3a764000091612d59612d5f9260018060a01b0380821660005260326020526040600020908416600052602052612d51612d4b60406000209263ffffffff600360405195612d24876126a0565b80548752600181015460208801526002810154604088015201541690816060860152613eac565b93612af1565b9051906129b9565b90612a56565b0490565b60005b602f54811015612ea95780612d7d612df092612610565b9060018060a01b03809154600393841b1c16908160005260209260308452604060ff8160002054161561096657603185528060002093612dbc81612af1565b938554804210600014612ea45750425b6002870180548211612e97575b505089169586612df5575b50505050505050612a47565b612d66565b612e5792876000526032825280600020836000528252806000209485019763ffffffff97886004818c541692015460a81c168110600014612e8357612e3a908d613eac565b928460005260338152826000209160005252600020555b88612cd3565b612e666001830191825461279e565b905555431663ffffffff1982541617905538808080808080612de4565b509190603382526000209160005252612e51565b8686890155553880612dd9565b612dcc565b5050565b6001600160a01b0390808216908115612f945760005b602f54811015612f8e57808385612edc612f2e94612610565b90549060031b1c168060005260206030815260409060ff82600020541615612f85578360005260328152816000208360005281528160002091600183019081549182612f335750505050505050612a47565b612ec3565b7f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9460006002925501612f6783825461279e565b9055612f74828a87612a12565b51908152a383388080808080612de4565b50505050612a47565b50505050565b60405163e6c4247b60e01b8152600490fd5b9091906001600160a01b038116908115808015613070575b612fd457604051638cd22d1960e01b8152600490fd5b156130105750600080516020614132833981519152602084612ffb6000959660025461279e565b6002555b8060025403600255604051908152a3565b926000828152806020526040812054948286106130515750818160406000805160206141328339815191529460009798876020965283865203912055612fff565b8590611dd08460405193849363391434e360e21b855260048501612780565b506001612fbe565b6001600160a01b03808216929091831580801561315c575b6130a657604051638cd22d1960e01b8152600490fd5b156131005750600080516020614132833981519152916020916130cb8660025461279e565b6002555b1693846130e85780600254036002555b604051908152a3565b846000526000825260406000208181540190556130df565b6000908482528160205260408220549086821061313f5750918160408760209588600080516020614132833981519152989652838752039120556130cf565b611dd08760405193849363391434e360e21b855260048501612780565b5083831615613090565b6131786131728261353e565b82613bbb565b61318142613af9565b6001600160e01b0390818111613297576131d063ffffffff928343169216916000805160206140d28339815191526040938451906131be826126ec565b83825260209482828780950152613b58565b8551908152a2600e5481556001600160a01b038481166000818152600a8452848120546021559290916132016132a9565b835b602f5481101561328d57808261321b61328093612610565b919054600392831b1c16908188526030865260ff898920541615610988576031865289898920544210156132855761326891888a52603288528a8a20848b5288528a8a200154168b613eac565b90875260338552878720868852855287872055612a47565b613203565b505050612a47565b5050505050505050565b604051632f537ee160e01b8152600490fd5b601d54801561342257601b5490601c548210613410576014549081151580806133fe575b61337c57601f549281613366575b50613354578215613342577f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829242601455613316824261279e565b6015554260165582601755600060185581601955601a5561333d60405192839242846135c4565b0390a1565b6040516319a2a9bd60e01b8152600490fd5b60405163f0aaee6560e01b8152600490fd5b61337491506019549061279e565b4210386132db565b5050601f549150421080156133f3575b6133e1576016544203806133a5575b5060175542601655565b601754818102906133b68383612a69565b036133cf5760185401601855601954016019553861339b565b60405163f20577e560e01b8152600490fd5b6040516337bf561360e11b8152600490fd5b50601554421161338c565b50613409828461279e565b42106132cd565b60405163151843ad60e21b8152600490fd5b60405163a8c60b8160e01b8152600490fd5b91909182158015613507575b6134fd57670de0b6b3a764000092838202918083048514901517156127ab5761346891612a69565b66038d7ea4c6800081106134fd57606082015190838202918083048514901517156127ab576134a48491612d596134d494608087015190612a69565b048251936134c26134bb60208601968751906129b9565b8093612a56565b04908082116134f5575b50835161279e565b91518083106134ef5750518082116134ea575090565b905090565b91505090565b9050386134cc565b5060209150015190565b50608082015115613440565b610f12613528928492838211612ab557612a56565b6000198101919082116127ab57612ab291612a69565b6001600160a01b03166000908152600a60205260409020600381015460ff1615801561358e575b613588578061357c6002612ab293015442906129b9565b90549060105491613513565b50600090565b506002810154421015613565565b818110156135b25780156135b257600f55601055565b604051630f962f3d60e31b8152600490fd5b6040919493926060820195825260208201520152565b600f91820b910b039060016001607f1b0319821260016001607f1b038313176127ab57565b600f91820b910b019060016001607f1b0319821260016001607f1b038313176127ab57565b600d5481101561262b57600d6000526003602060002091020190600090565b805482101561262b576000526003602060002091020190600090565b8054600160401b8110156126bb5761367c91600182018155613643565b9190916136bc578051602082015160801b6001600160801b0319166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b90600f0b90600f0b029081600f0b9182036127ab57565b9291926040918251926136fb846126a0565b60009586855260209485810190888252428482015260609543878301528484019088848c845189428211613989575b505050505060018060a01b03168a52600b885261374982868c2061365f565b613751612acc565b50600d54938785156139655750600019850185811161395157906137758992613624565b50978c8b8a5480600f0b9060801d8b519261378f846126a0565b82845281600f0b90840152428c84015243878401526137b36001849e0154426129b9565b918261391d575b50505050505b82810151151580613911575b6138a8575b5001511515908161389c575b50613866575b5050600160401b811015613852578060016138019201600d55613624565b94909461383e5782519083015160801b6001600160801b0319166001600160801b0390911617845581015160018401550151600291909101559050565b634e487b7160e01b87526004879052602487fd5b634e487b7160e01b87526041600452602487fd5b5190613879600f92830b8651840b6135ff565b820b855251810b90613891878601928351830b6135ff565b900b905238806137e3565b905042905111386137dd565b6138b542898301516129b9565b81516010546001600160801b03926138f39284916138d591849190613513565b16936138e98d600f96870b9051870b6135da565b850b8d5251612a69565b16810b906139078c8b01928351830b6135da565b900b9052386137d1565b504288820151116137cc565b61392f613935928694600f0b906136d2565b906135da565b600f0b80835212613949575b8080806137ba565b528c38613941565b634e487b7160e01b8c52601160045260248cfd5b908651613971816126a0565b8c81528c8b82015242888201524383820152976137c0565b6139c29261399b6139f99342906129b9565b8d8c51908d6139af60105480958195613513565b60018060801b0380998195829451612a69565b1699600f9a8b0b905216880b8c528481019242845111613a14575b50505050600c8a51860b9689518352522093845480940b6135ff565b6001600160801b0319909216911617905588848c388961372a565b613a1e9151612a69565b16860b90518252600c875282822090613a3b82549182890b6135da565b6001600160801b031990911690861617905538848e826139dd565b6001600160a01b03166000908152600b602052604081208054919291908115613adf576000198201918211613ae55790613a8f91613643565b506001810154828111613adf57613aac613abb91613ac4946129b9565b915491600f0b8260801d6136d2565b90600f0b6135da565b908082600f0b136000146134ea57506001600160801b031690565b50505090565b634e487b7160e01b84526011600452602484fd5b600d548015612abd5760001981019081116127ab57613b1790613624565b506001810154828111613b5057613aac613abb91613b34946129b9565b60008082600f0b136000146134ea57506001600160801b031690565b505050600090565b602454600160401b8110156126bb57806001613b779201602455612641565b9190916136bc57805160209182015190911b63ffffffff191663ffffffff91909116179055565b8054600160401b8110156126bb57613b779160018201815561265c565b6001600160e01b0391828111613297576001600160a01b03909116914363ffffffff1691908315613c325791604091613c256000805160206140f28339815191529486600052602260205284600020855191613c16836126ec565b85835284166020830152613b9e565b82519182526020820152a2565b6000805160206140d283398151915292935060209116613c64604051613c57816126ec565b8581528284820152613b58565b604051908152a2565b6001600160a01b03164363ffffffff168115613ccf5760406000805160206140f283398151915291836000526022602052613cc082600020835190613cb1826126ec565b83825260006020830152613b9e565b815190815260006020820152a2565b9050613cef604051613ce0816126ec565b82815260006020820152613b58565b6000805160206140d2833981519152602060405160008152a2565b438111613e6157602480548015613b5057600090600019808201828111613e4d57905b818410613ddc575050811015613dc75781600052602060002001549163ffffffff831691818314613dbe57600c820291808304600c1490151715613daa57600c830292808404600c1490151715613daa575081811115613da257612ab29291613d95916129b9565b602b54809260201c613e73565b505060201c90565b634e487b7160e01b60009081526011600452fd5b50505060201c90565b50634e487b7160e01b60009081526032600452fd5b9092613de8848261279e565b6001808201809211613e38571c908663ffffffff613e0584612641565b50541611613e165750925b90613d2d565b935081810190811115613e105784634e487b7160e01b60005260116004526000fd5b86634e487b7160e01b60005260116004526000fd5b5050634e487b7160e01b8252506011600452fd5b604051631391e11b60e21b8152600490fd5b9181811015613ea357613528928492610f129260009181811115613e9b57612d5992506129b9565b505090612a56565b50505050600090565b438211613e61576001600160a01b031660008181526025602052604080822090519293909190613edb846126a0565b82549485855260019081850154966020870197885260ff600360028801549760408a0198895201541615908115918260608a0152916140a8575b5061409e578352602260205260408320805480156140935784926000199180830190811161406b57939291905b84841061401f575050613f55925061265c565b50548163ffffffff8216146140135750438103613fab5750425b84519182821115613fa2575093613f8c613f9692612ab2966129b9565b92519051906129b9565b915191602b5492613e73565b94505050505090565b81814303911243821281169043831390151617613fed5781811315614001575b600c810290808204600c1490151715613fed57613fe890426129b9565b613f6f565b634e487b7160e01b82526011600452602482fd5b600160ff1b8114613fed578103613fcb565b94505050505060201c90565b90919261402c858261279e565b82810180911161407f57821c908663ffffffff614049848861265c565b5054161161405d5750935b93929190613f42565b945082810190811115614054575b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b505050509250505090565b5050509250505090565b90501538613f1556fe34937d7722678a23b9c1078911aa0d40eec7326d87ab5d725c6e06c2ae06fbabb45c44c56db4e898aff83acd229edf5e8e6ef1ecc211e8775a7203a310225b379d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220221cd8e7101bcfe0147b3ec40b4d0cd4e6d6e2043c369c12bff2f28dbb3674f264736f6c63430008140033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -27,6 +27,22 @@ export declare class VeRAACToken__factory extends ContractFactory {
27
27
  readonly inputs: readonly [];
28
28
  readonly name: "ActiveRewardPeriod";
29
29
  readonly type: "error";
30
+ }, {
31
+ readonly inputs: readonly [{
32
+ readonly internalType: "address";
33
+ readonly name: "target";
34
+ readonly type: "address";
35
+ }];
36
+ readonly name: "AddressEmptyCode";
37
+ readonly type: "error";
38
+ }, {
39
+ readonly inputs: readonly [{
40
+ readonly internalType: "address";
41
+ readonly name: "account";
42
+ readonly type: "address";
43
+ }];
44
+ readonly name: "AddressInsufficientBalance";
45
+ readonly type: "error";
30
46
  }, {
31
47
  readonly inputs: readonly [];
32
48
  readonly name: "AmountExceedsLimit";
@@ -115,6 +131,10 @@ export declare class VeRAACToken__factory extends ContractFactory {
115
131
  readonly inputs: readonly [];
116
132
  readonly name: "EmergencyWithdrawNotEnabled";
117
133
  readonly type: "error";
134
+ }, {
135
+ readonly inputs: readonly [];
136
+ readonly name: "FailedInnerCall";
137
+ readonly type: "error";
118
138
  }, {
119
139
  readonly inputs: readonly [];
120
140
  readonly name: "InsufficientRewardBalance";