@venusprotocol/protocol-reserve 1.3.0 → 1.4.0-dev.1

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 (311) hide show
  1. package/README.md +6 -0
  2. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
  3. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
  4. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +1 -1
  5. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  6. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  7. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +4 -0
  8. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +56 -0
  9. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
  10. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
  11. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
  12. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
  13. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
  14. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
  15. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
  16. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
  17. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
  18. package/artifacts/{contracts/Interfaces/ComptrollerInterface.sol/ComptrollerInterface.json → @openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json} +5 -5
  19. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  20. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  21. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  22. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  23. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  24. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  26. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  27. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
  28. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
  29. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  30. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  31. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  32. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  33. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  34. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  35. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
  36. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
  37. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
  38. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
  39. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +1 -1
  40. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  41. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  42. package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +4 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +63 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +1 -1
  45. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +1 -1
  46. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +1 -1
  47. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +1 -1
  48. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  49. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  50. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  51. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  52. package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.dbg.json +4 -0
  53. package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.json +649 -0
  54. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +4 -0
  55. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +40 -0
  56. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +4 -0
  57. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +30 -0
  58. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +4 -0
  59. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +75 -0
  60. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +4 -0
  61. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +49 -0
  62. package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.dbg.json +4 -0
  63. package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.json +246 -0
  64. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  65. package/artifacts/build-info/e6962244d9988e3e4bb55e591cf3b5d8.json +1 -0
  66. package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.dbg.json +4 -0
  67. package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.json +56 -0
  68. package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.dbg.json +4 -0
  69. package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.json +127 -0
  70. package/artifacts/contracts/Interfaces/IIncomeDestination.sol/IIncomeDestination.dbg.json +1 -1
  71. package/artifacts/contracts/Interfaces/IPoolRegistry.sol/IPoolRegistry.dbg.json +4 -0
  72. package/artifacts/contracts/Interfaces/IPoolRegistry.sol/IPoolRegistry.json +54 -0
  73. package/artifacts/contracts/Interfaces/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +1 -1
  74. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.dbg.json +4 -0
  75. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.json +77 -0
  76. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.dbg.json +4 -0
  77. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.json +24 -0
  78. package/artifacts/contracts/Interfaces/IRiskFundConverter.sol/IRiskFundConverter.dbg.json +4 -0
  79. package/artifacts/contracts/Interfaces/{PoolRegistryInterface.sol/PoolRegistryInterface.json → IRiskFundConverter.sol/IRiskFundConverter.json} +23 -10
  80. package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.dbg.json +4 -0
  81. package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.json +24 -0
  82. package/artifacts/contracts/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
  83. package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +4 -0
  84. package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.json +24 -0
  85. package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +1 -1
  86. package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.json +7 -2
  87. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.dbg.json +4 -0
  88. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.json +24 -0
  89. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.dbg.json +4 -0
  90. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.json +139 -0
  91. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.dbg.json +4 -0
  92. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.json +178 -0
  93. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.dbg.json +4 -0
  94. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.json +191 -0
  95. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.dbg.json +4 -0
  96. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.json +630 -0
  97. package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.dbg.json +4 -0
  98. package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.json +315 -0
  99. package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.dbg.json +4 -0
  100. package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.json +369 -0
  101. package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.dbg.json +4 -0
  102. package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.json +40 -0
  103. package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.dbg.json +4 -0
  104. package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.json +1395 -0
  105. package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +4 -0
  106. package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.json +332 -0
  107. package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.dbg.json +4 -0
  108. package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.json +1761 -0
  109. package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.dbg.json +1 -1
  110. package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.json +20 -2
  111. package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.dbg.json +4 -0
  112. package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.json +1276 -0
  113. package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.dbg.json +4 -0
  114. package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.json +457 -0
  115. package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.dbg.json +4 -0
  116. package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.json +446 -0
  117. package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.dbg.json +4 -0
  118. package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.json +1631 -0
  119. package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.dbg.json +4 -0
  120. package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.json +1390 -0
  121. package/contracts/Interfaces/IComptroller.sol +10 -0
  122. package/contracts/Interfaces/IConverterNetwork.sol +46 -0
  123. package/contracts/Interfaces/IPoolRegistry.sol +10 -0
  124. package/contracts/Interfaces/IRiskFund.sol +28 -0
  125. package/contracts/Interfaces/IRiskFundConverter.sol +8 -0
  126. package/contracts/Interfaces/IShortfall.sol +11 -0
  127. package/contracts/Interfaces/IXVSVault.sol +9 -0
  128. package/contracts/ProtocolReserve/ProtocolShareReserve.sol +15 -12
  129. package/contracts/ProtocolReserve/RiskFundStorage.sol +67 -0
  130. package/contracts/ProtocolReserve/RiskFundV2.sol +253 -0
  131. package/contracts/ProtocolReserve/XVSVaultTreasury.sol +95 -0
  132. package/contracts/Test/Mocks/MockACM.sol +94 -0
  133. package/contracts/Test/Mocks/MockArraySorter.sol +14 -0
  134. package/contracts/Test/Mocks/MockConverter.sol +70 -0
  135. package/contracts/Test/Mocks/MockDeflationaryToken.sol +113 -0
  136. package/contracts/Test/Mocks/MockRiskFundConverter.sol +45 -0
  137. package/contracts/Test/Mocks/MockToken.sol +4 -0
  138. package/contracts/Test/imports.sol +11 -0
  139. package/contracts/TokenConverter/AbstractTokenConverter.sol +1167 -0
  140. package/contracts/TokenConverter/ConverterNetwork.sol +243 -0
  141. package/contracts/TokenConverter/IAbstractTokenConverter.sol +178 -0
  142. package/contracts/TokenConverter/RiskFundConverter.sol +449 -0
  143. package/contracts/TokenConverter/SingleTokenConverter.sol +103 -0
  144. package/contracts/Utils/ArrayHelpers.sol +41 -0
  145. package/deployments/bscmainnet/BTCBPrimeConverter.json +218 -0
  146. package/deployments/bscmainnet/ConverterNetwork.json +723 -0
  147. package/deployments/bscmainnet/ConverterNetwork_Implementation.json +823 -0
  148. package/deployments/bscmainnet/ConverterNetwork_Proxy.json +277 -0
  149. package/deployments/bscmainnet/ETHPrimeConverter.json +218 -0
  150. package/deployments/bscmainnet/ProtocolShareReserve_Implementation.json +89 -73
  151. package/deployments/bscmainnet/RiskFundConverter.json +2035 -0
  152. package/deployments/bscmainnet/RiskFundConverter_Implementation.json +2563 -0
  153. package/deployments/bscmainnet/RiskFundConverter_Proxy.json +403 -0
  154. package/deployments/bscmainnet/RiskFundV2.json +1049 -0
  155. package/deployments/bscmainnet/SingleTokenConverterBeacon.json +206 -0
  156. package/deployments/bscmainnet/SingleTokenConverterImp.json +2164 -0
  157. package/deployments/bscmainnet/USDCPrimeConverter.json +218 -0
  158. package/deployments/bscmainnet/USDTPrimeConverter.json +218 -0
  159. package/deployments/bscmainnet/XVSVaultConverter.json +218 -0
  160. package/deployments/bscmainnet/XVSVaultTreasury.json +579 -0
  161. package/deployments/bscmainnet/XVSVaultTreasury_Implementation.json +603 -0
  162. package/deployments/bscmainnet/XVSVaultTreasury_Proxy.json +281 -0
  163. package/deployments/bscmainnet/solcInputs/d02e743d886d63634298edb2c3d7a019.json +123 -0
  164. package/deployments/bscmainnet/solcInputs/ee8827a99e03cdf6f6a94fb8782ddf44.json +228 -0
  165. package/deployments/bscmainnet.json +8927 -873
  166. package/deployments/bscmainnet_addresses.json +19 -2
  167. package/deployments/bsctestnet/BTCBPrimeConverter.json +218 -0
  168. package/deployments/bsctestnet/ConverterNetwork.json +723 -0
  169. package/deployments/bsctestnet/ConverterNetwork_Implementation.json +823 -0
  170. package/deployments/bsctestnet/ConverterNetwork_Proxy.json +277 -0
  171. package/deployments/bsctestnet/ETHPrimeConverter.json +218 -0
  172. package/deployments/bsctestnet/ProtocolShareReserve_Implementation.json +89 -73
  173. package/deployments/bsctestnet/RiskFundConverter.json +2035 -0
  174. package/deployments/bsctestnet/RiskFundConverter_Implementation.json +2563 -0
  175. package/deployments/bsctestnet/RiskFundConverter_Proxy.json +403 -0
  176. package/deployments/bsctestnet/RiskFundV2.json +1049 -0
  177. package/deployments/bsctestnet/SingleTokenConverterBeacon.json +206 -0
  178. package/deployments/bsctestnet/SingleTokenConverterImp.json +2164 -0
  179. package/deployments/bsctestnet/USDCPrimeConverter.json +218 -0
  180. package/deployments/bsctestnet/USDTPrimeConverter.json +218 -0
  181. package/deployments/bsctestnet/XVSVaultConverter.json +218 -0
  182. package/deployments/bsctestnet/XVSVaultTreasury.json +579 -0
  183. package/deployments/bsctestnet/XVSVaultTreasury_Implementation.json +603 -0
  184. package/deployments/bsctestnet/XVSVaultTreasury_Proxy.json +281 -0
  185. package/deployments/bsctestnet/solcInputs/d02e743d886d63634298edb2c3d7a019.json +123 -0
  186. package/deployments/bsctestnet/solcInputs/ee8827a99e03cdf6f6a94fb8782ddf44.json +228 -0
  187. package/deployments/bsctestnet.json +8927 -873
  188. package/deployments/bsctestnet_addresses.json +19 -2
  189. package/dist/deploy/{1-deploy.d.ts → 001-psr.d.ts} +1 -1
  190. package/dist/deploy/001-psr.d.ts.map +1 -0
  191. package/dist/deploy/{1-deploy.js → 001-psr.js} +2 -2
  192. package/dist/deploy/001-psr.js.map +1 -0
  193. package/dist/deploy/002-risk-fund-converter.d.ts +4 -0
  194. package/dist/deploy/002-risk-fund-converter.d.ts.map +1 -0
  195. package/dist/deploy/002-risk-fund-converter.js +78 -0
  196. package/dist/deploy/002-risk-fund-converter.js.map +1 -0
  197. package/dist/deploy/003-xvs-vault-teasury.d.ts +2 -0
  198. package/dist/deploy/003-xvs-vault-teasury.d.ts.map +1 -0
  199. package/dist/deploy/003-xvs-vault-teasury.js +44 -0
  200. package/dist/deploy/003-xvs-vault-teasury.js.map +1 -0
  201. package/dist/deploy/004-single-token-converter.d.ts +4 -0
  202. package/dist/deploy/004-single-token-converter.d.ts.map +1 -0
  203. package/dist/deploy/004-single-token-converter.js +65 -0
  204. package/dist/deploy/004-single-token-converter.js.map +1 -0
  205. package/dist/deploy/005-converter-network.d.ts +2 -0
  206. package/dist/deploy/005-converter-network.d.ts.map +1 -0
  207. package/dist/deploy/005-converter-network.js +42 -0
  208. package/dist/deploy/005-converter-network.js.map +1 -0
  209. package/dist/hardhat.config.d.ts.map +1 -1
  210. package/dist/hardhat.config.js +6 -0
  211. package/dist/hardhat.config.js.map +1 -1
  212. package/dist/helpers/utils.d.ts +1 -0
  213. package/dist/helpers/utils.d.ts.map +1 -1
  214. package/dist/helpers/utils.js +2 -1
  215. package/dist/helpers/utils.js.map +1 -1
  216. package/package.json +19 -16
  217. package/typechain/AbstractTokenConverter.d.ts +1775 -0
  218. package/typechain/AccessControl.d.ts +388 -0
  219. package/typechain/BeaconProxy.d.ts +126 -0
  220. package/typechain/BoundValidatorInterface.d.ts +126 -0
  221. package/typechain/ConverterNetwork.d.ts +723 -0
  222. package/typechain/{PoolRegistryInterface.d.ts → ERC165.d.ts} +20 -25
  223. package/typechain/ERC1967Upgrade.d.ts +126 -0
  224. package/typechain/IAbstractTokenConverter.d.ts +773 -0
  225. package/typechain/IBeacon.d.ts +101 -0
  226. package/typechain/IComptroller.d.ts +136 -0
  227. package/typechain/IConverterNetwork.d.ts +292 -0
  228. package/typechain/IERC165.d.ts +116 -0
  229. package/typechain/{ComptrollerInterface.d.ts → IERC1822Proxiable.d.ts} +11 -11
  230. package/typechain/IERC1967.d.ts +126 -0
  231. package/typechain/IPoolRegistry.d.ts +155 -0
  232. package/typechain/IRiskFund.d.ts +200 -0
  233. package/typechain/IRiskFundConverter.d.ts +138 -0
  234. package/typechain/IRiskFundGetters.d.ts +103 -0
  235. package/typechain/IShortfall.d.ts +110 -0
  236. package/typechain/IXVSVault.d.ts +95 -0
  237. package/typechain/MaxLoopsLimitHelpersStorage.d.ts +101 -0
  238. package/typechain/MockACM.d.ts +615 -0
  239. package/typechain/MockArraySorter.d.ts +118 -0
  240. package/typechain/MockConverter.d.ts +1969 -0
  241. package/typechain/MockDeflatingToken.d.ts +486 -0
  242. package/typechain/MockRiskFundConverter.d.ts +2479 -0
  243. package/typechain/MockToken.d.ts +36 -0
  244. package/typechain/OracleInterface.d.ts +98 -0
  245. package/typechain/Ownable.d.ts +181 -0
  246. package/typechain/PausableUpgradeable.d.ts +129 -0
  247. package/typechain/Proxy.d.ts +78 -0
  248. package/typechain/ReserveHelpersStorage.d.ts +300 -0
  249. package/typechain/ResilientOracle.d.ts +1034 -0
  250. package/typechain/ResilientOracleInterface.d.ts +192 -0
  251. package/typechain/RiskFundConverter.d.ts +2235 -0
  252. package/typechain/RiskFundV1Storage.d.ts +353 -0
  253. package/typechain/RiskFundV2.d.ts +965 -0
  254. package/typechain/RiskFundV2Storage.d.ts +372 -0
  255. package/typechain/SingleTokenConverter.d.ts +1944 -0
  256. package/typechain/TwapInterface.d.ts +124 -0
  257. package/typechain/UpgradeableBeacon.d.ts +240 -0
  258. package/typechain/VBep20Interface.d.ts +379 -0
  259. package/typechain/XVSVaultTreasury.d.ts +515 -0
  260. package/typechain/factories/AbstractTokenConverter__factory.ts +1297 -0
  261. package/typechain/factories/AccessControl__factory.ts +227 -0
  262. package/typechain/factories/BeaconProxy__factory.ts +133 -0
  263. package/typechain/factories/BoundValidatorInterface__factory.ts +59 -0
  264. package/typechain/factories/ConverterNetwork__factory.ts +502 -0
  265. package/typechain/factories/ERC165__factory.ts +39 -0
  266. package/typechain/factories/ERC1967Upgrade__factory.ts +71 -0
  267. package/typechain/factories/IAbstractTokenConverter__factory.ts +466 -0
  268. package/typechain/factories/IBeacon__factory.ts +36 -0
  269. package/typechain/factories/IComptroller__factory.ts +68 -0
  270. package/typechain/factories/IConverterNetwork__factory.ts +142 -0
  271. package/typechain/factories/{ComptrollerInterface__factory.ts → IERC165__factory.ts} +14 -15
  272. package/typechain/factories/IERC1822Proxiable__factory.ts +39 -0
  273. package/typechain/factories/IERC1967__factory.ts +68 -0
  274. package/typechain/factories/IPoolRegistry__factory.ts +66 -0
  275. package/typechain/factories/{PoolRegistryInterface__factory.ts → IRiskFundConverter__factory.ts} +28 -19
  276. package/typechain/factories/IRiskFundGetters__factory.ts +39 -0
  277. package/typechain/factories/IRiskFund__factory.ts +89 -0
  278. package/typechain/factories/IShortfall__factory.ts +36 -0
  279. package/typechain/factories/IXVSVault__factory.ts +36 -0
  280. package/typechain/factories/MaxLoopsLimitHelpersStorage__factory.ts +75 -0
  281. package/typechain/factories/MockACM__factory.ts +411 -0
  282. package/typechain/factories/MockArraySorter__factory.ts +85 -0
  283. package/typechain/factories/MockConverter__factory.ts +1439 -0
  284. package/typechain/factories/MockDeflatingToken__factory.ts +389 -0
  285. package/typechain/factories/MockRiskFundConverter__factory.ts +1828 -0
  286. package/typechain/factories/MockToken__factory.ts +19 -1
  287. package/typechain/factories/OracleInterface__factory.ts +45 -0
  288. package/typechain/factories/Ownable__factory.ts +75 -0
  289. package/typechain/factories/PausableUpgradeable__factory.ts +78 -0
  290. package/typechain/factories/ProtocolShareReserve__factory.ts +6 -1
  291. package/typechain/factories/Proxy__factory.ts +28 -0
  292. package/typechain/factories/ReserveHelpersStorage__factory.ts +188 -0
  293. package/typechain/factories/ResilientOracleInterface__factory.ts +94 -0
  294. package/typechain/factories/ResilientOracle__factory.ts +710 -0
  295. package/typechain/factories/RiskFundConverter__factory.ts +1694 -0
  296. package/typechain/factories/RiskFundV1Storage__factory.ts +223 -0
  297. package/typechain/factories/RiskFundV2Storage__factory.ts +236 -0
  298. package/typechain/factories/RiskFundV2__factory.ts +672 -0
  299. package/typechain/factories/SingleTokenConverter__factory.ts +1441 -0
  300. package/typechain/factories/TwapInterface__factory.ts +61 -0
  301. package/typechain/factories/UpgradeableBeacon__factory.ts +163 -0
  302. package/typechain/factories/VBep20Interface__factory.ts +261 -0
  303. package/typechain/factories/XVSVaultTreasury__factory.ts +365 -0
  304. package/typechain/index.ts +84 -4
  305. package/artifacts/build-info/ac790619cb42a0f08af77d9ea733874e.json +0 -1
  306. package/artifacts/contracts/Interfaces/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +0 -4
  307. package/artifacts/contracts/Interfaces/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +0 -4
  308. package/contracts/Interfaces/ComptrollerInterface.sol +0 -6
  309. package/contracts/Interfaces/PoolRegistryInterface.sol +0 -7
  310. package/dist/deploy/1-deploy.d.ts.map +0 -1
  311. package/dist/deploy/1-deploy.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/e6962244d9988e3e4bb55e591cf3b5d8.json"
