@venusprotocol/venus-protocol 10.1.0-slim-dev.6 → 10.1.0-slim-dev.7

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 (116) hide show
  1. package/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.json +2 -2
  2. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VBNBAdminStorage.json +2 -2
  3. package/artifacts/contracts/Comptroller/ComptrollerInterface.sol/ComptrollerInterface.json +65 -0
  4. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV10Storage.json +2 -2
  5. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV11Storage.json +2 -2
  6. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV12Storage.json +2 -2
  7. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV13Storage.json +2 -2
  8. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV14Storage.json +2 -2
  9. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV15Storage.json +2 -2
  10. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV16Storage.json +2 -2
  11. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV17Storage.json +2 -2
  12. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV18Storage.json +736 -0
  13. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV1Storage.json +2 -2
  14. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV2Storage.json +2 -2
  15. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV3Storage.json +2 -2
  16. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV4Storage.json +2 -2
  17. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV5Storage.json +2 -2
  18. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV6Storage.json +2 -2
  19. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV7Storage.json +2 -2
  20. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV8Storage.json +2 -2
  21. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/ComptrollerV9Storage.json +2 -2
  22. package/artifacts/contracts/Comptroller/ComptrollerStorage.sol/UnitrollerAdminStorage.json +2 -2
  23. package/artifacts/contracts/Comptroller/Diamond/Diamond.sol/Diamond.json +34 -2
  24. package/artifacts/contracts/Comptroller/Diamond/DiamondConsolidated.sol/DiamondConsolidated.json +310 -2
  25. package/artifacts/contracts/Comptroller/Diamond/facets/FacetBase.sol/FacetBase.json +128 -2
  26. package/artifacts/contracts/Comptroller/Diamond/facets/FlashLoanFacet.sol/FlashLoanFacet.json +1208 -0
  27. package/artifacts/contracts/Comptroller/Diamond/facets/MarketFacet.sol/MarketFacet.json +128 -2
  28. package/artifacts/contracts/Comptroller/Diamond/facets/PolicyFacet.sol/PolicyFacet.json +128 -2
  29. package/artifacts/contracts/Comptroller/Diamond/facets/RewardFacet.sol/RewardFacet.json +128 -2
  30. package/artifacts/contracts/Comptroller/Diamond/facets/SetterFacet.sol/SetterFacet.json +197 -2
  31. package/artifacts/contracts/Comptroller/Diamond/facets/XVSRewardsHelper.sol/XVSRewardsHelper.json +128 -2
  32. package/artifacts/contracts/Comptroller/Diamond/interfaces/IFlashLoanFacet.sol/IFlashLoanFacet.json +44 -0
  33. package/artifacts/contracts/Comptroller/Diamond/interfaces/ISetterFacet.sol/ISetterFacet.json +31 -0
  34. package/artifacts/contracts/Comptroller/Unitroller.sol/Unitroller.json +96 -2
  35. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV10StorageR1.json +2 -2
  36. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV11StorageR1.json +2 -2
  37. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV12StorageR1.json +2 -2
  38. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV13StorageR1.json +2 -2
  39. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV14StorageR1.json +2 -2
  40. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV15StorageR1.json +2 -2
  41. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV16StorageR1.json +2 -2
  42. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV1StorageR1.json +2 -2
  43. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV2StorageR1.json +2 -2
  44. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV3StorageR1.json +2 -2
  45. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV4StorageR1.json +2 -2
  46. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV5StorageR1.json +2 -2
  47. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV6StorageR1.json +2 -2
  48. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV7StorageR1.json +2 -2
  49. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV8StorageR1.json +2 -2
  50. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/ComptrollerV9StorageR1.json +2 -2
  51. package/artifacts/contracts/Comptroller/legacy/ComptrollerStorageR1.sol/UnitrollerAdminStorageR1.json +2 -2
  52. package/artifacts/contracts/Comptroller/legacy/Diamond/DiamondConsolidatedR1.sol/DiamondConsolidatedR1.json +96 -2
  53. package/artifacts/contracts/Comptroller/legacy/Diamond/DiamondR1.sol/DiamondR1.json +2 -2
  54. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/FacetBaseR1.sol/FacetBaseR1.json +96 -2
  55. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/MarketFacetR1.sol/MarketFacetR1.json +96 -2
  56. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/PolicyFacetR1.sol/PolicyFacetR1.json +96 -2
  57. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/RewardFacetR1.sol/RewardFacetR1.json +96 -2
  58. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/SetterFacetR1.sol/SetterFacetR1.json +96 -2
  59. package/artifacts/contracts/Comptroller/legacy/Diamond/facets/XVSRewardsHelperR1.sol/XVSRewardsHelperR1.json +96 -2
  60. package/artifacts/contracts/FlashLoan/interfaces/IFlashLoanReceiver.sol/IFlashLoanReceiver.json +60 -0
  61. package/artifacts/contracts/Lens/ComptrollerLens.sol/ComptrollerLens.json +96 -2
  62. package/artifacts/contracts/Lens/SnapshotLens.sol/SnapshotLens.json +2 -2
  63. package/artifacts/contracts/Lens/VenusLens.sol/VenusLens.json +2 -2
  64. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
  65. package/artifacts/contracts/Tokens/VAI/VAIController.sol/VAIController.json +2 -2
  66. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG1.json +2 -2
  67. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG2.json +2 -2
  68. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG3.json +2 -2
  69. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIControllerStorageG4.json +2 -2
  70. package/artifacts/contracts/Tokens/VAI/VAIControllerStorage.sol/VAIUnitrollerAdminStorage.json +2 -2
  71. package/artifacts/contracts/Tokens/VAI/VAIUnitroller.sol/VAIUnitroller.json +2 -2
  72. package/artifacts/contracts/Tokens/VTokens/VBNB.sol/VBNB.json +372 -2
  73. package/artifacts/contracts/Tokens/VTokens/VBep20.sol/VBep20.json +372 -2
  74. package/artifacts/contracts/Tokens/VTokens/VBep20Delegate.sol/VBep20Delegate.json +372 -2
  75. package/artifacts/contracts/Tokens/VTokens/VBep20Delegator.sol/VBep20Delegator.json +229 -2
  76. package/artifacts/contracts/Tokens/VTokens/VBep20Immutable.sol/VBep20Immutable.json +372 -2
  77. package/artifacts/contracts/Tokens/VTokens/VToken.sol/VToken.json +370 -0
  78. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenInterface.json +227 -0
  79. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenStorage.json +54 -2
  80. package/artifacts/contracts/Tokens/VTokens/VTokenInterfaces.sol/VTokenStorageBase.json +2 -2
  81. package/artifacts/contracts/Tokens/test/IERC20NonStandard.sol/IERC20NonStandard.json +182 -0
  82. package/artifacts/contracts/Utils/ErrorReporter.sol/ComptrollerErrorReporter.json +96 -2
  83. package/artifacts/contracts/Utils/ErrorReporter.sol/TokenErrorReporter.json +2 -2
  84. package/artifacts/contracts/Utils/ErrorReporter.sol/VAIControllerErrorReporter.json +2 -2
  85. package/artifacts/contracts/Utils/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +16 -0
  86. package/artifacts/contracts/Utils/TransientSlot.sol/TransientSlot.json +10 -0
  87. package/artifacts/contracts/test/BadFlashLoanReceiver.sol/BadFlashLoanReceiver.json +112 -0
  88. package/artifacts/contracts/test/BorrowDebtFlashLoanReceiver.sol/BorrowDebtFlashLoanReceiver.json +112 -0
  89. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +310 -2
  90. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +2 -2
  91. package/artifacts/contracts/test/ComptrollerMock.sol/ComptrollerMock.json +310 -2
  92. package/artifacts/contracts/test/ComptrollerMockR1.sol/ComptrollerMockR1.json +96 -2
  93. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +310 -2
  94. package/artifacts/contracts/test/DiamondHarness.sol/DiamondHarness.json +34 -2
  95. package/artifacts/contracts/test/EvilXDelegator.sol/EvilXDelegator.json +253 -2
  96. package/artifacts/contracts/test/EvilXToken.sol/EvilXToken.json +372 -2
  97. package/artifacts/contracts/test/EvilXToken.sol/VBep20Scenario.json +372 -2
  98. package/artifacts/contracts/test/FlashLoanReceiverBase.sol/FlashLoanReceiverBase.json +73 -0
  99. package/artifacts/contracts/test/InsufficientRepaymentFlashLoanReceiver.sol/InsufficientRepaymentFlashLoanReceiver.json +112 -0
  100. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
  101. package/artifacts/contracts/test/MockFlashLoanReceiver.sol/MockFlashLoanReceiver.json +112 -0
  102. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.json +2 -2
  103. package/artifacts/contracts/test/MockVBNB.sol/MockVBNB.json +372 -2
  104. package/artifacts/contracts/test/SimplePriceOracle.sol/SimplePriceOracle.json +2 -2
  105. package/artifacts/contracts/test/VAIControllerHarness.sol/VAIControllerHarness.json +2 -2
  106. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateHarness.json +372 -2
  107. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateScenario.json +372 -2
  108. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegateScenarioExtra.json +372 -2
  109. package/artifacts/contracts/test/VBep20Harness.sol/VBep20DelegatorScenario.json +213 -42
  110. package/artifacts/contracts/test/VBep20Harness.sol/VBep20Harness.json +372 -2
  111. package/artifacts/contracts/test/VBep20Harness.sol/VBep20Scenario.json +372 -2
  112. package/artifacts/contracts/test/VBep20Harness.sol/VEvil.json +372 -2
  113. package/artifacts/contracts/test/VBep20MockDelegate.sol/VBep20MockDelegate.json +372 -2
  114. package/deployments/bscmainnet_addresses.json +8 -7
  115. package/deployments/bsctestnet_addresses.json +8 -7
  116. package/package.json +3 -2
