@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
@@ -17,6 +17,22 @@ export declare class BaseGauge__factory {
17
17
  }];
18
18
  readonly name: "AccessControlUnauthorizedAccount";
19
19
  readonly type: "error";
20
+ }, {
21
+ readonly inputs: readonly [{
22
+ readonly internalType: "address";
23
+ readonly name: "target";
24
+ readonly type: "address";
25
+ }];
26
+ readonly name: "AddressEmptyCode";
27
+ readonly type: "error";
28
+ }, {
29
+ readonly inputs: readonly [{
30
+ readonly internalType: "address";
31
+ readonly name: "account";
32
+ readonly type: "address";
33
+ }];
34
+ readonly name: "AddressInsufficientBalance";
35
+ readonly type: "error";
20
36
  }, {
21
37
  readonly inputs: readonly [];
22
38
  readonly name: "AlreadyPaused";
@@ -45,6 +61,10 @@ export declare class BaseGauge__factory {
45
61
  readonly inputs: readonly [];
46
62
  readonly name: "ExpectedPause";
47
63
  readonly type: "error";
64
+ }, {
65
+ readonly inputs: readonly [];
66
+ readonly name: "FailedInnerCall";
67
+ readonly type: "error";
48
68
  }, {
49
69
  readonly inputs: readonly [];
50
70
  readonly name: "FailedToGetTokenDecimals";
@@ -73,6 +93,10 @@ export declare class BaseGauge__factory {
73
93
  readonly inputs: readonly [];
74
94
  readonly name: "InvalidAmount";
75
95
  readonly type: "error";
96
+ }, {
97
+ readonly inputs: readonly [];
98
+ readonly name: "InvalidBoostRatio";
99
+ readonly type: "error";
76
100
  }, {
77
101
  readonly inputs: readonly [];
78
102
  readonly name: "InvalidCheckpointIndex";
@@ -271,7 +295,7 @@ export declare class BaseGauge__factory {
271
295
  readonly inputs: readonly [{
272
296
  readonly indexed: false;
273
297
  readonly internalType: "uint256";
274
- readonly name: "emission";
298
+ readonly name: "newEmission";
275
299
  readonly type: "uint256";
276
300
  }];
277
301
  readonly name: "EmissionUpdated";
@@ -456,6 +480,36 @@ export declare class BaseGauge__factory {
456
480
  }];
457
481
  readonly name: "Staked";
458
482
  readonly type: "event";
483
+ }, {
484
+ readonly anonymous: false;
485
+ readonly inputs: readonly [{
486
+ readonly indexed: true;
487
+ readonly internalType: "address";
488
+ readonly name: "token";
489
+ readonly type: "address";
490
+ }, {
491
+ readonly indexed: false;
492
+ readonly internalType: "uint256";
493
+ readonly name: "ratio";
494
+ readonly type: "uint256";
495
+ }];
496
+ readonly name: "TokenBoostRatioUpdated";
497
+ readonly type: "event";
498
+ }, {
499
+ readonly anonymous: false;
500
+ readonly inputs: readonly [{
501
+ readonly indexed: true;
502
+ readonly internalType: "address";
503
+ readonly name: "token";
504
+ readonly type: "address";
505
+ }, {
506
+ readonly indexed: false;
507
+ readonly internalType: "uint256";
508
+ readonly name: "newEmissionCap";
509
+ readonly type: "uint256";
510
+ }];
511
+ readonly name: "TokenEmissionCapUpdated";
512
+ readonly type: "event";
459
513
  }, {
460
514
  readonly anonymous: false;
461
515
  readonly inputs: readonly [{
@@ -848,6 +902,62 @@ export declare class BaseGauge__factory {
848
902
  }];
849
903
  readonly stateMutability: "view";
850
904
  readonly type: "function";
905
+ }, {
906
+ readonly inputs: readonly [];
907
+ readonly name: "getPeriodState";
908
+ readonly outputs: readonly [{
909
+ readonly components: readonly [{
910
+ readonly components: readonly [{
911
+ readonly internalType: "uint256";
912
+ readonly name: "startTime";
913
+ readonly type: "uint256";
914
+ }, {
915
+ readonly internalType: "uint256";
916
+ readonly name: "endTime";
917
+ readonly type: "uint256";
918
+ }, {
919
+ readonly internalType: "uint256";
920
+ readonly name: "lastUpdateTime";
921
+ readonly type: "uint256";
922
+ }, {
923
+ readonly internalType: "uint256";
924
+ readonly name: "value";
925
+ readonly type: "uint256";
926
+ }, {
927
+ readonly internalType: "uint256";
928
+ readonly name: "weightedSum";
929
+ readonly type: "uint256";
930
+ }, {
931
+ readonly internalType: "uint256";
932
+ readonly name: "totalDuration";
933
+ readonly type: "uint256";
934
+ }, {
935
+ readonly internalType: "uint256";
936
+ readonly name: "weight";
937
+ readonly type: "uint256";
938
+ }];
939
+ readonly internalType: "struct TimeWeightedAverage.Period";
940
+ readonly name: "votingPeriod";
941
+ readonly type: "tuple";
942
+ }, {
943
+ readonly internalType: "uint256";
944
+ readonly name: "emission";
945
+ readonly type: "uint256";
946
+ }, {
947
+ readonly internalType: "uint256";
948
+ readonly name: "distributed";
949
+ readonly type: "uint256";
950
+ }, {
951
+ readonly internalType: "uint256";
952
+ readonly name: "periodStartTime";
953
+ readonly type: "uint256";
954
+ }];
955
+ readonly internalType: "struct IBaseGauge.PeriodState";
956
+ readonly name: "";
957
+ readonly type: "tuple";
958
+ }];
959
+ readonly stateMutability: "view";
960
+ readonly type: "function";
851
961
  }, {
852
962
  readonly inputs: readonly [];
853
963
  readonly name: "getRewardTokens";
@@ -872,6 +982,24 @@ export declare class BaseGauge__factory {
872
982
  }];
873
983
  readonly stateMutability: "view";
874
984
  readonly type: "function";
985
+ }, {
986
+ readonly inputs: readonly [{
987
+ readonly internalType: "address";
988
+ readonly name: "token";
989
+ readonly type: "address";
990
+ }];
991
+ readonly name: "getTokenEmissionState";
992
+ readonly outputs: readonly [{
993
+ readonly internalType: "uint256";
994
+ readonly name: "emissionCap_";
995
+ readonly type: "uint256";
996
+ }, {
997
+ readonly internalType: "uint256";
998
+ readonly name: "distributed_";
999
+ readonly type: "uint256";
1000
+ }];
1001
+ readonly stateMutability: "view";
1002
+ readonly type: "function";
875
1003
  }, {
876
1004
  readonly inputs: readonly [{
877
1005
  readonly internalType: "address";
@@ -1182,6 +1310,14 @@ export declare class BaseGauge__factory {
1182
1310
  readonly internalType: "uint256";
1183
1311
  readonly name: "integral";
1184
1312
  readonly type: "uint256";
1313
+ }, {
1314
+ readonly internalType: "uint256";
1315
+ readonly name: "emissionCap";
1316
+ readonly type: "uint256";
1317
+ }, {
1318
+ readonly internalType: "uint256";
1319
+ readonly name: "distributed";
1320
+ readonly type: "uint256";
1185
1321
  }];
1186
1322
  readonly stateMutability: "view";
1187
1323
  readonly type: "function";
@@ -1335,6 +1471,34 @@ export declare class BaseGauge__factory {
1335
1471
  readonly outputs: readonly [];
1336
1472
  readonly stateMutability: "nonpayable";
1337
1473
  readonly type: "function";
1474
+ }, {
1475
+ readonly inputs: readonly [{
1476
+ readonly internalType: "address";
1477
+ readonly name: "token";
1478
+ readonly type: "address";
1479
+ }, {
1480
+ readonly internalType: "uint256";
1481
+ readonly name: "ratio";
1482
+ readonly type: "uint256";
1483
+ }];
1484
+ readonly name: "setTokenBoostRatio";
1485
+ readonly outputs: readonly [];
1486
+ readonly stateMutability: "nonpayable";
1487
+ readonly type: "function";
1488
+ }, {
1489
+ readonly inputs: readonly [{
1490
+ readonly internalType: "address";
1491
+ readonly name: "token";
1492
+ readonly type: "address";
1493
+ }, {
1494
+ readonly internalType: "uint256";
1495
+ readonly name: "emissionCap";
1496
+ readonly type: "uint256";
1497
+ }];
1498
+ readonly name: "setTokenEmissionCap";
1499
+ readonly outputs: readonly [];
1500
+ readonly stateMutability: "nonpayable";
1501
+ readonly type: "function";
1338
1502
  }, {
1339
1503
  readonly inputs: readonly [{
1340
1504
  readonly internalType: "uint256";
@@ -1385,6 +1549,20 @@ export declare class BaseGauge__factory {
1385
1549
  readonly outputs: readonly [];
1386
1550
  readonly stateMutability: "nonpayable";
1387
1551
  readonly type: "function";
1552
+ }, {
1553
+ readonly inputs: readonly [{
1554
+ readonly internalType: "address";
1555
+ readonly name: "";
1556
+ readonly type: "address";
1557
+ }];
1558
+ readonly name: "tokenBoostRatios";
1559
+ readonly outputs: readonly [{
1560
+ readonly internalType: "uint256";
1561
+ readonly name: "";
1562
+ readonly type: "uint256";
1563
+ }];
1564
+ readonly stateMutability: "view";
1565
+ readonly type: "function";
1388
1566
  }, {
1389
1567
  readonly inputs: readonly [];
1390
1568
  readonly name: "totalSupply";
@@ -14,7 +14,7 @@ export declare class GaugeController__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): GaugeController__factory;
17
- static readonly bytecode = "0x6080346200014657601f620035c438819003918201601f19168301916001600160401b038311848410176200014b578084926020946040528339810103126200014657516001600160a01b03811680820362000146576001805561012c601455600560155515620001345760028054610100600160a81b03191660089290921b610100600160a81b03169190911790556200009a3362000161565b50620000a633620001e1565b50620000b23362000283565b50620000be3362000320565b506161a8600b55612710600c5562093a80600d55602080526113887f29ab76e7ca72530a8284597fb76b039d796325740b21528d71ade454c6f2dbe981905560016000527f156774b33c8bc7cb83eda4cbc43b36c7c9490ff8913c488ccd5132cfc71344ea556040516131e69081620003be8239f35b60405163c6d038c160e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620001dd57818052816020526040822081835260205260408220600160ff198254161790553391600080516020620035a48339815191528180a4600190565b5090565b6001600160a01b031660008181527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c60205260408120549091907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420149060ff166200027e57808352826020526040832082845260205260408320600160ff19825416179055600080516020620035a4833981519152339380a4600190565b505090565b6001600160a01b031660008181527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d60205260408120549091907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb9060ff166200027e57808352826020526040832082845260205260408320600160ff19825416179055600080516020620035a4833981519152339380a4600190565b6001600160a01b031660008181527fa7d7061dc42402a418bcc51b469448a38e982737ca4db0e5277634601957fd0d60205260408120549091907fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e9060ff166200027e57808352826020526040832082845260205260408320600160ff19825416179055600080516020620035a4833981519152339380a460019056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a714611bf25750806306aba0e114611bd75780630a7486c7146103395780631c7e399f14611b495780631de9d9b614611b105780631e4e37f514611add578063248a9ca314611ab157806329bd56a814611a885780632a2be0cd14611a0d5780632b03712b146119c85780632d4c6e8a146119195780632f2ff15d1461198b5780632fbaa38814611936578063315865df1461191957806336568abe146118d157806336b1b6a4146118985780633b92eb231461186b57806351ae58af146117b057806356fe702d146117935780635c975abb146117705780635e649494146117375780635f74bbde146111595780636041a7721461113b5780636182d8131461111157806366351557146110f55780636f3a3652146110555780637001f4bb1461033957806372be52761461101c5780638381243914610fe35780638a9c5f6c14610f7957806391d1485414610f2e5780639c49e75814610e49578063a217fddf14610e2d578063a7f626ec14610e0f578063a85bde9d14610dd3578063aa79979b14610da5578063b39a9cf214610d78578063b72d2735146108d6578063b9a09fd514610843578063bc47d1c81461081f578063c58b1ee6146107d0578063c6bcf69114610738578063cffd31dd146105ec578063d547741f146105ab578063d6585ecf14610582578063d6afd04c14610564578063d70afa9614610529578063d8d1a65714610437578063d999dc9b146103ff578063dcda162c146103d6578063ded4c7951461036a578063e2c9dc821461033e578063e4a28a5214610339578063f4e13f42146102d6578063f52a36f7146102a95763ffe5195b1461028957600080fd5b346102a657806003193601126102a6576020604051620d2f008152f35b80fd5b50346102a65760203660031901126102a65760406020916004358152601a83522054600f0b604051908152f35b50346102a65760403660031901126102a6576102f0611c64565b60406102fa611c7a565b9260018060a01b038093168152601d602052209116600052602052604060002080546103356002600184015493015460405193849384611d1c565b0390f35b611c47565b50346102a65760203660031901126102a657602061036261035d611c64565b612d0b565b604051908152f35b50346102a65760403660031901126102a657610384611c64565b6001600160a01b03168152601b60205260408120805460243592908310156102a65760606103b28484611cea565b50600181549101546040519180600f0b835260801d600f0b60208301526040820152f35b50346102a657806003193601126102a65760206040516000805160206131918339815191528152f35b50346102a65760203660031901126102a6576004359060028210156102a6575060005260226020526020604060002054604051908152f35b50346102a65760203660031901126102a657600435801515908181036105255761045f611dd4565b156104bf5760206000805160206130f18339815191529161047e612030565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff811615610513576000805160206130f18339815191529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a16104b5565b604051638dfc202b60e01b8152600490fd5b8280fd5b50346102a657806003193601126102a65760206040517fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e8152f35b50346102a657806003193601126102a6576020601654604051908152f35b50346102a657806003193601126102a65760206040516000805160206131518339815191528152f35b50346102a65760403660031901126102a6576105e86004356105cb611c7a565b90808452836020526105e36001604086200154611e1e565b611eff565b5080f35b50346102a657806003193601126102a6576012549080805b8381106106e3575061061590612696565b918190825b81811061067057505050604051918291602080840190808552835180925280604086019401925b82811061065057505050500390f35b83516001600160a01b031685528695509381019392810192600101610641565b806106806106b192969496612071565b60018060a01b03809254600392831b1c168752601760205260ff8160408920015460081c166106b9575b50506126c8565b93919361061a565b6106c283612071565b9054911b1c166106db6106d4886126c8565b97866126d7565b5238806106aa565b60ff6106ee82612071565b9054600391821b1c6001600160a01b03168552601760205260408520015460081c16610723575b61071e906126c8565b610604565b9061073061071e916126c8565b919050610715565b50346102a65761074736611cbe565b61074f611d32565b61271081116107be5761076182611c90565b54908061076d84611c90565b5560028310156107aa577f4db3637240200760c5ce5e142f62c4ef2ab2e375fdf7d1b82d1ff0d221b48b199160409182519182526020820152a280f35b634e487b7160e01b84526021600452602484fd5b60405163585b926360e01b8152600490fd5b50346102a65760403660031901126102a6576107ea611c64565b60406107f4611c7a565b9260018060a01b038093168152601f6020522091166000526020526020604060002054604051908152f35b50346102a65760203660031901126102a657602061036261083e611c64565b612c03565b50346102a65760203660031901126102a657610100906040906001600160a01b0361086c611c64565b168152601760205220805490600181015490600281015460ff60038301546004840154926006600586015495015495604051978852602088015260408701526108ba60608701838316611cdd565b60081c161515608085015260a084015260c083015260e0820152f35b50346102a65760603660031901126102a6576108f0611c64565b60026024351015610c6857604435610906611d32565b6001600160a01b038216835260176020526040832060020154610d6657600090602435151580610d59575b610d47578015610d3f575b604051635a38556f60e11b81526020816004816001600160a01b0388165afa908115610d34578591610cfd575b50610986816109818161097c8142611f74565b612010565b61208c565b92610992602435611c90565b54908115610ce6575b6040519061010082016001600160401b03811183821017610cd05760405284825260208201928352604082018681526060830191610cbc576024358252600160808401528660a08401528560c08401528660e084015260018060a01b03881689526017602052604089209383518555516001850155516002840155516002811015610ca8579282600660e0879594610a4f610a849860038998019060ff801983541691161781556080830151151590612667565b60a0810151600485015560c0810151600585015501519101556001600160a01b03871688526021602052604088208690612f30565b6001600160a01b0383168452601b6020526040808520905190929091610aa983611faa565b600f0b825260208201858152604083019182528354600160401b9485821015610c945790610adc91600182018155611cea565b939093610c80575183546001600160801b0319166001600160801b039091161783555160019190610b1090600f0b84612b0a565b519101556001600160a01b0382168084526017602052604084205484913b15610c685760405163750e1c0960e01b815260048101919091528181602481836001600160a01b0389165af18015610c5d57610c6c575b5060025460081c6001600160a01b039081169084163b15610c685760405163ecc68a2960e01b815260048101919091523060248201528181604481836001600160a01b0389165af18015610c5d57610c49575b505060125490811015610c3557806001610bd59201601255612071565b81546001600160a01b0384811660039390931b92831b921b1916179055604051907f2310b82aa4b70ca3d894508ccaf8b4f0b3be60103b730123424cd28d5dd86c3290602090610c2784602435611cdd565b6001600160a01b031692a280f35b634e487b7160e01b83526041600452602483fd5b610c5290611f97565b610525578238610bb8565b6040513d84823e3d90fd5b5080fd5b610c7590611f97565b610525578238610b65565b634e487b7160e01b87526004879052602487fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b88526021600452602488fd5b634e487b7160e01b89526021600452602489fd5b634e487b7160e01b600052604160045260246000fd5b611388915081610cf7602435611c90565b5561099b565b90506020813d602011610d2c575b81610d1860209383611fe0565b81010312610d27575138610969565b600080fd5b3d9150610d0b565b6040513d87823e3d90fd5b50600161093c565b604051633ec8776b60e01b8152600490fd5b5060016024351415610931565b604051630fad09e160e11b8152600490fd5b50346102a65760203660031901126102a657610da2610d95611c64565b610d9d612030565b61209f565b80f35b50346102a65760203660031901126102a6576020610dc9610dc4611c64565b612d7c565b6040519015158152f35b50346102a65760603660031901126102a6576040610e03610df2611c64565b610dfa611c7a565b6044359161238a565b82519182526020820152f35b50346102a657806003193601126102a6576020601554604051908152f35b50346102a657806003193601126102a657602090604051908152f35b50346102a657610e5836611cbe565b610e60611dd4565b610e68612030565b8015610f1c5760508102818104605003610f085760649004906014810291818304601403610ef457610e9a81856126eb565b6002841015610ee05791610eda6064927fb90fff51595d69482870af51d15695a05e1423adecf8ce662f1a7e8330a632b794604051948594049184611d1c565b0390a280f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b84526011600452602484fd5b60405163162908e360e11b8152600490fd5b50346102a65760403660031901126102a6576040610f4a611c7a565b91600435815280602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346102a65760403660031901126102a6576080906040906001600160a01b03610fa1611c64565b168152601860205281812060243582526020522080549060026001820154910154906040519280600f0b8452841d600f0b602084015260408301526060820152f35b50346102a65760203660031901126102a6576020906040906001600160a01b0361100b611c64565b168152602383522054604051908152f35b50346102a65760203660031901126102a6576020906040906001600160a01b03611044611c64565b168152601783522054604051908152f35b50346102a65760203660031901126102a65761106f611c64565b611077611d9a565b6001600160a01b03818116919082156110e357600254908160081c16918284146110e357610100600160a81b031990911660089190911b610100600160a81b0316176002557fa72b27a380ae912444a4a53cb6d48344b5c8cb9c54fe5477f6e69f60ce6001448380a380f35b60405163c6d038c160e01b8152600490fd5b50346102a657806003193601126102a657602060405160648152f35b50346102a65760203660031901126102a65760406020916004358152601c83522054604051908152f35b50346102a657806003193601126102a6576020601454604051908152f35b50346102a65760403660031901126102a657611173611c64565b61117b612030565b61118361204e565b61118c81612d7c565b15611725576001600160a01b0381811683526017602052604083206003015460081c60ff161561171357612710602435116107be5760646024351080611708575b6107be578060025460081c16906040516370a0823160e01b8152336004820152602081602481865afa908115610d345785916116d6575b50156116c457602060249260405193848092631317b36b60e21b82523360048301525afa9182156116b9578492611685575b504282111561167357338452601f60205260408420818416600052602052604060002054801515908161165c575b5061164a57338452601d602052604084208184166000526020526112bf60406000209260026040519461129686611faa565b80548652600181015460208701520154604085015261097c6112b786612d0b565b914290612003565b8460606040516112ce81611fc5565b82815282602082015282604082015201528015611642575b6112f290602435612010565b916040519261130084611fc5565b602435600f0b8452600f0b6020840152602435604084015242606084015261132784612d0b565b9061134461133d836109818161097c8142611f74565b9283611f74565b90604081015183811161159d575b5050808652601a6020908152604087205490850151600f91820b910b0160016001607f1b0319811260016001607f1b0382131761158957818752601a602052604087209060018060801b03198254169060018060801b03161790556020840151600f0b6000805160206130b1833981519152604051806113e5878a16948683908152600f9190910b602082015260400190565b0390a28285168652601760205260408620906019602052604087205460186020526040882081895260205260408820865160018060801b03198254169060018060801b031617815561143e6020880151600f0b82612b0a565b6040870151600182015560026060880151910155848716885260186020526040882081895260205283600260408a2001556001810180911161157557916006918594937fba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518f9689168a52601960205260408a2055600260018060801b03602089015116916040890151604051936114d385611faa565b84526020840190815260408401918252338c52601d60205260408c20888c1660005260205260406000209351845551600184015551910155604086015180825560058201554260028201550155338552601f602052604085208185166000526020524260406000205560018060801b0383511692602060018060801b03910151169361156b6040519283921695339560243584611d1c565b0390a36001805580f35b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b8752601a60205260408720548151600f90810b91900b0360016001607f1b0319811260016001607f1b0382131761157557604082810180518a52601a60205290892080546001600160801b0319166001600160801b039390931692909217909155519051600f0b9060016001607f1b031982146115755760408051918252918803600f0b6020820152848716916000805160206130b183398151915291a23880611352565b5060016112e6565b604051630618259b60e11b8152600490fd5b9050620d2f008101809111610ef457421038611264565b604051639970f36560e01b8152600490fd5b9091506020813d6020116116b1575b816116a160209383611fe0565b81010312610d2757519038611236565b3d9150611694565b6040513d86823e3d90fd5b604051631901ff0f60e21b8152600490fd5b90506020813d602011611700575b816116f160209383611fe0565b81010312610d27575138611204565b3d91506116e4565b5060243515156111cd565b60405163d4220bed60e01b8152600490fd5b6040516325d939f560e01b8152600490fd5b50346102a65760203660031901126102a6576020906040906001600160a01b0361175f611c64565b168152601983522054604051908152f35b50346102a657806003193601126102a657602060ff600254166040519015158152f35b50346102a657806003193601126102a65760206040516127108152f35b50346102a65760203660031901126102a6576117ca611c64565b6117d2611dd4565b6117db81612d7c565b15611725576001600160a01b0316808252601760205260408220600301805461ff001916905590813b156102a657604051639d0ab89f60e01b815260016004820152818160248183875af18015610c5d5761185c575b509033907f63a2919109d26a48f4afb06be65bb1e0ef2fe197b3a7f9a58268b211745f8f6d8380a380f35b61186590611f97565b38611831565b50346102a657806003193601126102a65760025460405160089190911c6001600160a01b03168152602090f35b50346102a65760203660031901126102a6576020906040906001600160a01b036118c0611c64565b168152601e83522054604051908152f35b50346102a65760403660031901126102a6576118eb611c7a565b336001600160a01b03821603611907576105e890600435611eff565b60405163334bd91960e11b8152600490fd5b50346102a657806003193601126102a65760206040516161a88152f35b50346102a65760603660031901126102a657604435602435611956611d9a565b612710808211908115611978575b50610f1c5760145560155560043560165580f35b9050611984838361208c565b1138611964565b50346102a65760403660031901126102a6576105e86004356119ab611c7a565b90808452836020526119c36001604086200154611e1e565b611e81565b50346102a65760203660031901126102a6576119e2611c64565b6119ea611d9a565b601380546001600160a01b0319166001600160a01b039290921691909117905580f35b50346102a65760203660031901126102a65760e0906040906001600160a01b03611a35611c64565b168152602160205220805490600181015490600281015460038201546004830154916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102a657806003193601126102a6576013546040516001600160a01b039091168152602090f35b50346102a65760203660031901126102a657600160406020926004358152808452200154604051908152f35b50346102a65760203660031901126102a6576004359060028210156102a6576020611b0783611c90565b54604051908152f35b50346102a65760203660031901126102a657611b42611b2d611c64565b611b3561204e565b611b3d612030565b612284565b6001805580f35b50346102a65760203660031901126102a657611b63611c64565b611b6b611d32565b611b7481612d7c565b156117255760018060a01b031680825260176020527fb68c252413c1dbd0ed9a087ae0596489741f83c26e283fb6739ca73f79ff8654602060ff60036040862001611bc682825460081c161582612667565b5460081c166040519015158152a280f35b50346102a657806003193601126102a6576020610362612db3565b905034610c68576020366003190112610c685760043563ffffffff60e01b81168091036105255760209250637965db0b60e01b8114908115611c36575b5015158152f35b6301ffc9a760e01b14905038611c2f565b34610d27576000366003190112610d275760206040516127108152f35b600435906001600160a01b0382168203610d2757565b602435906001600160a01b0382168203610d2757565b6002811015611ca85760005260208052604060002090565b634e487b7160e01b600052602160045260246000fd5b6040906003190112610d27576004356002811015610d27579060243590565b906002821015611ca85752565b8054821015611d065760005260206000209060011b0190600090565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195825260208201520152565b3360009081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c60205260409020546000805160206131918339815191529060ff1615611d7c5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615611d7c5750565b3360009081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d60205260409020546000805160206131518339815191529060ff1615611d7c5750565b80600052600060205260406000203360005260205260ff6040600020541615611e445750565b60405163e2517d3f60e01b8152908190611e62903360048401611e66565b0390fd5b6001600160a01b039091168152602081019190915260400190565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014611efa57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014611efa5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b91908201809211611f8157565b634e487b7160e01b600052601160045260246000fd5b6001600160401b038111610cd057604052565b606081019081106001600160401b03821117610cd057604052565b608081019081106001600160401b03821117610cd057604052565b601f909101601f19168101906001600160401b03821190821017610cd057604052565b91908203918211611f8157565b811561201a570490565b634e487b7160e01b600052601260045260246000fd5b60ff6002541661203c57565b60405163d93c066560e01b8152600490fd5b60026001541461205f576002600155565b604051633ee5aeb560e01b8152600490fd5b601254811015611d0657601260005260206000200190600090565b81810292918115918404141715611f8157565b60018060a01b03811690600082815260176020526040918282209160ff600384015460081c16156122735784815260216020526120de84822092612d0b565b825480158061216d5750506120f98354600585015490611f74565b42111561215c57916121449183612129816109818161097c6000805160206130d18339815191529b9a9942611f74565b6121334285612ff2565b865490935080156121535793612f30565b548151904282526020820152a2565b50600193612f30565b845163f0aaee6560e01b8152600490fd5b9192612184846109818161097c8199969942611f74565b8654909590801561226a57935b159081612252575b5061224157831561223057821561221f579260609260068360008051602061317183398151915296886000805160206130d18339815191529b9a9996556121e08587611f74565b6001830155856002830155600160038301556004820155836005820155015585519182526020820152600185820152a1548151904282526020820152a2565b86516319a2a9bd60e01b8152600490fd5b865163346ab43760e11b8152600490fd5b865163f0aaee6560e01b8152600490fd5b6122629150600584015490611f74565b851038612199565b50600193612191565b835163d4220bed60e01b8152600490fd5b61228d81612d7c565b156117255760018060a01b0380821690600090828252601760205260409360ff6003868520015460081c1615612379576122c69061297d565b91821561237257838152601760205242600486832001558160025460081c16843b15610c6857855163b66503cf60e01b815291908290819061230d90879060048401611e66565b038183885af19081612363575b50612341576000805160206131118339815191529160209160025460081c169451908152a3565b6000805160206131318339815191529160209160025460081c169451908152a3565b61236c90611f97565b3861231a565b5050505050565b845163d4220bed60e01b8152600490fd5b9192909261239784612d7c565b1561172557801561265b57600254604080516370a0823160e01b8082526001600160a01b0387811660048085018290529991969560209591939060081c88168686602481845afa9586156125a457908c96959493929160009661261f575b508783518098816318160ddd60e01b948582525afa9687156125a4576000976125f0575b50861580156125e8575b6125af578c93929190888b61243786612d0b565b9516918451968791825281845afa9485156125a457918e918a9360009761256d575b50906024918551988994859384528301525afa93841561256257600094612533575b50600b54600c54825198909160c08a016001600160401b0381118b82101761251d576124c69b9c9d9e9f508452895288015286015260608501526080840152600060a0840152612e4b565b9361271092838610612514575b6161a880871161250c575b50601354166124f7575b50836124f39161208c565b0490565b6124f3919461250591612b2d565b93906124e8565b9550386124de565b945082946124d3565b5060418f634e487b7160e01b6000525260246000fd5b90938782813d831161255b575b61254a8183611fe0565b810103126102a6575051923861247b565b503d612540565b50513d6000823e3d90fd5b80935084919792943d831161259d575b6125878183611fe0565b810103126102a65750519388918e916024612459565b503d61257d565b83513d6000823e3d90fd5b505050505050505093919250506127109081840293840482036125d3575080920490565b601190634e487b7160e01b6000525260246000fd5b508515612423565b90968882813d8311612618575b6126078183611fe0565b810103126102a65750519538612419565b503d6125fd565b91929394959096508782813d8311612654575b61263c8183611fe0565b810103126102a65750908b95949392915194386123f5565b503d612632565b50612710925060009150565b9061ff00825491151560081b169061ff001916179055565b6001600160401b038111610cd05760051b60200190565b906126a08261267f565b6126ad6040519182611fe0565b82815280926126be601f199161267f565b0190602036910137565b6000198114611f815760010190565b8051821015611d065760209160051b010190565b916000928392601254916126fe83612696565b92865b8181106128cd57505050831580156128c5575b6128be576127218461267f565b9160409061273182519485611fe0565b858452601f196127408761267f565b01906020913683870137600095865b6000198901898111611f81578810156127bf576127b9906127b3906001600160a01b0361277c8b876126d7565b5116600052601786526127978c61097c89600020548b61208c565b6127a18b8b6126d7565b526127ac8a8a6126d7565b5190611f74565b976126c8565b9661274f565b9193949098506127d0929650612003565b6000198601868111611f81576127e690856126d7565b5260005b8581106127f957505050505050565b6001600160a01b03908161280d82856126d7565b511661281982876126d7565b519283612832575b505061282d91506126c8565b6127ea565b60025460081c1690803b15610d275761282d9388875163b66503cf60e01b815260008180612864868960048401611e66565b038183885af190816128af575b5061289457600080516020613111833981519152918851908152a35b3880612821565b600080516020613131833981519152918851908152a361288d565b6128b890611f97565b38612871565b5050915050565b508415612714565b6128d681612071565b90549060039160018060a01b0391831b1c168060005260179060209082825260409384600020015460ff808260081c169182612960575b5050612926575b50505050612921906126c8565b612701565b92612950928b9c928561295696612941612921999f8e6126d7565b52600052526000205490611f74565b986126c8565b9690388080612914565b169050600280891015611ca857811015611ca8578714388061290d565b6001600160a01b0316600081815260176020526040808220909290916129a1612db3565b918215612b02578354926127109384810290808204861490151715610f085760036129d16129da9360ff93612010565b96015416611c90565b549183830292808404851490151715612aee57855195869263ea8d6e6160e01b8452836004610140998a935afa968715612ae3578297612a2f575b505050506124f3926305f5e100949261098192049261208c565b90919280949750813d8311612adc575b612a498183611fe0565b8101039081126105255760e013610c685780519160e08301906001600160401b03821184831017612ac85750815282518252602080840151908301528083015190820152606080830151908201526080808301519082015260a0808301519082015260c08083015191015260e001519282826305f5e1006124f3612a15565b634e487b7160e01b81526041600452602490fd5b503d612a3f565b5051903d90823e3d90fd5b634e487b7160e01b81526011600452602490fd5b509250505090565b80546001600160801b031660809290921b6001600160801b031916919091179055565b6013546001600160a01b031680158015612bf9575b611efa57612b6d9160209160165491604051809581948293635615438960e01b845260048401611e66565b03915afa908115612bed57600091612bbc575b508015612bb85790612ba8612bae9260155490818111600014612bb157505b6014549061208c565b90611f74565b90565b9050612b9f565b5090565b906020823d8211612be5575b81612bd560209383611fe0565b810103126102a657505138612b80565b3d9150612bc8565b6040513d6000823e3d90fd5b5060165415612b42565b612c0c81612d7c565b15612c1c57612bae904290612c22565b50600090565b60018060a01b03811660009080825260209060198252604093848420548015612cfc5760188452858520906000198101908111612ce85785528352848420958551612c6c81611fc5565b875480600f0b825260801d600f0b858201526060600260018a0154998984019a8b5201549101908082528210612cd85791612cb7612cb1612cbd936001955190612003565b91612d0b565b90612010565b1015612ccb57505050505190565b8252601790522054919050565b5050508252601790522054919050565b634e487b7160e01b86526011600452602486fd5b50505060179192935052205490565b612d1481612d7c565b1561172557604051635a38556f60e11b815290602090829060049082906001600160a01b03165afa908115612bed57600091612d4e575090565b906020823d8211612d74575b81612d6760209383611fe0565b810103126102a657505190565b3d9150612d5a565b6001600160a01b03166000908152601760205260409020600281015415159081612da4575090565b60ff91506003015460081c1690565b600080601254905b818110612dc757505090565b612dd081612071565b9060018060a01b03809154600393841b1c1660005260179060209082825260409360ff8186600020015460081c16612e16575b5050505050612e11906126c8565b612dbb565b9185979391612e409593612e2c612e1198612071565b9054911b1c16600052526000205490611f74565b929038808080612e03565b91909182158015612f24575b612f1a57670de0b6b3a76400009283820291808304851490151715611f8157612e7f91612010565b66038d7ea4c680008110612f1a5760608201519083820291808304851490151715611f8157612ec18491612ebb612ef194608087015190612010565b9061208c565b04825193612edf612ed86020860196875190612003565b809361208c565b0490808211612f12575b508351611f74565b9151808310612f0c575051808211612f07575090565b905090565b91505090565b905038612ee9565b5060209150015190565b50608082015115612e57565b90919281548015159081612fda575b50612fc8578315612fb6578415612fa4576000805160206131718339815191529460068385612f9f9555612f738787611f74565b600182015585600282015583600382015560006004820155866005820155015560405193849384611d1c565b0390a1565b6040516319a2a9bd60e01b8152600490fd5b60405163346ab43760e11b8152600490fd5b60405163f0aaee6560e01b8152600490fd5b612fea9150600584015490611f74565b831038612f3f565b90815490818111156130a757600183015490818111156130a057505b6004830154926002810154808311613031575b5050612bae9291612cb791612003565b61304060039184959394612003565b9201549161304e818461208c565b92811515918261308b575b50506130795761306f612cb792612bae95611f74565b9381939250613021565b60405163f20577e560e01b8152600490fd5b61309791925084612010565b14153880613059565b905061300e565b5050600301549056fe73adef572f1e297aecd0b87cca8c2ec66c2a869dc7dba5dc4bf02cc1887a674be70a0cc214a7ed6c7a67d667715fd0be9259a7ef2c8cfffa244f6ad399890004ed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2fdb56e43fcedae7e648f6edcdcf93d0f7c875eeed3f79193a67dcb3abc9ba58b95303cb8fc2ab504b092b4799d2c00f2209ee4eee6b03a168171dc140ed7403ee5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a082fda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a2646970667358221220f937a4fe934870aafe9641d03615b197249417afd87cbf009161d4384f69591864736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
17
+ static readonly bytecode = "0x6080346200014657601f6200363238819003918201601f19168301916001600160401b038311848410176200014b578084926020946040528339810103126200014657516001600160a01b038116908181036200014657600180556002549161012c60145560056015551562000134576001600160a81b031990911660089190911b610100600160a81b0316176002556200009a3362000161565b50620000a633620001e1565b50620000b23362000283565b50620000be3362000320565b506161a8600b55612710600c5562093a80600d55602080526113887f29ab76e7ca72530a8284597fb76b039d796325740b21528d71ade454c6f2dbe981905560016000527f156774b33c8bc7cb83eda4cbc43b36c7c9490ff8913c488ccd5132cfc71344ea556040516132549081620003be8239f35b60405163c6d038c160e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620001dd57818052816020526040822081835260205260408220600160ff198254161790553391600080516020620036128339815191528180a4600190565b5090565b6001600160a01b031660008181527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c60205260408120549091907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420149060ff166200027e57808352826020526040832082845260205260408320600160ff1982541617905560008051602062003612833981519152339380a4600190565b505090565b6001600160a01b031660008181527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d60205260408120549091907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb9060ff166200027e57808352826020526040832082845260205260408320600160ff1982541617905560008051602062003612833981519152339380a4600190565b6001600160a01b031660008181527fa7d7061dc42402a418bcc51b469448a38e982737ca4db0e5277634601957fd0d60205260408120549091907fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e9060ff166200027e57808352826020526040832082845260205260408320600160ff1982541617905560008051602062003612833981519152339380a460019056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a714611c5d5750806306aba0e114611c425780630a7486c7146103395780631c7e399f14611bb45780631de9d9b614611b7b5780631e4e37f514611b48578063248a9ca314611b1c57806329bd56a814611af35780632a2be0cd14611a785780632b03712b14611a335780632d4c6e8a146119845780632f2ff15d146119f65780632fbaa388146119a1578063315865df1461198457806336568abe1461193c57806336b1b6a4146119035780633b92eb23146118d657806351ae58af1461181b57806356fe702d146117fe5780635c975abb146117db5780635e649494146117a25780635f74bbde146111c45780636041a772146111a65780636182d8131461117c57806366351557146111605780636f3a3652146110c05780637001f4bb1461033957806372be527614611087578063838124391461104e5780638a9c5f6c14610fe457806391d1485414610f995780639c49e75814610eb4578063a217fddf14610e98578063a7f626ec14610e7a578063a85bde9d14610e3e578063aa79979b14610e10578063b39a9cf214610de3578063b72d273514610941578063b9a09fd5146108ae578063bc47d1c81461088a578063c58b1ee61461083b578063c6bcf69114610738578063cffd31dd146105ec578063d547741f146105ab578063d6585ecf14610582578063d6afd04c14610564578063d70afa9614610529578063d8d1a65714610437578063d999dc9b146103ff578063dcda162c146103d6578063ded4c7951461036a578063e2c9dc821461033e578063e4a28a5214610339578063f4e13f42146102d6578063f52a36f7146102a95763ffe5195b1461028957600080fd5b346102a657806003193601126102a6576020604051620d2f008152f35b80fd5b50346102a65760203660031901126102a65760406020916004358152601a83522054600f0b604051908152f35b50346102a65760403660031901126102a6576102f0611ccf565b60406102fa611ce5565b9260018060a01b038093168152601d602052209116600052602052604060002080546103356002600184015493015460405193849384611d87565b0390f35b611cb2565b50346102a65760203660031901126102a657602061036261035d611ccf565b612d79565b604051908152f35b50346102a65760403660031901126102a657610384611ccf565b6001600160a01b03168152601b60205260408120805460243592908310156102a65760606103b28484611d55565b50600181549101546040519180600f0b835260801d600f0b60208301526040820152f35b50346102a657806003193601126102a65760206040516000805160206131ff8339815191528152f35b50346102a65760203660031901126102a6576004359060028210156102a6575060005260226020526020604060002054604051908152f35b50346102a65760203660031901126102a657600435801515908181036105255761045f611e3f565b156104bf57602060008051602061315f8339815191529161047e61209b565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff8116156105135760008051602061315f8339815191529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a16104b5565b604051638dfc202b60e01b8152600490fd5b8280fd5b50346102a657806003193601126102a65760206040517fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e8152f35b50346102a657806003193601126102a6576020601654604051908152f35b50346102a657806003193601126102a65760206040516000805160206131bf8339815191528152f35b50346102a65760403660031901126102a6576105e86004356105cb611ce5565b90808452836020526105e36001604086200154611e89565b611f6a565b5080f35b50346102a657806003193601126102a6576012549080805b8381106106e3575061061590612704565b918190825b81811061067057505050604051918291602080840190808552835180925280604086019401925b82811061065057505050500390f35b83516001600160a01b031685528695509381019392810192600101610641565b806106806106b1929694966120dc565b60018060a01b03809254600392831b1c168752601760205260ff8160408920015460081c166106b9575b5050612736565b93919361061a565b6106c2836120dc565b9054911b1c166106db6106d488612736565b9786612745565b5238806106aa565b60ff6106ee826120dc565b9054600391821b1c6001600160a01b03168552601760205260408520015460081c16610723575b61071e90612736565b610604565b9061073061071e91612736565b919050610715565b50346102a65761074736611d29565b61074f611d9d565b612710908181116107ea57600283101591848361082757846107fc575060016000526020805261078482604060002054611fdf565b116107ea5761079283611cfb565b54918161079e85611cfb565b556107d6577f4db3637240200760c5ce5e142f62c4ef2ab2e375fdf7d1b82d1ff0d221b48b199160409182519182526020820152a280f35b634e487b7160e01b84526021600452602484fd5b60405163585b926360e01b8152600490fd5b600093508260018614610813575b61078491611fdf565b50508280526020805260408320548261080a565b634e487b7160e01b86526021600452602486fd5b50346102a65760403660031901126102a657610855611ccf565b604061085f611ce5565b9260018060a01b038093168152601f6020522091166000526020526020604060002054604051908152f35b50346102a65760203660031901126102a65760206103626108a9611ccf565b612c71565b50346102a65760203660031901126102a657610100906040906001600160a01b036108d7611ccf565b168152601760205220805490600181015490600281015460ff600383015460048401549260066005860154950154956040519788526020880152604087015261092560608701838316611d48565b60081c161515608085015260a084015260c083015260e0820152f35b50346102a65760603660031901126102a65761095b611ccf565b60026024351015610cd357604435610971611d9d565b6001600160a01b038216835260176020526040832060020154610dd157600090602435151580610dc4575b610db2578015610daa575b604051635a38556f60e11b81526020816004816001600160a01b0388165afa908115610d9f578591610d68575b506109f1816109ec816109e78142611fdf565b61207b565b6120f7565b926109fd602435611cfb565b54908115610d51575b6040519061010082016001600160401b03811183821017610d3b5760405284825260208201928352604082014281526060830191610d27576024358252600160808401524260a08401528560c08401528660e084015260018060a01b03881689526017602052604089209383518555516001850155516002840155516002811015610d13579282600660e0879594610aba610aef9860038998019060ff8019835416911617815560808301511515906126d5565b60a0810151600485015560c0810151600585015501519101556001600160a01b03871688526021602052604088208690612f9e565b6001600160a01b0383168452601b6020526040808520905190929091610b1483612015565b600f0b825260208201858152604083019182528354600160401b9485821015610cff5790610b4791600182018155611d55565b939093610ceb575183546001600160801b0319166001600160801b039091161783555160019190610b7b90600f0b84612b78565b519101556001600160a01b0382168084526017602052604084205484913b15610cd35760405163750e1c0960e01b815260048101919091528181602481836001600160a01b0389165af18015610cc857610cd7575b5060025460081c6001600160a01b039081169084163b15610cd35760405163ecc68a2960e01b815260048101919091523060248201528181604481836001600160a01b0389165af18015610cc857610cb4575b505060125490811015610ca057806001610c4092016012556120dc565b81546001600160a01b0384811660039390931b92831b921b1916179055604051907f2310b82aa4b70ca3d894508ccaf8b4f0b3be60103b730123424cd28d5dd86c3290602090610c9284602435611d48565b6001600160a01b031692a280f35b634e487b7160e01b83526041600452602483fd5b610cbd90612002565b610525578238610c23565b6040513d84823e3d90fd5b5080fd5b610ce090612002565b610525578238610bd0565b634e487b7160e01b87526004879052602487fd5b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b88526021600452602488fd5b634e487b7160e01b89526021600452602489fd5b634e487b7160e01b600052604160045260246000fd5b611388915081610d62602435611cfb565b55610a06565b90506020813d602011610d97575b81610d836020938361204b565b81010312610d925751386109d4565b600080fd5b3d9150610d76565b6040513d87823e3d90fd5b5060016109a7565b604051633ec8776b60e01b8152600490fd5b506001602435141561099c565b604051630fad09e160e11b8152600490fd5b50346102a65760203660031901126102a657610e0d610e00611ccf565b610e0861209b565b61210a565b80f35b50346102a65760203660031901126102a6576020610e34610e2f611ccf565b612dea565b6040519015158152f35b50346102a65760603660031901126102a6576040610e6e610e5d611ccf565b610e65611ce5565b604435916123f8565b82519182526020820152f35b50346102a657806003193601126102a6576020601554604051908152f35b50346102a657806003193601126102a657602090604051908152f35b50346102a657610ec336611d29565b610ecb611e3f565b610ed361209b565b8015610f875760508102818104605003610f735760649004906014810291818304601403610f5f57610f058185612759565b6002841015610f4b5791610f456064927fb90fff51595d69482870af51d15695a05e1423adecf8ce662f1a7e8330a632b794604051948594049184611d87565b0390a280f35b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b84526011600452602484fd5b60405163162908e360e11b8152600490fd5b50346102a65760403660031901126102a6576040610fb5611ce5565b91600435815280602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346102a65760403660031901126102a6576080906040906001600160a01b0361100c611ccf565b168152601860205281812060243582526020522080549060026001820154910154906040519280600f0b8452841d600f0b602084015260408301526060820152f35b50346102a65760203660031901126102a6576020906040906001600160a01b03611076611ccf565b168152602383522054604051908152f35b50346102a65760203660031901126102a6576020906040906001600160a01b036110af611ccf565b168152601783522054604051908152f35b50346102a65760203660031901126102a6576110da611ccf565b6110e2611e05565b6001600160a01b038181169190821561114e57600254908160081c169182841461114e57610100600160a81b031990911660089190911b610100600160a81b0316176002557fa72b27a380ae912444a4a53cb6d48344b5c8cb9c54fe5477f6e69f60ce6001448380a380f35b60405163c6d038c160e01b8152600490fd5b50346102a657806003193601126102a657602060405160648152f35b50346102a65760203660031901126102a65760406020916004358152601c83522054604051908152f35b50346102a657806003193601126102a6576020601454604051908152f35b50346102a65760403660031901126102a6576111de611ccf565b6111e661209b565b6111ee6120b9565b6111f781612dea565b15611790576001600160a01b0381811683526017602052604083206003015460081c60ff161561177e57612710602435116107ea5760646024351080611773575b6107ea578060025460081c16906040516370a0823160e01b8152336004820152602081602481865afa908115610d9f578591611741575b501561172f57602060249260405193848092631317b36b60e21b82523360048301525afa9182156117245784926116f0575b50428211156116de57338452601f6020526040842081841660005260205260406000205480151590816116c7575b506116b557338452601d6020526040842081841660005260205261132a60406000209260026040519461130186612015565b8054865260018101546020870152015460408501526109e761132286612d79565b91429061206e565b84606060405161133981612030565b828152826020820152826040820152015280156116ad575b61135d9060243561207b565b916040519261136b84612030565b602435600f0b8452600f0b6020840152602435604084015242606084015261139284612d79565b906113af6113a8836109ec816109e78142611fdf565b9283611fdf565b906040810151838111611608575b5050808652601a6020908152604087205490850151600f91820b910b0160016001607f1b0319811260016001607f1b038213176115f457818752601a602052604087209060018060801b03198254169060018060801b03161790556020840151600f0b60008051602061311f83398151915260405180611450878a16948683908152600f9190910b602082015260400190565b0390a28285168652601760205260408620906019602052604087205460186020526040882081895260205260408820865160018060801b03198254169060018060801b03161781556114a96020880151600f0b82612b78565b6040870151600182015560026060880151910155848716885260186020526040882081895260205283600260408a200155600181018091116115e057916006918594937fba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518f9689168a52601960205260408a2055600260018060801b036020890151169160408901516040519361153e85612015565b84526020840190815260408401918252338c52601d60205260408c20888c1660005260205260406000209351845551600184015551910155604086015180825560058201554260028201550155338552601f602052604085208185166000526020524260406000205560018060801b0383511692602060018060801b0391015116936115d66040519283921695339560243584611d87565b0390a36001805580f35b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b8752601a60205260408720548151600f90810b91900b0360016001607f1b0319811260016001607f1b038213176115e057604082810180518a52601a60205290892080546001600160801b0319166001600160801b039390931692909217909155519051600f0b9060016001607f1b031982146115e05760408051918252918803600f0b60208201528487169160008051602061311f83398151915291a238806113bd565b506001611351565b604051630618259b60e11b8152600490fd5b9050620d2f008101809111610f5f574210386112cf565b604051639970f36560e01b8152600490fd5b9091506020813d60201161171c575b8161170c6020938361204b565b81010312610d92575190386112a1565b3d91506116ff565b6040513d86823e3d90fd5b604051631901ff0f60e21b8152600490fd5b90506020813d60201161176b575b8161175c6020938361204b565b81010312610d9257513861126f565b3d915061174f565b506024351515611238565b60405163d4220bed60e01b8152600490fd5b6040516325d939f560e01b8152600490fd5b50346102a65760203660031901126102a6576020906040906001600160a01b036117ca611ccf565b168152601983522054604051908152f35b50346102a657806003193601126102a657602060ff600254166040519015158152f35b50346102a657806003193601126102a65760206040516127108152f35b50346102a65760203660031901126102a657611835611ccf565b61183d611e3f565b61184681612dea565b15611790576001600160a01b0316808252601760205260408220600301805461ff001916905590813b156102a657604051639d0ab89f60e01b815260016004820152818160248183875af18015610cc8576118c7575b509033907f63a2919109d26a48f4afb06be65bb1e0ef2fe197b3a7f9a58268b211745f8f6d8380a380f35b6118d090612002565b3861189c565b50346102a657806003193601126102a65760025460405160089190911c6001600160a01b03168152602090f35b50346102a65760203660031901126102a6576020906040906001600160a01b0361192b611ccf565b168152601e83522054604051908152f35b50346102a65760403660031901126102a657611956611ce5565b336001600160a01b03821603611972576105e890600435611f6a565b60405163334bd91960e11b8152600490fd5b50346102a657806003193601126102a65760206040516161a88152f35b50346102a65760603660031901126102a6576044356024356119c1611e05565b6127108082119081156119e3575b50610f875760145560155560043560165580f35b90506119ef83836120f7565b11386119cf565b50346102a65760403660031901126102a6576105e8600435611a16611ce5565b9080845283602052611a2e6001604086200154611e89565b611eec565b50346102a65760203660031901126102a657611a4d611ccf565b611a55611e05565b601380546001600160a01b0319166001600160a01b039290921691909117905580f35b50346102a65760203660031901126102a65760e0906040906001600160a01b03611aa0611ccf565b168152602160205220805490600181015490600281015460038201546004830154916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b50346102a657806003193601126102a6576013546040516001600160a01b039091168152602090f35b50346102a65760203660031901126102a657600160406020926004358152808452200154604051908152f35b50346102a65760203660031901126102a6576004359060028210156102a6576020611b7283611cfb565b54604051908152f35b50346102a65760203660031901126102a657611bad611b98611ccf565b611ba06120b9565b611ba861209b565b6122ef565b6001805580f35b50346102a65760203660031901126102a657611bce611ccf565b611bd6611d9d565b611bdf81612dea565b156117905760018060a01b031680825260176020527fb68c252413c1dbd0ed9a087ae0596489741f83c26e283fb6739ca73f79ff8654602060ff60036040862001611c3182825460081c1615826126d5565b5460081c166040519015158152a280f35b50346102a657806003193601126102a6576020610362612e21565b905034610cd3576020366003190112610cd35760043563ffffffff60e01b81168091036105255760209250637965db0b60e01b8114908115611ca1575b5015158152f35b6301ffc9a760e01b14905038611c9a565b34610d92576000366003190112610d925760206040516127108152f35b600435906001600160a01b0382168203610d9257565b602435906001600160a01b0382168203610d9257565b6002811015611d135760005260208052604060002090565b634e487b7160e01b600052602160045260246000fd5b6040906003190112610d92576004356002811015610d92579060243590565b906002821015611d135752565b8054821015611d715760005260206000209060011b0190600090565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195825260208201520152565b3360009081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c60205260409020546000805160206131ff8339815191529060ff1615611de75750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615611de75750565b3360009081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d60205260409020546000805160206131bf8339815191529060ff1615611de75750565b80600052600060205260406000203360005260205260ff6040600020541615611eaf5750565b60405163e2517d3f60e01b8152908190611ecd903360048401611ed1565b0390fd5b6001600160a01b039091168152602081019190915260400190565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014611f6557808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014611f655780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b91908201809211611fec57565b634e487b7160e01b600052601160045260246000fd5b6001600160401b038111610d3b57604052565b606081019081106001600160401b03821117610d3b57604052565b608081019081106001600160401b03821117610d3b57604052565b601f909101601f19168101906001600160401b03821190821017610d3b57604052565b91908203918211611fec57565b8115612085570490565b634e487b7160e01b600052601260045260246000fd5b60ff600254166120a757565b60405163d93c066560e01b8152600490fd5b6002600154146120ca576002600155565b604051633ee5aeb560e01b8152600490fd5b601254811015611d7157601260005260206000200190600090565b81810292918115918404141715611fec57565b60018060a01b03811690600082815260176020526040918282209160ff600384015460081c16156122de57848152602160205261214984822092612d79565b82548015806121d85750506121648354600585015490611fdf565b4211156121c757916121af9183612194816109ec816109e760008051602061313f8339815191529b9a9942611fdf565b61219e4285613060565b865490935080156121be5793612f9e565b548151904282526020820152a2565b50600193612f9e565b845163f0aaee6560e01b8152600490fd5b91926121ef846109ec816109e78199969942611fdf565b865490959080156122d557935b1590816122bd575b506122ac57831561229b57821561228a57926060926006836000805160206131df833981519152968860008051602061313f8339815191529b9a99965561224b8587611fdf565b6001830155856002830155600160038301556004820155836005820155015585519182526020820152600185820152a1548151904282526020820152a2565b86516319a2a9bd60e01b8152600490fd5b865163346ab43760e11b8152600490fd5b865163f0aaee6560e01b8152600490fd5b6122cd9150600584015490611fdf565b851038612204565b506001936121fc565b835163d4220bed60e01b8152600490fd5b6122f881612dea565b156000906117905760018060a01b039081831691828252601760205260409360ff6003868520015460081c16156123e757612332906129eb565b9182156123e0578160025460081c16843b15610cd357908084612369938851948592839263b66503cf60e01b845260048401611ed1565b038183895af191826123d1575b509061239f575060008051602061317f8339815191529160209160025460081c169451908152a3565b91602091838560008051602061319f833981519152955260178452600487429220015560025460081c169451908152a3565b6123da90612002565b38612376565b5050505050565b845163d4220bed60e01b8152600490fd5b9192909261240584612dea565b156117905780156126c957600254604080516370a0823160e01b8082526001600160a01b0387811660048085018290529991969560209591939060081c88168686602481845afa95861561261257908c96959493929160009661268d575b508783518098816318160ddd60e01b948582525afa9687156126125760009761265e575b5086158015612656575b61261d578c93929190888b6124a586612d79565b9516918451968791825281845afa94851561261257918e918a936000976125db575b50906024918551988994859384528301525afa9384156125d0576000946125a1575b50600b54600c54825198909160c08a016001600160401b0381118b82101761258b576125349b9c9d9e9f508452895288015286015260608501526080840152600060a0840152612eb9565b9361271092838610612582575b6161a880871161257a575b5060135416612565575b5083612561916120f7565b0490565b612561919461257391612b9b565b9390612556565b95503861254c565b94508294612541565b5060418f634e487b7160e01b6000525260246000fd5b90938782813d83116125c9575b6125b8818361204b565b810103126102a657505192386124e9565b503d6125ae565b50513d6000823e3d90fd5b80935084919792943d831161260b575b6125f5818361204b565b810103126102a65750519388918e9160246124c7565b503d6125eb565b83513d6000823e3d90fd5b50505050505050509391925050612710908184029384048203612641575080920490565b601190634e487b7160e01b6000525260246000fd5b508515612491565b90968882813d8311612686575b612675818361204b565b810103126102a65750519538612487565b503d61266b565b91929394959096508782813d83116126c2575b6126aa818361204b565b810103126102a65750908b9594939291519438612463565b503d6126a0565b50612710925060009150565b9061ff00825491151560081b169061ff001916179055565b6001600160401b038111610d3b5760051b60200190565b9061270e826126ed565b61271b604051918261204b565b828152809261272c601f19916126ed565b0190602036910137565b6000198114611fec5760010190565b8051821015611d715760209160051b010190565b9160009283926012549161276c83612704565b92865b81811061293b5750505083158015612933575b61292c5761278f846126ed565b9160409061279f8251948561204b565b858452601f196127ae876126ed565b01906020913683870137600095865b6000198901898111611fec5788101561282d5761282790612821906001600160a01b036127ea8b87612745565b5116600052601786526128058c6109e789600020548b6120f7565b61280f8b8b612745565b5261281a8a8a612745565b5190611fdf565b97612736565b966127bd565b91939490985061283e92965061206e565b6000198601868111611fec576128549085612745565b5260005b85811061286757505050505050565b6001600160a01b03908161287b8285612745565b51166128878287612745565b5192836128a0575b505061289b9150612736565b612858565b60025460081c1690803b15610d925761289b9388875163b66503cf60e01b8152600081806128d2868960048401611ed1565b038183885af1908161291d575b506129025760008051602061317f833981519152918851908152a35b388061288f565b60008051602061319f833981519152918851908152a36128fb565b61292690612002565b386128df565b5050915050565b508415612782565b612944816120dc565b90549060039160018060a01b0391831b1c168060005260179060209082825260409384600020015460ff808260081c1691826129ce575b5050612994575b5050505061298f90612736565b61276f565b926129be928b9c92856129c4966129af61298f999f8e612745565b52600052526000205490611fdf565b98612736565b9690388080612982565b169050600280891015611d1357811015611d13578714388061297b565b6001600160a01b031660008181526017602052604080822090929091612a0f612e21565b918215612b70578354926127109384810290808204861490151715610f73576003612a3f612a489360ff9361207b565b96015416611cfb565b549183830292808404851490151715612b5c57855195869263ea8d6e6160e01b8452836004610140998a935afa968715612b51578297612a9d575b50505050612561926305f5e10094926109ec9204926120f7565b90919280949750813d8311612b4a575b612ab7818361204b565b8101039081126105255760e013610cd35780519160e08301906001600160401b03821184831017612b365750815282518252602080840151908301528083015190820152606080830151908201526080808301519082015260a0808301519082015260c08083015191015260e001519282826305f5e100612561612a83565b634e487b7160e01b81526041600452602490fd5b503d612aad565b5051903d90823e3d90fd5b634e487b7160e01b81526011600452602490fd5b509250505090565b80546001600160801b031660809290921b6001600160801b031916919091179055565b6013546001600160a01b031680158015612c67575b611f6557612bdb9160209160165491604051809581948293635615438960e01b845260048401611ed1565b03915afa908115612c5b57600091612c2a575b508015612c265790612c16612c1c9260155490818111600014612c1f57505b601454906120f7565b90611fdf565b90565b9050612c0d565b5090565b906020823d8211612c53575b81612c436020938361204b565b810103126102a657505138612bee565b3d9150612c36565b6040513d6000823e3d90fd5b5060165415612bb0565b612c7a81612dea565b15612c8a57612c1c904290612c90565b50600090565b60018060a01b03811660009080825260209060198252604093848420548015612d6a5760188452858520906000198101908111612d565785528352848420958551612cda81612030565b875480600f0b825260801d600f0b858201526060600260018a0154998984019a8b5201549101908082528210612d465791612d25612d1f612d2b93600195519061206e565b91612d79565b9061207b565b1015612d3957505050505190565b8252601790522054919050565b5050508252601790522054919050565b634e487b7160e01b86526011600452602486fd5b50505060179192935052205490565b612d8281612dea565b1561179057604051635a38556f60e11b815290602090829060049082906001600160a01b03165afa908115612c5b57600091612dbc575090565b906020823d8211612de2575b81612dd56020938361204b565b810103126102a657505190565b3d9150612dc8565b6001600160a01b03166000908152601760205260409020600281015415159081612e12575090565b60ff91506003015460081c1690565b600080601254905b818110612e3557505090565b612e3e816120dc565b9060018060a01b03809154600393841b1c1660005260179060209082825260409360ff8186600020015460081c16612e84575b5050505050612e7f90612736565b612e29565b9185979391612eae9593612e9a612e7f986120dc565b9054911b1c16600052526000205490611fdf565b929038808080612e71565b91909182158015612f92575b612f8857670de0b6b3a76400009283820291808304851490151715611fec57612eed9161207b565b66038d7ea4c680008110612f885760608201519083820291808304851490151715611fec57612f2f8491612f29612f5f9460808701519061207b565b906120f7565b04825193612f4d612f46602086019687519061206e565b80936120f7565b0490808211612f80575b508351611fdf565b9151808310612f7a575051808211612f75575090565b905090565b91505090565b905038612f57565b5060209150015190565b50608082015115612ec5565b90919281548015159081613048575b50613036578315613024578415613012576000805160206131df833981519152946006838561300d9555612fe18787611fdf565b600182015585600282015583600382015560006004820155866005820155015560405193849384611d87565b0390a1565b6040516319a2a9bd60e01b8152600490fd5b60405163346ab43760e11b8152600490fd5b60405163f0aaee6560e01b8152600490fd5b6130589150600584015490611fdf565b831038612fad565b9081549081811115613115576001830154908181111561310e57505b600483015492600281015480831161309f575b5050612c1c9291612d259161206e565b6130ae6003918495939461206e565b920154916130bc81846120f7565b9281151591826130f9575b50506130e7576130dd612d2592612c1c95611fdf565b938193925061308f565b60405163f20577e560e01b8152600490fd5b6131059192508461207b565b141538806130c7565b905061307c565b5050600301549056fe73adef572f1e297aecd0b87cca8c2ec66c2a869dc7dba5dc4bf02cc1887a674be70a0cc214a7ed6c7a67d667715fd0be9259a7ef2c8cfffa244f6ad399890004ed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2fdb56e43fcedae7e648f6edcdcf93d0f7c875eeed3f79193a67dcb3abc9ba58b95303cb8fc2ab504b092b4799d2c00f2209ee4eee6b03a168171dc140ed7403ee5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a082fda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a264697066735822122024d8dbfb541d9f6b41b38f2294138116a2ec8693d8d76b0ddcf1607199a5e61864736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -14,7 +14,7 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): GaugeRewardsDistributor__factory;
17
- static readonly bytecode = "0x60a0346200013857601f620024ca38819003918201601f19168301916001600160401b038311848410176200013d578084926020946040528339810103126200013857516001600160a01b03811690819003620001385760018055801562000126576080526200006f3362000153565b506200007b33620001d3565b50620151804281900460006007820680620000fe57505060005b8101809111620000e857818102918183041490151715620000e85760035560405161223490816200027682396080518181816104fd015281816105d50152818161070001528181610d68015261149c0152f35b634e487b7160e01b600052601160045260246000fd5b600703906007821162000112575062000095565b634e487b7160e01b81526011600452602490fd5b60405163e6c4247b60e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620001cf57818052816020526040822081835260205260408220600160ff198254161790553391600080516020620024aa8339815191528180a4600190565b5090565b6001600160a01b031660008181527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e8760205260408120549091907f558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf40019060ff166200027057808352826020526040832082845260205260408320600160ff19825416179055600080516020620024aa833981519152339380a4600190565b50509056fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a714611990575080630914932214611967578063093705501461192e57806316cd9ef2146118e35780631923ab31146118b65780631be05289146118985780631c03e6cc146117ee578063248a9ca3146117c2578063267b5852146116875780632914b8eb1461164e5780632a9dd0ce146115ef5780632f2ff15d146115b257806333101abd146115625780633556d8481461143c57806336568abe146113f45780633896518c146113d95780633d11c00d14610d015780633d509c9714610ba657806341de21a714610b675780634746ef3714610b0c57806347e7ef24146103db57806348e5d9f814610ab05780635838746214610a92578063710aeaaa14610a775780637bb7bed114610a3357806380d1c67b146109f45780638a62c0d4146106905780638b2df1321461057757806391d148541461052c57806399eecb3b146104e7578063a217fddf146104cb578063b02bf8d814610464578063b54e2b1414610410578063b66503cf146103db578063bde4ad1214610374578063c4f59f9b146102e5578063d1e2ae4c146102c9578063d547741f14610288578063e3be65301461024f578063ea7cbff1146102235763fa1af4f3146101e457600080fd5b34610220576020366003190112610220576020906001906040906001600160a01b0361020e6119e9565b16815260048452200154604051908152f35b80fd5b50346102205760203660031901126102205760206102476102426119e9565b612063565b604051908152f35b5034610220576020366003190112610220576020906040906001600160a01b036102776119e9565b168152600e83522054604051908152f35b5034610220576040366003190112610220576102c56004356102a86119ff565b90808452836020526102c06001604086200154611b20565b611bc4565b5080f35b5034610220578060031936011261022057602060405160648152f35b5034610220578060031936011261022057604051600280548083529083526020808301937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace92915b828210610354576103508561034481890382611d1a565b60405191829182611a2b565b0390f35b83546001600160a01b03168652948501946001938401939091019061032d565b50346102205760603660031901126102205761038e6119e9565b906103976119ff565b61039f611a15565b92604060018060a01b03938480931681526006602052209116600052602052604060002091166000526020526020604060002054604051908152f35b5034610220576040366003190112610220576104096103f86119e9565b610400611cce565b60243590611c39565b6001805580f35b50346102205760403660031901126102205761042a6119e9565b60406104346119ff565b9260018060a01b0380931681526008602052209116600052602052602060ff604060002054166040519015158152f35b50346102205760603660031901126102205761047e6119e9565b906104876119ff565b61048f611a15565b92604060018060a01b03938480931681526005602052209116600052602052604060002091166000526020526020604060002054604051908152f35b5034610220578060031936011261022057602090604051908152f35b50346102205780600319360112610220576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346102205760403660031901126102205760406105486119ff565b91600435815280602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b5034610220576040366003190112610220576105916119e9565b6001600160a01b039081168083526007602052604083205490916024359160ff161561067e5760206024916040519283809263aa79979b60e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610673578491610645575b501561063357610616813384611d70565b6040519081526000805160206121bf83398151915260203392a380f35b6040516325d939f560e01b8152600490fd5b610666915060203d811161066c575b61065e8183611d1a565b810190611d3d565b38610605565b503d610654565b6040513d86823e3d90fd5b6040516332da96a360e01b8152600490fd5b5034610220576060366003190112610220576106aa6119e9565b6106b26119ff565b906044356106be611ab8565b60018060a01b0391828416938486526020916007835260ff604088205416156109aa575b60405163aa79979b60e01b81528381602481898616998a60048301527f0000000000000000000000000000000000000000000000000000000000000000165afa90811561099f578891610982575b501561063357848752600883526040872086600052835260ff604060002054161561092e575b8587526004835260408720604051946370a0823160e01b865230600487015284866024818b5afa9586156108de5789966108fa575b5080958181106108f2575b508515806108e9575b610885575b5084158015919061087f5762093a8086045b815542600282015562093a8042019081421161086b5760010155879291906107dc578280f35b846107e79188611d70565b843b1561086757818461080f92604051938492839263b66503cf60e01b845260048401611d55565b038183895af1801561085c57610844575b50506000805160206121bf83398151915291604051908152a3388080808481808280f35b61084d90611cf1565b610858578438610820565b8480fd5b6040513d84823e3d90fd5b5080fd5b634e487b7160e01b8a52601160045260248afd5b886107b6565b6040516323b872dd60e01b8152919550908481806108a885303360048501611ed0565b03818c8c5af180156108de576108c1575b5093386107a4565b6108d790853d871161066c5761065e8183611d1a565b50386108b9565b6040513d8b823e3d90fd5b5080151561079f565b955038610796565b9095508481813d8311610927575b6109128183611d1a565b810103126109225751943861078b565b600080fd5b503d610908565b303b1561097e57866040516306aadb0960e31b8152866004820152876024820152818160448183305af1801561085c5761096a575b5050610756565b61097390611cf1565b61097e578638610963565b8680fd5b6109999150843d861161066c5761065e8183611d1a565b38610730565b6040513d8a823e3d90fd5b303b1561097e5786604051630700f9b360e21b8152876004820152818160248183305af1801561085c576109e0575b50506106e2565b6109e990611cf1565b61097e5786386109d9565b50346102205760203660031901126102205760209060ff906040906001600160a01b03610a1f6119e9565b168152600784522054166040519015158152f35b50346102205760203660031901126102205760043590600254821015610220576020610a5e83611a6f565b905460405160039290921b1c6001600160a01b03168152f35b50346102205780600319360112610220576020610247611e64565b50346102205780600319360112610220576020600354604051908152f35b5034610220576020366003190112610220576080906040906001600160a01b03610ad86119e9565b1681526004602052208054906001810154906003600282015491015491604051938452602084015260408301526060820152f35b503461022057604036600319011261022057610b266119e9565b6001600160a01b039081168252600d60205260408220805460243593908410156102205750602092610b5791611aa0565b9190546040519260031b1c168152f35b50346102205760203660031901126102205760209060ff906040906001600160a01b03610b926119e9565b168152600c84522054166040519015158152f35b503461022057602036600319011261022057610bc06119e9565b610bc8611ab8565b6001600160a01b039081168083526007602052604083205460ff161561067e57825b6002805480831015610cf75790849184610c0385611a6f565b949054600395861b1c1614610c2357505050610c1e90611ec1565b610bea565b93949193909260001991828101908111610ce35790610c5584610c48610c7494611a6f565b905490891b1c1691611a6f565b90919082549060031b9160018060a01b03809116831b921b1916179055565b82548015610ccf570192610c8784611a6f565b81939154921b1b19169055555b808252600760205260408220805460ff191690557f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50098280a280f35b634e487b7160e01b87526031600452602487fd5b634e487b7160e01b88526011600452602488fd5b5050509050610c94565b503461022057604036600319011261022057610d1b6119e9565b610d236119ff565b610d2b611cce565b6001600160a01b03811683526007602052604083205460ff161561067e5760405163aa79979b60e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa908115610edf5785916113ba575b5015610633576001600160a01b0382168452600c602052604084205460ff161580156113a7575b611033575b506001600160a01b038181168452600960209081526040808620928516865291905283205490811580611015575b610eee575b81610e0d575b836001805580f35b6001600160a01b038181168086526009602090815260408088209387168852929052908520859055610e429083908590611d70565b6001600160a01b0383163b15610eea5760405163b66503cf60e01b8152848180610e70868660048401611d55565b0381836001600160a01b0389165af18015610edf57610ebb575b506040519182526001600160a01b039081169216906000805160206121bf83398151915290602090a3388080610e05565b6000805160206121bf8339815191529194610ed7602092611cf1565b949150610e8a565b6040513d87823e3d90fd5b8380fd5b83929150825b6001600160a01b0382168552600e602052604085205481101561100d57600d602052610f238160408720611aa0565b905460039190911b1c6001600160a01b0390811690841614610f4d57610f4890611ec1565b610ef4565b5090915060015b1580610fe5575b610f93575b610f6981611f53565b6001600160a01b038181168452600960209081526040808620928516865291905283205490610dff565b60018060a01b0381168352600d602052610fbe82610c5560408620600e602052604087205490611aa0565b6001600160a01b0381168352600e602052604083208054610fde90611ec1565b9055610f60565b506001600160a01b0381168352600e6020908152604080852054600d90925284205411610f5b565b509091610f54565b506001600160a01b0381168452600b60205260408420541515610dfa565b92919061103f81611ef2565b611047611e64565b6001600160a01b038216808552600c60209081526040808720805460ff19166001179055516370a0823160e01b815230600482015291829060249082905afa908115610edf578591611375575b506001600160a01b0383168552600b6020908152604080872092909255600a905280852082905551610ca08101956001600160401b03871182881017611361576004959660405260648252610c803660208401378680916040519788809263cffd31dd60e01b82525afa95861561135657879661128b575b5086905b865182101561128057611141906001600160a01b0361112f848a611f3f565b511661113b8286611f3f565b52611ec1565b90606482101561115a5761115490611ec1565b90611110565b5091929394505b6001600160a01b0384168652600d602052604086208151916001600160401b03831161126c57600160401b831161126c578154838355808410611245575b5060200190875260208720875b83811061122857505050506001600160a01b0383168552600e60205260408520556111d682611f53565b6001600160a01b038216808552600b602090815260408087205481519485529184019190915290917f347c0859fd379c29722d8c053bd566c573fae8790303fe4f68eac9ae7dd4d58f9190a238610dcc565b82516001600160a01b0316818301556020909201916001016111ac565b82895260208920908482015b818301811061126157505061119f565b8a8155600101611251565b634e487b7160e01b88526041600452602488fd5b929394955050611161565b9095503d8088833e61129d8183611d1a565b81016020828203126113525781516001600160401b03811161134e5781601f82850101121561134e5780830151906112d482611f28565b936112e26040519586611d1a565b828552602085019360208460051b84840101011161134a5780820160200193915b60208460051b82840101018510611320575050505050943861110c565b8451926001600160a01b0384168403611346576020818195829352019501949250611303565b8c80fd5b8a80fd5b8880fd5b8780fd5b6040513d89823e3d90fd5b634e487b7160e01b86526041600452602486fd5b90506020813d60201161139f575b8161139060209383611d1a565b81010312610858575138611094565b3d9150611383565b50600a6020526040842054421015610dc7565b6113d3915060203d60201161066c5761065e8183611d1a565b38610da0565b50346102205780600319360112610220576020610247611ea5565b50346102205760403660031901126102205761140e6119ff565b336001600160a01b0382160361142a576102c590600435611bc4565b60405163334bd91960e11b8152600490fd5b5034610220576040366003190112610220576114566119e9565b61145e6119ff565b611466611ab8565b6001600160a01b0390811691821561155057819060405192839163aa79979b60e01b8352169182600483015281602460209586937f0000000000000000000000000000000000000000000000000000000000000000165afa908115610edf578591611533575b5015610633578084526008825260408420838552825260ff6040852054166115215783526008815260408320908284525260408220600160ff1982541617905560008051602061219f8339815191528280a280f35b6040516389f2a03b60e01b8152600490fd5b61154a9150833d851161066c5761065e8183611d1a565b386114cc565b60405163e6c4247b60e01b8152600490fd5b50346102205760403660031901126102205760ff60406020926115836119e9565b61158b6119ff565b6001600160a01b039182168352600886528383209116825284522054604051911615158152f35b5034610220576040366003190112610220576102c56004356115d26119ff565b90808452836020526115ea6001604086200154611b20565b611b46565b503461022057606036600319011261022057604060209161160e6119e9565b6116166119ff565b9061161f611a15565b6001600160a01b0391821684526006865284842092821684529185528383209116825283522054604051908152f35b5034610220576020366003190112610220576020906040906001600160a01b036116766119e9565b168152600a83522054604051908152f35b503461022057602080600319360112610867576116a26119e9565b600254916001600160a01b03918216908490815b85811061177157506116c786611f28565b956116d56040519788611d1a565b8087526116e4601f1991611f28565b0136828801378192825b86811061170357604051806103508a82611a2b565b8184526008835285806040862061171984611a6f565b929054600393841b1c168752855260ff604087205416611744575b505061173f90611ec1565b6116ee565b9561176791839761175761173f95611a6f565b9054911b1c1661113b828c611f3f565b9490508538611734565b83835260088252604083208561178683611a6f565b90549060031b1c168452825260ff6040842054166117ad575b6117a890611ec1565b6116b6565b956117ba6117a891611ec1565b96905061179f565b503461022057602036600319011261022057600160406020926004358152808452200154604051908152f35b5034610220576020366003190112610220576118086119e9565b611810611ab8565b6001600160a01b03811690811561155057818352600760205260ff60408420541661152157818352600760205260408320805460ff19166001179055600254600160401b8110156118845790610c5582600161186f9401600255611a6f565b60008051602061219f8339815191528280a280f35b634e487b7160e01b84526041600452602484fd5b5034610220578060031936011261022057602060405162093a808152f35b5034610220576020366003190112610220576118e06118d36119e9565b6118db611ab8565b611ef2565b80f35b50346102205760403660031901126102205760406020916119026119e9565b61190a6119ff565b6001600160a01b039182168352600985528383209116825283522054604051908152f35b5034610220576020366003190112610220576020906040906001600160a01b036119566119e9565b168152600b83522054604051908152f35b503461022057806003193601126102205760206040516000805160206121df8339815191528152f35b9050346108675760203660031901126108675760043563ffffffff60e01b81168091036119e55760209250637965db0b60e01b81149081156119d4575b5015158152f35b6301ffc9a760e01b149050386119cd565b8280fd5b600435906001600160a01b038216820361092257565b602435906001600160a01b038216820361092257565b604435906001600160a01b038216820361092257565b6020908160408183019282815285518094520193019160005b828110611a52575050505090565b83516001600160a01b031685529381019392810192600101611a44565b600254811015611a8a57600260005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015611a8a5760005260206000200190600090565b3360009081527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e8760205260409020546000805160206121df8339815191529060ff1615611b025750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615611b025750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014611bbf57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014611bbf5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6001600160a01b0381166000818152600760205260409020549092919060ff161561067e5781611cc57fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e2993602093611cc06040516323b872dd60e01b87820152611cba81611cac86303360248501611ed0565b03601f198101835282611d1a565b88611dac565b6120a0565b604051908152a2565b600260015414611cdf576002600155565b604051633ee5aeb560e01b8152600490fd5b6001600160401b038111611d0457604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017611d0457604052565b90816020910312610922575180151581036109225790565b6001600160a01b039091168152602081019190915260400190565b611da5611daa9392611d9760405194859263a9059cbb60e01b602085015260248401611d55565b03601f198101845283611d1a565b611dac565b565b906000602091828151910182855af115611e08576000513d611dff57506001600160a01b0381163b155b611ddd5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611dd6565b6040513d6000823e3d90fd5b91908203918211611e2157565b634e487b7160e01b600052601160045260246000fd5b8115611e41570490565b634e487b7160e01b600052601260045260246000fd5b91908201809211611e2157565b600354804210611ea25762093a8080611e7d8342611e14565b0460018101809111611e2157818102918183041490151715611e2157611ea291611e57565b90565b60035480421015611ebb57611ea2904290611e14565b50600090565b6000198114611e215760010190565b6001600160a01b03918216815291166020820152604081019190915260600190565b6001600160a01b03166000908152600c60209081526040808320805460ff19169055600b8252808320839055600e909152812055565b6001600160401b038111611d045760051b60200190565b8051821015611a8a5760209160051b010190565b6001600160a01b039081166000818152600e602090815260408083205493959394929091851561205a57600b8152828220549593611f918588611e37565b95839784966000198101908111998a5b6120465781891015611ffe57611ff7611ff18b8d938f89818f8f908f908f95600991611fd5918452600d8852848420611aa0565b96905494835252209260031b1c168c528a52818c8c2055611e57565b99611ec1565b9890611fa1565b969850919998909293949650888752600d8552878720906120465761202f9161202691611aa0565b95905492611e14565b968552600983528585209360031b1c168352522055565b634e487b7160e01b87526011600452602487fd5b50505050915050565b6001600160a01b031660008181526007602052604090205460ff161561067e57600052600460205260406000206001810154421015611ebb575490565b6001600160a01b03166000908152600460205260408120600354909190421061216d575b600182019182548042101560001461211257509260029362093a8080920481556120ec611e64565b948591015583018093116120fe575055565b634e487b7160e01b81526011600452602490fd5b61211d904290611e14565b938154948581029581870414901517156121595761214062093a80958692611e57565b04905561214b611e64565b9283018093116120fe575055565b634e487b7160e01b83526011600452602483fd5b612175611ea5565b8061218057506120c4565b905061218c9192611e37565b8155426002820155600160035491015556fef3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8265303cb8fc2ab504b092b4799d2c00f2209ee4eee6b03a168171dc140ed7403ee558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf4001a264697066735822122062e4680b645da52a612d9afb88af988d865c3096669e764a518e18faba61b1a964736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
17
+ static readonly bytecode = "0x60a034620000d157601f620026fe38819003918201601f19168301916001600160401b03831184841017620000d657808492602094604052833981010312620000d157516001600160a01b03811690819003620000d157600180558015620000bf576080526200006f33620000ec565b506200007b336200016c565b5062000087426200020e565b6003556040516124349081620002aa823960805181818161058a015281816106620152818161078d01528181610dcc01526113b30152f35b60405163e6c4247b60e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200016857818052816020526040822081835260205260408220600160ff198254161790553391600080516020620026de8339815191528180a4600190565b5090565b6001600160a01b031660008181527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e8760205260408120549091907f558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf40019060ff166200020957808352826020526040832082845260205260408320600160ff19825416179055600080516020620026de833981519152339380a4600190565b505090565b6201518090818104906007820680159182806200029e575b620002965750600091156200026e57505060075b81018091116200025857818102918183041490151715620002585790565b634e487b7160e01b600052601160045260246000fd5b60070390600782116200028257506200023a565b634e487b7160e01b81526011600452602490fd5b935050505090565b50848106156200022656fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a7146118a757508063091493221461187e578063093705501461184557806316cd9ef2146117fa5780631923ab31146117cd5780631be05289146117af5780631c03e6cc14611705578063248a9ca3146116d9578063267b58521461159e5780632914b8eb146115655780632a9dd0ce146115065780632f2ff15d146114c957806333101abd146114795780633556d8481461135357806336568abe1461130b5780633896518c146112f05780633d11c00d14610d655780633d509c9714610c0a57806341de21a714610bcb5780634746ef3714610b7057806347e7ef241461044557806348e5d9f814610b145780635838746214610af6578063710aeaaa14610adb5780637bb7bed114610a9757806380d1c67b14610a585780638a62c0d41461071d5780638b2df1321461060457806391d14854146105b957806399eecb3b14610574578063a217fddf14610558578063ae5ecbc614610535578063b02bf8d8146104ce578063b54e2b141461047a578063b66503cf14610445578063bde4ad12146103de578063c4f59f9b1461034f578063d1e2ae4c14610333578063d547741f146102f2578063e3be6530146102b9578063ea7cbff11461028d578063f228d6d0146102395763fa1af4f3146101fa57600080fd5b34610236576020366003190112610236576020906001906040906001600160a01b03610224611900565b16815260048452200154604051908152f35b80fd5b503461023657604036600319011261023657610253611900565b604061025d611916565b9260018060a01b038093168152600f602052209116600052602052602060ff604060002054166040519015158152f35b50346102365760203660031901126102365760206102b16102ac611900565b6121bc565b604051908152f35b5034610236576020366003190112610236576020906040906001600160a01b036102e1611900565b168152600e83522054604051908152f35b50346102365760403660031901126102365761032f600435610312611916565b908084528360205261032a6001604086200154611a37565b611adb565b5080f35b5034610236578060031936011261023657602060405160648152f35b5034610236578060031936011261023657604051600280548083529083526020808301937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace92915b8282106103be576103ba856103ae81890382611c04565b60405191829182611942565b0390f35b83546001600160a01b031686529485019460019384019390910190610397565b5034610236576060366003190112610236576103f8611900565b90610401611916565b61040961192c565b92604060018060a01b03938480931681526006602052209116600052602052604060002091166000526020526020604060002054604051908152f35b503461023657604036600319011261023657610473610462611900565b61046a611bb8565b60243590611b50565b6001805580f35b503461023657604036600319011261023657610494611900565b604061049e611916565b9260018060a01b0380931681526008602052209116600052602052602060ff604060002054166040519015158152f35b5034610236576060366003190112610236576104e8611900565b906104f1611916565b6104f961192c565b92604060018060a01b03938480931681526005602052209116600052602052604060002091166000526020526020604060002054604051908152f35b50346102365780600319360112610236576020604051670de0b6b3a76400008152f35b5034610236578060031936011261023657602090604051908152f35b50346102365780600319360112610236576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346102365760403660031901126102365760406105d5611916565b91600435815280602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346102365760403660031901126102365761061e611900565b6001600160a01b039081168083526007602052604083205490916024359160ff161561070b5760206024916040519283809263aa79979b60e01b82523360048301527f0000000000000000000000000000000000000000000000000000000000000000165afa9081156107005784916106d2575b50156106c0576106a3813384611c5a565b6040519081526000805160206123bf83398151915260203392a380f35b6040516325d939f560e01b8152600490fd5b6106f3915060203d81116106f9575b6106eb8183611c04565b810190611c27565b38610692565b503d6106e1565b6040513d86823e3d90fd5b6040516332da96a360e01b8152600490fd5b503461023657606036600319011261023657610737611900565b61073f611916565b9060443561074b6119cf565b60018060a01b0391828416938486526020916007835260ff60408820541615610a0e575b60405163aa79979b60e01b81528381602481898616998a60048301527f0000000000000000000000000000000000000000000000000000000000000000165afa908115610a035788916109e6575b50156106c057848752600883526040872086600052835260ff6040600020541615610992575b8587526004835260408720604051946370a0823160e01b865230600487015284866024818b5afa958615610987578996610953575b50809581811061094b575b50851580610942575b61092c575b508415801591908061092557670de0b6b3a764000090818802918883041417156109115762093a8090045b815542600282015562093a80420190814211610911576001015587929190610882578280f35b8461088d9188611c5a565b843b1561090d5781846108b592604051938492839263b66503cf60e01b845260048401611c3f565b038183895af18015610902576108ea575b50506000805160206123bf83398151915291604051908152a3388080808481808280f35b6108f390611bdb565b6108fe5784386108c6565b8480fd5b6040513d84823e3d90fd5b5080fd5b634e487b7160e01b8a52601160045260248afd5b508861085c565b90945061093b8130338a611e88565b9338610831565b5080151561082c565b955038610823565b9095508481813d8311610980575b61096b8183611c04565b8101031261097b57519438610818565b600080fd5b503d610961565b6040513d8b823e3d90fd5b303b156109e257866040516306aadb0960e31b8152866004820152876024820152818160448183305af18015610902576109ce575b50506107e3565b6109d790611bdb565b6109e25786386109c7565b8680fd5b6109fd9150843d86116106f9576106eb8183611c04565b386107bd565b6040513d8a823e3d90fd5b303b156109e25786604051630700f9b360e21b8152876004820152818160248183305af1801561090257610a44575b505061076f565b610a4d90611bdb565b6109e2578638610a3d565b50346102365760203660031901126102365760209060ff906040906001600160a01b03610a83611900565b168152600784522054166040519015158152f35b50346102365760203660031901126102365760043590600254821015610236576020610ac283611986565b905460405160039290921b1c6001600160a01b03168152f35b503461023657806003193601126102365760206102b1611e0e565b50346102365780600319360112610236576020600354604051908152f35b5034610236576020366003190112610236576080906040906001600160a01b03610b3c611900565b1681526004602052208054906001810154906003600282015491015491604051938452602084015260408301526060820152f35b503461023657604036600319011261023657610b8a611900565b6001600160a01b039081168252600d60205260408220805460243593908410156102365750602092610bbb916119b7565b9190546040519260031b1c168152f35b50346102365760203660031901126102365760209060ff906040906001600160a01b03610bf6611900565b168152600c84522054166040519015158152f35b503461023657602036600319011261023657610c24611900565b610c2c6119cf565b6001600160a01b039081168083526007602052604083205460ff161561070b57825b6002805480831015610d5b5790849184610c6785611986565b949054600395861b1c1614610c8757505050610c8290611e79565b610c4e565b93949193909260001991828101908111610d475790610cb984610cac610cd894611986565b905490891b1c1691611986565b90919082549060031b9160018060a01b03809116831b921b1916179055565b82548015610d33570192610ceb84611986565b81939154921b1b19169055555b808252600760205260408220805460ff191690557f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50098280a280f35b634e487b7160e01b87526031600452602487fd5b634e487b7160e01b88526011600452602488fd5b5050509050610cf8565b503461023657604036600319011261023657610d7f611900565b610d87611916565b610d8f611bb8565b6001600160a01b03811683526007602052604083205460ff161561070b5760405163aa79979b60e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa908115610f3b5785916112d1575b50156106c0576001600160a01b0382168452600c602052604084205460ff161580156112be575b610f4a575b50610e3b8282612051565b9081610e4a575b836001805580f35b6001600160a01b03818116808652600960209081526040808820938716808952938252808820889055828852600f8252808820938852929052908520805460ff19166001179055610e9e9083908590611c5a565b6001600160a01b0383163b15610f465760405163b66503cf60e01b8152848180610ecc868660048401611c3f565b0381836001600160a01b0389165af18015610f3b57610f17575b506040519182526001600160a01b039081169216906000805160206123bf83398151915290602090a3388080610e42565b6000805160206123bf8339815191529194610f33602092611bdb565b949150610ee6565b6040513d87823e3d90fd5b8380fd5b929190610f5681611ee0565b610f5e611e0e565b6001600160a01b038216808552600c60209081526040808720805460ff19166001179055516370a0823160e01b815230600482015291829060249082905afa908115610f3b57859161128c575b506001600160a01b0383168552600b6020908152604080872092909255600a905280852082905551610ca08101956001600160401b03871182881017611278576004959660405260648252610c803660208401378680916040519788809263cffd31dd60e01b82525afa95861561126d5787966111a2575b5086905b865182101561119757611058906001600160a01b03611046848a611f2d565b51166110528286611f2d565b52611e79565b9060648210156110715761106b90611e79565b90611027565b5091929394505b6001600160a01b0384168652600d602052604086208151916001600160401b03831161118357600160401b831161118357815483835580841061115c575b5060200190875260208720875b83811061113f57505050506001600160a01b0383168552600e60205260408520556110ed82611f41565b6001600160a01b038216808552600b602090815260408087205481519485529184019190915290917f347c0859fd379c29722d8c053bd566c573fae8790303fe4f68eac9ae7dd4d58f9190a238610e30565b82516001600160a01b0316818301556020909201916001016110c3565b82895260208920908482015b81830181106111785750506110b6565b8a8155600101611168565b634e487b7160e01b88526041600452602488fd5b929394955050611078565b9095503d8088833e6111b48183611c04565b81016020828203126112695781516001600160401b0381116112655781601f8285010112156112655780830151906111eb82611f16565b936111f96040519586611c04565b828552602085019360208460051b8484010101116112615780820160200193915b60208460051b828401010185106112375750505050509438611023565b8451926001600160a01b038416840361125d57602081819582935201950194925061121a565b8c80fd5b8a80fd5b8880fd5b8780fd5b6040513d89823e3d90fd5b634e487b7160e01b86526041600452602486fd5b90506020813d6020116112b6575b816112a760209383611c04565b810103126108fe575138610fab565b3d915061129a565b50600a6020526040842054421015610e2b565b6112ea915060203d6020116106f9576106eb8183611c04565b38610e04565b503461023657806003193601126102365760206102b1611e5d565b503461023657604036600319011261023657611325611916565b336001600160a01b038216036113415761032f90600435611adb565b60405163334bd91960e11b8152600490fd5b50346102365760403660031901126102365761136d611900565b611375611916565b61137d6119cf565b6001600160a01b0390811691821561146757819060405192839163aa79979b60e01b8352169182600483015281602460209586937f0000000000000000000000000000000000000000000000000000000000000000165afa908115610f3b57859161144a575b50156106c0578084526008825260408420838552825260ff6040852054166114385783526008815260408320908284525260408220600160ff1982541617905560008051602061239f8339815191528280a280f35b6040516389f2a03b60e01b8152600490fd5b6114619150833d85116106f9576106eb8183611c04565b386113e3565b60405163e6c4247b60e01b8152600490fd5b50346102365760403660031901126102365760ff604060209261149a611900565b6114a2611916565b6001600160a01b039182168352600886528383209116825284522054604051911615158152f35b50346102365760403660031901126102365761032f6004356114e9611916565b90808452836020526115016001604086200154611a37565b611a5d565b5034610236576060366003190112610236576040602091611525611900565b61152d611916565b9061153661192c565b6001600160a01b0391821684526006865284842092821684529185528383209116825283522054604051908152f35b5034610236576020366003190112610236576020906040906001600160a01b0361158d611900565b168152600a83522054604051908152f35b50346102365760208060031936011261090d576115b9611900565b600254916001600160a01b03918216908490815b85811061168857506115de86611f16565b956115ec6040519788611c04565b8087526115fb601f1991611f16565b0136828801378192825b86811061161a57604051806103ba8a82611942565b8184526008835285806040862061163084611986565b929054600393841b1c168752855260ff60408720541661165b575b505061165690611e79565b611605565b9561167e91839761166e61165695611986565b9054911b1c16611052828c611f2d565b949050853861164b565b83835260088252604083208561169d83611986565b90549060031b1c168452825260ff6040842054166116c4575b6116bf90611e79565b6115cd565b956116d16116bf91611e79565b9690506116b6565b503461023657602036600319011261023657600160406020926004358152808452200154604051908152f35b50346102365760203660031901126102365761171f611900565b6117276119cf565b6001600160a01b03811690811561146757818352600760205260ff60408420541661143857818352600760205260408320805460ff19166001179055600254600160401b81101561179b5790610cb98260016117869401600255611986565b60008051602061239f8339815191528280a280f35b634e487b7160e01b84526041600452602484fd5b5034610236578060031936011261023657602060405162093a808152f35b5034610236576020366003190112610236576117f76117ea611900565b6117f26119cf565b611ee0565b80f35b5034610236576040366003190112610236576040602091611819611900565b611821611916565b6001600160a01b039182168352600985528383209116825283522054604051908152f35b5034610236576020366003190112610236576020906040906001600160a01b0361186d611900565b168152600b83522054604051908152f35b503461023657806003193601126102365760206040516000805160206123df8339815191528152f35b90503461090d57602036600319011261090d5760043563ffffffff60e01b81168091036118fc5760209250637965db0b60e01b81149081156118eb575b5015158152f35b6301ffc9a760e01b149050386118e4565b8280fd5b600435906001600160a01b038216820361097b57565b602435906001600160a01b038216820361097b57565b604435906001600160a01b038216820361097b57565b6020908160408183019282815285518094520193019160005b828110611969575050505090565b83516001600160a01b03168552938101939281019260010161195b565b6002548110156119a157600260005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80548210156119a15760005260206000200190600090565b3360009081527fcfbfd7fa01e9333d856bafe1b9e90ac37fcc5c0f421ae6be5a422dfe68ba3e8760205260409020546000805160206123df8339815191529060ff1615611a195750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615611a195750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014611ad657808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014611ad65780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6001600160a01b0381166000818152600760205260409020549092919060ff161561070b5781611baf81602093611baa7fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e299630338a611e88565b61221f565b604051908152a2565b600260015414611bc9576002600155565b604051633ee5aeb560e01b8152600490fd5b6001600160401b038111611bee57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017611bee57604052565b9081602091031261097b5751801515810361097b5790565b6001600160a01b039091168152602081019190915260400190565b611c8f611c949392611c8160405194859263a9059cbb60e01b602085015260248401611c3f565b03601f198101845283611c04565b611c96565b565b60018060a01b031690600080826020829451910182865af13d15611d4e573d6001600160401b038111611d3a57604051611cf1939291611ce0601f8201601f191660200183611c04565b8152809260203d92013e5b83611d5b565b8051908115159182611d1f575b5050611d075750565b60249060405190635274afe760e01b82526004820152fd5b611d329250602080918301019101611c27565b153880611cfe565b634e487b7160e01b83526041600452602483fd5b611cf19150606090611ceb565b90611d825750805115611d7057805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611db5575b611d93575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611d8b565b91908203918211611dcb57565b634e487b7160e01b600052601160045260246000fd5b91908201809211611dcb57565b8115611df8570490565b634e487b7160e01b600052601260045260246000fd5b600354804210611e5a57611e228142611dbe565b62093a809081810190818111611dcb5762093a7f01908111611dcb57819004818102918183041490151715611dcb57611e5a91611de1565b90565b60035480421015611e7357611e5a904290611dbe565b50600090565b6000198114611dcb5760010190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117611bee57611c9492604052611c96565b6001600160a01b03166000908152600c60209081526040808320805460ff19169055600b8252808320839055600e909152812055565b6001600160401b038111611bee5760051b60200190565b80518210156119a15760209160051b010190565b6001600160a01b039081166000818152600e602090815260408083205493959394929091851561204857600b8152828220549593611f7f8588611dee565b95839784966000198101908111998a5b6120345781891015611fec57611fe5611fdf8b8d938f89818f8f908f908f95600991611fc3918452600d88528484206119b7565b96905494835252209260031b1c168c528a52818c8c2055611de1565b99611e79565b9890611f8f565b969850919998909293949650888752600d8552878720906120345761201d91612014916119b7565b95905492611dbe565b968552600983528585209360031b1c168352522055565b634e487b7160e01b87526011600452602487fd5b50505050915050565b60018060a01b0390818116906000908282526020600f81526040938484209286881693848652835260ff86862054166121b157818552600983528585208486528352858520549788158061219e575b6120b0575b505050505050505090565b9091929394809697985097865b848852600e86528888205481101561218e57600d865286826120e1838c8c206119b7565b90549060031b1c16146120fc576120f790611e79565b6120bd565b505061211d9293949596975060015b1580612174575b612139575b50611f41565b83526009815283832091835252205438808080808080806120a5565b61215890848852600d8652610cb9898920600e88528a8a2054906119b7565b828652600e845286862061216c8154611e79565b905538612117565b50838752600e855287872054600d86528888205411612112565b505061211d92939495969761210b565b50828652600b84528686205415156120a0565b505050509250505090565b6001600160a01b031660008181526007602052604081205490919060ff161561070b578152600460205260408120600181015442101561221b5754801561221b57670de0b6b3a76400009004905080600111600014611e5a5750600190565b5090565b6001600160a01b031660009081526004602081905260408220600354919493909291421061233e575b60018301928354804210156000146122c55750670de0b6b3a7640000918281029281840414901517156122b25790600294959162093a80809204815561228c611e0e565b9586910155840180941161229f57505055565b634e487b7160e01b825260119052602490fd5b634e487b7160e01b835260118652602483fd5b6122d490969295964290611dbe565b9481549586810296818804149015171561232b57670de0b6b3a76400009081810291818304149015171561232b5761231162093a80968792611de1565b04905561231c611e0e565b93840180941161229f57505055565b634e487b7160e01b845260118352602484fd5b612346611e5d565b806123515750612248565b91670de0b6b3a76400009182810292818404149015171561238b575061237992939450611dee565b81554260028201556001600354910155565b634e487b7160e01b815260118652602490fdfef3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8265303cb8fc2ab504b092b4799d2c00f2209ee4eee6b03a168171dc140ed7403ee558b8b52c3853e363deb11e956344c7265b888f237854af58383f805fcdf4001a2646970667358221220ee7bac2096a403a0fad47803190b406421374f6303b913e48dd3d960517574c764736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -39,6 +39,26 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
39
39
  }];
40
40
  readonly name: "AccessControlUnauthorizedAccount";
41
41
  readonly type: "error";
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: "FailedInnerCall";
61
+ readonly type: "error";
42
62
  }, {
43
63
  readonly inputs: readonly [];
44
64
  readonly name: "GaugeNotFound";
@@ -295,6 +315,16 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
295
315
  }];
296
316
  readonly stateMutability: "view";
297
317
  readonly type: "function";
318
+ }, {
319
+ readonly inputs: readonly [];
320
+ readonly name: "PRECISION_MULTIPLIER";
321
+ readonly outputs: readonly [{
322
+ readonly internalType: "uint256";
323
+ readonly name: "";
324
+ readonly type: "uint256";
325
+ }];
326
+ readonly stateMutability: "view";
327
+ readonly type: "function";
298
328
  }, {
299
329
  readonly inputs: readonly [{
300
330
  readonly internalType: "address";
@@ -495,6 +525,24 @@ export declare class GaugeRewardsDistributor__factory extends ContractFactory {
495
525
  }];
496
526
  readonly stateMutability: "view";
497
527
  readonly type: "function";
528
+ }, {
529
+ readonly inputs: readonly [{
530
+ readonly internalType: "address";
531
+ readonly name: "";
532
+ readonly type: "address";
533
+ }, {
534
+ readonly internalType: "address";
535
+ readonly name: "";
536
+ readonly type: "address";
537
+ }];
538
+ readonly name: "gaugeRewardedInCycle";
539
+ readonly outputs: readonly [{
540
+ readonly internalType: "bool";
541
+ readonly name: "";
542
+ readonly type: "bool";
543
+ }];
544
+ readonly stateMutability: "view";
545
+ readonly type: "function";
498
546
  }, {
499
547
  readonly inputs: readonly [];
500
548
  readonly name: "getFirstCycleDuration";