4
+ }
@@ -0,0 +1,457 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ConverterNetwork",
4
+ "sourceName": "contracts/TokenConverter/ConverterNetwork.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "ConverterAlreadyExists",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "ConverterDoesNotExist",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "loopsLimit",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "InvalidMaxLoopsLimit",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidTokenConverterAddress",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "loopsLimit",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "requiredLoops",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "name": "MaxLoopsLimitExceeded",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "sender",
58
+ "type": "address"
59
+ },
60
+ {
61
+ "internalType": "address",
62
+ "name": "calledContract",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "internalType": "string",
67
+ "name": "methodSignature",
68
+ "type": "string"
69
+ }
70
+ ],
71
+ "name": "Unauthorized",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "ZeroAddressNotAllowed",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "anonymous": false,
81
+ "inputs": [
82
+ {
83
+ "indexed": true,
84
+ "internalType": "address",
85
+ "name": "converter",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "name": "ConverterAdded",
90
+ "type": "event"
91
+ },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": true,
97
+ "internalType": "address",
98
+ "name": "converter",
99
+ "type": "address"
100
+ }
101
+ ],
102
+ "name": "ConverterRemoved",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "anonymous": false,
107
+ "inputs": [
108
+ {
109
+ "indexed": false,
110
+ "internalType": "uint8",
111
+ "name": "version",
112
+ "type": "uint8"
113
+ }
114
+ ],
115
+ "name": "Initialized",
116
+ "type": "event"
117
+ },
118
+ {
119
+ "anonymous": false,
120
+ "inputs": [
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint256",
124
+ "name": "oldMaxLoopsLimit",
125
+ "type": "uint256"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256",
130
+ "name": "newmaxLoopsLimit",
131
+ "type": "uint256"
132
+ }
133
+ ],
134
+ "name": "MaxLoopsLimitUpdated",
135
+ "type": "event"
136
+ },
137
+ {
138
+ "anonymous": false,
139
+ "inputs": [
140
+ {
141
+ "indexed": false,
142
+ "internalType": "address",
143
+ "name": "oldAccessControlManager",
144
+ "type": "address"
145
+ },
146
+ {
147
+ "indexed": false,
148
+ "internalType": "address",
149
+ "name": "newAccessControlManager",
150
+ "type": "address"
151
+ }
152
+ ],
153
+ "name": "NewAccessControlManager",
154
+ "type": "event"
155
+ },
156
+ {
157
+ "anonymous": false,
158
+ "inputs": [
159
+ {
160
+ "indexed": true,
161
+ "internalType": "address",
162
+ "name": "previousOwner",
163
+ "type": "address"
164
+ },
165
+ {
166
+ "indexed": true,
167
+ "internalType": "address",
168
+ "name": "newOwner",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "OwnershipTransferStarted",
173
+ "type": "event"
174
+ },
175
+ {
176
+ "anonymous": false,
177
+ "inputs": [
178
+ {
179
+ "indexed": true,
180
+ "internalType": "address",
181
+ "name": "previousOwner",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "indexed": true,
186
+ "internalType": "address",
187
+ "name": "newOwner",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "name": "OwnershipTransferred",
192
+ "type": "event"
193
+ },
194
+ {
195
+ "inputs": [],
196
+ "name": "acceptOwnership",
197
+ "outputs": [],
198
+ "stateMutability": "nonpayable",
199
+ "type": "function"
200
+ },
201
+ {
202
+ "inputs": [],
203
+ "name": "accessControlManager",
204
+ "outputs": [
205
+ {
206
+ "internalType": "contract IAccessControlManagerV8",
207
+ "name": "",
208
+ "type": "address"
209
+ }
210
+ ],
211
+ "stateMutability": "view",
212
+ "type": "function"
213
+ },
214
+ {
215
+ "inputs": [
216
+ {
217
+ "internalType": "contract IAbstractTokenConverter",
218
+ "name": "_tokenConverter",
219
+ "type": "address"
220
+ }
221
+ ],
222
+ "name": "addTokenConverter",
223
+ "outputs": [],
224
+ "stateMutability": "nonpayable",
225
+ "type": "function"
226
+ },
227
+ {
228
+ "inputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "allConverters",
236
+ "outputs": [
237
+ {
238
+ "internalType": "contract IAbstractTokenConverter",
239
+ "name": "",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "stateMutability": "view",
244
+ "type": "function"
245
+ },
246
+ {
247
+ "inputs": [
248
+ {
249
+ "internalType": "address",
250
+ "name": "_tokenAddressIn",
251
+ "type": "address"
252
+ },
253
+ {
254
+ "internalType": "address",
255
+ "name": "_tokenAddressOut",
256
+ "type": "address"
257
+ }
258
+ ],
259
+ "name": "findTokenConverters",
260
+ "outputs": [
261
+ {
262
+ "internalType": "address[]",
263
+ "name": "converters",
264
+ "type": "address[]"
265
+ },
266
+ {
267
+ "internalType": "uint256[]",
268
+ "name": "convertersBalance",
269
+ "type": "uint256[]"
270
+ }
271
+ ],
272
+ "stateMutability": "nonpayable",
273
+ "type": "function"
274
+ },
275
+ {
276
+ "inputs": [
277
+ {
278
+ "internalType": "address",
279
+ "name": "_tokenAddressIn",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "internalType": "address",
284
+ "name": "_tokenAddressOut",
285
+ "type": "address"
286
+ }
287
+ ],
288
+ "name": "findTokenConvertersForConverters",
289
+ "outputs": [
290
+ {
291
+ "internalType": "address[]",
292
+ "name": "converters",
293
+ "type": "address[]"
294
+ },
295
+ {
296
+ "internalType": "uint256[]",
297
+ "name": "convertersBalance",
298
+ "type": "uint256[]"
299
+ }
300
+ ],
301
+ "stateMutability": "nonpayable",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [],
306
+ "name": "getAllConverters",
307
+ "outputs": [
308
+ {
309
+ "internalType": "contract IAbstractTokenConverter[]",
310
+ "name": "converters",
311
+ "type": "address[]"
312
+ }
313
+ ],
314
+ "stateMutability": "view",
315
+ "type": "function"
316
+ },
317
+ {
318
+ "inputs": [
319
+ {
320
+ "internalType": "address",
321
+ "name": "_accessControlManager",
322
+ "type": "address"
323
+ },
324
+ {
325
+ "internalType": "uint256",
326
+ "name": "_loopsLimit",
327
+ "type": "uint256"
328
+ }
329
+ ],
330
+ "name": "initialize",
331
+ "outputs": [],
332
+ "stateMutability": "nonpayable",
333
+ "type": "function"
334
+ },
335
+ {
336
+ "inputs": [
337
+ {
338
+ "internalType": "address",
339
+ "name": "_tokenConverter",
340
+ "type": "address"
341
+ }
342
+ ],
343
+ "name": "isTokenConverter",
344
+ "outputs": [
345
+ {
346
+ "internalType": "bool",
347
+ "name": "isConverter",
348
+ "type": "bool"
349
+ }
350
+ ],
351
+ "stateMutability": "view",
352
+ "type": "function"
353
+ },
354
+ {
355
+ "inputs": [],
356
+ "name": "maxLoopsLimit",
357
+ "outputs": [
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "",
361
+ "type": "uint256"
362
+ }
363
+ ],
364
+ "stateMutability": "view",
365
+ "type": "function"
366
+ },
367
+ {
368
+ "inputs": [],
369
+ "name": "owner",
370
+ "outputs": [
371
+ {
372
+ "internalType": "address",
373
+ "name": "",
374
+ "type": "address"
375
+ }
376
+ ],
377
+ "stateMutability": "view",
378
+ "type": "function"
379
+ },
380
+ {
381
+ "inputs": [],
382
+ "name": "pendingOwner",
383
+ "outputs": [
384
+ {
385
+ "internalType": "address",
386
+ "name": "",
387
+ "type": "address"
388
+ }
389
+ ],
390
+ "stateMutability": "view",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [
395
+ {
396
+ "internalType": "contract IAbstractTokenConverter",
397
+ "name": "_tokenConverter",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "name": "removeTokenConverter",
402
+ "outputs": [],
403
+ "stateMutability": "nonpayable",
404
+ "type": "function"
405
+ },
406
+ {
407
+ "inputs": [],
408
+ "name": "renounceOwnership",
409
+ "outputs": [],
410
+ "stateMutability": "nonpayable",
411
+ "type": "function"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "address",
417
+ "name": "accessControlManager_",
418
+ "type": "address"
419
+ }
420
+ ],
421
+ "name": "setAccessControlManager",
422
+ "outputs": [],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [
428
+ {
429
+ "internalType": "uint256",
430
+ "name": "limit",
431
+ "type": "uint256"
432
+ }
433
+ ],
434
+ "name": "setMaxLoopsLimit",
435
+ "outputs": [],
436
+ "stateMutability": "nonpayable",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "internalType": "address",
443
+ "name": "newOwner",
444
+ "type": "address"
445
+ }
446
+ ],
447
+ "name": "transferOwnership",
448
+ "outputs": [],
449
+ "stateMutability": "nonpayable",
450
+ "type": "function"
451
+ }
452
+ ],
453
+ "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6120b880620000ed6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806380d45a2d116100b2578063be26317e11610081578063e30c397811610066578063e30c39781461027e578063f2fde38b1461029c578063f49e746f146102af57600080fd5b8063be26317e14610254578063cd6dc6871461026b57600080fd5b806380d45a2d146101f25780638da5cb5b14610205578063932fd98514610223578063b4a0bdf31461023657600080fd5b80634e9f8f39116100ee5780634e9f8f39146101ac5780636c059fb1146101bf578063715018a6146101e257806379ba5097146101ea57600080fd5b80630e32cb861461012057806325a31b6b14610135578063285510e9146101535780633119e7c71461018b575b600080fd5b61013361012e366004611b9f565b6102c2565b005b61013d6102d6565b60405161014a9190611bc3565b60405180910390f35b610166610161366004611c1d565b610345565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b61019e610199366004611c36565b61037c565b60405161014a929190611c6f565b61019e6101ba366004611c36565b610396565b6101d26101cd366004611b9f565b6103a5565b604051901515815260200161014a565b6101336103d7565b6101336103eb565b610133610200366004611c1d565b6104a2565b60335473ffffffffffffffffffffffffffffffffffffffff16610166565b610133610231366004611b9f565b6104ff565b60975473ffffffffffffffffffffffffffffffffffffffff16610166565b61025d60c95481565b60405190815260200161014a565b610133610279366004611d00565b610546565b60655473ffffffffffffffffffffffffffffffffffffffff16610166565b6101336102aa366004611b9f565b610739565b6101336102bd366004611b9f565b6107e9565b6102ca610a00565b6102d381610a81565b50565b606060fb80548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610310575b5050505050905090565b60fb818154811061035557600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60608061038b84846000610bab565b909590945092505050565b60608061038b84846001610bab565b6000806103b183611100565b90506fffffffffffffffffffffffffffffffff808216146103d157600191505b50919050565b6103df610a00565b6103e960006111ba565b565b606554339073ffffffffffffffffffffffffffffffffffffffff168114610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d3816111ba565b6104aa610a00565b6fffffffffffffffffffffffffffffffff81106104f6576040517f132515e000000000000000000000000000000000000000000000000000000000815260048101829052602401610490565b6102d3816111eb565b61053d6040518060400160405280601a81526020017f616464546f6b656e436f6e7665727465722861646472657373290000000000008152506112ba565b6102d381611397565b600054610100900460ff16158080156105665750600054600160ff909116105b806105805750303b158015610580575060005460ff166001145b61060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610490565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610673836115a3565b61067c836115f0565b6fffffffffffffffffffffffffffffffff82106106c8576040517f132515e000000000000000000000000000000000000000000000000000000000815260048101839052602401610490565b6106d1826111eb565b801561073457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610741610a00565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556107a460335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6108276040518060400160405280601d81526020017f72656d6f7665546f6b656e436f6e7665727465722861646472657373290000008152506112ba565b600061083282611100565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff82160161089f576040517f2516fa2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb80546108af90600190611d5b565b815481106108bf576108bf611d72565b60009182526020909120015460fb805473ffffffffffffffffffffffffffffffffffffffff909216916fffffffffffffffffffffffffffffffff841690811061090a5761090a611d72565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060fb80548061096357610963611da1565b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560405173ffffffffffffffffffffffffffffffffffffffff8416917febba5edf297d79cea0ec18d97adacf578cc3152240bd112e8d7da26ba65700d191a25050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610490565b73ffffffffffffffffffffffffffffffffffffffff8116610b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610490565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091015b60405180910390a15050565b60fb5460609081906fffffffffffffffffffffffffffffffff811667ffffffffffffffff811115610bde57610bde611dd0565b604051908082528060200260200182016040528015610c07578160200160208202803683370190505b509250806fffffffffffffffffffffffffffffffff1667ffffffffffffffff811115610c3557610c35611dd0565b604051908082528060200260200182016040528015610c5e578160200160208202803683370190505b5091506000805b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610156110e557600060fb826fffffffffffffffffffffffffffffffff1681548110610cb857610cb8611d72565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160010191503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d739190611dff565b73ffffffffffffffffffffffffffffffffffffffff16141580610dab57503373ffffffffffffffffffffffffffffffffffffffff8216145b15610db65750610c65565b6040517fb491ddf700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015289811660248301526000919083169063b491ddf79060440160408051808303816000875af1158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190611e1c565b915060019050816003811115610e6b57610e6b611e45565b03610f73578187856fffffffffffffffffffffffffffffffff1681518110610e9557610e95611d72565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528a82166004820152908316906370a0823190602401602060405180830381865afa158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190611e74565b86856fffffffffffffffffffffffffffffffff1681518110610f5857610f58611d72565b6020908102919091010152610f6c84611e8d565b93506110de565b878015610f9157506002816003811115610f8f57610f8f611e45565b145b15610fbb578187856fffffffffffffffffffffffffffffffff1681518110610e9557610e95611d72565b87158015610fda57506003816003811115610fd857610fd8611e45565b145b156110de578187856fffffffffffffffffffffffffffffffff168151811061100457611004611d72565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528a82166004820152908316906370a0823190602401602060405180830381865afa15801561107f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a39190611e74565b86856fffffffffffffffffffffffffffffffff16815181106110c7576110c7611d72565b60209081029190910101526110db84611e8d565b93505b5050610c65565b508084528083526110f68385611698565b5050935093915050565b60fb546fffffffffffffffffffffffffffffffff9060005b816fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610156111b3578373ffffffffffffffffffffffffffffffffffffffff1660fb826fffffffffffffffffffffffffffffffff168154811061118057611180611d72565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036111ab578092505b600101611118565b5050919050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556102d3816116bc565b60c954811161127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d60448201527f69740000000000000000000000000000000000000000000000000000000000006064820152608401610490565b60c980549082905560408051828152602081018490527fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa9101610b9f565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab906113139033908690600401611f27565b602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190611f5e565b905080611393573330836040517f4a3fa29300000000000000000000000000000000000000000000000000000000815260040161049093929190611f80565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116158061145657503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d9190611dff565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148d576040517f36e7473200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061149882611100565b90506fffffffffffffffffffffffffffffffff808216146114e5576040517f0aef5e8600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb805460018101825560008290527f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555461155e90611733565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fa0a158044a2552256f6415ce60c2ef0d6983a67f58e491cd7af6e48ae2abe25f90600090a25050565b73ffffffffffffffffffffffffffffffffffffffff81166102d3576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b61168f61177d565b6102d38161181c565b6001825111156113935761139382826000600186516116b79190611d5b565b6118b3565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60c9548111156102d35760c9546040517ff257f636000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610490565b600054610100900460ff16611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b6103e9611add565b600054610100900460ff166102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b80821015611ad75760008460026118ca8486611fc2565b6118d49190611fda565b815181106118e4576118e4611d72565b6020908102919091010151905082825b80821015611aa4575b8287838151811061191057611910611d72565b6020026020010151111561192e5761192782612015565b91506118fd565b8287828151811061194157611941611d72565b6020026020010151101561195f576119588161204d565b905061192e565b86818151811061197157611971611d72565b602002602001015187838151811061198b5761198b611d72565b60200260200101511015611a94578681815181106119ab576119ab611d72565b60200260200101518783815181106119c5576119c5611d72565b60200260200101518884815181106119df576119df611d72565b602002602001018984815181106119f8576119f8611d72565b6020026020010182815250828152505050858181518110611a1b57611a1b611d72565b6020026020010151868381518110611a3557611a35611d72565b6020026020010151878481518110611a4f57611a4f611d72565b60200260200101888481518110611a6857611a68611d72565b73ffffffffffffffffffffffffffffffffffffffff9384166020918202929092010152911690526118f4565b611a9d82612015565b91506118f4565b84811115611abd57611abd8787876116b7600186611d5b565b611ad38787611acd846001611fc2565b876118b3565b5050505b50505050565b600054610100900460ff16611b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b6103e9336111ba565b73ffffffffffffffffffffffffffffffffffffffff811681146102d357600080fd5b600060208284031215611bb157600080fd5b8135611bbc81611b7d565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611c1157835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611bdf565b50909695505050505050565b600060208284031215611c2f57600080fd5b5035919050565b60008060408385031215611c4957600080fd5b8235611c5481611b7d565b91506020830135611c6481611b7d565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015611cbe57815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101611c8c565b5050508381038285015284518082528583019183019060005b81811015611cf357835183529284019291840191600101611cd7565b5090979650505050505050565b60008060408385031215611d1357600080fd5b8235611d1e81611b7d565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611d6d57611d6d611d2c565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611e1157600080fd5b8151611bbc81611b7d565b60008060408385031215611e2f57600080fd5b82519150602083015160048110611c6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611e8657600080fd5b5051919050565b60006fffffffffffffffffffffffffffffffff808316818103611eb257611eb2611d2c565b6001019392505050565b6000815180845260005b81811015611ee257602081850181015186830182015201611ec6565b81811115611ef4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611f566040830184611ebc565b949350505050565b600060208284031215611f7057600080fd5b81518015158114611bbc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611fb96060830184611ebc565b95945050505050565b60008219821115611fd557611fd5611d2c565b500190565b600082612010577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361204657612046611d2c565b5060010190565b60008161205c5761205c611d2c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202738b19603d6dcbc4b0fae78d3390d46eb3896405ef8b09805eb5a08ea1fdeaf64736f6c634300080d0033",
454
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806380d45a2d116100b2578063be26317e11610081578063e30c397811610066578063e30c39781461027e578063f2fde38b1461029c578063f49e746f146102af57600080fd5b8063be26317e14610254578063cd6dc6871461026b57600080fd5b806380d45a2d146101f25780638da5cb5b14610205578063932fd98514610223578063b4a0bdf31461023657600080fd5b80634e9f8f39116100ee5780634e9f8f39146101ac5780636c059fb1146101bf578063715018a6146101e257806379ba5097146101ea57600080fd5b80630e32cb861461012057806325a31b6b14610135578063285510e9146101535780633119e7c71461018b575b600080fd5b61013361012e366004611b9f565b6102c2565b005b61013d6102d6565b60405161014a9190611bc3565b60405180910390f35b610166610161366004611c1d565b610345565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b61019e610199366004611c36565b61037c565b60405161014a929190611c6f565b61019e6101ba366004611c36565b610396565b6101d26101cd366004611b9f565b6103a5565b604051901515815260200161014a565b6101336103d7565b6101336103eb565b610133610200366004611c1d565b6104a2565b60335473ffffffffffffffffffffffffffffffffffffffff16610166565b610133610231366004611b9f565b6104ff565b60975473ffffffffffffffffffffffffffffffffffffffff16610166565b61025d60c95481565b60405190815260200161014a565b610133610279366004611d00565b610546565b60655473ffffffffffffffffffffffffffffffffffffffff16610166565b6101336102aa366004611b9f565b610739565b6101336102bd366004611b9f565b6107e9565b6102ca610a00565b6102d381610a81565b50565b606060fb80548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610310575b5050505050905090565b60fb818154811061035557600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60608061038b84846000610bab565b909590945092505050565b60608061038b84846001610bab565b6000806103b183611100565b90506fffffffffffffffffffffffffffffffff808216146103d157600191505b50919050565b6103df610a00565b6103e960006111ba565b565b606554339073ffffffffffffffffffffffffffffffffffffffff168114610499576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d3816111ba565b6104aa610a00565b6fffffffffffffffffffffffffffffffff81106104f6576040517f132515e000000000000000000000000000000000000000000000000000000000815260048101829052602401610490565b6102d3816111eb565b61053d6040518060400160405280601a81526020017f616464546f6b656e436f6e7665727465722861646472657373290000000000008152506112ba565b6102d381611397565b600054610100900460ff16158080156105665750600054600160ff909116105b806105805750303b158015610580575060005460ff166001145b61060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610490565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561066a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610673836115a3565b61067c836115f0565b6fffffffffffffffffffffffffffffffff82106106c8576040517f132515e000000000000000000000000000000000000000000000000000000000815260048101839052602401610490565b6106d1826111eb565b801561073457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610741610a00565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556107a460335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6108276040518060400160405280601d81526020017f72656d6f7665546f6b656e436f6e7665727465722861646472657373290000008152506112ba565b600061083282611100565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff82160161089f576040517f2516fa2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb80546108af90600190611d5b565b815481106108bf576108bf611d72565b60009182526020909120015460fb805473ffffffffffffffffffffffffffffffffffffffff909216916fffffffffffffffffffffffffffffffff841690811061090a5761090a611d72565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060fb80548061096357610963611da1565b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560405173ffffffffffffffffffffffffffffffffffffffff8416917febba5edf297d79cea0ec18d97adacf578cc3152240bd112e8d7da26ba65700d191a25050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146103e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610490565b73ffffffffffffffffffffffffffffffffffffffff8116610b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610490565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091015b60405180910390a15050565b60fb5460609081906fffffffffffffffffffffffffffffffff811667ffffffffffffffff811115610bde57610bde611dd0565b604051908082528060200260200182016040528015610c07578160200160208202803683370190505b509250806fffffffffffffffffffffffffffffffff1667ffffffffffffffff811115610c3557610c35611dd0565b604051908082528060200260200182016040528015610c5e578160200160208202803683370190505b5091506000805b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610156110e557600060fb826fffffffffffffffffffffffffffffffff1681548110610cb857610cb8611d72565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160010191503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d739190611dff565b73ffffffffffffffffffffffffffffffffffffffff16141580610dab57503373ffffffffffffffffffffffffffffffffffffffff8216145b15610db65750610c65565b6040517fb491ddf700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015289811660248301526000919083169063b491ddf79060440160408051808303816000875af1158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190611e1c565b915060019050816003811115610e6b57610e6b611e45565b03610f73578187856fffffffffffffffffffffffffffffffff1681518110610e9557610e95611d72565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528a82166004820152908316906370a0823190602401602060405180830381865afa158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190611e74565b86856fffffffffffffffffffffffffffffffff1681518110610f5857610f58611d72565b6020908102919091010152610f6c84611e8d565b93506110de565b878015610f9157506002816003811115610f8f57610f8f611e45565b145b15610fbb578187856fffffffffffffffffffffffffffffffff1681518110610e9557610e95611d72565b87158015610fda57506003816003811115610fd857610fd8611e45565b145b156110de578187856fffffffffffffffffffffffffffffffff168151811061100457611004611d72565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528a82166004820152908316906370a0823190602401602060405180830381865afa15801561107f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a39190611e74565b86856fffffffffffffffffffffffffffffffff16815181106110c7576110c7611d72565b60209081029190910101526110db84611e8d565b93505b5050610c65565b508084528083526110f68385611698565b5050935093915050565b60fb546fffffffffffffffffffffffffffffffff9060005b816fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610156111b3578373ffffffffffffffffffffffffffffffffffffffff1660fb826fffffffffffffffffffffffffffffffff168154811061118057611180611d72565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16036111ab578092505b600101611118565b5050919050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556102d3816116bc565b60c954811161127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d60448201527f69740000000000000000000000000000000000000000000000000000000000006064820152608401610490565b60c980549082905560408051828152602081018490527fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa9101610b9f565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab906113139033908690600401611f27565b602060405180830381865afa158015611330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113549190611f5e565b905080611393573330836040517f4a3fa29300000000000000000000000000000000000000000000000000000000815260040161049093929190611f80565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116158061145657503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d9190611dff565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148d576040517f36e7473200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061149882611100565b90506fffffffffffffffffffffffffffffffff808216146114e5576040517f0aef5e8600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb805460018101825560008290527f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555461155e90611733565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fa0a158044a2552256f6415ce60c2ef0d6983a67f58e491cd7af6e48ae2abe25f90600090a25050565b73ffffffffffffffffffffffffffffffffffffffff81166102d3576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b61168f61177d565b6102d38161181c565b6001825111156113935761139382826000600186516116b79190611d5b565b6118b3565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60c9548111156102d35760c9546040517ff257f636000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610490565b600054610100900460ff16611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b6103e9611add565b600054610100900460ff166102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b80821015611ad75760008460026118ca8486611fc2565b6118d49190611fda565b815181106118e4576118e4611d72565b6020908102919091010151905082825b80821015611aa4575b8287838151811061191057611910611d72565b6020026020010151111561192e5761192782612015565b91506118fd565b8287828151811061194157611941611d72565b6020026020010151101561195f576119588161204d565b905061192e565b86818151811061197157611971611d72565b602002602001015187838151811061198b5761198b611d72565b60200260200101511015611a94578681815181106119ab576119ab611d72565b60200260200101518783815181106119c5576119c5611d72565b60200260200101518884815181106119df576119df611d72565b602002602001018984815181106119f8576119f8611d72565b6020026020010182815250828152505050858181518110611a1b57611a1b611d72565b6020026020010151868381518110611a3557611a35611d72565b6020026020010151878481518110611a4f57611a4f611d72565b60200260200101888481518110611a6857611a68611d72565b73ffffffffffffffffffffffffffffffffffffffff9384166020918202929092010152911690526118f4565b611a9d82612015565b91506118f4565b84811115611abd57611abd8787876116b7600186611d5b565b611ad38787611acd846001611fc2565b876118b3565b5050505b50505050565b600054610100900460ff16611b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610490565b6103e9336111ba565b73ffffffffffffffffffffffffffffffffffffffff811681146102d357600080fd5b600060208284031215611bb157600080fd5b8135611bbc81611b7d565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611c1157835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611bdf565b50909695505050505050565b600060208284031215611c2f57600080fd5b5035919050565b60008060408385031215611c4957600080fd5b8235611c5481611b7d565b91506020830135611c6481611b7d565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015611cbe57815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101611c8c565b5050508381038285015284518082528583019183019060005b81811015611cf357835183529284019291840191600101611cd7565b5090979650505050505050565b60008060408385031215611d1357600080fd5b8235611d1e81611b7d565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611d6d57611d6d611d2c565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611e1157600080fd5b8151611bbc81611b7d565b60008060408385031215611e2f57600080fd5b82519150602083015160048110611c6457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611e8657600080fd5b5051919050565b60006fffffffffffffffffffffffffffffffff808316818103611eb257611eb2611d2c565b6001019392505050565b6000815180845260005b81811015611ee257602081850181015186830182015201611ec6565b81811115611ef4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611f566040830184611ebc565b949350505050565b600060208284031215611f7057600080fd5b81518015158114611bbc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611fb96060830184611ebc565b95945050505050565b60008219821115611fd557611fd5611d2c565b500190565b600082612010577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361204657612046611d2c565b5060010190565b60008161205c5761205c611d2c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202738b19603d6dcbc4b0fae78d3390d46eb3896405ef8b09805eb5a08ea1fdeaf64736f6c634300080d0033",
455
+ "linkReferences": {},
456
+ "deployedLinkReferences": {}
457
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/e6962244d9988e3e4bb55e591cf3b5d8.json"
4
+ }