@@ -81,6 +81,45 @@
81
81
  "stateMutability": "view",
82
82
  "type": "function"
83
83
  },
84
+ {
85
+ "inputs": [],
86
+ "name": "flashLoanAmount",
87
+ "outputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "",
91
+ "type": "uint256"
92
+ }
93
+ ],
94
+ "stateMutability": "view",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "flashLoanFeeMantissa",
100
+ "outputs": [
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "flashLoanProtocolShareMantissa",
113
+ "outputs": [
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ },
84
123
  {
85
124
  "inputs": [],
86
125
  "name": "implementation",
@@ -107,6 +146,19 @@
107
146
  "stateMutability": "view",
108
147
  "type": "function"
109
148
  },
149
+ {
150
+ "inputs": [],
151
+ "name": "isFlashLoanEnabled",
152
+ "outputs": [
153
+ {
154
+ "internalType": "bool",
155
+ "name": "",
156
+ "type": "bool"
157
+ }
158
+ ],
159
+ "stateMutability": "view",
160
+ "type": "function"
161
+ },
110
162
  {
111
163
  "inputs": [],
112
164
  "name": "name",
@@ -251,8 +303,8 @@
251
303
  "type": "function"
252
304
  }
253
305
  ],
254
- "bytecode": "0x6080604052348015600e575f80fd5b506103ac8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220434b7fb32af1ef8ac76db6a0f81d90bd581b7277f3e89a1c983f8dcf268467f164736f6c63430008190033",
255
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220434b7fb32af1ef8ac76db6a0f81d90bd581b7277f3e89a1c983f8dcf268467f164736f6c63430008190033",
306
+ "bytecode": "0x6080604052348015600e575f80fd5b506104178061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c80636f307dc3116100bf578063ae96f14111610079578063ae96f14114610278578063b4a0bdf314610281578063d1109c2f14610294578063e9a44fd91461029d578063f3fdb15a146102b0578063f851a440146102c3575f80fd5b80636f307dc31461021e57806373843962146102315780638f840ddd1461023a57806395d89b4114610243578063aa5af0fd1461024b578063ae3fcb1f14610254575f80fd5b806328e2dc6c1161011057806328e2dc6c146101be578063313ce567146101c757806347bd3718146101e65780635c60da1b146101ef5780635fe3b567146102025780636c540baf14610215575f80fd5b806306fdde031461014c578063173b99041461016a57806318160ddd14610181578063217e7de21461018a5780632678224714610193575b5f80fd5b6101546102db565b6040516101619190610374565b60405180910390f35b61017360085481565b604051908152602001610161565b610173600d5481565b61017360185481565b6004546101a6906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b61017360175481565b6003546101d49060ff1681565b60405160ff9091168152602001610161565b610173600b5481565b6012546101a6906001600160a01b031681565b6005546101a6906001600160a01b031681565b61017360095481565b6011546101a6906001600160a01b031681565b61017360195481565b610173600c5481565b610154610367565b610173600a5481565b60165461026890600160a01b900460ff1681565b6040519015158152602001610161565b61017360145481565b6016546101a6906001600160a01b031681565b61017360135481565b6015546101a6906001600160a01b031681565b6006546101a6906001600160a01b031681565b6003546101a69061010090046001600160a01b031681565b600180546102e8906103a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610314906103a9565b801561035f5780601f106103365761010080835404028352916020019161035f565b820191905f5260205f20905b81548152906001019060200180831161034257829003601f168201915b505050505081565b600280546102e8906103a9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c908216806103bd57607f821691505b6020821081036103db57634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220803e8e233f3546d2cf43968b52af52f38d9b85f38a3e393e6fae4c658d513d6d64736f6c63430008190033",
307
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610148575f3560e01c80636f307dc3116100bf578063ae96f14111610079578063ae96f14114610278578063b4a0bdf314610281578063d1109c2f14610294578063e9a44fd91461029d578063f3fdb15a146102b0578063f851a440146102c3575f80fd5b80636f307dc31461021e57806373843962146102315780638f840ddd1461023a57806395d89b4114610243578063aa5af0fd1461024b578063ae3fcb1f14610254575f80fd5b806328e2dc6c1161011057806328e2dc6c146101be578063313ce567146101c757806347bd3718146101e65780635c60da1b146101ef5780635fe3b567146102025780636c540baf14610215575f80fd5b806306fdde031461014c578063173b99041461016a57806318160ddd14610181578063217e7de21461018a5780632678224714610193575b5f80fd5b6101546102db565b6040516101619190610374565b60405180910390f35b61017360085481565b604051908152602001610161565b610173600d5481565b61017360185481565b6004546101a6906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b61017360175481565b6003546101d49060ff1681565b60405160ff9091168152602001610161565b610173600b5481565b6012546101a6906001600160a01b031681565b6005546101a6906001600160a01b031681565b61017360095481565b6011546101a6906001600160a01b031681565b61017360195481565b610173600c5481565b610154610367565b610173600a5481565b60165461026890600160a01b900460ff1681565b6040519015158152602001610161565b61017360145481565b6016546101a6906001600160a01b031681565b61017360135481565b6015546101a6906001600160a01b031681565b6006546101a6906001600160a01b031681565b6003546101a69061010090046001600160a01b031681565b600180546102e8906103a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610314906103a9565b801561035f5780601f106103365761010080835404028352916020019161035f565b820191905f5260205f20905b81548152906001019060200180831161034257829003601f168201915b505050505081565b600280546102e8906103a9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c908216806103bd57607f821691505b6020821081036103db57634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220803e8e233f3546d2cf43968b52af52f38d9b85f38a3e393e6fae4c658d513d6d64736f6c63430008190033",
256
308
  "linkReferences": {},
