@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
@@ -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": [
@@ -347,6 +441,25 @@
347
441
  "stateMutability": "view",
348
442
  "type": "function"
349
443
  },
444
+ {
445
+ "inputs": [
446
+ {
447
+ "internalType": "address",
448
+ "name": "",
449
+ "type": "address"
450
+ }
451
+ ],
452
+ "name": "authorizedFlashLoan",
453
+ "outputs": [
454
+ {
455
+ "internalType": "bool",
456
+ "name": "",
457
+ "type": "bool"
458
+ }
459
+ ],
460
+ "stateMutability": "view",
461
+ "type": "function"
462
+ },
350
463
  {
351
464
  "inputs": [],
352
465
  "name": "borrowCapGuardian",
@@ -431,6 +544,19 @@
431
544
  "stateMutability": "view",
432
545
  "type": "function"
433
546
  },
547
+ {
548
+ "inputs": [],
549
+ "name": "flashLoanPaused",
550
+ "outputs": [
551
+ {
552
+ "internalType": "bool",
553
+ "name": "",
554
+ "type": "bool"
555
+ }
556
+ ],
557
+ "stateMutability": "view",
558
+ "type": "function"
559
+ },
434
560
  {
435
561
  "inputs": [
436
562
  {
@@ -1024,8 +1150,8 @@
1024
1150
  "type": "function"
1025
1151
  }
1026
1152
  ],
1027
- "bytecode": "0x6080604052348015600e575f80fd5b50610abf8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061028c575f3560e01c80639254f5e511610161578063c5f956af116100ca578063e37d4b7911610084578063e37d4b79146106e5578063e85a29601461071c578063e87554461461072f578063f445d70314610738578063f851a44014610765578063fa6331d814610777575f80fd5b8063c5f956af1461067f578063c7ee005e14610692578063d3270f99146106a5578063d463654c146106b8578063dce15449146106bf578063dcfbc0c7146106d2575f80fd5b8063b8324c7c1161011b578063b8324c7c146105aa578063bb82aa5e14610605578063bbb8864a14610618578063bec04f7214610637578063bf32442d14610640578063c5b4db5514610651575f80fd5b80639254f5e51461053357806394b2294b1461054657806396c990641461054f5780639bb27d6214610571578063a657e57914610584578063b2eafc3914610597575f80fd5b8063425fad581161020357806373769099116101bd578063737690991461047a57806376551383146104ba5780637d172bd5146104cc5780637dc0d1d0146104df5780638a7dc165146104f25780638c1ac18a14610511575f80fd5b8063425fad58146103e25780634a584432146103f55780634d99c7761461041457806352d84d1e1461043f5780635dd3fc9d14610452578063719f701b14610471575f80fd5b806321af45691161025457806321af45691461033b57806324a3d6221461036657806326782247146103795780632bc7e29e1461038c5780634088c73e146103ab57806341a18d2c146103b8575f80fd5b806302c3bcbb1461029057806304ef9d58146102c257806308e0225c146102cb5780630db4b4e5146102f557806310b98338146102fe575b5f80fd5b6102af61029e3660046108e8565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102af60225481565b6102af6102d9366004610908565b601360209081525f928352604080842090915290825290205481565b6102af601d5481565b61032b61030c366004610908565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102b9565b601e5461034e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b600a5461034e906001600160a01b031681565b60015461034e906001600160a01b031681565b6102af61039a3660046108e8565b60166020525f908152604090205481565b60185461032b9060ff1681565b6102af6103c6366004610908565b601260209081525f928352604080842090915290825290205481565b60185461032b9062010000900460ff1681565b6102af6104033660046108e8565b601f6020525f908152604090205481565b6102af61042236600461094f565b6001600160a01b031660a09190911b6001600160a01b0319161790565b61034e61044d366004610969565b610780565b6102af6104603660046108e8565b602b6020525f908152604090205481565b6102af601c5481565b6104a26104883660046108e8565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102b9565b60185461032b90610100900460ff1681565b601b5461034e906001600160a01b031681565b60045461034e906001600160a01b031681565b6102af6105003660046108e8565b60146020525f908152604090205481565b61032b61051f3660046108e8565b602d6020525f908152604090205460ff1681565b60155461034e906001600160a01b031681565b6102af60075481565b61056261055d366004610980565b6107a8565b6040516102b993929190610999565b60255461034e906001600160a01b031681565b6037546104a2906001600160601b031681565b60205461034e906001600160a01b031681565b6105e16105b83660046108e8565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102b9565b60025461034e906001600160a01b031681565b6102af6106263660046108e8565b602a6020525f908152604090205481565b6102af60175481565b6033546001600160a01b031661034e565b6106676ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102b9565b60215461034e906001600160a01b031681565b60315461034e906001600160a01b031681565b60265461034e906001600160a01b031681565b6104a25f81565b61034e6106cd3660046109dd565b610855565b60035461034e906001600160a01b031681565b6105e16106f33660046108e8565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61032b61072a366004610a05565b610889565b6102af60055481565b61032b610746366004610908565b603260209081525f928352604080842090915290825290205460ff1681565b5f5461034e906001600160a01b031681565b6102af601a5481565b600d818154811061078f575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f90815260409020805481906107c290610a3d565b80601f01602080910402602001604051908101604052809291908181526020018280546107ee90610a3d565b80156108395780601f1061081057610100808354040283529160200191610839565b820191905f5260205f20905b81548152906001019060200180831161081c57829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f20818154811061086e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f908152602960205260408120818360088111156108b3576108b3610a75565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b03811681146108e3575f80fd5b919050565b5f602082840312156108f8575f80fd5b610901826108cd565b9392505050565b5f8060408385031215610919575f80fd5b610922836108cd565b9150610930602084016108cd565b90509250929050565b80356001600160601b03811681146108e3575f80fd5b5f8060408385031215610960575f80fd5b61092283610939565b5f60208284031215610979575f80fd5b5035919050565b5f60208284031215610990575f80fd5b61090182610939565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f80604083850312156109ee575f80fd5b6109f7836108cd565b946020939093013593505050565b5f8060408385031215610a16575f80fd5b610a1f836108cd565b9150602083013560098110610a32575f80fd5b809150509250929050565b600181811c90821680610a5157607f821691505b602082108103610a6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220e6f359c668328faf5156c21e59ebbd9322502fbda96977e3aba1ba6f7d68aee564736f6c63430008190033",
1028
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061028c575f3560e01c80639254f5e511610161578063c5f956af116100ca578063e37d4b7911610084578063e37d4b79146106e5578063e85a29601461071c578063e87554461461072f578063f445d70314610738578063f851a44014610765578063fa6331d814610777575f80fd5b8063c5f956af1461067f578063c7ee005e14610692578063d3270f99146106a5578063d463654c146106b8578063dce15449146106bf578063dcfbc0c7146106d2575f80fd5b8063b8324c7c1161011b578063b8324c7c146105aa578063bb82aa5e14610605578063bbb8864a14610618578063bec04f7214610637578063bf32442d14610640578063c5b4db5514610651575f80fd5b80639254f5e51461053357806394b2294b1461054657806396c990641461054f5780639bb27d6214610571578063a657e57914610584578063b2eafc3914610597575f80fd5b8063425fad581161020357806373769099116101bd578063737690991461047a57806376551383146104ba5780637d172bd5146104cc5780637dc0d1d0146104df5780638a7dc165146104f25780638c1ac18a14610511575f80fd5b8063425fad58146103e25780634a584432146103f55780634d99c7761461041457806352d84d1e1461043f5780635dd3fc9d14610452578063719f701b14610471575f80fd5b806321af45691161025457806321af45691461033b57806324a3d6221461036657806326782247146103795780632bc7e29e1461038c5780634088c73e146103ab57806341a18d2c146103b8575f80fd5b806302c3bcbb1461029057806304ef9d58146102c257806308e0225c146102cb5780630db4b4e5146102f557806310b98338146102fe575b5f80fd5b6102af61029e3660046108e8565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102af60225481565b6102af6102d9366004610908565b601360209081525f928352604080842090915290825290205481565b6102af601d5481565b61032b61030c366004610908565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102b9565b601e5461034e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b600a5461034e906001600160a01b031681565b60015461034e906001600160a01b031681565b6102af61039a3660046108e8565b60166020525f908152604090205481565b60185461032b9060ff1681565b6102af6103c6366004610908565b601260209081525f928352604080842090915290825290205481565b60185461032b9062010000900460ff1681565b6102af6104033660046108e8565b601f6020525f908152604090205481565b6102af61042236600461094f565b6001600160a01b031660a09190911b6001600160a01b0319161790565b61034e61044d366004610969565b610780565b6102af6104603660046108e8565b602b6020525f908152604090205481565b6102af601c5481565b6104a26104883660046108e8565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102b9565b60185461032b90610100900460ff1681565b601b5461034e906001600160a01b031681565b60045461034e906001600160a01b031681565b6102af6105003660046108e8565b60146020525f908152604090205481565b61032b61051f3660046108e8565b602d6020525f908152604090205460ff1681565b60155461034e906001600160a01b031681565b6102af60075481565b61056261055d366004610980565b6107a8565b6040516102b993929190610999565b60255461034e906001600160a01b031681565b6037546104a2906001600160601b031681565b60205461034e906001600160a01b031681565b6105e16105b83660046108e8565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102b9565b60025461034e906001600160a01b031681565b6102af6106263660046108e8565b602a6020525f908152604090205481565b6102af60175481565b6033546001600160a01b031661034e565b6106676ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102b9565b60215461034e906001600160a01b031681565b60315461034e906001600160a01b031681565b60265461034e906001600160a01b031681565b6104a25f81565b61034e6106cd3660046109dd565b610855565b60035461034e906001600160a01b031681565b6105e16106f33660046108e8565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61032b61072a366004610a05565b610889565b6102af60055481565b61032b610746366004610908565b603260209081525f928352604080842090915290825290205460ff1681565b5f5461034e906001600160a01b031681565b6102af601a5481565b600d818154811061078f575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f90815260409020805481906107c290610a3d565b80601f01602080910402602001604051908101604052809291908181526020018280546107ee90610a3d565b80156108395780601f1061081057610100808354040283529160200191610839565b820191905f5260205f20905b81548152906001019060200180831161081c57829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f20818154811061086e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f908152602960205260408120818360088111156108b3576108b3610a75565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b03811681146108e3575f80fd5b919050565b5f602082840312156108f8575f80fd5b610901826108cd565b9392505050565b5f8060408385031215610919575f80fd5b610922836108cd565b9150610930602084016108cd565b90509250929050565b80356001600160601b03811681146108e3575f80fd5b5f8060408385031215610960575f80fd5b61092283610939565b5f60208284031215610979575f80fd5b5035919050565b5f60208284031215610990575f80fd5b61090182610939565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f80604083850312156109ee575f80fd5b6109f7836108cd565b946020939093013593505050565b5f8060408385031215610a16575f80fd5b610a1f836108cd565b9150602083013560098110610a32575f80fd5b809150509250929050565b600181811c90821680610a5157607f821691505b602082108103610a6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220e6f359c668328faf5156c21e59ebbd9322502fbda96977e3aba1ba6f7d68aee564736f6c63430008190033",
1153
+ "bytecode": "0x6080604052348015600e575f80fd5b50610b138061001c5f395ff3fe608060405234801561000f575f80fd5b50600436106102b1575f3560e01c80639254f5e51161017b578063c5f956af116100e4578063e0f6123d1161009e578063e875544611610079578063e875544614610783578063f445d7031461078c578063f851a440146107b9578063fa6331d8146107cb575f80fd5b8063e0f6123d14610717578063e37d4b7914610739578063e85a296014610770575f80fd5b8063c5f956af146106b1578063c7ee005e146106c4578063d3270f99146106d7578063d463654c146106ea578063dce15449146106f1578063dcfbc0c714610704575f80fd5b8063b8324c7c11610135578063b8324c7c146105dc578063bb82aa5e14610637578063bbb8864a1461064a578063bec04f7214610669578063bf32442d14610672578063c5b4db5514610683575f80fd5b80639254f5e51461056557806394b2294b1461057857806396c99064146105815780639bb27d62146105a3578063a657e579146105b6578063b2eafc39146105c9575f80fd5b80634a5844321161021d57806376551383116101d757806376551383146104df5780637d172bd5146104f15780637dc0d1d0146105045780637fb8e8cd146105175780638a7dc165146105245780638c1ac18a14610543575f80fd5b80634a5844321461041a5780634d99c7761461043957806352d84d1e146104645780635dd3fc9d14610477578063719f701b14610496578063737690991461049f575f80fd5b806324a3d6221161026e57806324a3d6221461038b578063267822471461039e5780632bc7e29e146103b15780634088c73e146103d057806341a18d2c146103dd578063425fad5814610407575f80fd5b806302c3bcbb146102b557806304ef9d58146102e757806308e0225c146102f05780630db4b4e51461031a57806310b983381461032357806321af456914610360575b5f80fd5b6102d46102c336600461093c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102d460225481565b6102d46102fe36600461095c565b601360209081525f928352604080842090915290825290205481565b6102d4601d5481565b61035061033136600461095c565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102de565b601e54610373906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b600a54610373906001600160a01b031681565b600154610373906001600160a01b031681565b6102d46103bf36600461093c565b60166020525f908152604090205481565b6018546103509060ff1681565b6102d46103eb36600461095c565b601260209081525f928352604080842090915290825290205481565b6018546103509062010000900460ff1681565b6102d461042836600461093c565b601f6020525f908152604090205481565b6102d46104473660046109a3565b6001600160a01b031660a09190911b6001600160a01b0319161790565b6103736104723660046109bd565b6107d4565b6102d461048536600461093c565b602b6020525f908152604090205481565b6102d4601c5481565b6104c76104ad36600461093c565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102de565b60185461035090610100900460ff1681565b601b54610373906001600160a01b031681565b600454610373906001600160a01b031681565b6039546103509060ff1681565b6102d461053236600461093c565b60146020525f908152604090205481565b61035061055136600461093c565b602d6020525f908152604090205460ff1681565b601554610373906001600160a01b031681565b6102d460075481565b61059461058f3660046109d4565b6107fc565b6040516102de939291906109ed565b602554610373906001600160a01b031681565b6037546104c7906001600160601b031681565b602054610373906001600160a01b031681565b6106136105ea36600461093c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102de565b600254610373906001600160a01b031681565b6102d461065836600461093c565b602a6020525f908152604090205481565b6102d460175481565b6033546001600160a01b0316610373565b6106996ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102de565b602154610373906001600160a01b031681565b603154610373906001600160a01b031681565b602654610373906001600160a01b031681565b6104c75f81565b6103736106ff366004610a31565b6108a9565b600354610373906001600160a01b031681565b61035061072536600461093c565b60386020525f908152604090205460ff1681565b61061361074736600461093c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61035061077e366004610a59565b6108dd565b6102d460055481565b61035061079a36600461095c565b603260209081525f928352604080842090915290825290205460ff1681565b5f54610373906001600160a01b031681565b6102d4601a5481565b600d81815481106107e3575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f908152604090208054819061081690610a91565b80601f016020809104026020016040519081016040528092919081815260200182805461084290610a91565b801561088d5780601f106108645761010080835404028352916020019161088d565b820191905f5260205f20905b81548152906001019060200180831161087057829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f2081815481106108c2575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f9081526029602052604081208183600881111561090757610907610ac9565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b0381168114610937575f80fd5b919050565b5f6020828403121561094c575f80fd5b61095582610921565b9392505050565b5f806040838503121561096d575f80fd5b61097683610921565b915061098460208401610921565b90509250929050565b80356001600160601b0381168114610937575f80fd5b5f80604083850312156109b4575f80fd5b6109768361098d565b5f602082840312156109cd575f80fd5b5035919050565b5f602082840312156109e4575f80fd5b6109558261098d565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f8060408385031215610a42575f80fd5b610a4b83610921565b946020939093013593505050565b5f8060408385031215610a6a575f80fd5b610a7383610921565b9150602083013560098110610a86575f80fd5b809150509250929050565b600181811c90821680610aa557607f821691505b602082108103610ac357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea264697066735822122026bb9447ed0f009f37bfbbc43cf531ef1e924bc141d804b0aa1adff97e77ac5f64736f6c63430008190033",
1154
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106102b1575f3560e01c80639254f5e51161017b578063c5f956af116100e4578063e0f6123d1161009e578063e875544611610079578063e875544614610783578063f445d7031461078c578063f851a440146107b9578063fa6331d8146107cb575f80fd5b8063e0f6123d14610717578063e37d4b7914610739578063e85a296014610770575f80fd5b8063c5f956af146106b1578063c7ee005e146106c4578063d3270f99146106d7578063d463654c146106ea578063dce15449146106f1578063dcfbc0c714610704575f80fd5b8063b8324c7c11610135578063b8324c7c146105dc578063bb82aa5e14610637578063bbb8864a1461064a578063bec04f7214610669578063bf32442d14610672578063c5b4db5514610683575f80fd5b80639254f5e51461056557806394b2294b1461057857806396c99064146105815780639bb27d62146105a3578063a657e579146105b6578063b2eafc39146105c9575f80fd5b80634a5844321161021d57806376551383116101d757806376551383146104df5780637d172bd5146104f15780637dc0d1d0146105045780637fb8e8cd146105175780638a7dc165146105245780638c1ac18a14610543575f80fd5b80634a5844321461041a5780634d99c7761461043957806352d84d1e146104645780635dd3fc9d14610477578063719f701b14610496578063737690991461049f575f80fd5b806324a3d6221161026e57806324a3d6221461038b578063267822471461039e5780632bc7e29e146103b15780634088c73e146103d057806341a18d2c146103dd578063425fad5814610407575f80fd5b806302c3bcbb146102b557806304ef9d58146102e757806308e0225c146102f05780630db4b4e51461031a57806310b983381461032357806321af456914610360575b5f80fd5b6102d46102c336600461093c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102d460225481565b6102d46102fe36600461095c565b601360209081525f928352604080842090915290825290205481565b6102d4601d5481565b61035061033136600461095c565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102de565b601e54610373906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b600a54610373906001600160a01b031681565b600154610373906001600160a01b031681565b6102d46103bf36600461093c565b60166020525f908152604090205481565b6018546103509060ff1681565b6102d46103eb36600461095c565b601260209081525f928352604080842090915290825290205481565b6018546103509062010000900460ff1681565b6102d461042836600461093c565b601f6020525f908152604090205481565b6102d46104473660046109a3565b6001600160a01b031660a09190911b6001600160a01b0319161790565b6103736104723660046109bd565b6107d4565b6102d461048536600461093c565b602b6020525f908152604090205481565b6102d4601c5481565b6104c76104ad36600461093c565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102de565b60185461035090610100900460ff1681565b601b54610373906001600160a01b031681565b600454610373906001600160a01b031681565b6039546103509060ff1681565b6102d461053236600461093c565b60146020525f908152604090205481565b61035061055136600461093c565b602d6020525f908152604090205460ff1681565b601554610373906001600160a01b031681565b6102d460075481565b61059461058f3660046109d4565b6107fc565b6040516102de939291906109ed565b602554610373906001600160a01b031681565b6037546104c7906001600160601b031681565b602054610373906001600160a01b031681565b6106136105ea36600461093c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102de565b600254610373906001600160a01b031681565b6102d461065836600461093c565b602a6020525f908152604090205481565b6102d460175481565b6033546001600160a01b0316610373565b6106996ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102de565b602154610373906001600160a01b031681565b603154610373906001600160a01b031681565b602654610373906001600160a01b031681565b6104c75f81565b6103736106ff366004610a31565b6108a9565b600354610373906001600160a01b031681565b61035061072536600461093c565b60386020525f908152604090205460ff1681565b61061361074736600461093c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61035061077e366004610a59565b6108dd565b6102d460055481565b61035061079a36600461095c565b603260209081525f928352604080842090915290825290205460ff1681565b5f54610373906001600160a01b031681565b6102d4601a5481565b600d81815481106107e3575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f908152604090208054819061081690610a91565b80601f016020809104026020016040519081016040528092919081815260200182805461084290610a91565b801561088d5780601f106108645761010080835404028352916020019161088d565b820191905f5260205f20905b81548152906001019060200180831161087057829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f2081815481106108c2575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f9081526029602052604081208183600881111561090757610907610ac9565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b0381168114610937575f80fd5b919050565b5f6020828403121561094c575f80fd5b61095582610921565b9392505050565b5f806040838503121561096d575f80fd5b61097683610921565b915061098460208401610921565b90509250929050565b80356001600160601b0381168114610937575f80fd5b5f80604083850312156109b4575f80fd5b6109768361098d565b5f602082840312156109cd575f80fd5b5035919050565b5f602082840312156109e4575f80fd5b6109558261098d565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f8060408385031215610a42575f80fd5b610a4b83610921565b946020939093013593505050565b5f8060408385031215610a6a575f80fd5b610a7383610921565b9150602083013560098110610a86575f80fd5b809150509250929050565b600181811c90821680610aa557607f821691505b602082108103610ac357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea264697066735822122026bb9447ed0f009f37bfbbc43cf531ef1e924bc141d804b0aa1adff97e77ac5f64736f6c63430008190033",
1029
1155
  "linkReferences": {},
1030
1156
  "deployedLinkReferences": {}
1031
1157
  }
