@venusprotocol/liquidity-hub 2.1.0-dev.6 → 2.1.0-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.
- package/README.md +16 -12
- package/contracts/YieldGroup/YieldGroup.sol +1 -1
- package/contracts/YieldGroup/YieldGroupCentrifuge.sol +7 -0
- package/contracts/YieldGroup/YieldGroupFRV.sol +1 -0
- package/contracts/YieldGroup/base/YieldGroupBase.sol +95 -9
- package/contracts/YieldGroup/base/YieldGroupBaseStorage.sol +10 -2
- package/contracts/adapters/AdapterCentrifuge.sol +16 -1
- package/contracts/adapters/AdapterCoreV1.sol +29 -15
- package/contracts/adapters/AdapterFRV.sol +17 -7
- package/contracts/adapters/AdapterFlux.sol +15 -3
- package/contracts/adapters/AdapterSpokeV1.sol +15 -3
- package/contracts/interfaces/IResourceAdapter.sol +12 -3
- package/contracts/interfaces/IYieldGroupBase.sol +56 -7
- package/contracts/interfaces/external/IVToken.sol +9 -0
- package/deployments/bscmainnet/AdapterCoreV1.json +26 -2
- package/deployments/bscmainnet/AdapterFRV.json +26 -2
- package/deployments/bscmainnet/AdapterFlux.json +26 -2
- package/deployments/bscmainnet/AdapterSpokeV1.json +26 -2
- package/deployments/bscmainnet/YieldGroupCoreImpl.json +69 -2
- package/deployments/bscmainnet/YieldGroupFRVImpl.json +69 -2
- package/deployments/bscmainnet/YieldGroupFluxImpl.json +69 -2
- package/deployments/bscmainnet/YieldGroupSpokeImpl.json +69 -2
- package/deployments/bscmainnet_addresses.json +8 -8
- package/deployments/bsctestnet/AdapterCoreV1.json +26 -2
- package/deployments/bsctestnet/AdapterFRV.json +26 -2
- package/deployments/bsctestnet/AdapterFlux.json +26 -2
- package/deployments/bsctestnet/AdapterSpokeV1.json +26 -2
- package/deployments/bsctestnet/YieldGroupCoreImpl.json +69 -2
- package/deployments/bsctestnet/YieldGroupFRVImpl.json +69 -2
- package/deployments/bsctestnet/YieldGroupFluxImpl.json +69 -2
- package/deployments/bsctestnet/YieldGroupSpokeImpl.json +69 -2
- package/deployments/bsctestnet_addresses.json +8 -8
- package/package.json +1 -1
|
@@ -138,6 +138,16 @@ interface IYieldGroupBase {
|
|
|
138
138
|
*/
|
|
139
139
|
event Swept(address indexed token, address indexed to, uint256 amount);
|
|
140
140
|
|
|
141
|
+
/**
|
|
142
|
+
* @notice Governance synced the tracked receipt balance of `resource` with what it holds, so
|
|
143
|
+
* receipt tokens that arrived outside the deposit path now count toward the Hub's share
|
|
144
|
+
* price, up to the cap the sync was given.
|
|
145
|
+
* @param resource Resource whose tracked balance was synced.
|
|
146
|
+
* @param oldShares Tracked receipt balance before the sync.
|
|
147
|
+
* @param newShares Tracked receipt balance after the sync.
|
|
148
|
+
*/
|
|
149
|
+
event ReceiptSynced(address indexed resource, uint256 oldShares, uint256 newShares);
|
|
150
|
+
|
|
141
151
|
// -------------------------------- Errors ----------------------------------
|
|
142
152
|
|
|
143
153
|
/// @notice Caller of an `onlyHub` function was not the registered Hub.
|
|
@@ -188,9 +198,10 @@ interface IYieldGroupBase {
|
|
|
188
198
|
error ResourceNotRegistered(address resource);
|
|
189
199
|
|
|
190
200
|
/**
|
|
191
|
-
* @notice `removeResource()` called while the
|
|
201
|
+
* @notice `removeResource()` called while the YieldGroup still accounts for receipts of the
|
|
202
|
+
* resource (the tracked ledger for a tracking family, the wallet balance otherwise).
|
|
192
203
|
* @param resource Resource attempted to be removed.
|
|
193
|
-
* @param balance
|
|
204
|
+
* @param balance Accounted receipt balance preventing removal, in the resource's share units.
|
|
194
205
|
*/
|
|
195
206
|
error ResourceHasBalance(address resource, uint256 balance);
|
|
196
207
|
|
|
@@ -246,8 +257,8 @@ interface IYieldGroupBase {
|
|
|
246
257
|
error InvalidQueue();
|
|
247
258
|
|
|
248
259
|
/**
|
|
249
|
-
* @notice Withdraw queue omits a resource
|
|
250
|
-
* then not visit.
|
|
260
|
+
* @notice Withdraw queue omits a resource whose accounted receipts are non-zero (the tracked
|
|
261
|
+
* ledger for a tracking family, the wallet otherwise), which the cascade would then not visit.
|
|
251
262
|
* @param resource The funded resource missing from the queue.
|
|
252
263
|
*/
|
|
253
264
|
error WithdrawQueueOmitsFundedResource(address resource);
|
|
@@ -266,6 +277,10 @@ interface IYieldGroupBase {
|
|
|
266
277
|
/// `totalAssets` and must never be sweepable.
|
|
267
278
|
error SweepProtectedAsset();
|
|
268
279
|
|
|
280
|
+
/// @notice `syncReceipt` was called on a family that values positions by holder, not by tracked
|
|
281
|
+
/// receipts (Centrifuge), where the sync would write a slot nothing reads.
|
|
282
|
+
error ReceiptTrackingOff();
|
|
283
|
+
|
|
269
284
|
/**
|
|
270
285
|
* @notice `sweep()` targeted a registered resource. In every family the resource address is the
|
|
271
286
|
* receipt token backing `totalAssets`, so sweeping it would drain the YieldGroup.
|
|
@@ -361,7 +376,9 @@ interface IYieldGroupBase {
|
|
|
361
376
|
function addResource(address resource, address adapter) external;
|
|
362
377
|
|
|
363
378
|
/**
|
|
364
|
-
* @notice Remove a registered resource. Requires
|
|
379
|
+
* @notice Remove a registered resource. Requires the YieldGroup to account for no receipts of it:
|
|
380
|
+
* the tracked ledger for a tracking family, the wallet balance otherwise. Receipts that
|
|
381
|
+
* arrived outside the deposit path do not block removal and are sweepable afterwards.
|
|
365
382
|
* @dev ACM role `"removeResource(address)"` (VIP). Also removes the resource from both
|
|
366
383
|
* inner queues via swap-and-pop. Emits {ResourceRemoved}.
|
|
367
384
|
* @param resource Resource to remove.
|
|
@@ -433,6 +450,27 @@ interface IYieldGroupBase {
|
|
|
433
450
|
*/
|
|
434
451
|
function sweep(address token, address to) external;
|
|
435
452
|
|
|
453
|
+
/**
|
|
454
|
+
* @notice Set the tracked receipt balance of `resource` to what it holds, adding at most
|
|
455
|
+
* `maxAdded`. This admits receipt tokens that arrived outside the deposit path (a
|
|
456
|
+
* donation, a mistransfer) into the Hub's share price; until then they sit on the
|
|
457
|
+
* YieldGroup uncounted.
|
|
458
|
+
* @dev ACM role `"syncReceipt(address,uint256)"` (VIP). Emits {ReceiptSynced}. Reverts
|
|
459
|
+
* {ReceiptTrackingOff} on a family that does not track receipts.
|
|
460
|
+
*
|
|
461
|
+
* `maxAdded` caps the sync at the amount governance reviewed. A VIP executes days after it
|
|
462
|
+
* is proposed, and anything sent in meanwhile, including over-priced receipts from a market
|
|
463
|
+
* carrying bad debt, stays uncounted above the cap. It is a cap rather than an exact match,
|
|
464
|
+
* so a single extra wei sent in before execution cannot make the sync revert.
|
|
465
|
+
*
|
|
466
|
+
* `type(uint256).max` syncs the whole wallet. The upgrade that introduced tracking needs it:
|
|
467
|
+
* every tracked balance starts at 0 there, and the wallet at execution cannot be known when
|
|
468
|
+
* the VIP is proposed. The old code already priced the whole wallet, so it admits nothing new.
|
|
469
|
+
* @param resource Registered resource to sync.
|
|
470
|
+
* @param maxAdded Most receipts this sync may add to the tracked balance.
|
|
471
|
+
*/
|
|
472
|
+
function syncReceipt(address resource, uint256 maxAdded) external;
|
|
473
|
+
|
|
436
474
|
// ---------------------------------- Views --------------------------------
|
|
437
475
|
|
|
438
476
|
/**
|
|
@@ -442,9 +480,11 @@ interface IYieldGroupBase {
|
|
|
442
480
|
function asset() external view returns (address underlying);
|
|
443
481
|
|
|
444
482
|
/**
|
|
445
|
-
* @notice
|
|
483
|
+
* @notice Underlying value of the receipts this YieldGroup accounts for across its resources,
|
|
484
|
+
* plus its idle `asset` balance. A tracking family prices only the receipts its own
|
|
485
|
+
* deposits minted; Centrifuge prices its whole wallet.
|
|
446
486
|
* @dev Hub sums `totalAssets()` over its registered YieldGroups to compute its own totalAssets().
|
|
447
|
-
* @return total Asset units
|
|
487
|
+
* @return total Asset units the YieldGroup accounts for.
|
|
448
488
|
*/
|
|
449
489
|
function totalAssets() external view returns (uint256 total);
|
|
450
490
|
|
|
@@ -502,6 +542,15 @@ interface IYieldGroupBase {
|
|
|
502
542
|
*/
|
|
503
543
|
function resourceConfig(address resource) external view returns (bool registered, bool paused, address adapter);
|
|
504
544
|
|
|
545
|
+
/**
|
|
546
|
+
* @notice Receipt tokens of `resource` that count toward `totalAssets()`: those this YieldGroup
|
|
547
|
+
* minted through its own deposits, net of what it redeemed. Always 0 for a family that
|
|
548
|
+
* does not track receipts (Centrifuge), which prices its wallet instead.
|
|
549
|
+
* @param resource Resource to look up.
|
|
550
|
+
* @return shares Tracked receipt balance, in the resource's own share units.
|
|
551
|
+
*/
|
|
552
|
+
function trackedReceipt(address resource) external view returns (uint256 shares);
|
|
553
|
+
|
|
505
554
|
/// @notice Current inner deposit-routing order.
|
|
506
555
|
/// @return queue Storage copy of the inner deposit queue.
|
|
507
556
|
function innerDepositQueue() external view returns (address[] memory queue);
|
|
@@ -104,6 +104,15 @@ interface IVToken {
|
|
|
104
104
|
*/
|
|
105
105
|
function getCash() external view returns (uint256 cash);
|
|
106
106
|
|
|
107
|
+
/**
|
|
108
|
+
* @notice Protocol reserves held inside `getCash()`.
|
|
109
|
+
* @dev `accrueInterest` sends them out of cash to the ProtocolShareReserve once
|
|
110
|
+
* `reduceReservesBlockDelta` blocks have elapsed, so a redeem can only count on
|
|
111
|
+
* `getCash() - totalReserves()`.
|
|
112
|
+
* @return reserves Underlying units reserved for the protocol.
|
|
113
|
+
*/
|
|
114
|
+
function totalReserves() external view returns (uint256 reserves);
|
|
115
|
+
|
|
107
116
|
/**
|
|
108
117
|
* @notice The ERC-20 underlying token. Reverts for vBNB (which has no `underlying`
|
|
109
118
|
* accessor); the Core Yield Group v1 uses this revert as a guard against vBNB
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0x0f62927d18Fd35712622C2c6C3F730EB8a18b71B",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "AdapterCoreV1",
|
|
6
6
|
"abi": [
|
|
@@ -158,6 +158,30 @@
|
|
|
158
158
|
],
|
|
159
159
|
"stateMutability": "view"
|
|
160
160
|
},
|
|
161
|
+
{
|
|
162
|
+
"type": "function",
|
|
163
|
+
"name": "receiptValue",
|
|
164
|
+
"inputs": [
|
|
165
|
+
{
|
|
166
|
+
"name": "resource",
|
|
167
|
+
"type": "address",
|
|
168
|
+
"internalType": "address"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "vBal",
|
|
172
|
+
"type": "uint256",
|
|
173
|
+
"internalType": "uint256"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"outputs": [
|
|
177
|
+
{
|
|
178
|
+
"name": "",
|
|
179
|
+
"type": "uint256",
|
|
180
|
+
"internalType": "uint256"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"stateMutability": "view"
|
|
184
|
+
},
|
|
161
185
|
{
|
|
162
186
|
"type": "function",
|
|
163
187
|
"name": "resourceName",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0x40fDc0fef94D607EE4341230afb09bcDB0B949E2",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "AdapterFRV",
|
|
6
6
|
"abi": [
|
|
@@ -132,6 +132,30 @@
|
|
|
132
132
|
],
|
|
133
133
|
"stateMutability": "view"
|
|
134
134
|
},
|
|
135
|
+
{
|
|
136
|
+
"type": "function",
|
|
137
|
+
"name": "receiptValue",
|
|
138
|
+
"inputs": [
|
|
139
|
+
{
|
|
140
|
+
"name": "resource",
|
|
141
|
+
"type": "address",
|
|
142
|
+
"internalType": "address"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "shares",
|
|
146
|
+
"type": "uint256",
|
|
147
|
+
"internalType": "uint256"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"outputs": [
|
|
151
|
+
{
|
|
152
|
+
"name": "",
|
|
153
|
+
"type": "uint256",
|
|
154
|
+
"internalType": "uint256"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"stateMutability": "view"
|
|
158
|
+
},
|
|
135
159
|
{
|
|
136
160
|
"type": "function",
|
|
137
161
|
"name": "resourceName",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0x4Afb747ce8dDef689d5484FFdfB69Ac8bC7cAc8B",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "AdapterFlux",
|
|
6
6
|
"abi": [
|
|
@@ -151,6 +151,30 @@
|
|
|
151
151
|
],
|
|
152
152
|
"stateMutability": "view"
|
|
153
153
|
},
|
|
154
|
+
{
|
|
155
|
+
"type": "function",
|
|
156
|
+
"name": "receiptValue",
|
|
157
|
+
"inputs": [
|
|
158
|
+
{
|
|
159
|
+
"name": "resource",
|
|
160
|
+
"type": "address",
|
|
161
|
+
"internalType": "address"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "shares",
|
|
165
|
+
"type": "uint256",
|
|
166
|
+
"internalType": "uint256"
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"outputs": [
|
|
170
|
+
{
|
|
171
|
+
"name": "",
|
|
172
|
+
"type": "uint256",
|
|
173
|
+
"internalType": "uint256"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"stateMutability": "view"
|
|
177
|
+
},
|
|
154
178
|
{
|
|
155
179
|
"type": "function",
|
|
156
180
|
"name": "resourceName",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0xD08596E58325724C824100bA87f2470493Fe342d",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "AdapterSpokeV1",
|
|
6
6
|
"abi": [
|
|
@@ -158,6 +158,30 @@
|
|
|
158
158
|
],
|
|
159
159
|
"stateMutability": "view"
|
|
160
160
|
},
|
|
161
|
+
{
|
|
162
|
+
"type": "function",
|
|
163
|
+
"name": "receiptValue",
|
|
164
|
+
"inputs": [
|
|
165
|
+
{
|
|
166
|
+
"name": "resource",
|
|
167
|
+
"type": "address",
|
|
168
|
+
"internalType": "address"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "vBal",
|
|
172
|
+
"type": "uint256",
|
|
173
|
+
"internalType": "uint256"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"outputs": [
|
|
177
|
+
{
|
|
178
|
+
"name": "",
|
|
179
|
+
"type": "uint256",
|
|
180
|
+
"internalType": "uint256"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"stateMutability": "view"
|
|
184
|
+
},
|
|
161
185
|
{
|
|
162
186
|
"type": "function",
|
|
163
187
|
"name": "resourceName",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0xedB1c751Eb03274e9D15D0609B4593CC113fB09F",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "YieldGroup",
|
|
6
6
|
"abi": [
|
|
@@ -460,6 +460,24 @@
|
|
|
460
460
|
"outputs": [],
|
|
461
461
|
"stateMutability": "nonpayable"
|
|
462
462
|
},
|
|
463
|
+
{
|
|
464
|
+
"type": "function",
|
|
465
|
+
"name": "syncReceipt",
|
|
466
|
+
"inputs": [
|
|
467
|
+
{
|
|
468
|
+
"name": "resource",
|
|
469
|
+
"type": "address",
|
|
470
|
+
"internalType": "address"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "maxAdded",
|
|
474
|
+
"type": "uint256",
|
|
475
|
+
"internalType": "uint256"
|
|
476
|
+
}
|
|
477
|
+
],
|
|
478
|
+
"outputs": [],
|
|
479
|
+
"stateMutability": "nonpayable"
|
|
480
|
+
},
|
|
463
481
|
{
|
|
464
482
|
"type": "function",
|
|
465
483
|
"name": "totalAssets",
|
|
@@ -473,6 +491,25 @@
|
|
|
473
491
|
],
|
|
474
492
|
"stateMutability": "view"
|
|
475
493
|
},
|
|
494
|
+
{
|
|
495
|
+
"type": "function",
|
|
496
|
+
"name": "trackedReceipt",
|
|
497
|
+
"inputs": [
|
|
498
|
+
{
|
|
499
|
+
"name": "resource",
|
|
500
|
+
"type": "address",
|
|
501
|
+
"internalType": "address"
|
|
502
|
+
}
|
|
503
|
+
],
|
|
504
|
+
"outputs": [
|
|
505
|
+
{
|
|
506
|
+
"name": "",
|
|
507
|
+
"type": "uint256",
|
|
508
|
+
"internalType": "uint256"
|
|
509
|
+
}
|
|
510
|
+
],
|
|
511
|
+
"stateMutability": "view"
|
|
512
|
+
},
|
|
476
513
|
{
|
|
477
514
|
"type": "function",
|
|
478
515
|
"name": "unpauseResource",
|
|
@@ -622,6 +659,31 @@
|
|
|
622
659
|
],
|
|
623
660
|
"anonymous": false
|
|
624
661
|
},
|
|
662
|
+
{
|
|
663
|
+
"type": "event",
|
|
664
|
+
"name": "ReceiptSynced",
|
|
665
|
+
"inputs": [
|
|
666
|
+
{
|
|
667
|
+
"name": "resource",
|
|
668
|
+
"type": "address",
|
|
669
|
+
"indexed": true,
|
|
670
|
+
"internalType": "address"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "oldShares",
|
|
674
|
+
"type": "uint256",
|
|
675
|
+
"indexed": false,
|
|
676
|
+
"internalType": "uint256"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"name": "newShares",
|
|
680
|
+
"type": "uint256",
|
|
681
|
+
"indexed": false,
|
|
682
|
+
"internalType": "uint256"
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
"anonymous": false
|
|
686
|
+
},
|
|
625
687
|
{
|
|
626
688
|
"type": "event",
|
|
627
689
|
"name": "ResourceAccrualFailed",
|
|
@@ -897,6 +959,11 @@
|
|
|
897
959
|
"name": "OnlySelf",
|
|
898
960
|
"inputs": []
|
|
899
961
|
},
|
|
962
|
+
{
|
|
963
|
+
"type": "error",
|
|
964
|
+
"name": "ReceiptTrackingOff",
|
|
965
|
+
"inputs": []
|
|
966
|
+
},
|
|
900
967
|
{
|
|
901
968
|
"type": "error",
|
|
902
969
|
"name": "ResourceAlreadyRegistered",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0xcffcDBCfEDBf33FB22bdd5FadB3916b871711A06",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "YieldGroupFRV",
|
|
6
6
|
"abi": [
|
|
@@ -387,6 +387,24 @@
|
|
|
387
387
|
"outputs": [],
|
|
388
388
|
"stateMutability": "nonpayable"
|
|
389
389
|
},
|
|
390
|
+
{
|
|
391
|
+
"type": "function",
|
|
392
|
+
"name": "syncReceipt",
|
|
393
|
+
"inputs": [
|
|
394
|
+
{
|
|
395
|
+
"name": "resource",
|
|
396
|
+
"type": "address",
|
|
397
|
+
"internalType": "address"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "maxAdded",
|
|
401
|
+
"type": "uint256",
|
|
402
|
+
"internalType": "uint256"
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
"outputs": [],
|
|
406
|
+
"stateMutability": "nonpayable"
|
|
407
|
+
},
|
|
390
408
|
{
|
|
391
409
|
"type": "function",
|
|
392
410
|
"name": "totalAssets",
|
|
@@ -400,6 +418,25 @@
|
|
|
400
418
|
],
|
|
401
419
|
"stateMutability": "view"
|
|
402
420
|
},
|
|
421
|
+
{
|
|
422
|
+
"type": "function",
|
|
423
|
+
"name": "trackedReceipt",
|
|
424
|
+
"inputs": [
|
|
425
|
+
{
|
|
426
|
+
"name": "resource",
|
|
427
|
+
"type": "address",
|
|
428
|
+
"internalType": "address"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"outputs": [
|
|
432
|
+
{
|
|
433
|
+
"name": "",
|
|
434
|
+
"type": "uint256",
|
|
435
|
+
"internalType": "uint256"
|
|
436
|
+
}
|
|
437
|
+
],
|
|
438
|
+
"stateMutability": "view"
|
|
439
|
+
},
|
|
403
440
|
{
|
|
404
441
|
"type": "function",
|
|
405
442
|
"name": "unpauseResource",
|
|
@@ -530,6 +567,31 @@
|
|
|
530
567
|
],
|
|
531
568
|
"anonymous": false
|
|
532
569
|
},
|
|
570
|
+
{
|
|
571
|
+
"type": "event",
|
|
572
|
+
"name": "ReceiptSynced",
|
|
573
|
+
"inputs": [
|
|
574
|
+
{
|
|
575
|
+
"name": "resource",
|
|
576
|
+
"type": "address",
|
|
577
|
+
"indexed": true,
|
|
578
|
+
"internalType": "address"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"name": "oldShares",
|
|
582
|
+
"type": "uint256",
|
|
583
|
+
"indexed": false,
|
|
584
|
+
"internalType": "uint256"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"name": "newShares",
|
|
588
|
+
"type": "uint256",
|
|
589
|
+
"indexed": false,
|
|
590
|
+
"internalType": "uint256"
|
|
591
|
+
}
|
|
592
|
+
],
|
|
593
|
+
"anonymous": false
|
|
594
|
+
},
|
|
533
595
|
{
|
|
534
596
|
"type": "event",
|
|
535
597
|
"name": "ResourceAccrualFailed",
|
|
@@ -776,6 +838,11 @@
|
|
|
776
838
|
"name": "OnlySelf",
|
|
777
839
|
"inputs": []
|
|
778
840
|
},
|
|
841
|
+
{
|
|
842
|
+
"type": "error",
|
|
843
|
+
"name": "ReceiptTrackingOff",
|
|
844
|
+
"inputs": []
|
|
845
|
+
},
|
|
779
846
|
{
|
|
780
847
|
"type": "error",
|
|
781
848
|
"name": "ResourceAlreadyRegistered",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"address": "
|
|
3
|
-
"block":
|
|
2
|
+
"address": "0xedB1c751Eb03274e9D15D0609B4593CC113fB09F",
|
|
3
|
+
"block": 132740470,
|
|
4
4
|
"chainId": 56,
|
|
5
5
|
"contract": "YieldGroup",
|
|
6
6
|
"abi": [
|
|
@@ -460,6 +460,24 @@
|
|
|
460
460
|
"outputs": [],
|
|
461
461
|
"stateMutability": "nonpayable"
|
|
462
462
|
},
|
|
463
|
+
{
|
|
464
|
+
"type": "function",
|
|
465
|
+
"name": "syncReceipt",
|
|
466
|
+
"inputs": [
|
|
467
|
+
{
|
|
468
|
+
"name": "resource",
|
|
469
|
+
"type": "address",
|
|
470
|
+
"internalType": "address"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "maxAdded",
|
|
474
|
+
"type": "uint256",
|
|
475
|
+
"internalType": "uint256"
|
|
476
|
+
}
|
|
477
|
+
],
|
|
478
|
+
"outputs": [],
|
|
479
|
+
"stateMutability": "nonpayable"
|
|
480
|
+
},
|
|
463
481
|
{
|
|
464
482
|
"type": "function",
|
|
465
483
|
"name": "totalAssets",
|
|
@@ -473,6 +491,25 @@
|
|
|
473
491
|
],
|
|
474
492
|
"stateMutability": "view"
|
|
475
493
|
},
|
|
494
|
+
{
|
|
495
|
+
"type": "function",
|
|
496
|
+
"name": "trackedReceipt",
|
|
497
|
+
"inputs": [
|
|
498
|
+
{
|
|
499
|
+
"name": "resource",
|
|
500
|
+
"type": "address",
|
|
501
|
+
"internalType": "address"
|
|
502
|
+
}
|
|
503
|
+
],
|
|
504
|
+
"outputs": [
|
|
505
|
+
{
|
|
506
|
+
"name": "",
|
|
507
|
+
"type": "uint256",
|
|
508
|
+
"internalType": "uint256"
|
|
509
|
+
}
|
|
510
|
+
],
|
|
511
|
+
"stateMutability": "view"
|
|
512
|
+
},
|
|
476
513
|
{
|
|
477
514
|
"type": "function",
|
|
478
515
|
"name": "unpauseResource",
|
|
@@ -622,6 +659,31 @@
|
|
|
622
659
|
],
|
|
623
660
|
"anonymous": false
|
|
624
661
|
},
|
|
662
|
+
{
|
|
663
|
+
"type": "event",
|
|
664
|
+
"name": "ReceiptSynced",
|
|
665
|
+
"inputs": [
|
|
666
|
+
{
|
|
667
|
+
"name": "resource",
|
|
668
|
+
"type": "address",
|
|
669
|
+
"indexed": true,
|
|
670
|
+
"internalType": "address"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "oldShares",
|
|
674
|
+
"type": "uint256",
|
|
675
|
+
"indexed": false,
|
|
676
|
+
"internalType": "uint256"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"name": "newShares",
|
|
680
|
+
"type": "uint256",
|
|
681
|
+
"indexed": false,
|
|
682
|
+
"internalType": "uint256"
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
"anonymous": false
|
|
686
|
+
},
|
|
625
687
|
{
|
|
626
688
|
"type": "event",
|
|
627
689
|
"name": "ResourceAccrualFailed",
|
|
@@ -897,6 +959,11 @@
|
|
|
897
959
|
"name": "OnlySelf",
|
|
898
960
|
"inputs": []
|
|
899
961
|
},
|
|
962
|
+
{
|
|
963
|
+
"type": "error",
|
|
964
|
+
"name": "ReceiptTrackingOff",
|
|
965
|
+
"inputs": []
|
|
966
|
+
},
|
|
900
967
|
{
|
|
901
968
|
"type": "error",
|
|
902
969
|
"name": "ResourceAlreadyRegistered",
|