257
309
  "deployedLinkReferences": {}
258
310
  }
@@ -251,8 +251,8 @@
251
251
  "type": "function"
252
252
  }
253
253
  ],
254
- "bytecode": "0x6080604052348015600e575f80fd5b506103ac8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220a3874f9fcb39eee8a8f1c7159abfd5f7cda1b99890038591ad707880800e415764736f6c63430008190033",
255
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220a3874f9fcb39eee8a8f1c7159abfd5f7cda1b99890038591ad707880800e415764736f6c63430008190033",
254
+ "bytecode": "0x6080604052348015600e575f80fd5b506103ac8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220dc83ba6562e4abe052e06794970e8dfd4bcfa643c4af710ad7822d1df77f125e64736f6c63430008190033",
255
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636f307dc3116100a9578063b4a0bdf31161006e578063b4a0bdf314610216578063d1109c2f14610229578063e9a44fd914610232578063f3fdb15a14610245578063f851a44014610258575f80fd5b80636f307dc3146101e05780638f840ddd146101f357806395d89b41146101fc578063aa5af0fd14610204578063ae96f1411461020d575f80fd5b8063313ce567116100ef578063313ce5671461018957806347bd3718146101a85780635c60da1b146101b15780635fe3b567146101c45780636c540baf146101d7575f80fd5b806306fdde0314610120578063173b99041461013e57806318160ddd14610155578063267822471461015e575b5f80fd5b610128610270565b6040516101359190610309565b60405180910390f35b61014760085481565b604051908152602001610135565b610147600d5481565b600454610171906001600160a01b031681565b6040516001600160a01b039091168152602001610135565b6003546101969060ff1681565b60405160ff9091168152602001610135565b610147600b5481565b601254610171906001600160a01b031681565b600554610171906001600160a01b031681565b61014760095481565b601154610171906001600160a01b031681565b610147600c5481565b6101286102fc565b610147600a5481565b61014760145481565b601654610171906001600160a01b031681565b61014760135481565b601554610171906001600160a01b031681565b600654610171906001600160a01b031681565b6003546101719061010090046001600160a01b031681565b6001805461027d9061033e565b80601f01602080910402602001604051908101604052809291908181526020018280546102a99061033e565b80156102f45780601f106102cb576101008083540402835291602001916102f4565b820191905f5260205f20905b8154815290600101906020018083116102d757829003601f168201915b505050505081565b6002805461027d9061033e565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b600181811c9082168061035257607f821691505b60208210810361037057634e487b7160e01b5f52602260045260245ffd5b5091905056fea2646970667358221220dc83ba6562e4abe052e06794970e8dfd4bcfa643c4af710ad7822d1df77f125e64736f6c63430008190033",
256
256
  "linkReferences": {},