@@ -0,0 +1,44 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IFlashLoanFacet",
4
+ "sourceName": "contracts/Comptroller/Diamond/interfaces/IFlashLoanFacet.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address payable",
10
+ "name": "onBehalf",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address payable",
15
+ "name": "receiver",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "contract VToken[]",
20
+ "name": "vTokens",
21
+ "type": "address[]"
22
+ },
23
+ {
24
+ "internalType": "uint256[]",
25
+ "name": "underlyingAmounts",
26
+ "type": "uint256[]"
27
+ },
28
+ {
29
+ "internalType": "bytes",
30
+ "name": "param",
31
+ "type": "bytes"
32
+ }
33
+ ],
34
+ "name": "executeFlashLoan",
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable",
37
+ "type": "function"
38
+ }
39
+ ],
40
+ "bytecode": "0x",
41
+ "deployedBytecode": "0x",
42
+ "linkReferences": {},
43
+ "deployedLinkReferences": {}
44
+ }
@@ -501,6 +501,19 @@
501
501
  "stateMutability": "nonpayable",
502
502
  "type": "function"
503
503
  },
504
+ {
505
+ "inputs": [
506
+ {
507
+ "internalType": "bool",
508
+ "name": "paused",
509
+ "type": "bool"
510
+ }
511
+ ],
512
+ "name": "setFlashLoanPaused",
513
+ "outputs": [],
514
+ "stateMutability": "nonpayable",
515
+ "type": "function"
516
+ },
504
517
  {
505
518
  "inputs": [
506
519
  {
@@ -728,6 +741,24 @@
728
741
  ],
729
742
  "stateMutability": "nonpayable",
730
743
  "type": "function"
744
+ },
745
+ {
746
+ "inputs": [
747
+ {
748
+ "internalType": "address",
749
+ "name": "account",
750
+ "type": "address"
751
+ },
752
+ {
753
+ "internalType": "bool",
754
+ "name": "isWhiteListed",
755
+ "type": "bool"
756
+ }
757
+ ],
758
+ "name": "setWhiteListFlashLoanAccount",
759
+ "outputs": [],
760
+ "stateMutability": "nonpayable",
761
+ "type": "function"
731
762
  }
732
763
  ],
