@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,957 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
6
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
+ import type {
8
+ ProtocolShareReserve,
9
+ ProtocolShareReserveInterface,
10
+ } from "../ProtocolShareReserve";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "_corePoolComptroller",
18
+ type: "address",
19
+ },
20
+ {
21
+ internalType: "address",
22
+ name: "_wbnb",
23
+ type: "address",
24
+ },
25
+ {
26
+ internalType: "address",
27
+ name: "_vbnb",
28
+ type: "address",
29
+ },
30
+ ],
31
+ stateMutability: "nonpayable",
32
+ type: "constructor",
33
+ },
34
+ {
35
+ inputs: [],
36
+ name: "InvalidAddress",
37
+ type: "error",
38
+ },
39
+ {
40
+ inputs: [],
41
+ name: "InvalidTotalPercentage",
42
+ type: "error",
43
+ },
44
+ {
45
+ inputs: [
46
+ {
47
+ internalType: "uint256",
48
+ name: "loopsLimit",
49
+ type: "uint256",
50
+ },
51
+ {
52
+ internalType: "uint256",
53
+ name: "requiredLoops",
54
+ type: "uint256",
55
+ },
56
+ ],
57
+ name: "MaxLoopsLimitExceeded",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [
62
+ {
63
+ internalType: "address",
64
+ name: "sender",
65
+ type: "address",
66
+ },
67
+ {
68
+ internalType: "address",
69
+ name: "calledContract",
70
+ type: "address",
71
+ },
72
+ {
73
+ internalType: "string",
74
+ name: "methodSignature",
75
+ type: "string",
76
+ },
77
+ ],
78
+ name: "Unauthorized",
79
+ type: "error",
80
+ },
81
+ {
82
+ anonymous: false,
83
+ inputs: [
84
+ {
85
+ indexed: true,
86
+ internalType: "address",
87
+ name: "destination",
88
+ type: "address",
89
+ },
90
+ {
91
+ indexed: true,
92
+ internalType: "address",
93
+ name: "asset",
94
+ type: "address",
95
+ },
96
+ {
97
+ indexed: false,
98
+ internalType: "enum ProtocolShareReserve.Schema",
99
+ name: "schema",
100
+ type: "uint8",
101
+ },
102
+ {
103
+ indexed: false,
104
+ internalType: "uint256",
105
+ name: "percent",
106
+ type: "uint256",
107
+ },
108
+ {
109
+ indexed: false,
110
+ internalType: "uint256",
111
+ name: "amount",
112
+ type: "uint256",
113
+ },
114
+ ],
115
+ name: "AssetReleased",
116
+ type: "event",
117
+ },
118
+ {
119
+ anonymous: false,
120
+ inputs: [
121
+ {
122
+ indexed: true,
123
+ internalType: "address",
124
+ name: "comptroller",
125
+ type: "address",
126
+ },
127
+ {
128
+ indexed: true,
129
+ internalType: "address",
130
+ name: "asset",
131
+ type: "address",
132
+ },
133
+ {
134
+ indexed: false,
135
+ internalType: "uint256",
136
+ name: "amount",
137
+ type: "uint256",
138
+ },
139
+ {
140
+ indexed: false,
141
+ internalType: "enum IProtocolShareReserve.IncomeType",
142
+ name: "incomeType",
143
+ type: "uint8",
144
+ },
145
+ {
146
+ indexed: false,
147
+ internalType: "enum ProtocolShareReserve.Schema",
148
+ name: "schema",
149
+ type: "uint8",
150
+ },
151
+ ],
152
+ name: "AssetsReservesUpdated",
153
+ type: "event",
154
+ },
155
+ {
156
+ anonymous: false,
157
+ inputs: [
158
+ {
159
+ indexed: true,
160
+ internalType: "address",
161
+ name: "destination",
162
+ type: "address",
163
+ },
164
+ {
165
+ indexed: false,
166
+ internalType: "uint8",
167
+ name: "percentage",
168
+ type: "uint8",
169
+ },
170
+ {
171
+ indexed: false,
172
+ internalType: "enum ProtocolShareReserve.Schema",
173
+ name: "schema",
174
+ type: "uint8",
175
+ },
176
+ ],
177
+ name: "DistributionConfigAdded",
178
+ type: "event",
179
+ },
180
+ {
181
+ anonymous: false,
182
+ inputs: [
183
+ {
184
+ indexed: true,
185
+ internalType: "address",
186
+ name: "destination",
187
+ type: "address",
188
+ },
189
+ {
190
+ indexed: false,
191
+ internalType: "uint8",
192
+ name: "percentage",
193
+ type: "uint8",
194
+ },
195
+ {
196
+ indexed: false,
197
+ internalType: "enum ProtocolShareReserve.Schema",
198
+ name: "schema",
199
+ type: "uint8",
200
+ },
201
+ ],
202
+ name: "DistributionConfigRemoved",
203
+ type: "event",
204
+ },
205
+ {
206
+ anonymous: false,
207
+ inputs: [
208
+ {
209
+ indexed: true,
210
+ internalType: "address",
211
+ name: "destination",
212
+ type: "address",
213
+ },
214
+ {
215
+ indexed: false,
216
+ internalType: "uint8",
217
+ name: "oldPercentage",
218
+ type: "uint8",
219
+ },
220
+ {
221
+ indexed: false,
222
+ internalType: "uint8",
223
+ name: "newPercentage",
224
+ type: "uint8",
225
+ },
226
+ {
227
+ indexed: false,
228
+ internalType: "enum ProtocolShareReserve.Schema",
229
+ name: "schema",
230
+ type: "uint8",
231
+ },
232
+ ],
233
+ name: "DistributionConfigUpdated",
234
+ type: "event",
235
+ },
236
+ {
237
+ anonymous: false,
238
+ inputs: [
239
+ {
240
+ indexed: false,
241
+ internalType: "uint8",
242
+ name: "version",
243
+ type: "uint8",
244
+ },
245
+ ],
246
+ name: "Initialized",
247
+ type: "event",
248
+ },
249
+ {
250
+ anonymous: false,
251
+ inputs: [
252
+ {
253
+ indexed: false,
254
+ internalType: "uint256",
255
+ name: "oldMaxLoopsLimit",
256
+ type: "uint256",
257
+ },
258
+ {
259
+ indexed: false,
260
+ internalType: "uint256",
261
+ name: "newmaxLoopsLimit",
262
+ type: "uint256",
263
+ },
264
+ ],
265
+ name: "MaxLoopsLimitUpdated",
266
+ type: "event",
267
+ },
268
+ {
269
+ anonymous: false,
270
+ inputs: [
271
+ {
272
+ indexed: false,
273
+ internalType: "address",
274
+ name: "oldAccessControlManager",
275
+ type: "address",
276
+ },
277
+ {
278
+ indexed: false,
279
+ internalType: "address",
280
+ name: "newAccessControlManager",
281
+ type: "address",
282
+ },
283
+ ],
284
+ name: "NewAccessControlManager",
285
+ type: "event",
286
+ },
287
+ {
288
+ anonymous: false,
289
+ inputs: [
290
+ {
291
+ indexed: true,
292
+ internalType: "address",
293
+ name: "previousOwner",
294
+ type: "address",
295
+ },
296
+ {
297
+ indexed: true,
298
+ internalType: "address",
299
+ name: "newOwner",
300
+ type: "address",
301
+ },
302
+ ],
303
+ name: "OwnershipTransferStarted",
304
+ type: "event",
305
+ },
306
+ {
307
+ anonymous: false,
308
+ inputs: [
309
+ {
310
+ indexed: true,
311
+ internalType: "address",
312
+ name: "previousOwner",
313
+ type: "address",
314
+ },
315
+ {
316
+ indexed: true,
317
+ internalType: "address",
318
+ name: "newOwner",
319
+ type: "address",
320
+ },
321
+ ],
322
+ name: "OwnershipTransferred",
323
+ type: "event",
324
+ },
325
+ {
326
+ anonymous: false,
327
+ inputs: [
328
+ {
329
+ indexed: true,
330
+ internalType: "address",
331
+ name: "oldPoolRegistry",
332
+ type: "address",
333
+ },
334
+ {
335
+ indexed: true,
336
+ internalType: "address",
337
+ name: "newPoolRegistry",
338
+ type: "address",
339
+ },
340
+ ],
341
+ name: "PoolRegistryUpdated",
342
+ type: "event",
343
+ },
344
+ {
345
+ anonymous: false,
346
+ inputs: [
347
+ {
348
+ indexed: true,
349
+ internalType: "address",
350
+ name: "asset",
351
+ type: "address",
352
+ },
353
+ {
354
+ indexed: false,
355
+ internalType: "bool",
356
+ name: "isPrimeAsset",
357
+ type: "bool",
358
+ },
359
+ ],
360
+ name: "PrimeAssetUpdated",
361
+ type: "event",
362
+ },
363
+ {
364
+ anonymous: false,
365
+ inputs: [
366
+ {
367
+ indexed: true,
368
+ internalType: "address",
369
+ name: "oldPrime",
370
+ type: "address",
371
+ },
372
+ {
373
+ indexed: true,
374
+ internalType: "address",
375
+ name: "newPrime",
376
+ type: "address",
377
+ },
378
+ ],
379
+ name: "PrimeUpdated",
380
+ type: "event",
381
+ },
382
+ {
383
+ anonymous: false,
384
+ inputs: [
385
+ {
386
+ indexed: true,
387
+ internalType: "address",
388
+ name: "comptroller",
389
+ type: "address",
390
+ },
391
+ {
392
+ indexed: true,
393
+ internalType: "address",
394
+ name: "asset",
395
+ type: "address",
396
+ },
397
+ {
398
+ indexed: false,
399
+ internalType: "enum ProtocolShareReserve.Schema",
400
+ name: "schema",
401
+ type: "uint8",
402
+ },
403
+ {
404
+ indexed: false,
405
+ internalType: "uint256",
406
+ name: "oldBalance",
407
+ type: "uint256",
408
+ },
409
+ {
410
+ indexed: false,
411
+ internalType: "uint256",
412
+ name: "newBalance",
413
+ type: "uint256",
414
+ },
415
+ ],
416
+ name: "ReservesUpdated",
417
+ type: "event",
418
+ },
419
+ {
420
+ inputs: [],
421
+ name: "CORE_POOL_COMPTROLLER",
422
+ outputs: [
423
+ {
424
+ internalType: "address",
425
+ name: "",
426
+ type: "address",
427
+ },
428
+ ],
429
+ stateMutability: "view",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [],
434
+ name: "WBNB",
435
+ outputs: [
436
+ {
437
+ internalType: "address",
438
+ name: "",
439
+ type: "address",
440
+ },
441
+ ],
442
+ stateMutability: "view",
443
+ type: "function",
444
+ },
445
+ {
446
+ inputs: [],
447
+ name: "acceptOwnership",
448
+ outputs: [],
449
+ stateMutability: "nonpayable",
450
+ type: "function",
451
+ },
452
+ {
453
+ inputs: [],
454
+ name: "accessControlManager",
455
+ outputs: [
456
+ {
457
+ internalType: "contract IAccessControlManagerV8",
458
+ name: "",
459
+ type: "address",
460
+ },
461
+ ],
462
+ stateMutability: "view",
463
+ type: "function",
464
+ },
465
+ {
466
+ inputs: [
467
+ {
468
+ internalType: "address",
469
+ name: "asset",
470
+ type: "address",
471
+ },
472
+ {
473
+ internalType: "bool",
474
+ name: "isPrimeAsset",
475
+ type: "bool",
476
+ },
477
+ ],
478
+ name: "addOrRemoveAssetFromPrime",
479
+ outputs: [],
480
+ stateMutability: "nonpayable",
481
+ type: "function",
482
+ },
483
+ {
484
+ inputs: [
485
+ {
486
+ components: [
487
+ {
488
+ internalType: "enum ProtocolShareReserve.Schema",
489
+ name: "schema",
490
+ type: "uint8",
491
+ },
492
+ {
493
+ internalType: "uint8",
494
+ name: "percentage",
495
+ type: "uint8",
496
+ },
497
+ {
498
+ internalType: "address",
499
+ name: "destination",
500
+ type: "address",
501
+ },
502
+ ],
503
+ internalType: "struct ProtocolShareReserve.DistributionConfig[]",
504
+ name: "configs",
505
+ type: "tuple[]",
506
+ },
507
+ ],
508
+ name: "addOrUpdateDistributionConfigs",
509
+ outputs: [],
510
+ stateMutability: "nonpayable",
511
+ type: "function",
512
+ },
513
+ {
514
+ inputs: [
515
+ {
516
+ internalType: "address",
517
+ name: "",
518
+ type: "address",
519
+ },
520
+ {
521
+ internalType: "address",
522
+ name: "",
523
+ type: "address",
524
+ },
525
+ {
526
+ internalType: "enum ProtocolShareReserve.Schema",
527
+ name: "",
528
+ type: "uint8",
529
+ },
530
+ ],
531
+ name: "assetsReserves",
532
+ outputs: [
533
+ {
534
+ internalType: "uint256",
535
+ name: "",
536
+ type: "uint256",
537
+ },
538
+ ],
539
+ stateMutability: "view",
540
+ type: "function",
541
+ },
542
+ {
543
+ inputs: [
544
+ {
545
+ internalType: "uint256",
546
+ name: "",
547
+ type: "uint256",
548
+ },
549
+ ],
550
+ name: "distributionTargets",
551
+ outputs: [
552
+ {
553
+ internalType: "enum ProtocolShareReserve.Schema",
554
+ name: "schema",
555
+ type: "uint8",
556
+ },
557
+ {
558
+ internalType: "uint8",
559
+ name: "percentage",
560
+ type: "uint8",
561
+ },
562
+ {
563
+ internalType: "address",
564
+ name: "destination",
565
+ type: "address",
566
+ },
567
+ ],
568
+ stateMutability: "view",
569
+ type: "function",
570
+ },
571
+ {
572
+ inputs: [
573
+ {
574
+ internalType: "address",
575
+ name: "destination",
576
+ type: "address",
577
+ },
578
+ {
579
+ internalType: "enum ProtocolShareReserve.Schema",
580
+ name: "schema",
581
+ type: "uint8",
582
+ },
583
+ ],
584
+ name: "getPercentageDistribution",
585
+ outputs: [
586
+ {
587
+ internalType: "uint256",
588
+ name: "",
589
+ type: "uint256",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [
597
+ {
598
+ internalType: "address",
599
+ name: "comptroller",
600
+ type: "address",
601
+ },
602
+ {
603
+ internalType: "enum ProtocolShareReserve.Schema",
604
+ name: "schema",
605
+ type: "uint8",
606
+ },
607
+ {
608
+ internalType: "address",
609
+ name: "destination",
610
+ type: "address",
611
+ },
612
+ {
613
+ internalType: "address",
614
+ name: "asset",
615
+ type: "address",
616
+ },
617
+ ],
618
+ name: "getUnreleasedFunds",
619
+ outputs: [
620
+ {
621
+ internalType: "uint256",
622
+ name: "",
623
+ type: "uint256",
624
+ },
625
+ ],
626
+ stateMutability: "view",
627
+ type: "function",
628
+ },
629
+ {
630
+ inputs: [
631
+ {
632
+ internalType: "address",
633
+ name: "_accessControlManager",
634
+ type: "address",
635
+ },
636
+ {
637
+ internalType: "uint256",
638
+ name: "_loopsLimit",
639
+ type: "uint256",
640
+ },
641
+ ],
642
+ name: "initialize",
643
+ outputs: [],
644
+ stateMutability: "nonpayable",
645
+ type: "function",
646
+ },
647
+ {
648
+ inputs: [
649
+ {
650
+ internalType: "address",
651
+ name: "",
652
+ type: "address",
653
+ },
654
+ ],
655
+ name: "isInPrime",
656
+ outputs: [
657
+ {
658
+ internalType: "bool",
659
+ name: "",
660
+ type: "bool",
661
+ },
662
+ ],
663
+ stateMutability: "view",
664
+ type: "function",
665
+ },
666
+ {
667
+ inputs: [],
668
+ name: "maxLoopsLimit",
669
+ outputs: [
670
+ {
671
+ internalType: "uint256",
672
+ name: "",
673
+ type: "uint256",
674
+ },
675
+ ],
676
+ stateMutability: "view",
677
+ type: "function",
678
+ },
679
+ {
680
+ inputs: [],
681
+ name: "owner",
682
+ outputs: [
683
+ {
684
+ internalType: "address",
685
+ name: "",
686
+ type: "address",
687
+ },
688
+ ],
689
+ stateMutability: "view",
690
+ type: "function",
691
+ },
692
+ {
693
+ inputs: [],
694
+ name: "pendingOwner",
695
+ outputs: [
696
+ {
697
+ internalType: "address",
698
+ name: "",
699
+ type: "address",
700
+ },
701
+ ],
702
+ stateMutability: "view",
703
+ type: "function",
704
+ },
705
+ {
706
+ inputs: [],
707
+ name: "poolRegistry",
708
+ outputs: [
709
+ {
710
+ internalType: "address",
711
+ name: "",
712
+ type: "address",
713
+ },
714
+ ],
715
+ stateMutability: "view",
716
+ type: "function",
717
+ },
718
+ {
719
+ inputs: [],
720
+ name: "prime",
721
+ outputs: [
722
+ {
723
+ internalType: "address",
724
+ name: "",
725
+ type: "address",
726
+ },
727
+ ],
728
+ stateMutability: "view",
729
+ type: "function",
730
+ },
731
+ {
732
+ inputs: [
733
+ {
734
+ internalType: "address",
735
+ name: "comptroller",
736
+ type: "address",
737
+ },
738
+ {
739
+ internalType: "address[]",
740
+ name: "assets",
741
+ type: "address[]",
742
+ },
743
+ ],
744
+ name: "releaseFunds",
745
+ outputs: [],
746
+ stateMutability: "nonpayable",
747
+ type: "function",
748
+ },
749
+ {
750
+ inputs: [
751
+ {
752
+ internalType: "enum ProtocolShareReserve.Schema",
753
+ name: "schema",
754
+ type: "uint8",
755
+ },
756
+ {
757
+ internalType: "address",
758
+ name: "destination",
759
+ type: "address",
760
+ },
761
+ ],
762
+ name: "removeDistributionConfig",
763
+ outputs: [],
764
+ stateMutability: "nonpayable",
765
+ type: "function",
766
+ },
767
+ {
768
+ inputs: [],
769
+ name: "renounceOwnership",
770
+ outputs: [],
771
+ stateMutability: "nonpayable",
772
+ type: "function",
773
+ },
774
+ {
775
+ inputs: [
776
+ {
777
+ internalType: "address",
778
+ name: "accessControlManager_",
779
+ type: "address",
780
+ },
781
+ ],
782
+ name: "setAccessControlManager",
783
+ outputs: [],
784
+ stateMutability: "nonpayable",
785
+ type: "function",
786
+ },
787
+ {
788
+ inputs: [
789
+ {
790
+ internalType: "address",
791
+ name: "_poolRegistry",
792
+ type: "address",
793
+ },
794
+ ],
795
+ name: "setPoolRegistry",
796
+ outputs: [],
797
+ stateMutability: "nonpayable",
798
+ type: "function",
799
+ },
800
+ {
801
+ inputs: [
802
+ {
803
+ internalType: "address",
804
+ name: "_prime",
805
+ type: "address",
806
+ },
807
+ ],
808
+ name: "setPrime",
809
+ outputs: [],
810
+ stateMutability: "nonpayable",
811
+ type: "function",
812
+ },
813
+ {
814
+ inputs: [
815
+ {
816
+ internalType: "address",
817
+ name: "",
818
+ type: "address",
819
+ },
820
+ ],
821
+ name: "totalAssetReserve",
822
+ outputs: [
823
+ {
824
+ internalType: "uint256",
825
+ name: "",
826
+ type: "uint256",
827
+ },
828
+ ],
829
+ stateMutability: "view",
830
+ type: "function",
831
+ },
832
+ {
833
+ inputs: [],
834
+ name: "totalDistributions",
835
+ outputs: [
836
+ {
837
+ internalType: "uint256",
838
+ name: "",
839
+ type: "uint256",
840
+ },
841
+ ],
842
+ stateMutability: "view",
843
+ type: "function",
844
+ },
845
+ {
846
+ inputs: [
847
+ {
848
+ internalType: "address",
849
+ name: "newOwner",
850
+ type: "address",
851
+ },
852
+ ],
853
+ name: "transferOwnership",
854
+ outputs: [],
855
+ stateMutability: "nonpayable",
856
+ type: "function",
857
+ },
858
+ {
859
+ inputs: [
860
+ {
861
+ internalType: "address",
862
+ name: "comptroller",
863
+ type: "address",
864
+ },
865
+ {
866
+ internalType: "address",
867
+ name: "asset",
868
+ type: "address",
869
+ },
870
+ {
871
+ internalType: "enum IProtocolShareReserve.IncomeType",
872
+ name: "incomeType",
873
+ type: "uint8",
874
+ },
875
+ ],
876
+ name: "updateAssetsState",
877
+ outputs: [],
878
+ stateMutability: "nonpayable",
879
+ type: "function",
880
+ },
881
+ {
882
+ inputs: [],
883
+ name: "vBNB",
884
+ outputs: [
885
+ {
886
+ internalType: "address",
887
+ name: "",
888
+ type: "address",
889
+ },
890
+ ],
891
+ stateMutability: "view",
892
+ type: "function",
893
+ },
894
+ ];
895
+
896
+ const _bytecode =
897
+ "0x60e06040523480156200001157600080fd5b50604051620037a0380380620037a08339810160408190526200003491620001b6565b6001600160a01b0383166200005c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216620000845760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038116620000ac5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0380841660805282811660a052811660c052620000cf620000d8565b50505062000200565b600054610100900460ff1615620001455760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000197576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b0381168114620001b157600080fd5b919050565b600080600060608486031215620001cc57600080fd5b620001d78462000199565b9250620001e76020850162000199565b9150620001f76040850162000199565b90509250925092565b60805160a05160c05161354d620002536000396000818161020e01526126e9015260008181610355015261272301526000818161043c015281816105660152818161185a0152611cf9015261354d6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c7ee005e11610097578063e30c397811610071578063e30c397814610413578063f2fde38b14610424578063fa7b81a014610437578063fc31116a1461045e57600080fd5b8063c7ee005e146103d9578063c9e18c6f146103ed578063cd6dc6871461040057600080fd5b8063aea21121116100d3578063aea211211461038a578063afcff50f146103ab578063b4a0bdf3146103bf578063be26317e146103d057600080fd5b80638da5cb5b1461033f5780638dd9500214610350578063966961f01461037757600080fd5b8063715018a611610166578063814d944611610140578063814d9446146102d2578063840a05e0146102e5578063893ffe98146102f85780638d904e891461030b57600080fd5b8063715018a6146102af57806379ba5097146102b75780637b77cd6a146102bf57600080fd5b806333e1567f116101a257806333e1567f14610209578063392ee712146102485780634f429f361461026a5780635db6da121461027d57600080fd5b80630e32cb86146101c9578063163db71b146101de57806316faecec146101f6575b600080fd5b6101dc6101d7366004612c4e565b610471565b005b610131545b6040519081526020015b60405180910390f35b6101dc610204366004612c78565b610485565b6102307f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ed565b61025b610256366004612cc3565b610834565b6040516101ed93929190612d42565b6101dc610278366004612d6f565b610871565b6101e361028b366004612c78565b61012f60209081526000938452604080852082529284528284209052825290205481565b6101dc610bae565b6101dc610bc2565b6101dc6102cd366004612c4e565b610c52565b6101dc6102e0366004612db6565b610d10565b6101dc6102f3366004612de4565b610e00565b6101e3610306366004612e59565b61114a565b61032f610319366004612c4e565b6101326020526000908152604090205460ff1681565b60405190151581526020016101ed565b6033546001600160a01b0316610230565b6102307f000000000000000000000000000000000000000000000000000000000000000081565b6101e3610385366004612eb5565b611269565b6101e3610398366004612c4e565b6101306020526000908152604090205481565b61012e54610230906001600160a01b031681565b6097546001600160a01b0316610230565b6101e360fb5481565b61012d54610230906001600160a01b031681565b6101dc6103fb366004612c4e565b61135b565b6101dc61040e366004612ee3565b611419565b6065546001600160a01b0316610230565b6101dc610432366004612c4e565b6115a4565b6102307f000000000000000000000000000000000000000000000000000000000000000081565b6101dc61046c366004612f0f565b61162d565b61047961168b565b610482816116e5565b50565b61048d6117db565b826001600160a01b0316627e3dd26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190612f97565b610524576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216610564576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561063d575061012e546040517f266e0a7f0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528481166024830152600092169063266e0a7f90604401602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190612fb4565b6001600160a01b0316145b15610674576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610681848484611834565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529091506000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156106e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107089190612fd1565b6001600160a01b0385166000908152610130602052604090205490915080821115610822576001600160a01b03808716600090815261012f6020908152604080832093891683529290529081208284039182919086600181111561076e5761076e612cdc565b600181111561077f5761077f612cdc565b8152602001908152602001600020600082825461079c9190613019565b90915550506001600160a01b03861660009081526101306020526040812080548392906107ca908490613019565b92505081905550856001600160a01b0316876001600160a01b03167fa46b2431e663cf7b50c9d5129aff85d2394ecfd447b7ccba83986510a9d945ea83888860405161081893929190613031565b60405180910390a3505b50505061082f600160c955565b505050565b610131818154811061084557600080fd5b60009182526020909120015460ff8082169250610100820416906201000090046001600160a01b031683565b6108926040518060600160405280602881526020016134bc602891396118c2565b600080805b6101315481101561093b57600061013182815481106108b8576108b861305e565b6000918252602090912001805490915060ff1660018111156108dc576108dc612cdc565b8660018111156108ee576108ee612cdc565b14801561090d575080546001600160a01b038681166201000090920416145b801561092057508054610100900460ff16155b1561093257600192508193505061093b565b50600101610897565b508015610ba05761013182815481106109565761095661305e565b9060005260206000200160000160029054906101000a90046001600160a01b03166001600160a01b03167f1ac2d5fa1b44dc6086053de4a872e5bcdf9a98e5069a325572aef982a1b743bb61013184815481106109b5576109b561305e565b9060005260206000200160000160019054906101000a900460ff1661013185815481106109e4576109e461305e565b600091825260209091200154604051610a01929160ff169061308d565b60405180910390a26101318054610a1a906001906130ad565b81548110610a2a57610a2a61305e565b906000526020600020016101318381548110610a4857610a4861305e565b60009182526020909120825491018054909160ff169082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610a9557610a95612cdc565b02179055508154815460ff61010092839004169091027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff82168117835592546001600160a01b03620100009182900416027fffffffffffffffffffff0000000000000000000000000000000000000000ffff9093167fffffffffffffffffffff000000000000000000000000000000000000000000ff90911617919091179055610131805480610b4757610b476130c4565b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffff000000000000000000000000000000000000000000001690550190555b610ba861198e565b50505050565b610bb661168b565b610bc06000611b5f565b565b60655433906001600160a01b03168114610c495760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61048281611b5f565b610c5a61168b565b6001600160a01b038116610c9a576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61012e546040516001600160a01b038084169216907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a361012e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610d31604051806060016040528060278152602001613495602791396118c2565b6001600160a01b038216610d71576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816001600160a01b03167fd3bc3456781fe4eb5565e91d1e1898b62fc4404636e2deb9e9d76f5a956ff3ac82604051610dae911515815260200190565b60405180910390a26001600160a01b039190911660009081526101326020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b610e086117db565b610e296040518060600160405280603481526020016134e4603491396118c2565b610e31611b90565b60005b81811015611126576000838383818110610e5057610e5061305e565b905060600201803603810190610e669190613171565b60408101519091506001600160a01b0316610ead576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013154600090815b81811015610fd85760006101318281548110610ed457610ed461305e565b6000918252602090912001805490915060ff166001811115610ef857610ef8612cdc565b85516001811115610f0b57610f0b612cdc565b148015610f2f5750604085015181546201000090046001600160a01b039081169116145b15610fcf5760408581015182546020880151885193516001600160a01b03909316937f7b9512a7d53862cbbb1d78873d1809728aa9241f63fdf818e3525869ab0d03ce93610f8793610100900460ff169291906131e9565b60405180910390a26020850151815460ff909116610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90911617905560019250610fd8565b50600101610eb6565b50816111185761013180546001818101835560009290925284517fbd987ad6ccdb7c7567f7335ea839f95dc944431abcf935b6924f70215963db739091018054869391929183917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690838181111561105357611053612cdc565b021790555060208281015182546040948501517fffffffffffffffffffff000000000000000000000000000000000000000000ff90911661010060ff909316929092027fffffffffffffffffffff0000000000000000000000000000000000000000ffff1691909117620100006001600160a01b03928316021790925585830151908601518651935191909216927fc4584834cab3196e27e1b931e874fecbfada0785b639b02ed649d08c8e3ca8579261110f9290919061308d565b60405180910390a25b836001019350505050610e34565b5061112f61198e565b6101315461113c90611d2a565b611146600160c955565b5050565b61013154600090815b8181101561125e57600061013182815481106111715761117161305e565b90600052602060002001905086600181111561118f5761118f612cdc565b815460ff1660018111156111a5576111a5612cdc565b1480156111c4575080546001600160a01b038781166201000090920416145b15611255576001600160a01b03808916600090815261012f6020908152604080832093891683529290529081208189600181111561120457611204612cdc565b600181111561121557611215612cdc565b8152602081019190915260400160002054825490915060649061124090610100900460ff1683613204565b61124a9190613241565b945050505050611261565b50600101611153565b50505b949350505050565b61013154600090815b8181101561135257600061013182815481106112905761129061305e565b60009182526020909120604080516060810190915291018054829060ff1660018111156112bf576112bf612cdc565b60018111156112d0576112d0612cdc565b81529054610100810460ff1660208301526201000090046001600160a01b03908116604092830152908201519192508781169116148015611333575084600181111561131e5761131e612cdc565b8151600181111561133157611331612cdc565b145b15611349576020015160ff169250611355915050565b50600101611272565b50505b92915050565b61136361168b565b6001600160a01b0381166113a3576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61012d546040516001600160a01b038084169216907f229f487e93a5313f6898190adf00c62e8b5d4c9c46249d31a9cd8a8024007bce90600090a361012d80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b600054610100900460ff16158080156114395750600054600160ff909116105b806114535750303b158015611453575060005460ff166001145b6114c55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610c40565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561152357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61152c83611d74565b611534611e02565b61153d82611e87565b801561082f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6115ac61168b565b606580546001600160a01b0383167fffffffffffffffffffffffff000000000000000000000000000000000000000090911681179091556115f56033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6116356117db565b61163d611f3c565b60005b81811015611680576116788484848481811061165e5761165e61305e565b90506020020160208101906116739190612c4e565b6120ac565b600101611640565b5061082f600160c955565b6033546001600160a01b03163314610bc05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c40565b6001600160a01b0381166117615760405162461bcd60e51b815260206004820152602560248201527f696e76616c696420616365737320636f6e74726f6c206d616e6167657220616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c40565b609780546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa091015b60405180910390a15050565b600260c9540361182d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c40565b600260c955565b6001600160a01b0382166000908152610132602052604081205460ff16801561188e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b80156118ab575060008260018111156118a9576118a9612cdc565b145b156118b4575060015b9392505050565b600160c955565b6097546040517f18c5e8ab0000000000000000000000000000000000000000000000000000000081526000916001600160a01b0316906318c5e8ab9061190e90339086906004016132f2565b602060405180830381865afa15801561192b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194f9190612f97565b905080611146573330836040517f4a3fa293000000000000000000000000000000000000000000000000000000008152600401610c4093929190613314565b600061199b600180613019565b905060008167ffffffffffffffff8111156119b8576119b86130f3565b6040519080825280602002602001820160405280156119e1578160200160208202803683370190505b506101315490915060005b81811015611ac75760006101318281548110611a0a57611a0a61305e565b60009182526020909120604080516060810190915291018054829060ff166001811115611a3957611a39612cdc565b6001811115611a4a57611a4a612cdc565b81529054610100810460ff16602080840191909152620100009091046001600160a01b031660409092019190915281015181519192509085906001811115611a9457611a94612cdc565b81518110611aa457611aa461305e565b60200260200101818151611ab89190613349565b60ff16905250506001016119ec565b5060005b83811015610ba857606460ff16838281518110611aea57611aea61305e565b602002602001015160ff1614158015611b205750828181518110611b1057611b1061305e565b602002602001015160ff16600014155b15611b57576040517f0b8ad7f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600101611acb565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556104828161267b565b61012d546001600160a01b0316611ba357565b61012d54604080517fb0772d0b00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163b0772d0b91600480830192869291908290030181865afa158015611c06573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c4c919081019061336e565b905060005b8151811015611146576000828281518110611c6e57611c6e61305e565b602090810291909101015161012d546040517f9198e5150000000000000000000000000000000000000000000000000000000081526001600160a01b038084166004830152929350911690639198e51590602401600060405180830381600087803b158015611cdc57600080fd5b505af1158015611cf0573d6000803e3d6000fd5b50505050611d217f0000000000000000000000000000000000000000000000000000000000000000611673836126e5565b50600101611c51565b60fb548111156104825760fb546040517ff257f636000000000000000000000000000000000000000000000000000000008152600481019190915260248101829052604401610c40565b600054610100900460ff16611df15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b611df96127a9565b6104828161282e565b600054610100900460ff16611e7f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b610bc06128ab565b60fb548111611efe5760405162461bcd60e51b815260206004820152602260248201527f436f6d7074726f6c6c65723a20496e76616c6964206d61784c6f6f70734c696d60448201527f69740000000000000000000000000000000000000000000000000000000000006064820152608401610c40565b60fb80549082905560408051828152602081018490527fc2d09fef144f7c8a86f71ea459f8fc17f675768eb1ae369cbd77fb31d467aafa91016117cf565b61012d546001600160a01b0316611f4f57565b61012d54604080517fb0772d0b00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163b0772d0b91600480830192869291908290030181865afa158015611fb2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ff8919081019061336e565b905060005b815181101561114657600082828151811061201a5761201a61305e565b602090810291909101015161012d546040517f9198e5150000000000000000000000000000000000000000000000000000000081526001600160a01b038084166004830152929350911690639198e51590602401600060405180830381600087803b15801561208857600080fd5b505af115801561209c573d6000803e3d6000fd5b5050505081600101915050611ffd565b60006120b9600180613019565b905060008167ffffffffffffffff8111156120d6576120d66130f3565b6040519080825280602002602001820160405280156120ff578160200160208202803683370190505b5090506000805b838110156121c7576001600160a01b03808716600090815261012f6020908152604080832093891683529290529081209082600181111561214957612149612cdc565b600181111561215a5761215a612cdc565b600181111561216b5761216b612cdc565b81526020019081526020016000205483828151811061218c5761218c61305e565b6020026020010181815250508281815181106121aa576121aa61305e565b6020026020010151826121bd9190613019565b9150600101612106565b50806000036121d7575050505050565b60008367ffffffffffffffff8111156121f2576121f26130f3565b60405190808252806020026020018201604052801561221b578160200160208202803683370190505b50905060005b6101315481101561244657600061013182815481106122425761224261305e565b60009182526020909120604080516060810190915291018054829060ff16600181111561227157612271612cdc565b600181111561228257612282612cdc565b81529054610100810460ff908116602080850191909152620100009092046001600160a01b031660409093019290925282015182519293506000926064929190911690889060018111156122d8576122d8612cdc565b815181106122e8576122e861305e565b60200260200101516122fa9190613204565b6123049190613241565b905080848360000151600181111561231e5761231e612cdc565b8151811061232e5761232e61305e565b602002602001018181516123429190613019565b905250604082015161235f906001600160a01b038a169083612928565b60408083015190517faac59a750000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301528a811660248301529091169063aac59a7590604401600060405180830381600087803b1580156123c957600080fd5b505af11580156123dd573d6000803e3d6000fd5b50505050876001600160a01b031682604001516001600160a01b03167f09f71e7b22d78540ee9a42f09917a9d62f46735cb0dfa70d6bab27866d9cb500846000015185602001518560405161243493929190613420565b60405180910390a35050600101612221565b5060008467ffffffffffffffff811115612462576124626130f3565b60405190808252806020026020018201604052801561248b578160200160208202803683370190505b50905060005b85811015612671578281815181106124ab576124ab61305e565b60200260200101518582815181106124c5576124c561305e565b60200260200101516124d791906130ad565b8282815181106124e9576124e961305e565b6020026020010181815250508181815181106125075761250761305e565b6020908102919091018101516001600160a01b03808b16600090815261012f84526040808220928c168252919093528220909183600181111561254c5761254c612cdc565b600181111561255d5761255d612cdc565b600181111561256e5761256e612cdc565b8152602001908152602001600020819055508281815181106125925761259261305e565b60200260200101516101306000896001600160a01b03166001600160a01b03168152602001908152602001600020546125cb91906130ad565b6001600160a01b038089166000818152610130602052604090209290925589167f7d881f3d6246a6a2b97b121b8ba093c17497912c68e8b2bca6108528e91df3ca83600181111561261e5761261e612cdc565b8885815181106126305761263061305e565b602002602001015186868151811061264a5761264a61305e565b602002602001015160405161266193929190613444565b60405180910390a3600101612491565b5050505050505050565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361274757507f0000000000000000000000000000000000000000000000000000000000000000919050565b816001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113559190612fb4565b600054610100900460ff166128265760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b610bc06129a8565b600054610100900460ff166104795760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b600054610100900460ff166118bb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261082f908490612a2e565b600054610100900460ff16612a255760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c40565b610bc033611b5f565b6000612a83826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b169092919063ffffffff16565b9050805160001480612aa4575080806020019051810190612aa49190612f97565b61082f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c40565b6060611261848460008585600080866001600160a01b03168587604051612b3d9190613465565b60006040518083038185875af1925050503d8060008114612b7a576040519150601f19603f3d011682016040523d82523d6000602084013e612b7f565b606091505b5091509150612b9087838387612b9b565b979650505050505050565b60608315612c0a578251600003612c03576001600160a01b0385163b612c035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c40565b5081611261565b6112618383815115612c1f5781518083602001fd5b8060405162461bcd60e51b8152600401610c409190613481565b6001600160a01b038116811461048257600080fd5b600060208284031215612c6057600080fd5b81356118b481612c39565b6002811061048257600080fd5b600080600060608486031215612c8d57600080fd5b8335612c9881612c39565b92506020840135612ca881612c39565b91506040840135612cb881612c6b565b809150509250925092565b600060208284031215612cd557600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110610482577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60608101612d4f85612d0b565b93815260ff9290921660208301526001600160a01b031660409091015290565b60008060408385031215612d8257600080fd5b8235612d8d81612c6b565b91506020830135612d9d81612c39565b809150509250929050565b801515811461048257600080fd5b60008060408385031215612dc957600080fd5b8235612dd481612c39565b91506020830135612d9d81612da8565b60008060208385031215612df757600080fd5b823567ffffffffffffffff80821115612e0f57600080fd5b818501915085601f830112612e2357600080fd5b813581811115612e3257600080fd5b866020606083028501011115612e4757600080fd5b60209290920196919550909350505050565b60008060008060808587031215612e6f57600080fd5b8435612e7a81612c39565b93506020850135612e8a81612c6b565b92506040850135612e9a81612c39565b91506060850135612eaa81612c39565b939692955090935050565b60008060408385031215612ec857600080fd5b8235612ed381612c39565b91506020830135612d9d81612c6b565b60008060408385031215612ef657600080fd5b8235612f0181612c39565b946020939093013593505050565b600080600060408486031215612f2457600080fd5b8335612f2f81612c39565b9250602084013567ffffffffffffffff80821115612f4c57600080fd5b818601915086601f830112612f6057600080fd5b813581811115612f6f57600080fd5b8760208260051b8501011115612f8457600080fd5b6020830194508093505050509250925092565b600060208284031215612fa957600080fd5b81516118b481612da8565b600060208284031215612fc657600080fd5b81516118b481612c39565b600060208284031215612fe357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561302c5761302c612fea565b500190565b8381526060810161304184612d0b565b83602083015261305083612d0b565b826040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60ff83168152604081016130a083612d0b565b8260208301529392505050565b6000828210156130bf576130bf612fea565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613169576131696130f3565b604052919050565b60006060828403121561318357600080fd5b6040516060810181811067ffffffffffffffff821117156131a6576131a66130f3565b60405282356131b481612c6b565b8152602083013560ff811681146131ca57600080fd5b602082015260408301356131dd81612c39565b60408201529392505050565b60ff8481168252831660208201526060810161305083612d0b565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561323c5761323c612fea565b500290565b600082613277577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561329757818101518382015260200161327f565b83811115610ba85750506000910152565b600081518084526132c081602086016020860161327c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b038316815260406020820152600061126160408301846132a8565b60006001600160a01b0380861683528085166020840152506060604083015261334060608301846132a8565b95945050505050565b600060ff821660ff84168060ff0382111561336657613366612fea565b019392505050565b6000602080838503121561338157600080fd5b825167ffffffffffffffff8082111561339957600080fd5b818501915085601f8301126133ad57600080fd5b8151818111156133bf576133bf6130f3565b8060051b91506133d0848301613122565b81815291830184019184810190888411156133ea57600080fd5b938501935b83851015613414578451925061340483612c39565b82825293850193908501906133ef565b98975050505050505050565b6060810161342d85612d0b565b93815260ff92909216602083015260409091015290565b6060810161345185612d0b565b938152602081019290925260409091015290565b6000825161347781846020870161327c565b9190910192915050565b6020815260006118b460208301846132a856fe6164644f7252656d6f7665417373657446726f6d5072696d6528616464726573732c626f6f6c2972656d6f7665446973747269627574696f6e436f6e66696728536368656d612c61646472657373296164644f72557064617465446973747269627574696f6e436f6e6669677328446973747269627574696f6e436f6e6669675b5d29a2646970667358221220f336b392ace6d189286ec8f9f736d886ad10ac943d130101f3b2efa5762cbadd64736f6c634300080d0033";
898
+
899
+ export class ProtocolShareReserve__factory extends ContractFactory {
900
+ constructor(
901
+ ...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
902
+ ) {
903
+ if (args.length === 1) {
904
+ super(_abi, _bytecode, args[0]);
905
+ } else {
906
+ super(...args);
907
+ }
908
+ }
909
+
910
+ deploy(
911
+ _corePoolComptroller: string,
912
+ _wbnb: string,
913
+ _vbnb: string,
914
+ overrides?: Overrides & { from?: string | Promise<string> }
915
+ ): Promise<ProtocolShareReserve> {
916
+ return super.deploy(
917
+ _corePoolComptroller,
918
+ _wbnb,
919
+ _vbnb,
920
+ overrides || {}
921
+ ) as Promise<ProtocolShareReserve>;
922
+ }
923
+ getDeployTransaction(
924
+ _corePoolComptroller: string,
925
+ _wbnb: string,
926
+ _vbnb: string,
927
+ overrides?: Overrides & { from?: string | Promise<string> }
928
+ ): TransactionRequest {
929
+ return super.getDeployTransaction(
930
+ _corePoolComptroller,
931
+ _wbnb,
932
+ _vbnb,
933
+ overrides || {}
934
+ );
935
+ }
936
+ attach(address: string): ProtocolShareReserve {
937
+ return super.attach(address) as ProtocolShareReserve;
938
+ }
939
+ connect(signer: Signer): ProtocolShareReserve__factory {
940
+ return super.connect(signer) as ProtocolShareReserve__factory;
941
+ }
942
+ static readonly bytecode = _bytecode;
943
+ static readonly abi = _abi;
944
+ static createInterface(): ProtocolShareReserveInterface {
945
+ return new utils.Interface(_abi) as ProtocolShareReserveInterface;
946
+ }
947
+ static connect(
948
+ address: string,
949
+ signerOrProvider: Signer | Provider
950
+ ): ProtocolShareReserve {
951
+ return new Contract(
952
+ address,
953
+ _abi,
954
+ signerOrProvider
955
+ ) as ProtocolShareReserve;
956
+ }
957
+ }