@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": [
@@ -285,6 +379,25 @@
285
379
  "stateMutability": "view",
286
380
  "type": "function"
287
381
  },
382
+ {
383
+ "inputs": [
384
+ {
385
+ "internalType": "address",
386
+ "name": "",
387
+ "type": "address"
388
+ }
389
+ ],
390
+ "name": "authorizedFlashLoan",
391
+ "outputs": [
392
+ {
393
+ "internalType": "bool",
394
+ "name": "",
395
+ "type": "bool"
396
+ }
397
+ ],
398
+ "stateMutability": "view",
399
+ "type": "function"
400
+ },
288
401
  {
289
402
  "inputs": [],
290
403
  "name": "borrowCapGuardian",
@@ -369,6 +482,19 @@
369
482
  "stateMutability": "view",
370
483
  "type": "function"
371
484
  },
485
+ {
486
+ "inputs": [],
487
+ "name": "flashLoanPaused",
488
+ "outputs": [
489
+ {
490
+ "internalType": "bool",
491
+ "name": "",
492
+ "type": "bool"
493
+ }
494
+ ],
495
+ "stateMutability": "view",
496
+ "type": "function"
497
+ },
372
498
  {
373
499
  "inputs": [
374
500
  {
@@ -962,8 +1088,8 @@
962
1088
  "type": "function"
963
1089
  }
964
1090
  ],
965
- "bytecode": "0x6080604052348015600e575f80fd5b50610abf8061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061028c575f3560e01c80639254f5e511610161578063c5f956af116100ca578063e37d4b7911610084578063e37d4b79146106e5578063e85a29601461071c578063e87554461461072f578063f445d70314610738578063f851a44014610765578063fa6331d814610777575f80fd5b8063c5f956af1461067f578063c7ee005e14610692578063d3270f99146106a5578063d463654c146106b8578063dce15449146106bf578063dcfbc0c7146106d2575f80fd5b8063b8324c7c1161011b578063b8324c7c146105aa578063bb82aa5e14610605578063bbb8864a14610618578063bec04f7214610637578063bf32442d14610640578063c5b4db5514610651575f80fd5b80639254f5e51461053357806394b2294b1461054657806396c990641461054f5780639bb27d6214610571578063a657e57914610584578063b2eafc3914610597575f80fd5b8063425fad581161020357806373769099116101bd578063737690991461047a57806376551383146104ba5780637d172bd5146104cc5780637dc0d1d0146104df5780638a7dc165146104f25780638c1ac18a14610511575f80fd5b8063425fad58146103e25780634a584432146103f55780634d99c7761461041457806352d84d1e1461043f5780635dd3fc9d14610452578063719f701b14610471575f80fd5b806321af45691161025457806321af45691461033b57806324a3d6221461036657806326782247146103795780632bc7e29e1461038c5780634088c73e146103ab57806341a18d2c146103b8575f80fd5b806302c3bcbb1461029057806304ef9d58146102c257806308e0225c146102cb5780630db4b4e5146102f557806310b98338146102fe575b5f80fd5b6102af61029e3660046108e8565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102af60225481565b6102af6102d9366004610908565b601360209081525f928352604080842090915290825290205481565b6102af601d5481565b61032b61030c366004610908565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102b9565b601e5461034e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b600a5461034e906001600160a01b031681565b60015461034e906001600160a01b031681565b6102af61039a3660046108e8565b60166020525f908152604090205481565b60185461032b9060ff1681565b6102af6103c6366004610908565b601260209081525f928352604080842090915290825290205481565b60185461032b9062010000900460ff1681565b6102af6104033660046108e8565b601f6020525f908152604090205481565b6102af61042236600461094f565b6001600160a01b031660a09190911b6001600160a01b0319161790565b61034e61044d366004610969565b610780565b6102af6104603660046108e8565b602b6020525f908152604090205481565b6102af601c5481565b6104a26104883660046108e8565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102b9565b60185461032b90610100900460ff1681565b601b5461034e906001600160a01b031681565b60045461034e906001600160a01b031681565b6102af6105003660046108e8565b60146020525f908152604090205481565b61032b61051f3660046108e8565b602d6020525f908152604090205460ff1681565b60155461034e906001600160a01b031681565b6102af60075481565b61056261055d366004610980565b6107a8565b6040516102b993929190610999565b60255461034e906001600160a01b031681565b6037546104a2906001600160601b031681565b60205461034e906001600160a01b031681565b6105e16105b83660046108e8565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102b9565b60025461034e906001600160a01b031681565b6102af6106263660046108e8565b602a6020525f908152604090205481565b6102af60175481565b6033546001600160a01b031661034e565b6106676ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102b9565b60215461034e906001600160a01b031681565b60315461034e906001600160a01b031681565b60265461034e906001600160a01b031681565b6104a25f81565b61034e6106cd3660046109dd565b610855565b60035461034e906001600160a01b031681565b6105e16106f33660046108e8565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61032b61072a366004610a05565b610889565b6102af60055481565b61032b610746366004610908565b603260209081525f928352604080842090915290825290205460ff1681565b5f5461034e906001600160a01b031681565b6102af601a5481565b600d818154811061078f575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f90815260409020805481906107c290610a3d565b80601f01602080910402602001604051908101604052809291908181526020018280546107ee90610a3d565b80156108395780601f1061081057610100808354040283529160200191610839565b820191905f5260205f20905b81548152906001019060200180831161081c57829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f20818154811061086e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f908152602960205260408120818360088111156108b3576108b3610a75565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b03811681146108e3575f80fd5b919050565b5f602082840312156108f8575f80fd5b610901826108cd565b9392505050565b5f8060408385031215610919575f80fd5b610922836108cd565b9150610930602084016108cd565b90509250929050565b80356001600160601b03811681146108e3575f80fd5b5f8060408385031215610960575f80fd5b61092283610939565b5f60208284031215610979575f80fd5b5035919050565b5f60208284031215610990575f80fd5b61090182610939565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f80604083850312156109ee575f80fd5b6109f7836108cd565b946020939093013593505050565b5f8060408385031215610a16575f80fd5b610a1f836108cd565b9150602083013560098110610a32575f80fd5b809150509250929050565b600181811c90821680610a5157607f821691505b602082108103610a6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220af17daed5920a4defdcea0c22234857658164c1f8853b8ec2319449c6e47e06364736f6c63430008190033",
966
- "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061028c575f3560e01c80639254f5e511610161578063c5f956af116100ca578063e37d4b7911610084578063e37d4b79146106e5578063e85a29601461071c578063e87554461461072f578063f445d70314610738578063f851a44014610765578063fa6331d814610777575f80fd5b8063c5f956af1461067f578063c7ee005e14610692578063d3270f99146106a5578063d463654c146106b8578063dce15449146106bf578063dcfbc0c7146106d2575f80fd5b8063b8324c7c1161011b578063b8324c7c146105aa578063bb82aa5e14610605578063bbb8864a14610618578063bec04f7214610637578063bf32442d14610640578063c5b4db5514610651575f80fd5b80639254f5e51461053357806394b2294b1461054657806396c990641461054f5780639bb27d6214610571578063a657e57914610584578063b2eafc3914610597575f80fd5b8063425fad581161020357806373769099116101bd578063737690991461047a57806376551383146104ba5780637d172bd5146104cc5780637dc0d1d0146104df5780638a7dc165146104f25780638c1ac18a14610511575f80fd5b8063425fad58146103e25780634a584432146103f55780634d99c7761461041457806352d84d1e1461043f5780635dd3fc9d14610452578063719f701b14610471575f80fd5b806321af45691161025457806321af45691461033b57806324a3d6221461036657806326782247146103795780632bc7e29e1461038c5780634088c73e146103ab57806341a18d2c146103b8575f80fd5b806302c3bcbb1461029057806304ef9d58146102c257806308e0225c146102cb5780630db4b4e5146102f557806310b98338146102fe575b5f80fd5b6102af61029e3660046108e8565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102af60225481565b6102af6102d9366004610908565b601360209081525f928352604080842090915290825290205481565b6102af601d5481565b61032b61030c366004610908565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102b9565b601e5461034e906001600160a01b031681565b6040516001600160a01b0390911681526020016102b9565b600a5461034e906001600160a01b031681565b60015461034e906001600160a01b031681565b6102af61039a3660046108e8565b60166020525f908152604090205481565b60185461032b9060ff1681565b6102af6103c6366004610908565b601260209081525f928352604080842090915290825290205481565b60185461032b9062010000900460ff1681565b6102af6104033660046108e8565b601f6020525f908152604090205481565b6102af61042236600461094f565b6001600160a01b031660a09190911b6001600160a01b0319161790565b61034e61044d366004610969565b610780565b6102af6104603660046108e8565b602b6020525f908152604090205481565b6102af601c5481565b6104a26104883660046108e8565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102b9565b60185461032b90610100900460ff1681565b601b5461034e906001600160a01b031681565b60045461034e906001600160a01b031681565b6102af6105003660046108e8565b60146020525f908152604090205481565b61032b61051f3660046108e8565b602d6020525f908152604090205460ff1681565b60155461034e906001600160a01b031681565b6102af60075481565b61056261055d366004610980565b6107a8565b6040516102b993929190610999565b60255461034e906001600160a01b031681565b6037546104a2906001600160601b031681565b60205461034e906001600160a01b031681565b6105e16105b83660046108e8565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102b9565b60025461034e906001600160a01b031681565b6102af6106263660046108e8565b602a6020525f908152604090205481565b6102af60175481565b6033546001600160a01b031661034e565b6106676ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102b9565b60215461034e906001600160a01b031681565b60315461034e906001600160a01b031681565b60265461034e906001600160a01b031681565b6104a25f81565b61034e6106cd3660046109dd565b610855565b60035461034e906001600160a01b031681565b6105e16106f33660046108e8565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61032b61072a366004610a05565b610889565b6102af60055481565b61032b610746366004610908565b603260209081525f928352604080842090915290825290205460ff1681565b5f5461034e906001600160a01b031681565b6102af601a5481565b600d818154811061078f575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f90815260409020805481906107c290610a3d565b80601f01602080910402602001604051908101604052809291908181526020018280546107ee90610a3d565b80156108395780601f1061081057610100808354040283529160200191610839565b820191905f5260205f20905b81548152906001019060200180831161081c57829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f20818154811061086e575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f908152602960205260408120818360088111156108b3576108b3610a75565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b03811681146108e3575f80fd5b919050565b5f602082840312156108f8575f80fd5b610901826108cd565b9392505050565b5f8060408385031215610919575f80fd5b610922836108cd565b9150610930602084016108cd565b90509250929050565b80356001600160601b03811681146108e3575f80fd5b5f8060408385031215610960575f80fd5b61092283610939565b5f60208284031215610979575f80fd5b5035919050565b5f60208284031215610990575f80fd5b61090182610939565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f80604083850312156109ee575f80fd5b6109f7836108cd565b946020939093013593505050565b5f8060408385031215610a16575f80fd5b610a1f836108cd565b9150602083013560098110610a32575f80fd5b809150509250929050565b600181811c90821680610a5157607f821691505b602082108103610a6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220af17daed5920a4defdcea0c22234857658164c1f8853b8ec2319449c6e47e06364736f6c63430008190033",
1091
+ "bytecode": "0x6080604052348015600e575f80fd5b50610b138061001c5f395ff3fe608060405234801561000f575f80fd5b50600436106102b1575f3560e01c80639254f5e51161017b578063c5f956af116100e4578063e0f6123d1161009e578063e875544611610079578063e875544614610783578063f445d7031461078c578063f851a440146107b9578063fa6331d8146107cb575f80fd5b8063e0f6123d14610717578063e37d4b7914610739578063e85a296014610770575f80fd5b8063c5f956af146106b1578063c7ee005e146106c4578063d3270f99146106d7578063d463654c146106ea578063dce15449146106f1578063dcfbc0c714610704575f80fd5b8063b8324c7c11610135578063b8324c7c146105dc578063bb82aa5e14610637578063bbb8864a1461064a578063bec04f7214610669578063bf32442d14610672578063c5b4db5514610683575f80fd5b80639254f5e51461056557806394b2294b1461057857806396c99064146105815780639bb27d62146105a3578063a657e579146105b6578063b2eafc39146105c9575f80fd5b80634a5844321161021d57806376551383116101d757806376551383146104df5780637d172bd5146104f15780637dc0d1d0146105045780637fb8e8cd146105175780638a7dc165146105245780638c1ac18a14610543575f80fd5b80634a5844321461041a5780634d99c7761461043957806352d84d1e146104645780635dd3fc9d14610477578063719f701b14610496578063737690991461049f575f80fd5b806324a3d6221161026e57806324a3d6221461038b578063267822471461039e5780632bc7e29e146103b15780634088c73e146103d057806341a18d2c146103dd578063425fad5814610407575f80fd5b806302c3bcbb146102b557806304ef9d58146102e757806308e0225c146102f05780630db4b4e51461031a57806310b983381461032357806321af456914610360575b5f80fd5b6102d46102c336600461093c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102d460225481565b6102d46102fe36600461095c565b601360209081525f928352604080842090915290825290205481565b6102d4601d5481565b61035061033136600461095c565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102de565b601e54610373906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b600a54610373906001600160a01b031681565b600154610373906001600160a01b031681565b6102d46103bf36600461093c565b60166020525f908152604090205481565b6018546103509060ff1681565b6102d46103eb36600461095c565b601260209081525f928352604080842090915290825290205481565b6018546103509062010000900460ff1681565b6102d461042836600461093c565b601f6020525f908152604090205481565b6102d46104473660046109a3565b6001600160a01b031660a09190911b6001600160a01b0319161790565b6103736104723660046109bd565b6107d4565b6102d461048536600461093c565b602b6020525f908152604090205481565b6102d4601c5481565b6104c76104ad36600461093c565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102de565b60185461035090610100900460ff1681565b601b54610373906001600160a01b031681565b600454610373906001600160a01b031681565b6039546103509060ff1681565b6102d461053236600461093c565b60146020525f908152604090205481565b61035061055136600461093c565b602d6020525f908152604090205460ff1681565b601554610373906001600160a01b031681565b6102d460075481565b61059461058f3660046109d4565b6107fc565b6040516102de939291906109ed565b602554610373906001600160a01b031681565b6037546104c7906001600160601b031681565b602054610373906001600160a01b031681565b6106136105ea36600461093c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102de565b600254610373906001600160a01b031681565b6102d461065836600461093c565b602a6020525f908152604090205481565b6102d460175481565b6033546001600160a01b0316610373565b6106996ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102de565b602154610373906001600160a01b031681565b603154610373906001600160a01b031681565b602654610373906001600160a01b031681565b6104c75f81565b6103736106ff366004610a31565b6108a9565b600354610373906001600160a01b031681565b61035061072536600461093c565b60386020525f908152604090205460ff1681565b61061361074736600461093c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61035061077e366004610a59565b6108dd565b6102d460055481565b61035061079a36600461095c565b603260209081525f928352604080842090915290825290205460ff1681565b5f54610373906001600160a01b031681565b6102d4601a5481565b600d81815481106107e3575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f908152604090208054819061081690610a91565b80601f016020809104026020016040519081016040528092919081815260200182805461084290610a91565b801561088d5780601f106108645761010080835404028352916020019161088d565b820191905f5260205f20905b81548152906001019060200180831161087057829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f2081815481106108c2575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f9081526029602052604081208183600881111561090757610907610ac9565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b0381168114610937575f80fd5b919050565b5f6020828403121561094c575f80fd5b61095582610921565b9392505050565b5f806040838503121561096d575f80fd5b61097683610921565b915061098460208401610921565b90509250929050565b80356001600160601b0381168114610937575f80fd5b5f80604083850312156109b4575f80fd5b6109768361098d565b5f602082840312156109cd575f80fd5b5035919050565b5f602082840312156109e4575f80fd5b6109558261098d565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f8060408385031215610a42575f80fd5b610a4b83610921565b946020939093013593505050565b5f8060408385031215610a6a575f80fd5b610a7383610921565b9150602083013560098110610a86575f80fd5b809150509250929050565b600181811c90821680610aa557607f821691505b602082108103610ac357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220960712a0640746c7a3f5f674b0276c2e57c12f2a263289cedaf5842068c35d1c64736f6c63430008190033",
1092
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106102b1575f3560e01c80639254f5e51161017b578063c5f956af116100e4578063e0f6123d1161009e578063e875544611610079578063e875544614610783578063f445d7031461078c578063f851a440146107b9578063fa6331d8146107cb575f80fd5b8063e0f6123d14610717578063e37d4b7914610739578063e85a296014610770575f80fd5b8063c5f956af146106b1578063c7ee005e146106c4578063d3270f99146106d7578063d463654c146106ea578063dce15449146106f1578063dcfbc0c714610704575f80fd5b8063b8324c7c11610135578063b8324c7c146105dc578063bb82aa5e14610637578063bbb8864a1461064a578063bec04f7214610669578063bf32442d14610672578063c5b4db5514610683575f80fd5b80639254f5e51461056557806394b2294b1461057857806396c99064146105815780639bb27d62146105a3578063a657e579146105b6578063b2eafc39146105c9575f80fd5b80634a5844321161021d57806376551383116101d757806376551383146104df5780637d172bd5146104f15780637dc0d1d0146105045780637fb8e8cd146105175780638a7dc165146105245780638c1ac18a14610543575f80fd5b80634a5844321461041a5780634d99c7761461043957806352d84d1e146104645780635dd3fc9d14610477578063719f701b14610496578063737690991461049f575f80fd5b806324a3d6221161026e57806324a3d6221461038b578063267822471461039e5780632bc7e29e146103b15780634088c73e146103d057806341a18d2c146103dd578063425fad5814610407575f80fd5b806302c3bcbb146102b557806304ef9d58146102e757806308e0225c146102f05780630db4b4e51461031a57806310b983381461032357806321af456914610360575b5f80fd5b6102d46102c336600461093c565b60276020525f908152604090205481565b6040519081526020015b60405180910390f35b6102d460225481565b6102d46102fe36600461095c565b601360209081525f928352604080842090915290825290205481565b6102d4601d5481565b61035061033136600461095c565b602c60209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016102de565b601e54610373906001600160a01b031681565b6040516001600160a01b0390911681526020016102de565b600a54610373906001600160a01b031681565b600154610373906001600160a01b031681565b6102d46103bf36600461093c565b60166020525f908152604090205481565b6018546103509060ff1681565b6102d46103eb36600461095c565b601260209081525f928352604080842090915290825290205481565b6018546103509062010000900460ff1681565b6102d461042836600461093c565b601f6020525f908152604090205481565b6102d46104473660046109a3565b6001600160a01b031660a09190911b6001600160a01b0319161790565b6103736104723660046109bd565b6107d4565b6102d461048536600461093c565b602b6020525f908152604090205481565b6102d4601c5481565b6104c76104ad36600461093c565b60356020525f90815260409020546001600160601b031681565b6040516001600160601b0390911681526020016102de565b60185461035090610100900460ff1681565b601b54610373906001600160a01b031681565b600454610373906001600160a01b031681565b6039546103509060ff1681565b6102d461053236600461093c565b60146020525f908152604090205481565b61035061055136600461093c565b602d6020525f908152604090205460ff1681565b601554610373906001600160a01b031681565b6102d460075481565b61059461058f3660046109d4565b6107fc565b6040516102de939291906109ed565b602554610373906001600160a01b031681565b6037546104c7906001600160601b031681565b602054610373906001600160a01b031681565b6106136105ea36600461093c565b60106020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b604080516001600160e01b03909316835263ffffffff9091166020830152016102de565b600254610373906001600160a01b031681565b6102d461065836600461093c565b602a6020525f908152604090205481565b6102d460175481565b6033546001600160a01b0316610373565b6106996ec097ce7bc90715b34b9f100000000081565b6040516001600160e01b0390911681526020016102de565b602154610373906001600160a01b031681565b603154610373906001600160a01b031681565b602654610373906001600160a01b031681565b6104c75f81565b6103736106ff366004610a31565b6108a9565b600354610373906001600160a01b031681565b61035061072536600461093c565b60386020525f908152604090205460ff1681565b61061361074736600461093c565b60116020525f90815260409020546001600160e01b03811690600160e01b900463ffffffff1682565b61035061077e366004610a59565b6108dd565b6102d460055481565b61035061079a36600461095c565b603260209081525f928352604080842090915290825290205460ff1681565b5f54610373906001600160a01b031681565b6102d4601a5481565b600d81815481106107e3575f80fd5b5f918252602090912001546001600160a01b0316905081565b60366020525f908152604090208054819061081690610a91565b80601f016020809104026020016040519081016040528092919081815260200182805461084290610a91565b801561088d5780601f106108645761010080835404028352916020019161088d565b820191905f5260205f20905b81548152906001019060200180831161087057829003601f168201915b5050506002909301549192505060ff8082169161010090041683565b6008602052815f5260405f2081815481106108c2575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0382165f9081526029602052604081208183600881111561090757610907610ac9565b815260208101919091526040015f205460ff169392505050565b80356001600160a01b0381168114610937575f80fd5b919050565b5f6020828403121561094c575f80fd5b61095582610921565b9392505050565b5f806040838503121561096d575f80fd5b61097683610921565b915061098460208401610921565b90509250929050565b80356001600160601b0381168114610937575f80fd5b5f80604083850312156109b4575f80fd5b6109768361098d565b5f602082840312156109cd575f80fd5b5035919050565b5f602082840312156109e4575f80fd5b6109558261098d565b606081525f84518060608401528060208701608085015e5f60808285018101919091529415156020840152921515604083015250601f909101601f19160101919050565b5f8060408385031215610a42575f80fd5b610a4b83610921565b946020939093013593505050565b5f8060408385031215610a6a575f80fd5b610a7383610921565b9150602083013560098110610a86575f80fd5b809150509250929050565b600181811c90821680610aa557607f821691505b602082108103610ac357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220960712a0640746c7a3f5f674b0276c2e57c12f2a263289cedaf5842068c35d1c64736f6c63430008190033",
967
1093
  "linkReferences": {},
968
1094
  "deployedLinkReferences": {}
969
1095
  }