733
764
  "bytecode": "0x",
@@ -28,6 +28,26 @@
28
28
  "name": "EmptyPoolLabel",
29
29
  "type": "error"
30
30
  },
31
+ {
32
+ "inputs": [],
33
+ "name": "ExecuteFlashLoanFailed",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "FailedToCreateDebtPosition",
39
+ "type": "error"
40
+ },
41
+ {
42
+ "inputs": [],
43
+ "name": "FlashLoanNotEnabled",
44
+ "type": "error"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "FlashLoanPausedSystemWide",
49
+ "type": "error"
50
+ },
31
51
  {
32
52
  "inputs": [
33
53
  {
@@ -44,6 +64,16 @@
44
64
  "name": "IncompatibleBorrowedAssets",
45
65
  "type": "error"
46
66
  },
67
+ {
68
+ "inputs": [],
69
+ "name": "InvalidAmount",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "InvalidFlashLoanParams",
75
+ "type": "error"
76
+ },
47
77
  {
48
78
  "inputs": [],
49
79
  "name": "InvalidOperationForCorePool",
@@ -97,11 +127,48 @@
97
127
  "name": "MarketConfigNotFound",
98
128
  "type": "error"
99
129
  },
130
+ {
131
+ "inputs": [
132
+ {
133
+ "internalType": "address",
134
+ "name": "vToken",
135
+ "type": "address"
136
+ }
137
+ ],
138
+ "name": "MarketNotListed",
139
+ "type": "error"
140
+ },
100
141
  {
101
142
  "inputs": [],
102
143
  "name": "MarketNotListedInCorePool",
103
144
  "type": "error"
104
145
  },
146
+ {
147
+ "inputs": [],
148
+ "name": "NoAssetsRequested",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "NotAnApprovedDelegate",
154
+ "type": "error"
155
+ },
156
+ {
157
+ "inputs": [
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "repaid",
161
+ "type": "uint256"
162
+ },
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "required",
166
+ "type": "uint256"
167
+ }
168
+ ],
169
+ "name": "NotEnoughRepayment",
170
+ "type": "error"
171
+ },
105
172
  {
106
173
  "inputs": [
107
174
  {
@@ -129,6 +196,33 @@
129
196
  "name": "PoolMarketNotFound",
130
197
  "type": "error"
131
198
  },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "sender",
204
+ "type": "address"
205
+ }
206
+ ],
207
+ "name": "SenderNotAuthorizedForFlashLoan",
208
+ "type": "error"
209
+ },
210
+ {
211
+ "inputs": [
212
+ {
213
+ "internalType": "uint256",
214
+ "name": "requested",
215
+ "type": "uint256"
216
+ },
217
+ {
218
+ "internalType": "uint256",
219
+ "name": "maximum",
220
+ "type": "uint256"
221
+ }
222
+ ],
223
+ "name": "TooManyAssetsRequested",
224
+ "type": "error"
225
+ },
132
226
  {
133
227
  "anonymous": false,
134
228
  "inputs": [
@@ -351,8 +445,8 @@
351
445
  "type": "function"
352
446
  }
353
447
  ],