257
257
  "deployedLinkReferences": {}
258
258
  }
@@ -0,0 +1,182 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IERC20NonStandard",
4
+ "sourceName": "contracts/Tokens/test/IERC20NonStandard.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "owner",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "spender",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "amount",
25
+ "type": "uint256"
26
+ }
27
+ ],
28
+ "name": "Approval",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "from",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "to",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "amount",
50
+ "type": "uint256"
51
+ }
52
+ ],
53
+ "name": "Transfer",
54
+ "type": "event"
55
+ },
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "address",
60
+ "name": "owner",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "internalType": "address",
65
+ "name": "spender",
66
+ "type": "address"
67
+ }
68
+ ],
69
+ "name": "allowance",
70
+ "outputs": [
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "remaining",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "stateMutability": "view",
78
+ "type": "function"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "spender",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "amount",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "approve",
94
+ "outputs": [
95
+ {
96
+ "internalType": "bool",
97
+ "name": "success",
98
+ "type": "bool"
99
+ }
100
+ ],
101
+ "stateMutability": "nonpayable",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "owner",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "balanceOf",
113
+ "outputs": [
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "balance",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "totalSupply",
126
+ "outputs": [
127
+ {
128
+ "internalType": "uint256",
129
+ "name": "",
130
+ "type": "uint256"
131
+ }
132
+ ],
133
+ "stateMutability": "view",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "address",
140
+ "name": "dst",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "amount",
146
+ "type": "uint256"
147
+ }
148
+ ],
149
+ "name": "transfer",
150
+ "outputs": [],
151
+ "stateMutability": "nonpayable",
152
+ "type": "function"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "src",
159
+ "type": "address"
160
+ },
161
+ {
162
+ "internalType": "address",
163
+ "name": "dst",
164
+ "type": "address"
165
+ },
166
+ {
167
+ "internalType": "uint256",
168
+ "name": "amount",
169
+ "type": "uint256"
170
+ }
171
+ ],
172
+ "name": "transferFrom",
173
+ "outputs": [],
174
+ "stateMutability": "nonpayable",
175
+ "type": "function"
176
+ }
177
+ ],
178
+ "bytecode": "0x",
179
+ "deployedBytecode": "0x",
180
+ "linkReferences": {},
181
+ "deployedLinkReferences": {}
182
+ }
@@ -23,6 +23,26 @@
23
23
  "name": "EmptyPoolLabel",
