@venusprotocol/liquidity-hub 0.0.0

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 (76) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +422 -0
  3. package/contracts/Hub/Hub.sol +1614 -0
  4. package/contracts/Hub/HubStorage.sol +106 -0
  5. package/contracts/Hub/lib/HubAdminLib.sol +292 -0
  6. package/contracts/YieldGroup/YieldGroup.sol +128 -0
  7. package/contracts/YieldGroup/YieldGroupFRV.sol +107 -0
  8. package/contracts/YieldGroup/base/YieldGroupBase.sol +797 -0
  9. package/contracts/YieldGroup/base/YieldGroupBaseStorage.sol +73 -0
  10. package/contracts/adapters/AdapterCoreV1.sol +309 -0
  11. package/contracts/adapters/AdapterFRV.sol +276 -0
  12. package/contracts/adapters/AdapterFlux.sol +173 -0
  13. package/contracts/interfaces/IHub.sol +551 -0
  14. package/contracts/interfaces/IHubRegistry.sol +120 -0
  15. package/contracts/interfaces/IMigrator.sol +134 -0
  16. package/contracts/interfaces/IResourceAdapter.sol +154 -0
  17. package/contracts/interfaces/IYieldGroup.sol +119 -0
  18. package/contracts/interfaces/IYieldGroupBase.sol +507 -0
  19. package/contracts/interfaces/IYieldGroupFRV.sol +61 -0
  20. package/contracts/interfaces/external/IComptroller.sol +57 -0
  21. package/contracts/interfaces/external/IFRVVault.sol +113 -0
  22. package/contracts/interfaces/external/IFToken.sol +46 -0
  23. package/contracts/interfaces/external/IFluidLendingResolver.sol +63 -0
  24. package/contracts/interfaces/external/IVBep20.sol +39 -0
  25. package/contracts/interfaces/external/IVToken.sol +125 -0
  26. package/contracts/interfaces/external/IWBNB.sol +16 -0
  27. package/contracts/migrator/Migrator.sol +182 -0
  28. package/contracts/registry/HubRegistry.sol +179 -0
  29. package/deployments/bscmainnet/AdapterCoreV1.json +336 -0
  30. package/deployments/bscmainnet/AdapterFRV.json +225 -0
  31. package/deployments/bscmainnet/AdapterFlux.json +249 -0
  32. package/deployments/bscmainnet/CoreBeacon.json +110 -0
  33. package/deployments/bscmainnet/CoreSource_U.json +1083 -0
  34. package/deployments/bscmainnet/CoreSource_USDC.json +1083 -0
  35. package/deployments/bscmainnet/CoreSource_USDT.json +1083 -0
  36. package/deployments/bscmainnet/FRVBeacon.json +110 -0
  37. package/deployments/bscmainnet/FRVSource_U.json +978 -0
  38. package/deployments/bscmainnet/FRVSource_USDC.json +978 -0
  39. package/deployments/bscmainnet/FRVSource_USDT.json +978 -0
  40. package/deployments/bscmainnet/FluxBeacon.json +110 -0
  41. package/deployments/bscmainnet/FluxSource_U.json +1083 -0
  42. package/deployments/bscmainnet/FluxSource_USDC.json +1083 -0
  43. package/deployments/bscmainnet/FluxSource_USDT.json +1083 -0
  44. package/deployments/bscmainnet/HubBeacon.json +110 -0
  45. package/deployments/bscmainnet/HubImpl.json +2216 -0
  46. package/deployments/bscmainnet/HubRegistry.json +386 -0
  47. package/deployments/bscmainnet/HubRegistryImpl.json +386 -0
  48. package/deployments/bscmainnet/Hub_U.json +2216 -0
  49. package/deployments/bscmainnet/Hub_USDC.json +2216 -0
  50. package/deployments/bscmainnet/Hub_USDT.json +2216 -0
  51. package/deployments/bscmainnet/Migrator.json +375 -0
  52. package/deployments/bscmainnet/YieldGroupCoreImpl.json +1083 -0
  53. package/deployments/bscmainnet/YieldGroupFRVImpl.json +978 -0
  54. package/deployments/bscmainnet/YieldGroupFluxImpl.json +1083 -0
  55. package/deployments/bscmainnet_addresses.json +32 -0
  56. package/deployments/bsctestnet/AdapterCoreV1.json +336 -0
  57. package/deployments/bsctestnet/AdapterFRV.json +225 -0
  58. package/deployments/bsctestnet/AdapterFlux.json +249 -0
  59. package/deployments/bsctestnet/CoreBeacon.json +110 -0
  60. package/deployments/bsctestnet/CoreSource_USDT.json +1083 -0
  61. package/deployments/bsctestnet/FRVBeacon.json +110 -0
  62. package/deployments/bsctestnet/FRVSource_USDT.json +978 -0
  63. package/deployments/bsctestnet/FluxBeacon.json +110 -0
  64. package/deployments/bsctestnet/FluxSource_USDT.json +1083 -0
  65. package/deployments/bsctestnet/HubBeacon.json +110 -0
  66. package/deployments/bsctestnet/HubImpl.json +2216 -0
  67. package/deployments/bsctestnet/HubRegistry.json +386 -0
  68. package/deployments/bsctestnet/HubRegistryImpl.json +386 -0
  69. package/deployments/bsctestnet/HubRegistryProxyAdmin.json +157 -0
  70. package/deployments/bsctestnet/Hub_USDT.json +2216 -0
  71. package/deployments/bsctestnet/Migrator.json +375 -0
  72. package/deployments/bsctestnet/YieldGroupCoreImpl.json +1083 -0
  73. package/deployments/bsctestnet/YieldGroupFRVImpl.json +978 -0
  74. package/deployments/bsctestnet/YieldGroupFluxImpl.json +1083 -0
  75. package/deployments/bsctestnet_addresses.json +25 -0
  76. package/package.json +46 -0