354
- "bytecode": "0x6080604052348015600e575f80fd5b505f80546001600160a01b031916331790556105618061002d5f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063dcfbc0c711610059578063dcfbc0c714610168578063e992a0411461017b578063e9c714f21461018e578063f851a4401461019657610086565b806326782247146100fc578063b71d1a0c1461012c578063bb82aa5e1461014d578063c1e8033414610160575b6002546040515f916001600160a01b0316906100a590839036906104e2565b5f60405180830381855af49150503d805f81146100dd576040519150601f19603f3d011682016040523d82523d5f602084013e6100e2565b606091505b505090506040513d5f823e8180156100f8573d82f35b3d82fd5b60015461010f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013f61013a3660046104f1565b6101a8565b604051908152602001610123565b60025461010f906001600160a01b031681565b61013f610233565b60035461010f906001600160a01b031681565b61013f6101893660046104f1565b610327565b61013f61039f565b5f5461010f906001600160a01b031681565b5f80546001600160a01b031633146101cc576101c66001600e61046b565b92915050565b600180546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15f5b9392505050565b6003545f906001600160a01b03163314158061025857506003546001600160a01b0316155b1561026d5761026860018061046b565b905090565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591015b60405180910390a15f9250505090565b5f80546001600160a01b03163314610345576101c66001600f61046b565b600380546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159101610222565b6001545f906001600160a01b031633146103be5761026860015f61046b565b5f8054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610317565b5f7f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa083601481111561049f5761049f610517565b83601a8111156104b1576104b1610517565b6040805192835260208301919091525f9082015260600160405180910390a182601481111561022c5761022c610517565b818382375f9101908152919050565b5f60208284031215610501575f80fd5b81356001600160a01b038116811461022c575f80fd5b634e487b7160e01b5f52602160045260245ffdfea26469706673582212204c4167b670969a9b001111ad5c83c2877c71982c5c52423e5cfb1a346cd85b4864736f6c63430008190033",
355
- "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063dcfbc0c711610059578063dcfbc0c714610168578063e992a0411461017b578063e9c714f21461018e578063f851a4401461019657610086565b806326782247146100fc578063b71d1a0c1461012c578063bb82aa5e1461014d578063c1e8033414610160575b6002546040515f916001600160a01b0316906100a590839036906104e2565b5f60405180830381855af49150503d805f81146100dd576040519150601f19603f3d011682016040523d82523d5f602084013e6100e2565b606091505b505090506040513d5f823e8180156100f8573d82f35b3d82fd5b60015461010f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013f61013a3660046104f1565b6101a8565b604051908152602001610123565b60025461010f906001600160a01b031681565b61013f610233565b60035461010f906001600160a01b031681565b61013f6101893660046104f1565b610327565b61013f61039f565b5f5461010f906001600160a01b031681565b5f80546001600160a01b031633146101cc576101c66001600e61046b565b92915050565b600180546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15f5b9392505050565b6003545f906001600160a01b03163314158061025857506003546001600160a01b0316155b1561026d5761026860018061046b565b905090565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591015b60405180910390a15f9250505090565b5f80546001600160a01b03163314610345576101c66001600f61046b565b600380546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159101610222565b6001545f906001600160a01b031633146103be5761026860015f61046b565b5f8054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610317565b5f7f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa083601481111561049f5761049f610517565b83601a8111156104b1576104b1610517565b6040805192835260208301919091525f9082015260600160405180910390a182601481111561022c5761022c610517565b818382375f9101908152919050565b5f60208284031215610501575f80fd5b81356001600160a01b038116811461022c575f80fd5b634e487b7160e01b5f52602160045260245ffdfea26469706673582212204c4167b670969a9b001111ad5c83c2877c71982c5c52423e5cfb1a346cd85b4864736f6c63430008190033",
448
+ "bytecode": "0x6080604052348015600e575f80fd5b505f80546001600160a01b031916331790556105618061002d5f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063dcfbc0c711610059578063dcfbc0c714610168578063e992a0411461017b578063e9c714f21461018e578063f851a4401461019657610086565b806326782247146100fc578063b71d1a0c1461012c578063bb82aa5e1461014d578063c1e8033414610160575b6002546040515f916001600160a01b0316906100a590839036906104e2565b5f60405180830381855af49150503d805f81146100dd576040519150601f19603f3d011682016040523d82523d5f602084013e6100e2565b606091505b505090506040513d5f823e8180156100f8573d82f35b3d82fd5b60015461010f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013f61013a3660046104f1565b6101a8565b604051908152602001610123565b60025461010f906001600160a01b031681565b61013f610233565b60035461010f906001600160a01b031681565b61013f6101893660046104f1565b610327565b61013f61039f565b5f5461010f906001600160a01b031681565b5f80546001600160a01b031633146101cc576101c66001600e61046b565b92915050565b600180546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15f5b9392505050565b6003545f906001600160a01b03163314158061025857506003546001600160a01b0316155b1561026d5761026860018061046b565b905090565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591015b60405180910390a15f9250505090565b5f80546001600160a01b03163314610345576101c66001600f61046b565b600380546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159101610222565b6001545f906001600160a01b031633146103be5761026860015f61046b565b5f8054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610317565b5f7f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa083601481111561049f5761049f610517565b83601a8111156104b1576104b1610517565b6040805192835260208301919091525f9082015260600160405180910390a182601481111561022c5761022c610517565b818382375f9101908152919050565b5f60208284031215610501575f80fd5b81356001600160a01b038116811461022c575f80fd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220bd0c89667ac8e3ef865412a020a27d16901642d9408bfe6914ff4825a22167b564736f6c63430008190033",
449
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063dcfbc0c711610059578063dcfbc0c714610168578063e992a0411461017b578063e9c714f21461018e578063f851a4401461019657610086565b806326782247146100fc578063b71d1a0c1461012c578063bb82aa5e1461014d578063c1e8033414610160575b6002546040515f916001600160a01b0316906100a590839036906104e2565b5f60405180830381855af49150503d805f81146100dd576040519150601f19603f3d011682016040523d82523d5f602084013e6100e2565b606091505b505090506040513d5f823e8180156100f8573d82f35b3d82fd5b60015461010f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013f61013a3660046104f1565b6101a8565b604051908152602001610123565b60025461010f906001600160a01b031681565b61013f610233565b60035461010f906001600160a01b031681565b61013f6101893660046104f1565b610327565b61013f61039f565b5f5461010f906001600160a01b031681565b5f80546001600160a01b031633146101cc576101c66001600e61046b565b92915050565b600180546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991015b60405180910390a15f5b9392505050565b6003545f906001600160a01b03163314158061025857506003546001600160a01b0316155b1561026d5761026860018061046b565b905090565b60028054600380546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917fd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a910160405180910390a1600354604080516001600160a01b03808516825290921660208301527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d81591015b60405180910390a15f9250505090565b5f80546001600160a01b03163314610345576101c66001600f61046b565b600380546001600160a01b038481166001600160a01b031983168117909355604080519190921680825260208201939093527fe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d8159101610222565b6001545f906001600160a01b031633146103be5761026860015f61046b565b5f8054600180546001600160a01b038082166001600160a01b031980861682179096559490911690915560408051919092168082526020820184905292917ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc910160405180910390a1600154604080516001600160a01b03808516825290921660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99101610317565b5f7f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa083601481111561049f5761049f610517565b83601a8111156104b1576104b1610517565b6040805192835260208301919091525f9082015260600160405180910390a182601481111561022c5761022c610517565b818382375f9101908152919050565b5f60208284031215610501575f80fd5b81356001600160a01b038116811461022c575f80fd5b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220bd0c89667ac8e3ef865412a020a27d16901642d9408bfe6914ff4825a22167b564736f6c63430008190033",
356
450
  "linkReferences": {},
357
451
  "deployedLinkReferences": {}
358
452
  }
@@ -598,8 +598,8 @@
598
598
  "type": "function"
599
599
  }
600
600
  ],
