@venusprotocol/protocol-reserve 1.0.0-converters.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 (280) hide show
  1. package/README.md +75 -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 +4 -0
  5. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +183 -0
  6. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  7. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  8. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  9. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  10. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  11. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  12. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  13. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  14. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  15. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  16. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  18. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  19. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  20. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
  21. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
  22. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
  23. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
  24. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +115 -0
  26. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  27. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  28. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  29. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  30. package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +4 -0
  31. package/artifacts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +63 -0
  32. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  33. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  34. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  35. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  36. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +4 -0
  37. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +86 -0
  38. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +4 -0
  39. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +10 -0
  40. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  41. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  42. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  44. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +4 -0
  45. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +181 -0
  46. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +4 -0
  47. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +282 -0
  48. package/artifacts/@venusprotocol/isolated-pools/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +4 -0
  49. package/artifacts/@venusprotocol/isolated-pools/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +59 -0
  50. package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.dbg.json +4 -0
  51. package/artifacts/@venusprotocol/oracle/contracts/ResilientOracle.sol/ResilientOracle.json +649 -0
  52. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +4 -0
  53. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +40 -0
  54. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +4 -0
  55. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +30 -0
  56. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +4 -0
  57. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +75 -0
  58. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +4 -0
  59. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +49 -0
  60. package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.dbg.json +4 -0
  61. package/artifacts/@venusprotocol/oracle/contracts/interfaces/VBep20Interface.sol/VBep20Interface.json +246 -0
  62. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +4 -0
  63. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +59 -0
  64. package/artifacts/build-info/09a7fbe40ee8fdfd62afe79292e77863.json +1 -0
  65. package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.dbg.json +4 -0
  66. package/artifacts/contracts/Interfaces/IComptroller.sol/IComptroller.json +56 -0
  67. package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.dbg.json +4 -0
  68. package/artifacts/contracts/Interfaces/IConverterNetwork.sol/IConverterNetwork.json +127 -0
  69. package/artifacts/contracts/Interfaces/IIncomeDestination.sol/IIncomeDestination.dbg.json +4 -0
  70. package/artifacts/contracts/Interfaces/IIncomeDestination.sol/IIncomeDestination.json +29 -0
  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/IPrime.sol/IPrime.dbg.json +4 -0
  74. package/artifacts/contracts/Interfaces/IPrime.sol/IPrime.json +74 -0
  75. package/artifacts/contracts/Interfaces/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +4 -0
  76. package/artifacts/contracts/Interfaces/IProtocolShareReserve.sol/IProtocolShareReserve.json +34 -0
  77. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.dbg.json +4 -0
  78. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFund.json +77 -0
  79. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.dbg.json +4 -0
  80. package/artifacts/contracts/Interfaces/IRiskFund.sol/IRiskFundGetters.json +24 -0
  81. package/artifacts/contracts/Interfaces/IRiskFundConverter.sol/IRiskFundConverter.dbg.json +4 -0
  82. package/artifacts/contracts/Interfaces/IRiskFundConverter.sol/IRiskFundConverter.json +48 -0
  83. package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.dbg.json +4 -0
  84. package/artifacts/contracts/Interfaces/IShortfall.sol/IShortfall.json +24 -0
  85. package/artifacts/contracts/Interfaces/IVToken.sol/IVToken.dbg.json +4 -0
  86. package/artifacts/contracts/Interfaces/IVToken.sol/IVToken.json +24 -0
  87. package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +4 -0
  88. package/artifacts/contracts/Interfaces/IXVSVault.sol/IXVSVault.json +24 -0
  89. package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +4 -0
  90. package/artifacts/contracts/ProtocolReserve/ProtocolShareReserve.sol/ProtocolShareReserve.json +892 -0
  91. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.dbg.json +4 -0
  92. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/MaxLoopsLimitHelpersStorage.json +24 -0
  93. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.dbg.json +4 -0
  94. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/ReserveHelpersStorage.json +139 -0
  95. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.dbg.json +4 -0
  96. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV1Storage.json +178 -0
  97. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.dbg.json +4 -0
  98. package/artifacts/contracts/ProtocolReserve/RiskFundStorage.sol/RiskFundV2Storage.json +191 -0
  99. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.dbg.json +4 -0
  100. package/artifacts/contracts/ProtocolReserve/RiskFundV2.sol/RiskFundV2.json +582 -0
  101. package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.dbg.json +4 -0
  102. package/artifacts/contracts/ProtocolReserve/XVSVaultTreasury.sol/XVSVaultTreasury.json +315 -0
  103. package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.dbg.json +4 -0
  104. package/artifacts/contracts/Test/Mocks/MockACM.sol/MockACM.json +369 -0
  105. package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.dbg.json +4 -0
  106. package/artifacts/contracts/Test/Mocks/MockArraySorter.sol/MockArraySorter.json +40 -0
  107. package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.dbg.json +4 -0
  108. package/artifacts/contracts/Test/Mocks/MockConverter.sol/MockConverter.json +1199 -0
  109. package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +4 -0
  110. package/artifacts/contracts/Test/Mocks/MockDeflationaryToken.sol/MockDeflatingToken.json +332 -0
  111. package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.dbg.json +4 -0
  112. package/artifacts/contracts/Test/Mocks/MockRiskFundConverter.sol/MockRiskFundConverter.json +1559 -0
  113. package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.dbg.json +4 -0
  114. package/artifacts/contracts/Test/Mocks/MockToken.sol/MockToken.json +333 -0
  115. package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.dbg.json +4 -0
  116. package/artifacts/contracts/TokenConverter/AbstractTokenConverter.sol/AbstractTokenConverter.json +1085 -0
  117. package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.dbg.json +4 -0
  118. package/artifacts/contracts/TokenConverter/ConverterNetwork.sol/ConverterNetwork.json +457 -0
  119. package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.dbg.json +4 -0
  120. package/artifacts/contracts/TokenConverter/IAbstractTokenConverter.sol/IAbstractTokenConverter.json +344 -0
  121. package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.dbg.json +4 -0
  122. package/artifacts/contracts/TokenConverter/RiskFundConverter.sol/RiskFundConverter.json +1429 -0
  123. package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.dbg.json +4 -0
  124. package/artifacts/contracts/TokenConverter/SingleTokenConverter.sol/SingleTokenConverter.json +1145 -0
  125. package/contracts/Interfaces/IComptroller.sol +10 -0
  126. package/contracts/Interfaces/IConverterNetwork.sol +46 -0
  127. package/contracts/Interfaces/IIncomeDestination.sol +6 -0
  128. package/contracts/Interfaces/IPoolRegistry.sol +10 -0
  129. package/contracts/Interfaces/IPrime.sol +12 -0
  130. package/contracts/Interfaces/IProtocolShareReserve.sol +16 -0
  131. package/contracts/Interfaces/IRiskFund.sol +28 -0
  132. package/contracts/Interfaces/IRiskFundConverter.sol +8 -0
  133. package/contracts/Interfaces/IShortfall.sol +11 -0
  134. package/contracts/Interfaces/IVToken.sol +6 -0
  135. package/contracts/Interfaces/IXVSVault.sol +9 -0
  136. package/contracts/ProtocolReserve/ProtocolShareReserve.sol +547 -0
  137. package/contracts/ProtocolReserve/RiskFundStorage.sol +67 -0
  138. package/contracts/ProtocolReserve/RiskFundV2.sol +220 -0
  139. package/contracts/ProtocolReserve/XVSVaultTreasury.sol +95 -0
  140. package/contracts/Test/Mocks/MockACM.sol +93 -0
  141. package/contracts/Test/Mocks/MockArraySorter.sol +14 -0
  142. package/contracts/Test/Mocks/MockConverter.sol +69 -0
  143. package/contracts/Test/Mocks/MockDeflationaryToken.sol +113 -0
  144. package/contracts/Test/Mocks/MockRiskFundConverter.sol +45 -0
  145. package/contracts/Test/Mocks/MockToken.sol +30 -0
  146. package/contracts/TokenConverter/AbstractTokenConverter.sol +1022 -0
  147. package/contracts/TokenConverter/ConverterNetwork.sol +242 -0
  148. package/contracts/TokenConverter/IAbstractTokenConverter.sol +132 -0
  149. package/contracts/TokenConverter/RiskFundConverter.sol +436 -0
  150. package/contracts/TokenConverter/SingleTokenConverter.sol +77 -0
  151. package/contracts/Utils/ArrayHelpers.sol +41 -0
  152. package/contracts/Utils/Constants.sol +11 -0
  153. package/contracts/Utils/Validators.sol +26 -0
  154. package/deploy/001-risk-fund-converter.ts +124 -0
  155. package/deploy/1-deploy.ts +64 -0
  156. package/deployments/bscmainnet/.chainId +1 -0
  157. package/deployments/bscmainnet/DefaultProxyAdmin.json +257 -0
  158. package/deployments/bscmainnet/ProtocolShareReserve.json +1126 -0
  159. package/deployments/bscmainnet/ProtocolShareReserve_Implementation.json +1400 -0
  160. package/deployments/bscmainnet/ProtocolShareReserve_Proxy.json +261 -0
  161. package/deployments/bscmainnet/solcInputs/0e89febeebc7444140de8e67c9067d2c.json +78 -0
  162. package/deployments/bscmainnet/solcInputs/aee5f1db1180ece295e59c8f036fe600.json +90 -0
  163. package/deployments/bsctestnet/.chainId +1 -0
  164. package/deployments/bsctestnet/DefaultProxyAdmin.json +257 -0
  165. package/deployments/bsctestnet/ProtocolShareReserve.json +1126 -0
  166. package/deployments/bsctestnet/ProtocolShareReserve_Implementation.json +1400 -0
  167. package/deployments/bsctestnet/ProtocolShareReserve_Proxy.json +261 -0
  168. package/deployments/bsctestnet/solcInputs/0e89febeebc7444140de8e67c9067d2c.json +78 -0
  169. package/deployments/bsctestnet/solcInputs/aee5f1db1180ece295e59c8f036fe600.json +90 -0
  170. package/package.json +119 -0
  171. package/typechain/AbstractTokenConverter.d.ts +1516 -0
  172. package/typechain/AccessControl.d.ts +388 -0
  173. package/typechain/AccessControlledV8.d.ts +341 -0
  174. package/typechain/BoundValidatorInterface.d.ts +126 -0
  175. package/typechain/ContextUpgradeable.d.ts +92 -0
  176. package/typechain/ConverterNetwork.d.ts +721 -0
  177. package/typechain/ERC165.d.ts +116 -0
  178. package/typechain/ERC20.d.ts +441 -0
  179. package/typechain/IAbstractTokenConverter.d.ts +606 -0
  180. package/typechain/IAccessControl.d.ts +333 -0
  181. package/typechain/IAccessControlManagerV8.d.ts +504 -0
  182. package/typechain/IComptroller.d.ts +136 -0
  183. package/typechain/IConverterNetwork.d.ts +292 -0
  184. package/typechain/IERC165.d.ts +116 -0
  185. package/typechain/IERC20.d.ts +324 -0
  186. package/typechain/IERC20Metadata.d.ts +363 -0
  187. package/typechain/IERC20PermitUpgradeable.d.ts +187 -0
  188. package/typechain/IERC20Upgradeable.d.ts +324 -0
  189. package/typechain/IIncomeDestination.d.ts +122 -0
  190. package/typechain/IPoolRegistry.d.ts +155 -0
  191. package/typechain/IPrime.d.ts +197 -0
  192. package/typechain/IProtocolShareReserve.d.ts +127 -0
  193. package/typechain/IRiskFund.d.ts +200 -0
  194. package/typechain/IRiskFundConverter.d.ts +138 -0
  195. package/typechain/IRiskFundGetters.d.ts +103 -0
  196. package/typechain/IShortfall.d.ts +110 -0
  197. package/typechain/IVToken.d.ts +98 -0
  198. package/typechain/IXVSVault.d.ts +95 -0
  199. package/typechain/Initializable.d.ts +92 -0
  200. package/typechain/MaxLoopsLimitHelper.d.ts +128 -0
  201. package/typechain/MaxLoopsLimitHelpersStorage.d.ts +101 -0
  202. package/typechain/MockACM.d.ts +615 -0
  203. package/typechain/MockArraySorter.d.ts +118 -0
  204. package/typechain/MockConverter.d.ts +1705 -0
  205. package/typechain/MockDeflatingToken.d.ts +486 -0
  206. package/typechain/MockRiskFundConverter.d.ts +2193 -0
  207. package/typechain/MockToken.d.ts +505 -0
  208. package/typechain/OracleInterface.d.ts +98 -0
  209. package/typechain/Ownable2StepUpgradeable.d.ts +261 -0
  210. package/typechain/OwnableUpgradeable.d.ts +193 -0
  211. package/typechain/PausableUpgradeable.d.ts +129 -0
  212. package/typechain/ProtocolShareReserve.d.ts +1332 -0
  213. package/typechain/ReentrancyGuardUpgradeable.d.ts +92 -0
  214. package/typechain/ReserveHelpersStorage.d.ts +300 -0
  215. package/typechain/ResilientOracle.d.ts +1022 -0
  216. package/typechain/ResilientOracleInterface.d.ts +192 -0
  217. package/typechain/RiskFundConverter.d.ts +1949 -0
  218. package/typechain/RiskFundV1Storage.d.ts +353 -0
  219. package/typechain/RiskFundV2.d.ts +893 -0
  220. package/typechain/RiskFundV2Storage.d.ts +372 -0
  221. package/typechain/SingleTokenConverter.d.ts +1598 -0
  222. package/typechain/TwapInterface.d.ts +124 -0
  223. package/typechain/VBep20Interface.d.ts +379 -0
  224. package/typechain/XVSVaultTreasury.d.ts +515 -0
  225. package/typechain/common.d.ts +35 -0
  226. package/typechain/factories/AbstractTokenConverter__factory.ts +1105 -0
  227. package/typechain/factories/AccessControl__factory.ts +227 -0
  228. package/typechain/factories/AccessControlledV8__factory.ts +196 -0
  229. package/typechain/factories/BoundValidatorInterface__factory.ts +59 -0
  230. package/typechain/factories/ContextUpgradeable__factory.ts +39 -0
  231. package/typechain/factories/ConverterNetwork__factory.ts +502 -0
  232. package/typechain/factories/ERC165__factory.ts +39 -0
  233. package/typechain/factories/ERC20__factory.ts +340 -0
  234. package/typechain/factories/IAbstractTokenConverter__factory.ts +364 -0
  235. package/typechain/factories/IAccessControlManagerV8__factory.ts +301 -0
  236. package/typechain/factories/IAccessControl__factory.ts +198 -0
  237. package/typechain/factories/IComptroller__factory.ts +68 -0
  238. package/typechain/factories/IConverterNetwork__factory.ts +142 -0
  239. package/typechain/factories/IERC165__factory.ts +42 -0
  240. package/typechain/factories/IERC20Metadata__factory.ts +248 -0
  241. package/typechain/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  242. package/typechain/factories/IERC20Upgradeable__factory.ts +209 -0
  243. package/typechain/factories/IERC20__factory.ts +203 -0
  244. package/typechain/factories/IIncomeDestination__factory.ts +44 -0
  245. package/typechain/factories/IPoolRegistry__factory.ts +66 -0
  246. package/typechain/factories/IPrime__factory.ts +83 -0
  247. package/typechain/factories/IProtocolShareReserve__factory.ts +53 -0
  248. package/typechain/factories/IRiskFundConverter__factory.ts +63 -0
  249. package/typechain/factories/IRiskFundGetters__factory.ts +39 -0
  250. package/typechain/factories/IRiskFund__factory.ts +89 -0
  251. package/typechain/factories/IShortfall__factory.ts +36 -0
  252. package/typechain/factories/IVToken__factory.ts +36 -0
  253. package/typechain/factories/IXVSVault__factory.ts +36 -0
  254. package/typechain/factories/Initializable__factory.ts +36 -0
  255. package/typechain/factories/MaxLoopsLimitHelper__factory.ts +74 -0
  256. package/typechain/factories/MaxLoopsLimitHelpersStorage__factory.ts +75 -0
  257. package/typechain/factories/MockACM__factory.ts +411 -0
  258. package/typechain/factories/MockArraySorter__factory.ts +85 -0
  259. package/typechain/factories/MockConverter__factory.ts +1242 -0
  260. package/typechain/factories/MockDeflatingToken__factory.ts +389 -0
  261. package/typechain/factories/MockRiskFundConverter__factory.ts +1625 -0
  262. package/typechain/factories/MockToken__factory.ts +398 -0
  263. package/typechain/factories/OracleInterface__factory.ts +45 -0
  264. package/typechain/factories/Ownable2StepUpgradeable__factory.ts +134 -0
  265. package/typechain/factories/OwnableUpgradeable__factory.ts +91 -0
  266. package/typechain/factories/PausableUpgradeable__factory.ts +78 -0
  267. package/typechain/factories/ProtocolShareReserve__factory.ts +957 -0
  268. package/typechain/factories/ReentrancyGuardUpgradeable__factory.ts +43 -0
  269. package/typechain/factories/ReserveHelpersStorage__factory.ts +188 -0
  270. package/typechain/factories/ResilientOracleInterface__factory.ts +94 -0
  271. package/typechain/factories/ResilientOracle__factory.ts +710 -0
  272. package/typechain/factories/RiskFundConverter__factory.ts +1491 -0
  273. package/typechain/factories/RiskFundV1Storage__factory.ts +223 -0
  274. package/typechain/factories/RiskFundV2Storage__factory.ts +236 -0
  275. package/typechain/factories/RiskFundV2__factory.ts +624 -0
  276. package/typechain/factories/SingleTokenConverter__factory.ts +1200 -0
  277. package/typechain/factories/TwapInterface__factory.ts +61 -0
  278. package/typechain/factories/VBep20Interface__factory.ts +261 -0
  279. package/typechain/factories/XVSVaultTreasury__factory.ts +365 -0
  280. package/typechain/index.ts +112 -0
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/09a7fbe40ee8fdfd62afe79292e77863.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": "",
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": "",
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": "0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612027806100ec6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806380d45a2d116100b2578063be26317e11610081578063e30c397811610066578063e30c39781461027e578063f2fde38b1461029c578063f49e746f146102af57600080fd5b8063be26317e14610254578063cd6dc6871461026b57600080fd5b806380d45a2d146101f25780638da5cb5b14610205578063932fd98514610223578063b4a0bdf31461023657600080fd5b80634e9f8f39116100ee5780634e9f8f39146101ac5780636c059fb1146101bf578063715018a6146101e257806379ba5097146101ea57600080fd5b80630e32cb861461012057806325a31b6b14610135578063285510e9146101535780633119e7c71461018b575b600080fd5b61013361012e366004611b0e565b6102c2565b005b61013d6102d6565b60405161014a9190611b32565b60405180910390f35b610166610161366004611b8c565b610345565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b61019e610199366004611ba5565b61037c565b60405161014a929190611bde565b61019e6101ba366004611ba5565b610396565b6101d26101cd366004611b0e565b6103a5565b604051901515815260200161014a565b6101336103fe565b610133610412565b610133610200366004611b8c565b6104c9565b60335473ffffffffffffffffffffffffffffffffffffffff16610166565b610133610231366004611b0e565b610526565b60975473ffffffffffffffffffffffffffffffffffffffff16610166565b61025d60c95481565b60405190815260200161014a565b610133610279366004611c6f565b61056d565b60655473ffffffffffffffffffffffffffffffffffffffff16610166565b6101336102aa366004611b0e565b610760565b6101336102bd366004611b0e565b610810565b6102ca610a27565b6102d381610aa8565b50565b606060fb80548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610310575b5050505050905090565b60fb818154811061035557600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60608061038b84846000610bd2565b909590945092505050565b60608061038b84846001610bd2565b6000806103b18361106a565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff8216016103f55750600092915050565b50600192915050565b610406610a27565b6104106000611129565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146104c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d381611129565b6104d1610a27565b6fffffffffffffffffffffffffffffffff811061051d576040517f132515e0000000000000000000000000000000000000000000000000000000008152600481018290526024016104b7565b6102d38161115a565b6105646040518060400160405280601a81526020017f616464546f6b656e436f6e766572746572286164647265737329000000000000815250611229565b6102d381611306565b600054610100900460ff161580801561058d5750600054600160ff909116105b806105a75750303b1580156105a7575060005460ff166001145b610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104b7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61069a83611512565b6106a38361155f565b6fffffffffffffffffffffffffffffffff82106106ef576040517f132515e0000000000000000000000000000000000000000000000000000000008152600481018390526024016104b7565b6106f88261115a565b801561075b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610768610a27565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556107cb60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61084e6040518060400160405280601d81526020017f72656d6f7665546f6b656e436f6e766572746572286164647265737329000000815250611229565b60006108598261106a565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff8216016108c6576040517f2516fa2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb80546108d690600190611cca565b815481106108e6576108e6611ce1565b60009182526020909120015460fb805473ffffffffffffffffffffffffffffffffffffffff909216916fffffffffffffffffffffffffffffffff841690811061093157610931611ce1565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060fb80548061098a5761098a611d10565b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560405173ffffffffffffffffffffffffffffffffffffffff8416917febba5edf297d79cea0ec18d97adacf578cc3152240bd112e8d7da26ba65700d191a25050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b7565b73ffffffffffffffffffffffffffffffffffffffff8116610b4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104b7565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091015b60405180910390a15050565b60fb54606090819060006fffffffffffffffffffffffffffffffff821667ffffffffffffffff811115610c0757610c07611d3f565b604051908082528060200260200182016040528015610c30578160200160208202803683370190505b5090506000826fffffffffffffffffffffffffffffffff1667ffffffffffffffff811115610c6057610c60611d3f565b604051908082528060200260200182016040528015610c89578160200160208202803683370190505b5090506000805b846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16101561104b57600060fb826fffffffffffffffffffffffffffffffff1681548110610ce357610ce3611ce1565b6000918252602090912001546001929092019173ffffffffffffffffffffffffffffffffffffffff16905033819003610d1c5750610c90565b6040517fb491ddf700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c811660048301528b811660248301526000919083169063b491ddf79060440160408051808303816000875af1158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db99190611d6e565b915060019050816003811115610dd157610dd1611d97565b03610ed9578186856fffffffffffffffffffffffffffffffff1681518110610dfb57610dfb611ce1565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528c82166004820152908316906370a0823190602401602060405180830381865afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190611dc6565b85856fffffffffffffffffffffffffffffffff1681518110610ebe57610ebe611ce1565b6020908102919091010152610ed284611ddf565b9350611044565b898015610ef757506002816003811115610ef557610ef5611d97565b145b15610f21578186856fffffffffffffffffffffffffffffffff1681518110610dfb57610dfb611ce1565b89158015610f4057506003816003811115610f3e57610f3e611d97565b145b15611044578186856fffffffffffffffffffffffffffffffff1681518110610f6a57610f6a611ce1565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528c82166004820152908316906370a0823190602401602060405180830381865afa158015610fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110099190611dc6565b85856fffffffffffffffffffffffffffffffff168151811061102d5761102d611ce1565b602090810291909101015261104184611ddf565b93505b5050610c90565b5080835280825261105c8284611607565b509097909650945050505050565b60fb54600090815b816fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015611110578373ffffffffffffffffffffffffffffffffffffffff1660fb826fffffffffffffffffffffffffffffffff16815481106110da576110da611ce1565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611108579392505050565b600101611072565b506fffffffffffffffffffffffffffffffff9392505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556102d38161162b565b60c95481116111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d60448201527f697400000000000000000000000000000000000000000000000000000000000060648201526084016104b7565b60c980549082905560408051828152602081018490527fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa9101610bc6565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab906112829033908690600401611e79565b602060405180830381865afa15801561129f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c39190611eb0565b905080611302573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016104b793929190611ed2565b5050565b73ffffffffffffffffffffffffffffffffffffffff811615806113c557503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611f14565b73ffffffffffffffffffffffffffffffffffffffff1614155b156113fc576040517f36e7473200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114078261106a565b90506fffffffffffffffffffffffffffffffff80821614611454576040517f0aef5e8600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb805460018101825560008290527f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055546114cd906116a2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fa0a158044a2552256f6415ce60c2ef0d6983a67f58e491cd7af6e48ae2abe25f90600090a25050565b73ffffffffffffffffffffffffffffffffffffffff81166102d3576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff166115f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b6115fe6116ec565b6102d38161178b565b6001825111156113025761130282826000600186516116269190611cca565b611822565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60c9548111156102d35760c9546040517ff257f6360000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016104b7565b600054610100900460ff16611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b610410611a4c565b600054610100900460ff166102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b80821015611a465760008460026118398486611f31565b6118439190611f49565b8151811061185357611853611ce1565b6020908102919091010151905082825b80821015611a13575b8287838151811061187f5761187f611ce1565b6020026020010151111561189d5761189682611f84565b915061186c565b828782815181106118b0576118b0611ce1565b602002602001015110156118ce576118c781611fbc565b905061189d565b8681815181106118e0576118e0611ce1565b60200260200101518783815181106118fa576118fa611ce1565b60200260200101511015611a035786818151811061191a5761191a611ce1565b602002602001015187838151811061193457611934611ce1565b602002602001015188848151811061194e5761194e611ce1565b6020026020010189848151811061196757611967611ce1565b602002602001018281525082815250505085818151811061198a5761198a611ce1565b60200260200101518683815181106119a4576119a4611ce1565b60200260200101518784815181106119be576119be611ce1565b602002602001018884815181106119d7576119d7611ce1565b73ffffffffffffffffffffffffffffffffffffffff938416602091820292909201015291169052611863565b611a0c82611f84565b9150611863565b84811115611a2c57611a2c878787611626600186611cca565b611a428787611a3c846001611f31565b87611822565b5050505b50505050565b600054610100900460ff16611ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b61041033611129565b73ffffffffffffffffffffffffffffffffffffffff811681146102d357600080fd5b600060208284031215611b2057600080fd5b8135611b2b81611aec565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611b8057835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611b4e565b50909695505050505050565b600060208284031215611b9e57600080fd5b5035919050565b60008060408385031215611bb857600080fd5b8235611bc381611aec565b91506020830135611bd381611aec565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015611c2d57815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101611bfb565b5050508381038285015284518082528583019183019060005b81811015611c6257835183529284019291840191600101611c46565b5090979650505050505050565b60008060408385031215611c8257600080fd5b8235611c8d81611aec565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611cdc57611cdc611c9b565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611d8157600080fd5b82519150602083015160048110611bd357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611dd857600080fd5b5051919050565b60006fffffffffffffffffffffffffffffffff808316818103611e0457611e04611c9b565b6001019392505050565b6000815180845260005b81811015611e3457602081850181015186830182015201611e18565b81811115611e46576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611ea86040830184611e0e565b949350505050565b600060208284031215611ec257600080fd5b81518015158114611b2b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611f0b6060830184611e0e565b95945050505050565b600060208284031215611f2657600080fd5b8151611b2b81611aec565b60008219821115611f4457611f44611c9b565b500190565b600082611f7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611fb557611fb5611c9b565b5060010190565b600081611fcb57611fcb611c9b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220db9b4daeefeacb4b1d45e45668aac4ed65cc9d86be75516ebf1f46d9248b0e7564736f6c634300080d0033",
454
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806380d45a2d116100b2578063be26317e11610081578063e30c397811610066578063e30c39781461027e578063f2fde38b1461029c578063f49e746f146102af57600080fd5b8063be26317e14610254578063cd6dc6871461026b57600080fd5b806380d45a2d146101f25780638da5cb5b14610205578063932fd98514610223578063b4a0bdf31461023657600080fd5b80634e9f8f39116100ee5780634e9f8f39146101ac5780636c059fb1146101bf578063715018a6146101e257806379ba5097146101ea57600080fd5b80630e32cb861461012057806325a31b6b14610135578063285510e9146101535780633119e7c71461018b575b600080fd5b61013361012e366004611b0e565b6102c2565b005b61013d6102d6565b60405161014a9190611b32565b60405180910390f35b610166610161366004611b8c565b610345565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b61019e610199366004611ba5565b61037c565b60405161014a929190611bde565b61019e6101ba366004611ba5565b610396565b6101d26101cd366004611b0e565b6103a5565b604051901515815260200161014a565b6101336103fe565b610133610412565b610133610200366004611b8c565b6104c9565b60335473ffffffffffffffffffffffffffffffffffffffff16610166565b610133610231366004611b0e565b610526565b60975473ffffffffffffffffffffffffffffffffffffffff16610166565b61025d60c95481565b60405190815260200161014a565b610133610279366004611c6f565b61056d565b60655473ffffffffffffffffffffffffffffffffffffffff16610166565b6101336102aa366004611b0e565b610760565b6101336102bd366004611b0e565b610810565b6102ca610a27565b6102d381610aa8565b50565b606060fb80548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610310575b5050505050905090565b60fb818154811061035557600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60608061038b84846000610bd2565b909590945092505050565b60608061038b84846001610bd2565b6000806103b18361106a565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff8216016103f55750600092915050565b50600192915050565b610406610a27565b6104106000611129565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146104c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d381611129565b6104d1610a27565b6fffffffffffffffffffffffffffffffff811061051d576040517f132515e0000000000000000000000000000000000000000000000000000000008152600481018290526024016104b7565b6102d38161115a565b6105646040518060400160405280601a81526020017f616464546f6b656e436f6e766572746572286164647265737329000000000000815250611229565b6102d381611306565b600054610100900460ff161580801561058d5750600054600160ff909116105b806105a75750303b1580156105a7575060005460ff166001145b610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104b7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61069a83611512565b6106a38361155f565b6fffffffffffffffffffffffffffffffff82106106ef576040517f132515e0000000000000000000000000000000000000000000000000000000008152600481018390526024016104b7565b6106f88261115a565b801561075b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610768610a27565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556107cb60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61084e6040518060400160405280601d81526020017f72656d6f7665546f6b656e436f6e766572746572286164647265737329000000815250611229565b60006108598261106a565b90507fffffffffffffffffffffffffffffffff000000000000000000000000000000016fffffffffffffffffffffffffffffffff8216016108c6576040517f2516fa2900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb80546108d690600190611cca565b815481106108e6576108e6611ce1565b60009182526020909120015460fb805473ffffffffffffffffffffffffffffffffffffffff909216916fffffffffffffffffffffffffffffffff841690811061093157610931611ce1565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060fb80548061098a5761098a611d10565b60008281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590910190915560405173ffffffffffffffffffffffffffffffffffffffff8416917febba5edf297d79cea0ec18d97adacf578cc3152240bd112e8d7da26ba65700d191a25050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b7565b73ffffffffffffffffffffffffffffffffffffffff8116610b4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104b7565b6097805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091015b60405180910390a15050565b60fb54606090819060006fffffffffffffffffffffffffffffffff821667ffffffffffffffff811115610c0757610c07611d3f565b604051908082528060200260200182016040528015610c30578160200160208202803683370190505b5090506000826fffffffffffffffffffffffffffffffff1667ffffffffffffffff811115610c6057610c60611d3f565b604051908082528060200260200182016040528015610c89578160200160208202803683370190505b5090506000805b846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16101561104b57600060fb826fffffffffffffffffffffffffffffffff1681548110610ce357610ce3611ce1565b6000918252602090912001546001929092019173ffffffffffffffffffffffffffffffffffffffff16905033819003610d1c5750610c90565b6040517fb491ddf700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c811660048301528b811660248301526000919083169063b491ddf79060440160408051808303816000875af1158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db99190611d6e565b915060019050816003811115610dd157610dd1611d97565b03610ed9578186856fffffffffffffffffffffffffffffffff1681518110610dfb57610dfb611ce1565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528c82166004820152908316906370a0823190602401602060405180830381865afa158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190611dc6565b85856fffffffffffffffffffffffffffffffff1681518110610ebe57610ebe611ce1565b6020908102919091010152610ed284611ddf565b9350611044565b898015610ef757506002816003811115610ef557610ef5611d97565b145b15610f21578186856fffffffffffffffffffffffffffffffff1681518110610dfb57610dfb611ce1565b89158015610f4057506003816003811115610f3e57610f3e611d97565b145b15611044578186856fffffffffffffffffffffffffffffffff1681518110610f6a57610f6a611ce1565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526040517f70a082310000000000000000000000000000000000000000000000000000000081528c82166004820152908316906370a0823190602401602060405180830381865afa158015610fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110099190611dc6565b85856fffffffffffffffffffffffffffffffff168151811061102d5761102d611ce1565b602090810291909101015261104184611ddf565b93505b5050610c90565b5080835280825261105c8284611607565b509097909650945050505050565b60fb54600090815b816fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015611110578373ffffffffffffffffffffffffffffffffffffffff1660fb826fffffffffffffffffffffffffffffffff16815481106110da576110da611ce1565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611108579392505050565b600101611072565b506fffffffffffffffffffffffffffffffff9392505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556102d38161162b565b60c95481116111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d60448201527f697400000000000000000000000000000000000000000000000000000000000060648201526084016104b7565b60c980549082905560408051828152602081018490527fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa9101610bc6565b6097546040517f18c5e8ab00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906318c5e8ab906112829033908690600401611e79565b602060405180830381865afa15801561129f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c39190611eb0565b905080611302573330836040517f4a3fa2930000000000000000000000000000000000000000000000000000000081526004016104b793929190611ed2565b5050565b73ffffffffffffffffffffffffffffffffffffffff811615806113c557503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166301e201786040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611f14565b73ffffffffffffffffffffffffffffffffffffffff1614155b156113fc576040517f36e7473200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114078261106a565b90506fffffffffffffffffffffffffffffffff80821614611454576040517f0aef5e8600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb805460018101825560008290527f3e7257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055546114cd906116a2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fa0a158044a2552256f6415ce60c2ef0d6983a67f58e491cd7af6e48ae2abe25f90600090a25050565b73ffffffffffffffffffffffffffffffffffffffff81166102d3576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff166115f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b6115fe6116ec565b6102d38161178b565b6001825111156113025761130282826000600186516116269190611cca565b611822565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60c9548111156102d35760c9546040517ff257f6360000000000000000000000000000000000000000000000000000000081526004810191909152602481018290526044016104b7565b600054610100900460ff16611783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b610410611a4c565b600054610100900460ff166102ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b80821015611a465760008460026118398486611f31565b6118439190611f49565b8151811061185357611853611ce1565b6020908102919091010151905082825b80821015611a13575b8287838151811061187f5761187f611ce1565b6020026020010151111561189d5761189682611f84565b915061186c565b828782815181106118b0576118b0611ce1565b602002602001015110156118ce576118c781611fbc565b905061189d565b8681815181106118e0576118e0611ce1565b60200260200101518783815181106118fa576118fa611ce1565b60200260200101511015611a035786818151811061191a5761191a611ce1565b602002602001015187838151811061193457611934611ce1565b602002602001015188848151811061194e5761194e611ce1565b6020026020010189848151811061196757611967611ce1565b602002602001018281525082815250505085818151811061198a5761198a611ce1565b60200260200101518683815181106119a4576119a4611ce1565b60200260200101518784815181106119be576119be611ce1565b602002602001018884815181106119d7576119d7611ce1565b73ffffffffffffffffffffffffffffffffffffffff938416602091820292909201015291169052611863565b611a0c82611f84565b9150611863565b84811115611a2c57611a2c878787611626600186611cca565b611a428787611a3c846001611f31565b87611822565b5050505b50505050565b600054610100900460ff16611ae3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104b7565b61041033611129565b73ffffffffffffffffffffffffffffffffffffffff811681146102d357600080fd5b600060208284031215611b2057600080fd5b8135611b2b81611aec565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611b8057835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611b4e565b50909695505050505050565b600060208284031215611b9e57600080fd5b5035919050565b60008060408385031215611bb857600080fd5b8235611bc381611aec565b91506020830135611bd381611aec565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015611c2d57815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101611bfb565b5050508381038285015284518082528583019183019060005b81811015611c6257835183529284019291840191600101611c46565b5090979650505050505050565b60008060408385031215611c8257600080fd5b8235611c8d81611aec565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611cdc57611cdc611c9b565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611d8157600080fd5b82519150602083015160048110611bd357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611dd857600080fd5b5051919050565b60006fffffffffffffffffffffffffffffffff808316818103611e0457611e04611c9b565b6001019392505050565b6000815180845260005b81811015611e3457602081850181015186830182015201611e18565b81811115611e46576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611ea86040830184611e0e565b949350505050565b600060208284031215611ec257600080fd5b81518015158114611b2b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152611f0b6060830184611e0e565b95945050505050565b600060208284031215611f2657600080fd5b8151611b2b81611aec565b60008219821115611f4457611f44611c9b565b500190565b600082611f7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611fb557611fb5611c9b565b5060010190565b600081611fcb57611fcb611c9b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220db9b4daeefeacb4b1d45e45668aac4ed65cc9d86be75516ebf1f46d9248b0e7564736f6c634300080d0033",
455
+ "linkReferences": {},
456
+ "deployedLinkReferences": {}
457
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/09a7fbe40ee8fdfd62afe79292e77863.json"
4
+ }