24
24
  "type": "error"
25
25
  },
26
+ {
27
+ "inputs": [],
28
+ "name": "ExecuteFlashLoanFailed",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "FailedToCreateDebtPosition",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "FlashLoanNotEnabled",
39
+ "type": "error"
40
+ },
41
+ {
42
+ "inputs": [],
43
+ "name": "FlashLoanPausedSystemWide",
44
+ "type": "error"
45
+ },
26
46
  {
27
47
  "inputs": [
28
48
  {
@@ -39,6 +59,16 @@
39
59
  "name": "IncompatibleBorrowedAssets",
40
60
  "type": "error"
41
61
  },
62
+ {
63
+ "inputs": [],
64
+ "name": "InvalidAmount",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "InvalidFlashLoanParams",
70
+ "type": "error"
71
+ },
42
72
  {
43
73
  "inputs": [],
44
74
  "name": "InvalidOperationForCorePool",
@@ -92,11 +122,48 @@
92
122
  "name": "MarketConfigNotFound",
93
123
  "type": "error"
94
124
  },
125
+ {
126
+ "inputs": [
127
+ {
128
+ "internalType": "address",
129
+ "name": "vToken",
130
+ "type": "address"
131
+ }
132
+ ],
133
+ "name": "MarketNotListed",
134
+ "type": "error"
135
+ },
95
136
  {
96
137
  "inputs": [],
97
138
  "name": "MarketNotListedInCorePool",
98
139
  "type": "error"
99
140
  },
141
+ {
142
+ "inputs": [],
143
+ "name": "NoAssetsRequested",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "NotAnApprovedDelegate",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [
153
+ {
154
+ "internalType": "uint256",
155
+ "name": "repaid",
156
+ "type": "uint256"
157
+ },
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "required",
161
+ "type": "uint256"
162
+ }
163
+ ],
164
+ "name": "NotEnoughRepayment",
165
+ "type": "error"
166
+ },
100
167
  {
101
168
  "inputs": [
102
169
  {
@@ -124,6 +191,33 @@
124
191
  "name": "PoolMarketNotFound",
125
192
  "type": "error"
126
193
  },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "address",
198
+ "name": "sender",
199
+ "type": "address"
200
+ }
201
+ ],
202
+ "name": "SenderNotAuthorizedForFlashLoan",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [
207
+ {
208
+ "internalType": "uint256",
209
+ "name": "requested",
210
+ "type": "uint256"
211
+ },
212
+ {
213
+ "internalType": "uint256",
214
+ "name": "maximum",
215
+ "type": "uint256"
216
+ }
217
+ ],
218
+ "name": "TooManyAssetsRequested",
219
+ "type": "error"
220
+ },
127
221
  {
128
222
  "anonymous": false,
129
223
  "inputs": [
@@ -150,8 +244,8 @@
150
244
  "type": "event"
151
245
  }
152
246
  ],