601
- "bytecode": "0x6080604052348015600e575f80fd5b506107228061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061021e575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c714610577578063e37d4b791461058a578063e8755446146105c1578063f851a440146105ca578063fa6331d8146105dc575f80fd5b8063bbb8864a14610516578063bec04f7214610535578063c5f956af1461053e578063d3270f9914610551578063dce1544914610564575f80fd5b806394b2294b116100fa57806394b2294b146104795780639bb27d6214610482578063b2eafc3914610495578063b8324c7c146104a8578063bb82aa5e14610503575f80fd5b80637dc0d1d0146103e25780638a7dc165146103f55780638e8f294b146104145780639254f5e514610466575f80fd5b806341a18d2c116101ab57806352d84d1e1161017b57806352d84d1e146103825780635dd3fc9d14610395578063719f701b146103b457806376551383146103bd5780637d172bd5146103cf575f80fd5b806341a18d2c1461031d578063425fad58146103475780634a5844321461035a5780634ada90af14610379575f80fd5b806321af4569116101f157806321af45691461029057806324a3d622146102bb57806326782247146102ce5780632bc7e29e146102e15780634088c73e14610300575f80fd5b806302c3bcbb1461022257806304ef9d581461025457806308e0225c1461025d5780630db4b4e514610287575b5f80fd5b61024161023036600461065c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024160225481565b61024161026b36600461067c565b601360209081525f928352604080842090915290825290205481565b610241601d5481565b601e546102a3906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b600a546102a3906001600160a01b031681565b6001546102a3906001600160a01b031681565b6102416102ef36600461065c565b60166020525f908152604090205481565b60185461030d9060ff1681565b604051901515815260200161024b565b61024161032b36600461067c565b601260209081525f928352604080842090915290825290205481565b60185461030d9062010000900460ff1681565b61024161036836600461065c565b601f6020525f908152604090205481565b61024160065481565b6102a36103903660046106ad565b6105e5565b6102416103a336600461065c565b602b6020525f908152604090205481565b610241601c5481565b60185461030d90610100900460ff1681565b601b546102a3906001600160a01b031681565b6004546102a3906001600160a01b031681565b61024161040336600461065c565b60146020525f908152604090205481565b61044761042236600461065c565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b604080519315158452602084019290925215159082015260600161024b565b6015546102a3906001600160a01b031681565b61024160075481565b6025546102a3906001600160a01b031681565b6020546102a3906001600160a01b031681565b6104df6104b636600461065c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff90911660208301520161024b565b6002546102a3906001600160a01b031681565b61024161052436600461065c565b602a6020525f908152604090205481565b61024160175481565b6021546102a3906001600160a01b031681565b6026546102a3906001600160a01b031681565b6102a36105723660046106c4565b61060d565b6003546102a3906001600160a01b031681565b6104df61059836600461065c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024160055481565b5f546102a3906001600160a01b031681565b610241601a5481565b600d81815481106105f4575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f208181548110610626575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b0381168114610657575f80fd5b919050565b5f6020828403121561066c575f80fd5b61067582610641565b9392505050565b5f806040838503121561068d575f80fd5b61069683610641565b91506106a460208401610641565b90509250929050565b5f602082840312156106bd575f80fd5b5035919050565b5f80604083850312156106d5575f80fd5b6106de83610641565b94602093909301359350505056fea2646970667358221220a4cabb04bed69297aac6facb2354fb80fd29995c585478186d6801f99b11a28564736f6c63430008190033",
602
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061021e575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c714610577578063e37d4b791461058a578063e8755446146105c1578063f851a440146105ca578063fa6331d8146105dc575f80fd5b8063bbb8864a14610516578063bec04f7214610535578063c5f956af1461053e578063d3270f9914610551578063dce1544914610564575f80fd5b806394b2294b116100fa57806394b2294b146104795780639bb27d6214610482578063b2eafc3914610495578063b8324c7c146104a8578063bb82aa5e14610503575f80fd5b80637dc0d1d0146103e25780638a7dc165146103f55780638e8f294b146104145780639254f5e514610466575f80fd5b806341a18d2c116101ab57806352d84d1e1161017b57806352d84d1e146103825780635dd3fc9d14610395578063719f701b146103b457806376551383146103bd5780637d172bd5146103cf575f80fd5b806341a18d2c1461031d578063425fad58146103475780634a5844321461035a5780634ada90af14610379575f80fd5b806321af4569116101f157806321af45691461029057806324a3d622146102bb57806326782247146102ce5780632bc7e29e146102e15780634088c73e14610300575f80fd5b806302c3bcbb1461022257806304ef9d581461025457806308e0225c1461025d5780630db4b4e514610287575b5f80fd5b61024161023036600461065c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024160225481565b61024161026b36600461067c565b601360209081525f928352604080842090915290825290205481565b610241601d5481565b601e546102a3906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b600a546102a3906001600160a01b031681565b6001546102a3906001600160a01b031681565b6102416102ef36600461065c565b60166020525f908152604090205481565b60185461030d9060ff1681565b604051901515815260200161024b565b61024161032b36600461067c565b601260209081525f928352604080842090915290825290205481565b60185461030d9062010000900460ff1681565b61024161036836600461065c565b601f6020525f908152604090205481565b61024160065481565b6102a36103903660046106ad565b6105e5565b6102416103a336600461065c565b602b6020525f908152604090205481565b610241601c5481565b60185461030d90610100900460ff1681565b601b546102a3906001600160a01b031681565b6004546102a3906001600160a01b031681565b61024161040336600461065c565b60146020525f908152604090205481565b61044761042236600461065c565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b604080519315158452602084019290925215159082015260600161024b565b6015546102a3906001600160a01b031681565b61024160075481565b6025546102a3906001600160a01b031681565b6020546102a3906001600160a01b031681565b6104df6104b636600461065c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff90911660208301520161024b565b6002546102a3906001600160a01b031681565b61024161052436600461065c565b602a6020525f908152604090205481565b61024160175481565b6021546102a3906001600160a01b031681565b6026546102a3906001600160a01b031681565b6102a36105723660046106c4565b61060d565b6003546102a3906001600160a01b031681565b6104df61059836600461065c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024160055481565b5f546102a3906001600160a01b031681565b610241601a5481565b600d81815481106105f4575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f208181548110610626575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b0381168114610657575f80fd5b919050565b5f6020828403121561066c575f80fd5b61067582610641565b9392505050565b5f806040838503121561068d575f80fd5b61069683610641565b91506106a460208401610641565b90509250929050565b5f602082840312156106bd575f80fd5b5035919050565b5f80604083850312156106d5575f80fd5b6106de83610641565b94602093909301359350505056fea2646970667358221220a4cabb04bed69297aac6facb2354fb80fd29995c585478186d6801f99b11a28564736f6c63430008190033",
601
+ "bytecode": "0x6080604052348015600e575f80fd5b506107228061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061021e575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c714610577578063e37d4b791461058a578063e8755446146105c1578063f851a440146105ca578063fa6331d8146105dc575f80fd5b8063bbb8864a14610516578063bec04f7214610535578063c5f956af1461053e578063d3270f9914610551578063dce1544914610564575f80fd5b806394b2294b116100fa57806394b2294b146104795780639bb27d6214610482578063b2eafc3914610495578063b8324c7c146104a8578063bb82aa5e14610503575f80fd5b80637dc0d1d0146103e25780638a7dc165146103f55780638e8f294b146104145780639254f5e514610466575f80fd5b806341a18d2c116101ab57806352d84d1e1161017b57806352d84d1e146103825780635dd3fc9d14610395578063719f701b146103b457806376551383146103bd5780637d172bd5146103cf575f80fd5b806341a18d2c1461031d578063425fad58146103475780634a5844321461035a5780634ada90af14610379575f80fd5b806321af4569116101f157806321af45691461029057806324a3d622146102bb57806326782247146102ce5780632bc7e29e146102e15780634088c73e14610300575f80fd5b806302c3bcbb1461022257806304ef9d581461025457806308e0225c1461025d5780630db4b4e514610287575b5f80fd5b61024161023036600461065c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024160225481565b61024161026b36600461067c565b601360209081525f928352604080842090915290825290205481565b610241601d5481565b601e546102a3906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b600a546102a3906001600160a01b031681565b6001546102a3906001600160a01b031681565b6102416102ef36600461065c565b60166020525f908152604090205481565b60185461030d9060ff1681565b604051901515815260200161024b565b61024161032b36600461067c565b601260209081525f928352604080842090915290825290205481565b60185461030d9062010000900460ff1681565b61024161036836600461065c565b601f6020525f908152604090205481565b61024160065481565b6102a36103903660046106ad565b6105e5565b6102416103a336600461065c565b602b6020525f908152604090205481565b610241601c5481565b60185461030d90610100900460ff1681565b601b546102a3906001600160a01b031681565b6004546102a3906001600160a01b031681565b61024161040336600461065c565b60146020525f908152604090205481565b61044761042236600461065c565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b604080519315158452602084019290925215159082015260600161024b565b6015546102a3906001600160a01b031681565b61024160075481565b6025546102a3906001600160a01b031681565b6020546102a3906001600160a01b031681565b6104df6104b636600461065c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff90911660208301520161024b565b6002546102a3906001600160a01b031681565b61024161052436600461065c565b602a6020525f908152604090205481565b61024160175481565b6021546102a3906001600160a01b031681565b6026546102a3906001600160a01b031681565b6102a36105723660046106c4565b61060d565b6003546102a3906001600160a01b031681565b6104df61059836600461065c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024160055481565b5f546102a3906001600160a01b031681565b610241601a5481565b600d81815481106105f4575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f208181548110610626575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b0381168114610657575f80fd5b919050565b5f6020828403121561066c575f80fd5b61067582610641565b9392505050565b5f806040838503121561068d575f80fd5b61069683610641565b91506106a460208401610641565b90509250929050565b5f602082840312156106bd575f80fd5b5035919050565b5f80604083850312156106d5575f80fd5b6106de83610641565b94602093909301359350505056fea2646970667358221220ac740d8eb009f3ae7bd18c7fcd92c12deff2afdbfcf05b75d04e8d0efbb7d08a64736f6c63430008190033",
602
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061021e575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c714610577578063e37d4b791461058a578063e8755446146105c1578063f851a440146105ca578063fa6331d8146105dc575f80fd5b8063bbb8864a14610516578063bec04f7214610535578063c5f956af1461053e578063d3270f9914610551578063dce1544914610564575f80fd5b806394b2294b116100fa57806394b2294b146104795780639bb27d6214610482578063b2eafc3914610495578063b8324c7c146104a8578063bb82aa5e14610503575f80fd5b80637dc0d1d0146103e25780638a7dc165146103f55780638e8f294b146104145780639254f5e514610466575f80fd5b806341a18d2c116101ab57806352d84d1e1161017b57806352d84d1e146103825780635dd3fc9d14610395578063719f701b146103b457806376551383146103bd5780637d172bd5146103cf575f80fd5b806341a18d2c1461031d578063425fad58146103475780634a5844321461035a5780634ada90af14610379575f80fd5b806321af4569116101f157806321af45691461029057806324a3d622146102bb57806326782247146102ce5780632bc7e29e146102e15780634088c73e14610300575f80fd5b806302c3bcbb1461022257806304ef9d581461025457806308e0225c1461025d5780630db4b4e514610287575b5f80fd5b61024161023036600461065c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024160225481565b61024161026b36600461067c565b601360209081525f928352604080842090915290825290205481565b610241601d5481565b601e546102a3906001600160a01b031681565b6040516001600160a01b03909116815260200161024b565b600a546102a3906001600160a01b031681565b6001546102a3906001600160a01b031681565b6102416102ef36600461065c565b60166020525f908152604090205481565b60185461030d9060ff1681565b604051901515815260200161024b565b61024161032b36600461067c565b601260209081525f928352604080842090915290825290205481565b60185461030d9062010000900460ff1681565b61024161036836600461065c565b601f6020525f908152604090205481565b61024160065481565b6102a36103903660046106ad565b6105e5565b6102416103a336600461065c565b602b6020525f908152604090205481565b610241601c5481565b60185461030d90610100900460ff1681565b601b546102a3906001600160a01b031681565b6004546102a3906001600160a01b031681565b61024161040336600461065c565b60146020525f908152604090205481565b61044761042236600461065c565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b604080519315158452602084019290925215159082015260600161024b565b6015546102a3906001600160a01b031681565b61024160075481565b6025546102a3906001600160a01b031681565b6020546102a3906001600160a01b031681565b6104df6104b636600461065c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff90911660208301520161024b565b6002546102a3906001600160a01b031681565b61024161052436600461065c565b602a6020525f908152604090205481565b61024160175481565b6021546102a3906001600160a01b031681565b6026546102a3906001600160a01b031681565b6102a36105723660046106c4565b61060d565b6003546102a3906001600160a01b031681565b6104df61059836600461065c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024160055481565b5f546102a3906001600160a01b031681565b610241601a5481565b600d81815481106105f4575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f208181548110610626575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b0381168114610657575f80fd5b919050565b5f6020828403121561066c575f80fd5b61067582610641565b9392505050565b5f806040838503121561068d575f80fd5b61069683610641565b91506106a460208401610641565b90509250929050565b5f602082840312156106bd575f80fd5b5035919050565b5f80604083850312156106d5575f80fd5b6106de83610641565b94602093909301359350505056fea2646970667358221220ac740d8eb009f3ae7bd18c7fcd92c12deff2afdbfcf05b75d04e8d0efbb7d08a64736f6c63430008190033",
603
603
  "linkReferences": {},
604
604
  "deployedLinkReferences": {}
605
605
  }