@@ -0,0 +1,375 @@
1
+ {
2
+ "address": "0xb0D77DC86d4E6a8282eECF3d4d456B3b94F2a7aD",
3
+ "block": 115268335,
4
+ "chainId": 56,
5
+ "contract": "Migrator",
6
+ "abi": [
7
+ {
8
+ "type": "constructor",
9
+ "inputs": [
10
+ {
11
+ "name": "wbnb_",
12
+ "type": "address",
13
+ "internalType": "contract IWBNB"
14
+ },
15
+ {
16
+ "name": "vbnb_",
17
+ "type": "address",
18
+ "internalType": "contract IVBep20"
19
+ },
20
+ {
21
+ "name": "hubRegistry_",
22
+ "type": "address",
23
+ "internalType": "contract IHubRegistry"
24
+ }
25
+ ],
26
+ "stateMutability": "nonpayable"
27
+ },
28
+ {
29
+ "type": "receive",
30
+ "stateMutability": "payable"
31
+ },
32
+ {
33
+ "type": "function",
34
+ "name": "HUB_REGISTRY",
35
+ "inputs": [],
36
+ "outputs": [
37
+ {
38
+ "name": "",
39
+ "type": "address",
40
+ "internalType": "contract IHubRegistry"
41
+ }
42
+ ],
43
+ "stateMutability": "view"
44
+ },
45
+ {
46
+ "type": "function",
47
+ "name": "VBNB",
48
+ "inputs": [],
49
+ "outputs": [
50
+ {
51
+ "name": "",
52
+ "type": "address",
53
+ "internalType": "contract IVBep20"
54
+ }
55
+ ],
56
+ "stateMutability": "view"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "WBNB",
61
+ "inputs": [],
62
+ "outputs": [
63
+ {
64
+ "name": "",
65
+ "type": "address",
66
+ "internalType": "contract IWBNB"
67
+ }
68
+ ],
69
+ "stateMutability": "view"
70
+ },
71
+ {
72
+ "type": "function",
73
+ "name": "migrateFromCore",
74
+ "inputs": [
75
+ {
76
+ "name": "vToken",
77
+ "type": "address",
78
+ "internalType": "address"
79
+ },
80
+ {
81
+ "name": "vTokenAmount",
82
+ "type": "uint256",
83
+ "internalType": "uint256"
84
+ },
85
+ {
86
+ "name": "hub",
87
+ "type": "address",
88
+ "internalType": "address"
89
+ },
90
+ {
91
+ "name": "receiver",
92
+ "type": "address",
93
+ "internalType": "address"
94
+ },
95
+ {
96
+ "name": "minShares",
97
+ "type": "uint256",
98
+ "internalType": "uint256"
99
+ }
100
+ ],
101
+ "outputs": [
102
+ {
103
+ "name": "shares",
104
+ "type": "uint256",
105
+ "internalType": "uint256"
106
+ }
107
+ ],
108
+ "stateMutability": "nonpayable"
109
+ },
110
+ {
111
+ "type": "function",
112
+ "name": "migrateFromCoreBNB",
113
+ "inputs": [
114
+ {
115
+ "name": "vBNBAmount",
116
+ "type": "uint256",
117
+ "internalType": "uint256"
118
+ },
119
+ {
120
+ "name": "hub",
121
+ "type": "address",
122
+ "internalType": "address"
123
+ },
124
+ {
125
+ "name": "receiver",
126
+ "type": "address",
127
+ "internalType": "address"
128
+ },
129
+ {
130
+ "name": "minShares",
131
+ "type": "uint256",
132
+ "internalType": "uint256"
133
+ }
134
+ ],
135
+ "outputs": [
136
+ {
137
+ "name": "shares",
138
+ "type": "uint256",
139
+ "internalType": "uint256"
140
+ }
141
+ ],
142
+ "stateMutability": "nonpayable"
143
+ },
144
+ {
145
+ "type": "function",
146
+ "name": "migrateFromCoreBNBWithConsent",
147
+ "inputs": [
148
+ {
149
+ "name": "vBNBAmount",
150
+ "type": "uint256",
151
+ "internalType": "uint256"
152
+ },
153
+ {
154
+ "name": "hub",
155
+ "type": "address",
156
+ "internalType": "address"
157
+ },
158
+ {
159
+ "name": "receiver",
160
+ "type": "address",
161
+ "internalType": "address"
162
+ },
163
+ {
164
+ "name": "minShares",
165
+ "type": "uint256",
166
+ "internalType": "uint256"
167
+ },
168
+ {
169
+ "name": "consentHash",
170
+ "type": "bytes32",
171
+ "internalType": "bytes32"
172
+ }
173
+ ],
174
+ "outputs": [
175
+ {
176
+ "name": "shares",
177
+ "type": "uint256",
178
+ "internalType": "uint256"
179
+ }
180
+ ],
181
+ "stateMutability": "nonpayable"
182
+ },
183
+ {
184
+ "type": "function",
185
+ "name": "migrateFromCoreWithConsent",
186
+ "inputs": [
187
+ {
188
+ "name": "vToken",
189
+ "type": "address",
190
+ "internalType": "address"
191
+ },
192
+ {
193
+ "name": "vTokenAmount",
194
+ "type": "uint256",
195
+ "internalType": "uint256"
196
+ },
197
+ {
198
+ "name": "hub",
199
+ "type": "address",
200
+ "internalType": "address"
201
+ },
202
+ {
203
+ "name": "receiver",
204
+ "type": "address",
205
+ "internalType": "address"
206
+ },
207
+ {
208
+ "name": "minShares",
209
+ "type": "uint256",
210
+ "internalType": "uint256"
211
+ },
212
+ {
213
+ "name": "consentHash",
214
+ "type": "bytes32",
215
+ "internalType": "bytes32"
216
+ }
217
+ ],
218
+ "outputs": [
219
+ {
220
+ "name": "shares",
221
+ "type": "uint256",
222
+ "internalType": "uint256"
223
+ }
224
+ ],
225
+ "stateMutability": "nonpayable"
226
+ },
227
+ {
228
+ "type": "event",
229
+ "name": "ConsentRecorded",
230
+ "inputs": [
231
+ {
232
+ "name": "supplier",
233
+ "type": "address",
234
+ "indexed": true,
235
+ "internalType": "address"
236
+ },
237
+ {
238
+ "name": "receiver",
239
+ "type": "address",
240
+ "indexed": true,
241
+ "internalType": "address"
242
+ },
243
+ {
244
+ "name": "consentHash",
245
+ "type": "bytes32",
246
+ "indexed": true,
247
+ "internalType": "bytes32"
248
+ }
249
+ ],
250
+ "anonymous": false
251
+ },
252
+ {
253
+ "type": "event",
254
+ "name": "Migrated",
255
+ "inputs": [
256
+ {
257
+ "name": "user",
258
+ "type": "address",
259
+ "indexed": true,
260
+ "internalType": "address"
261
+ },
262
+ {
263
+ "name": "vToken",
264
+ "type": "address",
265
+ "indexed": true,
266
+ "internalType": "address"
267
+ },
268
+ {
269
+ "name": "hub",
270
+ "type": "address",
271
+ "indexed": true,
272
+ "internalType": "address"
273
+ },
274
+ {
275
+ "name": "vTokenAmount",
276
+ "type": "uint256",
277
+ "indexed": false,
278
+ "internalType": "uint256"
279
+ },
280
+ {
281
+ "name": "underlying",
282
+ "type": "uint256",
283
+ "indexed": false,
284
+ "internalType": "uint256"
285
+ },
286
+ {
287
+ "name": "shares",
288
+ "type": "uint256",
289
+ "indexed": false,
290
+ "internalType": "uint256"
291
+ }
292
+ ],
293
+ "anonymous": false
294
+ },
295
+ {
296
+ "type": "error",
297
+ "name": "AssetMismatch",
298
+ "inputs": [
299
+ {
300
+ "name": "vTokenUnderlying",
301
+ "type": "address",
302
+ "internalType": "address"
303
+ },
304
+ {
305
+ "name": "hubAsset",
306
+ "type": "address",
307
+ "internalType": "address"
308
+ }
309
+ ]
310
+ },
311
+ {
312
+ "type": "error",
313
+ "name": "HubNotRegistered",
314
+ "inputs": [
315
+ {
316
+ "name": "hub",
317
+ "type": "address",
318
+ "internalType": "address"
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "type": "error",
324
+ "name": "InsufficientShares",
325
+ "inputs": [
326
+ {
327
+ "name": "shares",
328
+ "type": "uint256",
329
+ "internalType": "uint256"
330
+ },
331
+ {
332
+ "name": "minShares",
333
+ "type": "uint256",
334
+ "internalType": "uint256"
335
+ }
336
+ ]
337
+ },
338
+ {
339
+ "type": "error",
340
+ "name": "NothingReceived",
341
+ "inputs": []
342
+ },
343
+ {
344
+ "type": "error",
345
+ "name": "OnlyVBNB",
346
+ "inputs": []
347
+ },
348
+ {
349
+ "type": "error",
350
+ "name": "VTokenRedeemFailed",
351
+ "inputs": [
352
+ {
353
+ "name": "vToken",
354
+ "type": "address",
355
+ "internalType": "address"
356
+ },
357
+ {
358
+ "name": "errorCode",
359
+ "type": "uint256",
360
+ "internalType": "uint256"
361
+ }
362
+ ]
363
+ },
364
+ {
365
+ "type": "error",
366
+ "name": "ZeroAddress",
367
+ "inputs": []
368
+ },
369
+ {
370
+ "type": "error",
371
+ "name": "ZeroAmount",
372
+ "inputs": []
373
+ }
374
+ ]
375
+ }