153
- "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212202ade9b5aee6169ab16e6bac4751849a79c3b61e2aeca0397a204aef05af8254064736f6c63430008190033",
154
- "deployedBytecode": "0x60806040525f80fdfea26469706673582212202ade9b5aee6169ab16e6bac4751849a79c3b61e2aeca0397a204aef05af8254064736f6c63430008190033",
247
+ "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea2646970667358221220be0142d1f56f20387db3408c5fd6251f094cf378be443c810929df795832e9e264736f6c63430008190033",
248
+ "deployedBytecode": "0x60806040525f80fdfea2646970667358221220be0142d1f56f20387db3408c5fd6251f094cf378be443c810929df795832e9e264736f6c63430008190033",
155
249
  "linkReferences": {},
156
250
  "deployedLinkReferences": {}
157
251
  }
@@ -29,8 +29,8 @@
29
29
  "type": "event"
30
30
  }
31
31
  ],
32
- "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea264697066735822122098c244a55e4d0890830d946e4fb18cffa61ac78b493a433680c0bfc841ba8ce864736f6c63430008190033",
33
- "deployedBytecode": "0x60806040525f80fdfea264697066735822122098c244a55e4d0890830d946e4fb18cffa61ac78b493a433680c0bfc841ba8ce864736f6c63430008190033",
32
+ "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212200a1b9e403d7dbf1e7222145a5c5faacab89f286df48db2c77e6374d2c6248a5a64736f6c63430008190033",
33
+ "deployedBytecode": "0x60806040525f80fdfea26469706673582212200a1b9e403d7dbf1e7222145a5c5faacab89f286df48db2c77e6374d2c6248a5a64736f6c63430008190033",
34
34
  "linkReferences": {},
35
35
  "deployedLinkReferences": {}
36
36
  }
@@ -29,8 +29,8 @@
29
29
  "type": "event"
30
30
  }
31
31
  ],
32
- "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea26469706673582212200c1124e9250de85679fef0ac25c12c085b0b81bf00d04cd565da41be69d7b83c64736f6c63430008190033",
33
- "deployedBytecode": "0x60806040525f80fdfea26469706673582212200c1124e9250de85679fef0ac25c12c085b0b81bf00d04cd565da41be69d7b83c64736f6c63430008190033",
32
+ "bytecode": "0x6080604052348015600e575f80fd5b50603e80601a5f395ff3fe60806040525f80fdfea264697066735822122080aa443af1e6901e424c82226ebba5a4f31bf82ddb49b84e95ed5a2e51cfac9764736f6c63430008190033",
33
+ "deployedBytecode": "0x60806040525f80fdfea264697066735822122080aa443af1e6901e424c82226ebba5a4f31bf82ddb49b84e95ed5a2e51cfac9764736f6c63430008190033",
34
34
  "linkReferences": {},