@@ -622,8 +622,8 @@
622
622
  "type": "function"
623
623
  }
624
624
  ],
625
- "bytecode": "0x6080604052348015600e575f80fd5b5061075a8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610229575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105af578063e37d4b79146105c2578063e8755446146105f9578063f851a44014610602578063fa6331d814610614575f80fd5b8063bbb8864a1461054e578063bec04f721461056d578063c5f956af14610576578063d3270f9914610589578063dce154491461059c575f80fd5b806394b2294b116100fa57806394b2294b146104b15780639bb27d62146104ba578063b2eafc39146104cd578063b8324c7c146104e0578063bb82aa5e1461053b575f80fd5b80637dc0d1d01461041a5780638a7dc1651461042d5780638e8f294b1461044c5780639254f5e51461049e575f80fd5b80634088c73e116101b657806352d84d1e1161017b57806352d84d1e146103ba5780635dd3fc9d146103cd578063719f701b146103ec57806376551383146103f55780637d172bd514610407575f80fd5b80634088c73e1461034857806341a18d2c14610355578063425fad581461037f5780634a584432146103925780634ada90af146103b1575f80fd5b806310b98338116101fc57806310b983381461029b57806321af4569146102d857806324a3d6221461030357806326782247146103165780632bc7e29e14610329575f80fd5b806302c3bcbb1461022d57806304ef9d581461025f57806308e0225c146102685780630db4b4e514610292575b5f80fd5b61024c61023b366004610694565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024c60225481565b61024c6102763660046106b4565b601360209081525f928352604080842090915290825290205481565b61024c601d5481565b6102c86102a93660046106b4565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610256565b601e546102eb906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b600a546102eb906001600160a01b031681565b6001546102eb906001600160a01b031681565b61024c610337366004610694565b60166020525f908152604090205481565b6018546102c89060ff1681565b61024c6103633660046106b4565b601260209081525f928352604080842090915290825290205481565b6018546102c89062010000900460ff1681565b61024c6103a0366004610694565b601f6020525f908152604090205481565b61024c60065481565b6102eb6103c83660046106e5565b61061d565b61024c6103db366004610694565b602b6020525f908152604090205481565b61024c601c5481565b6018546102c890610100900460ff1681565b601b546102eb906001600160a01b031681565b6004546102eb906001600160a01b031681565b61024c61043b366004610694565b60146020525f908152604090205481565b61047f61045a366004610694565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610256565b6015546102eb906001600160a01b031681565b61024c60075481565b6025546102eb906001600160a01b031681565b6020546102eb906001600160a01b031681565b6105176104ee366004610694565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610256565b6002546102eb906001600160a01b031681565b61024c61055c366004610694565b602a6020525f908152604090205481565b61024c60175481565b6021546102eb906001600160a01b031681565b6026546102eb906001600160a01b031681565b6102eb6105aa3660046106fc565b610645565b6003546102eb906001600160a01b031681565b6105176105d0366004610694565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024c60055481565b5f546102eb906001600160a01b031681565b61024c601a5481565b600d818154811061062c575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061065e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b038116811461068f575f80fd5b919050565b5f602082840312156106a4575f80fd5b6106ad82610679565b9392505050565b5f80604083850312156106c5575f80fd5b6106ce83610679565b91506106dc60208401610679565b90509250929050565b5f602082840312156106f5575f80fd5b5035919050565b5f806040838503121561070d575f80fd5b61071683610679565b94602093909301359350505056fea2646970667358221220a3dc56ca06abc20ef1ba174c6367b728558a01aa240fd7a67c452a741e84e40564736f6c63430008190033",
626
- "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610229575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105af578063e37d4b79146105c2578063e8755446146105f9578063f851a44014610602578063fa6331d814610614575f80fd5b8063bbb8864a1461054e578063bec04f721461056d578063c5f956af14610576578063d3270f9914610589578063dce154491461059c575f80fd5b806394b2294b116100fa57806394b2294b146104b15780639bb27d62146104ba578063b2eafc39146104cd578063b8324c7c146104e0578063bb82aa5e1461053b575f80fd5b80637dc0d1d01461041a5780638a7dc1651461042d5780638e8f294b1461044c5780639254f5e51461049e575f80fd5b80634088c73e116101b657806352d84d1e1161017b57806352d84d1e146103ba5780635dd3fc9d146103cd578063719f701b146103ec57806376551383146103f55780637d172bd514610407575f80fd5b80634088c73e1461034857806341a18d2c14610355578063425fad581461037f5780634a584432146103925780634ada90af146103b1575f80fd5b806310b98338116101fc57806310b983381461029b57806321af4569146102d857806324a3d6221461030357806326782247146103165780632bc7e29e14610329575f80fd5b806302c3bcbb1461022d57806304ef9d581461025f57806308e0225c146102685780630db4b4e514610292575b5f80fd5b61024c61023b366004610694565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024c60225481565b61024c6102763660046106b4565b601360209081525f928352604080842090915290825290205481565b61024c601d5481565b6102c86102a93660046106b4565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610256565b601e546102eb906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b600a546102eb906001600160a01b031681565b6001546102eb906001600160a01b031681565b61024c610337366004610694565b60166020525f908152604090205481565b6018546102c89060ff1681565b61024c6103633660046106b4565b601260209081525f928352604080842090915290825290205481565b6018546102c89062010000900460ff1681565b61024c6103a0366004610694565b601f6020525f908152604090205481565b61024c60065481565b6102eb6103c83660046106e5565b61061d565b61024c6103db366004610694565b602b6020525f908152604090205481565b61024c601c5481565b6018546102c890610100900460ff1681565b601b546102eb906001600160a01b031681565b6004546102eb906001600160a01b031681565b61024c61043b366004610694565b60146020525f908152604090205481565b61047f61045a366004610694565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610256565b6015546102eb906001600160a01b031681565b61024c60075481565b6025546102eb906001600160a01b031681565b6020546102eb906001600160a01b031681565b6105176104ee366004610694565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610256565b6002546102eb906001600160a01b031681565b61024c61055c366004610694565b602a6020525f908152604090205481565b61024c60175481565b6021546102eb906001600160a01b031681565b6026546102eb906001600160a01b031681565b6102eb6105aa3660046106fc565b610645565b6003546102eb906001600160a01b031681565b6105176105d0366004610694565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024c60055481565b5f546102eb906001600160a01b031681565b61024c601a5481565b600d818154811061062c575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061065e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b038116811461068f575f80fd5b919050565b5f602082840312156106a4575f80fd5b6106ad82610679565b9392505050565b5f80604083850312156106c5575f80fd5b6106ce83610679565b91506106dc60208401610679565b90509250929050565b5f602082840312156106f5575f80fd5b5035919050565b5f806040838503121561070d575f80fd5b61071683610679565b94602093909301359350505056fea2646970667358221220a3dc56ca06abc20ef1ba174c6367b728558a01aa240fd7a67c452a741e84e40564736f6c63430008190033",
625
+ "bytecode": "0x6080604052348015600e575f80fd5b5061075a8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610229575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105af578063e37d4b79146105c2578063e8755446146105f9578063f851a44014610602578063fa6331d814610614575f80fd5b8063bbb8864a1461054e578063bec04f721461056d578063c5f956af14610576578063d3270f9914610589578063dce154491461059c575f80fd5b806394b2294b116100fa57806394b2294b146104b15780639bb27d62146104ba578063b2eafc39146104cd578063b8324c7c146104e0578063bb82aa5e1461053b575f80fd5b80637dc0d1d01461041a5780638a7dc1651461042d5780638e8f294b1461044c5780639254f5e51461049e575f80fd5b80634088c73e116101b657806352d84d1e1161017b57806352d84d1e146103ba5780635dd3fc9d146103cd578063719f701b146103ec57806376551383146103f55780637d172bd514610407575f80fd5b80634088c73e1461034857806341a18d2c14610355578063425fad581461037f5780634a584432146103925780634ada90af146103b1575f80fd5b806310b98338116101fc57806310b983381461029b57806321af4569146102d857806324a3d6221461030357806326782247146103165780632bc7e29e14610329575f80fd5b806302c3bcbb1461022d57806304ef9d581461025f57806308e0225c146102685780630db4b4e514610292575b5f80fd5b61024c61023b366004610694565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024c60225481565b61024c6102763660046106b4565b601360209081525f928352604080842090915290825290205481565b61024c601d5481565b6102c86102a93660046106b4565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610256565b601e546102eb906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b600a546102eb906001600160a01b031681565b6001546102eb906001600160a01b031681565b61024c610337366004610694565b60166020525f908152604090205481565b6018546102c89060ff1681565b61024c6103633660046106b4565b601260209081525f928352604080842090915290825290205481565b6018546102c89062010000900460ff1681565b61024c6103a0366004610694565b601f6020525f908152604090205481565b61024c60065481565b6102eb6103c83660046106e5565b61061d565b61024c6103db366004610694565b602b6020525f908152604090205481565b61024c601c5481565b6018546102c890610100900460ff1681565b601b546102eb906001600160a01b031681565b6004546102eb906001600160a01b031681565b61024c61043b366004610694565b60146020525f908152604090205481565b61047f61045a366004610694565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610256565b6015546102eb906001600160a01b031681565b61024c60075481565b6025546102eb906001600160a01b031681565b6020546102eb906001600160a01b031681565b6105176104ee366004610694565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610256565b6002546102eb906001600160a01b031681565b61024c61055c366004610694565b602a6020525f908152604090205481565b61024c60175481565b6021546102eb906001600160a01b031681565b6026546102eb906001600160a01b031681565b6102eb6105aa3660046106fc565b610645565b6003546102eb906001600160a01b031681565b6105176105d0366004610694565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024c60055481565b5f546102eb906001600160a01b031681565b61024c601a5481565b600d818154811061062c575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061065e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b038116811461068f575f80fd5b919050565b5f602082840312156106a4575f80fd5b6106ad82610679565b9392505050565b5f80604083850312156106c5575f80fd5b6106ce83610679565b91506106dc60208401610679565b90509250929050565b5f602082840312156106f5575f80fd5b5035919050565b5f806040838503121561070d575f80fd5b61071683610679565b94602093909301359350505056fea26469706673582212207d7b57dc2e1c02c6c6d313e969e3ca4b5efcbfa45ce73783254cd72662e205f164736f6c63430008190033",
626
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610229575f3560e01c80637dc0d1d01161012a578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105af578063e37d4b79146105c2578063e8755446146105f9578063f851a44014610602578063fa6331d814610614575f80fd5b8063bbb8864a1461054e578063bec04f721461056d578063c5f956af14610576578063d3270f9914610589578063dce154491461059c575f80fd5b806394b2294b116100fa57806394b2294b146104b15780639bb27d62146104ba578063b2eafc39146104cd578063b8324c7c146104e0578063bb82aa5e1461053b575f80fd5b80637dc0d1d01461041a5780638a7dc1651461042d5780638e8f294b1461044c5780639254f5e51461049e575f80fd5b80634088c73e116101b657806352d84d1e1161017b57806352d84d1e146103ba5780635dd3fc9d146103cd578063719f701b146103ec57806376551383146103f55780637d172bd514610407575f80fd5b80634088c73e1461034857806341a18d2c14610355578063425fad581461037f5780634a584432146103925780634ada90af146103b1575f80fd5b806310b98338116101fc57806310b983381461029b57806321af4569146102d857806324a3d6221461030357806326782247146103165780632bc7e29e14610329575f80fd5b806302c3bcbb1461022d57806304ef9d581461025f57806308e0225c146102685780630db4b4e514610292575b5f80fd5b61024c61023b366004610694565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61024c60225481565b61024c6102763660046106b4565b601360209081525f928352604080842090915290825290205481565b61024c601d5481565b6102c86102a93660046106b4565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610256565b601e546102eb906001600160a01b031681565b6040516001600160a01b039091168152602001610256565b600a546102eb906001600160a01b031681565b6001546102eb906001600160a01b031681565b61024c610337366004610694565b60166020525f908152604090205481565b6018546102c89060ff1681565b61024c6103633660046106b4565b601260209081525f928352604080842090915290825290205481565b6018546102c89062010000900460ff1681565b61024c6103a0366004610694565b601f6020525f908152604090205481565b61024c60065481565b6102eb6103c83660046106e5565b61061d565b61024c6103db366004610694565b602b6020525f908152604090205481565b61024c601c5481565b6018546102c890610100900460ff1681565b601b546102eb906001600160a01b031681565b6004546102eb906001600160a01b031681565b61024c61043b366004610694565b60146020525f908152604090205481565b61047f61045a366004610694565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610256565b6015546102eb906001600160a01b031681565b61024c60075481565b6025546102eb906001600160a01b031681565b6020546102eb906001600160a01b031681565b6105176104ee366004610694565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610256565b6002546102eb906001600160a01b031681565b61024c61055c366004610694565b602a6020525f908152604090205481565b61024c60175481565b6021546102eb906001600160a01b031681565b6026546102eb906001600160a01b031681565b6102eb6105aa3660046106fc565b610645565b6003546102eb906001600160a01b031681565b6105176105d0366004610694565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61024c60055481565b5f546102eb906001600160a01b031681565b61024c601a5481565b600d818154811061062c575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061065e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b038116811461068f575f80fd5b919050565b5f602082840312156106a4575f80fd5b6106ad82610679565b9392505050565b5f80604083850312156106c5575f80fd5b6106ce83610679565b91506106dc60208401610679565b90509250929050565b5f602082840312156106f5575f80fd5b5035919050565b5f806040838503121561070d575f80fd5b61071683610679565b94602093909301359350505056fea26469706673582212207d7b57dc2e1c02c6c6d313e969e3ca4b5efcbfa45ce73783254cd72662e205f164736f6c63430008190033",
627
627
  "linkReferences": {},