35
35
  "deployedLinkReferences": {}
36
36
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ReentrancyGuardTransient",
4
+ "sourceName": "contracts/Utils/ReentrancyGuardTransient.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ReentrancyGuardReentrantCall",
9
+ "type": "error"
10
+ }
11
+ ],
12
+ "bytecode": "0x",
13
+ "deployedBytecode": "0x",
14
+ "linkReferences": {},
15
+ "deployedLinkReferences": {}
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "TransientSlot",
4
+ "sourceName": "contracts/Utils/TransientSlot.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220be1029fbe7a3723da3c189051bbd7dd0812d008638c24891b166a18500814be764736f6c63430008190033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220be1029fbe7a3723da3c189051bbd7dd0812d008638c24891b166a18500814be764736f6c63430008190033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {}
10
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BadFlashLoanReceiver",
4
+ "sourceName": "contracts/test/BadFlashLoanReceiver.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract ComptrollerInterface",
10
+ "name": "comptroller",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "COMPTROLLER",
20
+ "outputs": [
21
+ {
22
+ "internalType": "contract ComptrollerInterface",
23
+ "name": "",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "stateMutability": "view",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [
32
+ {
33
+ "internalType": "contract VToken[]",
34
+ "name": "",
35
+ "type": "address[]"
36
+ },
37
+ {
38
+ "internalType": "uint256[]",
39
+ "name": "",
40
+ "type": "uint256[]"
41
+ },
42
+ {
43
+ "internalType": "uint256[]",
44
+ "name": "",
45
+ "type": "uint256[]"
46
+ },
47
+ {
48
+ "internalType": "address",
49
+ "name": "",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "internalType": "address",
54
+ "name": "",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "bytes",
59
+ "name": "",
60
+ "type": "bytes"
61
+ }
62
+ ],
63
+ "name": "executeOperation",
64
+ "outputs": [
65
+ {
66
+ "internalType": "bool",
67
+ "name": "",
68
+ "type": "bool"
69
+ },
70
+ {
71
+ "internalType": "uint256[]",
72
+ "name": "",
73
+ "type": "uint256[]"
74
+ }
75
+ ],
76
+ "stateMutability": "nonpayable",
77
+ "type": "function"
78
+ },
79
+ {
80
+ "inputs": [
81
+ {
82
+ "internalType": "contract VToken[]",
83
+ "name": "assets",
84
+ "type": "address[]"
85
+ },
86
+ {
87
+ "internalType": "uint256[]",
88
+ "name": "amounts",
89
+ "type": "uint256[]"
90
+ },
91
+ {
92
+ "internalType": "address payable",
93
+ "name": "receiver",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "bytes",
98
+ "name": "param",
99
+ "type": "bytes"
100
+ }
101
+ ],
102
+ "name": "requestFlashLoan",
103
+ "outputs": [],
104
+ "stateMutability": "nonpayable",
105
+ "type": "function"
106
+ }
107
+ ],
108
+ "bytecode": "0x6080604052348015600e575f80fd5b5060405161054e38038061054e833981016040819052602b91604e565b5f80546001600160a01b0319166001600160a01b03929092169190911790556079565b5f60208284031215605d575f80fd5b81516001600160a01b03811681146072575f80fd5b9392505050565b6104c8806100865f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80635f82c67e14610043578063e99046b914610072578063fc08f9f614610087575b5f80fd5b5f54610055906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100856100803660046101d3565b6100c3565b005b6100b561009536600461028a565b5050604080515f8082526020820190925290999098509650505050505050565b60405161006992919061036b565b5f546040516315513b6760e21b81526001600160a01b0390911690635544ed9c9061010090339087908c908c908c908c908b908b906004016103e3565b5f604051808303815f87803b158015610117575f80fd5b505af1158015610129573d5f803e3d5ffd5b5050505050505050505050565b5f8083601f840112610146575f80fd5b50813567ffffffffffffffff81111561015d575f80fd5b6020830191508360208260051b8501011115610177575f80fd5b9250929050565b6001600160a01b0381168114610192575f80fd5b50565b5f8083601f8401126101a5575f80fd5b50813567ffffffffffffffff8111156101bc575f80fd5b602083019150836020828501011115610177575f80fd5b5f805f805f805f6080888a0312156101e9575f80fd5b873567ffffffffffffffff80821115610200575f80fd5b61020c8b838c01610136565b909950975060208a0135915080821115610224575f80fd5b6102308b838c01610136565b909750955060408a013591506102458261017e565b9093506060890135908082111561025a575f80fd5b506102678a828b01610195565b989b979a50959850939692959293505050565b80356102858161017e565b919050565b5f805f805f805f805f8060c08b8d0312156102a3575f80fd5b8a3567ffffffffffffffff808211156102ba575f80fd5b6102c68e838f01610136565b909c509a5060208d01359150808211156102de575f80fd5b6102ea8e838f01610136565b909a50985060408d0135915080821115610302575f80fd5b61030e8e838f01610136565b909850965086915061032260608e0161027a565b955061033060808e0161027a565b945060a08d0135915080821115610345575f80fd5b506103528d828e01610195565b915080935050809150509295989b9194979a5092959850565b5f6040820184151583526020604060208501528185518084526060860191506020870193505f5b818110156103ae57845183529383019391830191600101610392565b5090979650505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03898116825288811660208084019190915260a06040840181905283018890525f91899160c08501845b8b81101561043b5784356104278161017e565b841682529382019390820190600101610414565b5085810360608701528881526001600160fb1b0389111561045a575f80fd5b8860051b9350838a83830137909201848103830160808601529161048181840187896103bb565b9d9c5050505050505050505050505056fea26469706673582212206aabe3bedcc4349f123f914d26aa353bae5c87d3b349aef9419985ad535cc21964736f6c63430008190033",
109
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c80635f82c67e14610043578063e99046b914610072578063fc08f9f614610087575b5f80fd5b5f54610055906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100856100803660046101d3565b6100c3565b005b6100b561009536600461028a565b5050604080515f8082526020820190925290999098509650505050505050565b60405161006992919061036b565b5f546040516315513b6760e21b81526001600160a01b0390911690635544ed9c9061010090339087908c908c908c908c908b908b906004016103e3565b5f604051808303815f87803b158015610117575f80fd5b505af1158015610129573d5f803e3d5ffd5b5050505050505050505050565b5f8083601f840112610146575f80fd5b50813567ffffffffffffffff81111561015d575f80fd5b6020830191508360208260051b8501011115610177575f80fd5b9250929050565b6001600160a01b0381168114610192575f80fd5b50565b5f8083601f8401126101a5575f80fd5b50813567ffffffffffffffff8111156101bc575f80fd5b602083019150836020828501011115610177575f80fd5b5f805f805f805f6080888a0312156101e9575f80fd5b873567ffffffffffffffff80821115610200575f80fd5b61020c8b838c01610136565b909950975060208a0135915080821115610224575f80fd5b6102308b838c01610136565b909750955060408a013591506102458261017e565b9093506060890135908082111561025a575f80fd5b506102678a828b01610195565b989b979a50959850939692959293505050565b80356102858161017e565b919050565b5f805f805f805f805f8060c08b8d0312156102a3575f80fd5b8a3567ffffffffffffffff808211156102ba575f80fd5b6102c68e838f01610136565b909c509a5060208d01359150808211156102de575f80fd5b6102ea8e838f01610136565b909a50985060408d0135915080821115610302575f80fd5b61030e8e838f01610136565b909850965086915061032260608e0161027a565b955061033060808e0161027a565b945060a08d0135915080821115610345575f80fd5b506103528d828e01610195565b915080935050809150509295989b9194979a5092959850565b5f6040820184151583526020604060208501528185518084526060860191506020870193505f5b818110156103ae57845183529383019391830191600101610392565b5090979650505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03898116825288811660208084019190915260a06040840181905283018890525f91899160c08501845b8b81101561043b5784356104278161017e565b841682529382019390820190600101610414565b5085810360608701528881526001600160fb1b0389111561045a575f80fd5b8860051b9350838a83830137909201848103830160808601529161048181840187896103bb565b9d9c5050505050505050505050505056fea26469706673582212206aabe3bedcc4349f123f914d26aa353bae5c87d3b349aef9419985ad535cc21964736f6c63430008190033",
110
+ "linkReferences": {},
111
+ "deployedLinkReferences": {}
112
+ }