628
628
  "deployedLinkReferences": {}
629
629
  }
@@ -641,8 +641,8 @@
641
641
  "type": "function"
642
642
  }
643
643
  ],
644
- "bytecode": "0x6080604052348015600e575f80fd5b506107878061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610234575f3560e01c80637dc0d1d011610135578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105dc578063e37d4b79146105ef578063e875544614610626578063f851a4401461062f578063fa6331d814610641575f80fd5b8063bbb8864a1461057b578063bec04f721461059a578063c5f956af146105a3578063d3270f99146105b6578063dce15449146105c9575f80fd5b806394b2294b116100fa57806394b2294b146104de5780639bb27d62146104e7578063b2eafc39146104fa578063b8324c7c1461050d578063bb82aa5e14610568575f80fd5b80637dc0d1d0146104255780638a7dc165146104385780638c1ac18a146104575780638e8f294b146104795780639254f5e5146104cb575f80fd5b80634088c73e116101c157806352d84d1e1161018657806352d84d1e146103c55780635dd3fc9d146103d8578063719f701b146103f757806376551383146104005780637d172bd514610412575f80fd5b80634088c73e1461035357806341a18d2c14610360578063425fad581461038a5780634a5844321461039d5780634ada90af146103bc575f80fd5b806310b983381161020757806310b98338146102a657806321af4569146102e357806324a3d6221461030e57806326782247146103215780632bc7e29e14610334575f80fd5b806302c3bcbb1461023857806304ef9d581461026a57806308e0225c146102735780630db4b4e51461029d575b5f80fd5b6102576102463660046106c1565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61025760225481565b6102576102813660046106e1565b601360209081525f928352604080842090915290825290205481565b610257601d5481565b6102d36102b43660046106e1565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610261565b601e546102f6906001600160a01b031681565b6040516001600160a01b039091168152602001610261565b600a546102f6906001600160a01b031681565b6001546102f6906001600160a01b031681565b6102576103423660046106c1565b60166020525f908152604090205481565b6018546102d39060ff1681565b61025761036e3660046106e1565b601260209081525f928352604080842090915290825290205481565b6018546102d39062010000900460ff1681565b6102576103ab3660046106c1565b601f6020525f908152604090205481565b61025760065481565b6102f66103d3366004610712565b61064a565b6102576103e63660046106c1565b602b6020525f908152604090205481565b610257601c5481565b6018546102d390610100900460ff1681565b601b546102f6906001600160a01b031681565b6004546102f6906001600160a01b031681565b6102576104463660046106c1565b60146020525f908152604090205481565b6102d36104653660046106c1565b602d6020525f908152604090205460ff1681565b6104ac6104873660046106c1565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610261565b6015546102f6906001600160a01b031681565b61025760075481565b6025546102f6906001600160a01b031681565b6020546102f6906001600160a01b031681565b61054461051b3660046106c1565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610261565b6002546102f6906001600160a01b031681565b6102576105893660046106c1565b602a6020525f908152604090205481565b61025760175481565b6021546102f6906001600160a01b031681565b6026546102f6906001600160a01b031681565b6102f66105d7366004610729565b610672565b6003546102f6906001600160a01b031681565b6105446105fd3660046106c1565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61025760055481565b5f546102f6906001600160a01b031681565b610257601a5481565b600d8181548110610659575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061068b575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b03811681146106bc575f80fd5b919050565b5f602082840312156106d1575f80fd5b6106da826106a6565b9392505050565b5f80604083850312156106f2575f80fd5b6106fb836106a6565b9150610709602084016106a6565b90509250929050565b5f60208284031215610722575f80fd5b5035919050565b5f806040838503121561073a575f80fd5b610743836106a6565b94602093909301359350505056fea2646970667358221220f675a6c2128f260c377d6639a1511a6f8295d3ae78c7bc1423b5d6137543ca9264736f6c63430008190033",
645
- "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610234575f3560e01c80637dc0d1d011610135578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105dc578063e37d4b79146105ef578063e875544614610626578063f851a4401461062f578063fa6331d814610641575f80fd5b8063bbb8864a1461057b578063bec04f721461059a578063c5f956af146105a3578063d3270f99146105b6578063dce15449146105c9575f80fd5b806394b2294b116100fa57806394b2294b146104de5780639bb27d62146104e7578063b2eafc39146104fa578063b8324c7c1461050d578063bb82aa5e14610568575f80fd5b80637dc0d1d0146104255780638a7dc165146104385780638c1ac18a146104575780638e8f294b146104795780639254f5e5146104cb575f80fd5b80634088c73e116101c157806352d84d1e1161018657806352d84d1e146103c55780635dd3fc9d146103d8578063719f701b146103f757806376551383146104005780637d172bd514610412575f80fd5b80634088c73e1461035357806341a18d2c14610360578063425fad581461038a5780634a5844321461039d5780634ada90af146103bc575f80fd5b806310b983381161020757806310b98338146102a657806321af4569146102e357806324a3d6221461030e57806326782247146103215780632bc7e29e14610334575f80fd5b806302c3bcbb1461023857806304ef9d581461026a57806308e0225c146102735780630db4b4e51461029d575b5f80fd5b6102576102463660046106c1565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61025760225481565b6102576102813660046106e1565b601360209081525f928352604080842090915290825290205481565b610257601d5481565b6102d36102b43660046106e1565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610261565b601e546102f6906001600160a01b031681565b6040516001600160a01b039091168152602001610261565b600a546102f6906001600160a01b031681565b6001546102f6906001600160a01b031681565b6102576103423660046106c1565b60166020525f908152604090205481565b6018546102d39060ff1681565b61025761036e3660046106e1565b601260209081525f928352604080842090915290825290205481565b6018546102d39062010000900460ff1681565b6102576103ab3660046106c1565b601f6020525f908152604090205481565b61025760065481565b6102f66103d3366004610712565b61064a565b6102576103e63660046106c1565b602b6020525f908152604090205481565b610257601c5481565b6018546102d390610100900460ff1681565b601b546102f6906001600160a01b031681565b6004546102f6906001600160a01b031681565b6102576104463660046106c1565b60146020525f908152604090205481565b6102d36104653660046106c1565b602d6020525f908152604090205460ff1681565b6104ac6104873660046106c1565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610261565b6015546102f6906001600160a01b031681565b61025760075481565b6025546102f6906001600160a01b031681565b6020546102f6906001600160a01b031681565b61054461051b3660046106c1565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610261565b6002546102f6906001600160a01b031681565b6102576105893660046106c1565b602a6020525f908152604090205481565b61025760175481565b6021546102f6906001600160a01b031681565b6026546102f6906001600160a01b031681565b6102f66105d7366004610729565b610672565b6003546102f6906001600160a01b031681565b6105446105fd3660046106c1565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61025760055481565b5f546102f6906001600160a01b031681565b610257601a5481565b600d8181548110610659575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061068b575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b03811681146106bc575f80fd5b919050565b5f602082840312156106d1575f80fd5b6106da826106a6565b9392505050565b5f80604083850312156106f2575f80fd5b6106fb836106a6565b9150610709602084016106a6565b90509250929050565b5f60208284031215610722575f80fd5b5035919050565b5f806040838503121561073a575f80fd5b610743836106a6565b94602093909301359350505056fea2646970667358221220f675a6c2128f260c377d6639a1511a6f8295d3ae78c7bc1423b5d6137543ca9264736f6c63430008190033",
644
+ "bytecode": "0x6080604052348015600e575f80fd5b506107878061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610234575f3560e01c80637dc0d1d011610135578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105dc578063e37d4b79146105ef578063e875544614610626578063f851a4401461062f578063fa6331d814610641575f80fd5b8063bbb8864a1461057b578063bec04f721461059a578063c5f956af146105a3578063d3270f99146105b6578063dce15449146105c9575f80fd5b806394b2294b116100fa57806394b2294b146104de5780639bb27d62146104e7578063b2eafc39146104fa578063b8324c7c1461050d578063bb82aa5e14610568575f80fd5b80637dc0d1d0146104255780638a7dc165146104385780638c1ac18a146104575780638e8f294b146104795780639254f5e5146104cb575f80fd5b80634088c73e116101c157806352d84d1e1161018657806352d84d1e146103c55780635dd3fc9d146103d8578063719f701b146103f757806376551383146104005780637d172bd514610412575f80fd5b80634088c73e1461035357806341a18d2c14610360578063425fad581461038a5780634a5844321461039d5780634ada90af146103bc575f80fd5b806310b983381161020757806310b98338146102a657806321af4569146102e357806324a3d6221461030e57806326782247146103215780632bc7e29e14610334575f80fd5b806302c3bcbb1461023857806304ef9d581461026a57806308e0225c146102735780630db4b4e51461029d575b5f80fd5b6102576102463660046106c1565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61025760225481565b6102576102813660046106e1565b601360209081525f928352604080842090915290825290205481565b610257601d5481565b6102d36102b43660046106e1565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610261565b601e546102f6906001600160a01b031681565b6040516001600160a01b039091168152602001610261565b600a546102f6906001600160a01b031681565b6001546102f6906001600160a01b031681565b6102576103423660046106c1565b60166020525f908152604090205481565b6018546102d39060ff1681565b61025761036e3660046106e1565b601260209081525f928352604080842090915290825290205481565b6018546102d39062010000900460ff1681565b6102576103ab3660046106c1565b601f6020525f908152604090205481565b61025760065481565b6102f66103d3366004610712565b61064a565b6102576103e63660046106c1565b602b6020525f908152604090205481565b610257601c5481565b6018546102d390610100900460ff1681565b601b546102f6906001600160a01b031681565b6004546102f6906001600160a01b031681565b6102576104463660046106c1565b60146020525f908152604090205481565b6102d36104653660046106c1565b602d6020525f908152604090205460ff1681565b6104ac6104873660046106c1565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610261565b6015546102f6906001600160a01b031681565b61025760075481565b6025546102f6906001600160a01b031681565b6020546102f6906001600160a01b031681565b61054461051b3660046106c1565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610261565b6002546102f6906001600160a01b031681565b6102576105893660046106c1565b602a6020525f908152604090205481565b61025760175481565b6021546102f6906001600160a01b031681565b6026546102f6906001600160a01b031681565b6102f66105d7366004610729565b610672565b6003546102f6906001600160a01b031681565b6105446105fd3660046106c1565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61025760055481565b5f546102f6906001600160a01b031681565b610257601a5481565b600d8181548110610659575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061068b575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b03811681146106bc575f80fd5b919050565b5f602082840312156106d1575f80fd5b6106da826106a6565b9392505050565b5f80604083850312156106f2575f80fd5b6106fb836106a6565b9150610709602084016106a6565b90509250929050565b5f60208284031215610722575f80fd5b5035919050565b5f806040838503121561073a575f80fd5b610743836106a6565b94602093909301359350505056fea2646970667358221220b248189b2bb7aa85ee0cc6b45b4a2dbabea62bf7c3fb1d46df4ad90a38a9b9ff64736f6c63430008190033",
645
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610234575f3560e01c80637dc0d1d011610135578063bbb8864a116100b4578063dcfbc0c711610079578063dcfbc0c7146105dc578063e37d4b79146105ef578063e875544614610626578063f851a4401461062f578063fa6331d814610641575f80fd5b8063bbb8864a1461057b578063bec04f721461059a578063c5f956af146105a3578063d3270f99146105b6578063dce15449146105c9575f80fd5b806394b2294b116100fa57806394b2294b146104de5780639bb27d62146104e7578063b2eafc39146104fa578063b8324c7c1461050d578063bb82aa5e14610568575f80fd5b80637dc0d1d0146104255780638a7dc165146104385780638c1ac18a146104575780638e8f294b146104795780639254f5e5146104cb575f80fd5b80634088c73e116101c157806352d84d1e1161018657806352d84d1e146103c55780635dd3fc9d146103d8578063719f701b146103f757806376551383146104005780637d172bd514610412575f80fd5b80634088c73e1461035357806341a18d2c14610360578063425fad581461038a5780634a5844321461039d5780634ada90af146103bc575f80fd5b806310b983381161020757806310b98338146102a657806321af4569146102e357806324a3d6221461030e57806326782247146103215780632bc7e29e14610334575f80fd5b806302c3bcbb1461023857806304ef9d581461026a57806308e0225c146102735780630db4b4e51461029d575b5f80fd5b6102576102463660046106c1565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b61025760225481565b6102576102813660046106e1565b601360209081525f928352604080842090915290825290205481565b610257601d5481565b6102d36102b43660046106e1565b602c60209081525f928352604080842090915290825290205460ff1681565b6040519015158152602001610261565b601e546102f6906001600160a01b031681565b6040516001600160a01b039091168152602001610261565b600a546102f6906001600160a01b031681565b6001546102f6906001600160a01b031681565b6102576103423660046106c1565b60166020525f908152604090205481565b6018546102d39060ff1681565b61025761036e3660046106e1565b601260209081525f928352604080842090915290825290205481565b6018546102d39062010000900460ff1681565b6102576103ab3660046106c1565b601f6020525f908152604090205481565b61025760065481565b6102f66103d3366004610712565b61064a565b6102576103e63660046106c1565b602b6020525f908152604090205481565b610257601c5481565b6018546102d390610100900460ff1681565b601b546102f6906001600160a01b031681565b6004546102f6906001600160a01b031681565b6102576104463660046106c1565b60146020525f908152604090205481565b6102d36104653660046106c1565b602d6020525f908152604090205460ff1681565b6104ac6104873660046106c1565b60096020525f908152604090208054600182015460039092015460ff91821692911683565b6040805193151584526020840192909252151590820152606001610261565b6015546102f6906001600160a01b031681565b61025760075481565b6025546102f6906001600160a01b031681565b6020546102f6906001600160a01b031681565b61054461051b3660046106c1565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff909116602083015201610261565b6002546102f6906001600160a01b031681565b6102576105893660046106c1565b602a6020525f908152604090205481565b61025760175481565b6021546102f6906001600160a01b031681565b6026546102f6906001600160a01b031681565b6102f66105d7366004610729565b610672565b6003546102f6906001600160a01b031681565b6105446105fd3660046106c1565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61025760055481565b5f546102f6906001600160a01b031681565b610257601a5481565b600d8181548110610659575f80fd5b5f918252602090912001546001600160a01b0316905081565b6008602052815f5260405f20818154811061068b575f80fd5b5f918252602090912001546001600160a01b03169150829050565b80356001600160a01b03811681146106bc575f80fd5b919050565b5f602082840312156106d1575f80fd5b6106da826106a6565b9392505050565b5f80604083850312156106f2575f80fd5b6106fb836106a6565b9150610709602084016106a6565b90509250929050565b5f60208284031215610722575f80fd5b5035919050565b5f806040838503121561073a575f80fd5b610743836106a6565b94602093909301359350505056fea2646970667358221220b248189b2bb7aa85ee0cc6b45b4a2dbabea62bf7c3fb1d46df4ad90a38a9b9ff64736f6c63430008190033",
646
646
  "linkReferences": {},
647
647
  "deployedLinkReferences": {}
648
648
  }