@across-protocol/sdk 4.3.49 → 4.3.50-alpha.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.
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.d.ts +13 -2
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +42 -10
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.d.ts +13 -2
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +43 -12
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts +13 -2
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +2 -2
- package/package.json +1 -1
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +90 -23
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } from "../../../interfaces";
|
|
1
|
+
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3, RunningBalances, SpokePoolClientsByChain } from "../../../interfaces";
|
|
2
2
|
import { AnyObject } from "../../../utils";
|
|
3
3
|
import { PoolRebalanceRoot } from "./PoolRebalanceUtils";
|
|
4
4
|
import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
|
|
5
5
|
import { HubPoolClient } from "../../HubPoolClient";
|
|
6
|
+
import { BundleDataClient } from "../../BundleDataClient";
|
|
6
7
|
export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
|
|
7
8
|
export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
|
|
8
9
|
export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
|
|
@@ -11,4 +12,14 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
|
|
|
11
12
|
export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
12
13
|
hubPoolClient: HubPoolClient;
|
|
13
14
|
configStoreClient: AcrossConfigStoreClient;
|
|
14
|
-
|
|
15
|
+
bundleDataClient: BundleDataClient;
|
|
16
|
+
spokePoolClients: SpokePoolClientsByChain;
|
|
17
|
+
}, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
|
|
18
|
+
export declare function _getMarginalRunningBalances(mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
19
|
+
hubPoolClient: HubPoolClient;
|
|
20
|
+
configStoreClient: AcrossConfigStoreClient;
|
|
21
|
+
}): {
|
|
22
|
+
chainWithRefundsOnly: Set<number>;
|
|
23
|
+
realizedLpFees: RunningBalances;
|
|
24
|
+
runningBalances: RunningBalances;
|
|
25
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._buildPoolRebalanceRoot = exports.getEndBlockBuffers = exports.prettyPrintV3SpokePoolEvents = exports.getRefundsFromBundle = void 0;
|
|
3
|
+
exports._getMarginalRunningBalances = exports._buildPoolRebalanceRoot = exports.getEndBlockBuffers = exports.prettyPrintV3SpokePoolEvents = exports.getRefundsFromBundle = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
6
|
var utils_1 = require("../../../utils");
|
|
@@ -62,6 +62,45 @@ function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers, blockRan
|
|
|
62
62
|
}
|
|
63
63
|
exports.getEndBlockBuffers = getEndBlockBuffers;
|
|
64
64
|
function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
|
|
65
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
66
|
+
var _a, runningBalances, realizedLpFees, chainWithRefundsOnly, mostRecentProposedRootBundle, blockRangesForChains, pendingRootBundleData, pendingRunningBalances_1, leaves;
|
|
67
|
+
return tslib_1.__generator(this, function (_b) {
|
|
68
|
+
switch (_b.label) {
|
|
69
|
+
case 0:
|
|
70
|
+
_a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
|
|
71
|
+
(0, PoolRebalanceUtils_1.addLastRunningBalance)(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
72
|
+
if (!(clients.hubPoolClient.hasPendingProposal() &&
|
|
73
|
+
clients.hubPoolClient.getPendingRootBundle().bundleEvaluationBlockNumbers[1] > mainnetBundleEndBlock)) return [3, 2];
|
|
74
|
+
mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
|
|
75
|
+
blockRangesForChains = (0, utils_1.getImpliedBundleBlockRanges)(clients.hubPoolClient, clients.configStoreClient, mostRecentProposedRootBundle);
|
|
76
|
+
return [4, clients.bundleDataClient.loadData(blockRangesForChains, clients.spokePoolClients, true)];
|
|
77
|
+
case 1:
|
|
78
|
+
pendingRootBundleData = _b.sent();
|
|
79
|
+
pendingRunningBalances_1 = _getMarginalRunningBalances(blockRangesForChains[0][1], pendingRootBundleData.bundleDepositsV3, pendingRootBundleData.bundleFillsV3, pendingRootBundleData.bundleSlowFillsV3, pendingRootBundleData.unexecutableSlowFills, pendingRootBundleData.expiredDepositsToRefundV3, clients).runningBalances;
|
|
80
|
+
Object.keys(runningBalances).forEach(function (repaymentChainId) {
|
|
81
|
+
Object.keys(runningBalances[Number(repaymentChainId)]).forEach(function (l1TokenAddress) {
|
|
82
|
+
var _a;
|
|
83
|
+
if ((0, utils_1.isDefined)((_a = pendingRunningBalances_1[Number(repaymentChainId)]) === null || _a === void 0 ? void 0 : _a[l1TokenAddress])) {
|
|
84
|
+
var runningBalanceAmount = pendingRunningBalances_1[Number(repaymentChainId)][l1TokenAddress];
|
|
85
|
+
(0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, Number(repaymentChainId), l1TokenAddress, runningBalanceAmount);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
_b.label = 2;
|
|
90
|
+
case 2:
|
|
91
|
+
leaves = (0, PoolRebalanceUtils_1.constructPoolRebalanceLeaves)(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
|
|
92
|
+
return [2, {
|
|
93
|
+
runningBalances: runningBalances,
|
|
94
|
+
realizedLpFees: realizedLpFees,
|
|
95
|
+
leaves: leaves,
|
|
96
|
+
tree: (0, MerkleTreeUtils_1.buildPoolRebalanceLeafTree)(leaves),
|
|
97
|
+
}];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
exports._buildPoolRebalanceRoot = _buildPoolRebalanceRoot;
|
|
103
|
+
function _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients) {
|
|
65
104
|
var runningBalances = {};
|
|
66
105
|
var realizedLpFees = {};
|
|
67
106
|
var chainWithRefundsOnly = new Set();
|
|
@@ -132,14 +171,7 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
|
|
|
132
171
|
});
|
|
133
172
|
});
|
|
134
173
|
});
|
|
135
|
-
|
|
136
|
-
var leaves = (0, PoolRebalanceUtils_1.constructPoolRebalanceLeaves)(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
|
|
137
|
-
return {
|
|
138
|
-
runningBalances: runningBalances,
|
|
139
|
-
realizedLpFees: realizedLpFees,
|
|
140
|
-
leaves: leaves,
|
|
141
|
-
tree: (0, MerkleTreeUtils_1.buildPoolRebalanceLeafTree)(leaves),
|
|
142
|
-
};
|
|
174
|
+
return { runningBalances: runningBalances, chainWithRefundsOnly: chainWithRefundsOnly, realizedLpFees: realizedLpFees };
|
|
143
175
|
}
|
|
144
|
-
exports.
|
|
176
|
+
exports._getMarginalRunningBalances = _getMarginalRunningBalances;
|
|
145
177
|
//# sourceMappingURL=DataworkerUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":";;;;AACA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,8 +74,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
74
74
|
transactionHash?: string | undefined;
|
|
75
75
|
transactionIndex?: number | undefined;
|
|
76
76
|
}[];
|
|
77
|
-
refunds: Record<string, BigNumber>;
|
|
78
77
|
realizedLpFees: BigNumber;
|
|
78
|
+
refunds: Record<string, BigNumber>;
|
|
79
79
|
totalRefundAmount: BigNumber;
|
|
80
80
|
}>>;
|
|
81
81
|
bundleSlowFillsV3: Record<string, Record<string, {
|
|
@@ -334,8 +334,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
334
334
|
transactionHash?: string | undefined;
|
|
335
335
|
transactionIndex?: number | undefined;
|
|
336
336
|
}[];
|
|
337
|
-
refunds: Record<string, BigNumber>;
|
|
338
337
|
realizedLpFees: BigNumber;
|
|
338
|
+
refunds: Record<string, BigNumber>;
|
|
339
339
|
totalRefundAmount: BigNumber;
|
|
340
340
|
}>>, null>;
|
|
341
341
|
}>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } from "../../../interfaces";
|
|
1
|
+
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3, RunningBalances, SpokePoolClientsByChain } from "../../../interfaces";
|
|
2
2
|
import { AnyObject } from "../../../utils";
|
|
3
3
|
import { PoolRebalanceRoot } from "./PoolRebalanceUtils";
|
|
4
4
|
import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
|
|
5
5
|
import { HubPoolClient } from "../../HubPoolClient";
|
|
6
|
+
import { BundleDataClient } from "../../BundleDataClient";
|
|
6
7
|
export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
|
|
7
8
|
export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
|
|
8
9
|
export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
|
|
@@ -11,4 +12,14 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
|
|
|
11
12
|
export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
12
13
|
hubPoolClient: HubPoolClient;
|
|
13
14
|
configStoreClient: AcrossConfigStoreClient;
|
|
14
|
-
|
|
15
|
+
bundleDataClient: BundleDataClient;
|
|
16
|
+
spokePoolClients: SpokePoolClientsByChain;
|
|
17
|
+
}, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
|
|
18
|
+
export declare function _getMarginalRunningBalances(mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
19
|
+
hubPoolClient: HubPoolClient;
|
|
20
|
+
configStoreClient: AcrossConfigStoreClient;
|
|
21
|
+
}): {
|
|
22
|
+
chainWithRefundsOnly: Set<number>;
|
|
23
|
+
realizedLpFees: RunningBalances;
|
|
24
|
+
runningBalances: RunningBalances;
|
|
25
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
2
|
// Create a combined `refunds` object containing refunds for V2 + V3 fills
|
|
3
3
|
import assert from "assert";
|
|
4
|
-
import { bnZero, fixedPointAdjustment, count2DDictionaryValues, count3DDictionaryValues, toAddressType, } from "../../../utils";
|
|
4
|
+
import { bnZero, fixedPointAdjustment, count2DDictionaryValues, count3DDictionaryValues, toAddressType, getImpliedBundleBlockRanges, isDefined, } from "../../../utils";
|
|
5
5
|
import { addLastRunningBalance, constructPoolRebalanceLeaves, updateRunningBalance, updateRunningBalanceForDeposit, } from "./PoolRebalanceUtils";
|
|
6
6
|
import { buildPoolRebalanceLeafTree } from "./MerkleTreeUtils";
|
|
7
7
|
// and expired deposits.
|
|
@@ -74,6 +74,46 @@ export function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers, b
|
|
|
74
74
|
return chainIdListForBundleEvaluationBlockNumbers.map(function (chainId) { var _a; return (_a = blockRangeEndBlockBuffer[chainId]) !== null && _a !== void 0 ? _a : 0; });
|
|
75
75
|
}
|
|
76
76
|
export function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients, maxL1TokenCountOverride) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
+
var _a, runningBalances, realizedLpFees, chainWithRefundsOnly, mostRecentProposedRootBundle, blockRangesForChains, pendingRootBundleData, pendingRunningBalances_1, leaves;
|
|
79
|
+
return __generator(this, function (_b) {
|
|
80
|
+
switch (_b.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
_a = _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients), runningBalances = _a.runningBalances, realizedLpFees = _a.realizedLpFees, chainWithRefundsOnly = _a.chainWithRefundsOnly;
|
|
83
|
+
addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
84
|
+
if (!(clients.hubPoolClient.hasPendingProposal() &&
|
|
85
|
+
clients.hubPoolClient.getPendingRootBundle().bundleEvaluationBlockNumbers[1] > mainnetBundleEndBlock)) return [3 /*break*/, 2];
|
|
86
|
+
mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
|
|
87
|
+
blockRangesForChains = getImpliedBundleBlockRanges(clients.hubPoolClient, clients.configStoreClient, mostRecentProposedRootBundle);
|
|
88
|
+
return [4 /*yield*/, clients.bundleDataClient.loadData(blockRangesForChains, clients.spokePoolClients, true)];
|
|
89
|
+
case 1:
|
|
90
|
+
pendingRootBundleData = _b.sent();
|
|
91
|
+
pendingRunningBalances_1 = _getMarginalRunningBalances(blockRangesForChains[0][1], pendingRootBundleData.bundleDepositsV3, pendingRootBundleData.bundleFillsV3, pendingRootBundleData.bundleSlowFillsV3, pendingRootBundleData.unexecutableSlowFills, pendingRootBundleData.expiredDepositsToRefundV3, clients).runningBalances;
|
|
92
|
+
// Only add marginal pending running balances if there is already an entry in `runningBalances`. If there is no entry in `runningBalances`, then
|
|
93
|
+
// The running balance for this entry was unchanged since the last root bundle.
|
|
94
|
+
Object.keys(runningBalances).forEach(function (repaymentChainId) {
|
|
95
|
+
Object.keys(runningBalances[Number(repaymentChainId)]).forEach(function (l1TokenAddress) {
|
|
96
|
+
var _a;
|
|
97
|
+
if (isDefined((_a = pendingRunningBalances_1[Number(repaymentChainId)]) === null || _a === void 0 ? void 0 : _a[l1TokenAddress])) {
|
|
98
|
+
var runningBalanceAmount = pendingRunningBalances_1[Number(repaymentChainId)][l1TokenAddress];
|
|
99
|
+
updateRunningBalance(runningBalances, Number(repaymentChainId), l1TokenAddress, runningBalanceAmount);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
_b.label = 2;
|
|
104
|
+
case 2:
|
|
105
|
+
leaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
|
|
106
|
+
return [2 /*return*/, {
|
|
107
|
+
runningBalances: runningBalances,
|
|
108
|
+
realizedLpFees: realizedLpFees,
|
|
109
|
+
leaves: leaves,
|
|
110
|
+
tree: buildPoolRebalanceLeafTree(leaves),
|
|
111
|
+
}];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
export function _getMarginalRunningBalances(mainnetBundleEndBlock, bundleV3Deposits, bundleFillsV3, bundleSlowFillsV3, unexecutableSlowFills, expiredDepositsToRefundV3, clients) {
|
|
77
117
|
// Running balances are the amount of tokens that we need to send to each SpokePool to pay for all instant and
|
|
78
118
|
// slow relay refunds. They are decreased by the amount of funds already held by the SpokePool. Balances are keyed
|
|
79
119
|
// by the SpokePool's network and L1 token equivalent of the L2 token to refund.
|
|
@@ -190,15 +230,6 @@ export function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBloc
|
|
|
190
230
|
});
|
|
191
231
|
});
|
|
192
232
|
});
|
|
193
|
-
|
|
194
|
-
// combination if found.
|
|
195
|
-
addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
196
|
-
var leaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
|
|
197
|
-
return {
|
|
198
|
-
runningBalances: runningBalances,
|
|
199
|
-
realizedLpFees: realizedLpFees,
|
|
200
|
-
leaves: leaves,
|
|
201
|
-
tree: buildPoolRebalanceLeafTree(leaves),
|
|
202
|
-
};
|
|
233
|
+
return { runningBalances: runningBalances, chainWithRefundsOnly: chainWithRefundsOnly, realizedLpFees: realizedLpFees };
|
|
203
234
|
}
|
|
204
235
|
//# sourceMappingURL=DataworkerUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,8 +74,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
74
74
|
transactionHash?: string | undefined;
|
|
75
75
|
transactionIndex?: number | undefined;
|
|
76
76
|
}[];
|
|
77
|
-
refunds: Record<string, BigNumber>;
|
|
78
77
|
realizedLpFees: BigNumber;
|
|
78
|
+
refunds: Record<string, BigNumber>;
|
|
79
79
|
totalRefundAmount: BigNumber;
|
|
80
80
|
}>>;
|
|
81
81
|
bundleSlowFillsV3: Record<string, Record<string, {
|
|
@@ -334,8 +334,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
334
334
|
transactionHash?: string | undefined;
|
|
335
335
|
transactionIndex?: number | undefined;
|
|
336
336
|
}[];
|
|
337
|
-
refunds: Record<string, BigNumber>;
|
|
338
337
|
realizedLpFees: BigNumber;
|
|
338
|
+
refunds: Record<string, BigNumber>;
|
|
339
339
|
totalRefundAmount: BigNumber;
|
|
340
340
|
}>>, null>;
|
|
341
341
|
}>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } from "../../../interfaces";
|
|
1
|
+
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3, RunningBalances, SpokePoolClientsByChain } from "../../../interfaces";
|
|
2
2
|
import { AnyObject } from "../../../utils";
|
|
3
3
|
import { PoolRebalanceRoot } from "./PoolRebalanceUtils";
|
|
4
4
|
import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
|
|
5
5
|
import { HubPoolClient } from "../../HubPoolClient";
|
|
6
|
+
import { BundleDataClient } from "../../BundleDataClient";
|
|
6
7
|
export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
|
|
7
8
|
export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
|
|
8
9
|
export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
|
|
@@ -11,5 +12,15 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
|
|
|
11
12
|
export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
12
13
|
hubPoolClient: HubPoolClient;
|
|
13
14
|
configStoreClient: AcrossConfigStoreClient;
|
|
14
|
-
|
|
15
|
+
bundleDataClient: BundleDataClient;
|
|
16
|
+
spokePoolClients: SpokePoolClientsByChain;
|
|
17
|
+
}, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
|
|
18
|
+
export declare function _getMarginalRunningBalances(mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
19
|
+
hubPoolClient: HubPoolClient;
|
|
20
|
+
configStoreClient: AcrossConfigStoreClient;
|
|
21
|
+
}): {
|
|
22
|
+
chainWithRefundsOnly: Set<number>;
|
|
23
|
+
realizedLpFees: RunningBalances;
|
|
24
|
+
runningBalances: RunningBalances;
|
|
25
|
+
};
|
|
15
26
|
//# sourceMappingURL=DataworkerUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataworkerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,
|
|
1
|
+
{"version":3,"file":"DataworkerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,EAGzB,eAAe,EACf,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,SAAS,EAOV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,yBAAyB,EAAE,yBAAyB,GACnD,eAAe,CA2CjB;AAED,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,eAAe,EAClC,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,qBAAqB,GAC3C,SAAS,CAQX;AAED,wBAAgB,kBAAkB,CAChC,0CAA0C,EAAE,MAAM,EAAE,EACpD,wBAAwB,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACtD,MAAM,EAAE,CAcV;AAED,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,MAAM,EAC1B,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,eAAe,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,OAAO,EAAE;IACP,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C,EACD,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAgE5B;AAED,wBAAgB,2BAA2B,CACzC,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,eAAe,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,OAAO,EAAE;IACP,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,uBAAuB,CAAC;CAC5C,GACA;IAAE,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,cAAc,EAAE,eAAe,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,CA6K1G"}
|
|
@@ -74,8 +74,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
74
74
|
transactionHash?: string | undefined;
|
|
75
75
|
transactionIndex?: number | undefined;
|
|
76
76
|
}[];
|
|
77
|
-
refunds: Record<string, BigNumber>;
|
|
78
77
|
realizedLpFees: BigNumber;
|
|
78
|
+
refunds: Record<string, BigNumber>;
|
|
79
79
|
totalRefundAmount: BigNumber;
|
|
80
80
|
}>>;
|
|
81
81
|
bundleSlowFillsV3: Record<string, Record<string, {
|
|
@@ -334,8 +334,8 @@ export declare const BundleDataSS: import("superstruct").Struct<{
|
|
|
334
334
|
transactionHash?: string | undefined;
|
|
335
335
|
transactionIndex?: number | undefined;
|
|
336
336
|
}[];
|
|
337
|
-
refunds: Record<string, BigNumber>;
|
|
338
337
|
realizedLpFees: BigNumber;
|
|
338
|
+
refunds: Record<string, BigNumber>;
|
|
339
339
|
totalRefundAmount: BigNumber;
|
|
340
340
|
}>>, null>;
|
|
341
341
|
}>;
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
PoolRebalanceLeaf,
|
|
11
11
|
Refund,
|
|
12
12
|
RunningBalances,
|
|
13
|
+
SpokePoolClientsByChain,
|
|
13
14
|
} from "../../../interfaces";
|
|
14
15
|
import {
|
|
15
16
|
bnZero,
|
|
@@ -18,6 +19,8 @@ import {
|
|
|
18
19
|
count2DDictionaryValues,
|
|
19
20
|
count3DDictionaryValues,
|
|
20
21
|
toAddressType,
|
|
22
|
+
getImpliedBundleBlockRanges,
|
|
23
|
+
isDefined,
|
|
21
24
|
} from "../../../utils";
|
|
22
25
|
import {
|
|
23
26
|
addLastRunningBalance,
|
|
@@ -28,6 +31,7 @@ import {
|
|
|
28
31
|
} from "./PoolRebalanceUtils";
|
|
29
32
|
import { AcrossConfigStoreClient } from "../../AcrossConfigStoreClient";
|
|
30
33
|
import { HubPoolClient } from "../../HubPoolClient";
|
|
34
|
+
import { BundleDataClient } from "../../BundleDataClient";
|
|
31
35
|
import { buildPoolRebalanceLeafTree } from "./MerkleTreeUtils";
|
|
32
36
|
|
|
33
37
|
// and expired deposits.
|
|
@@ -114,7 +118,7 @@ export function getEndBlockBuffers(
|
|
|
114
118
|
return chainIdListForBundleEvaluationBlockNumbers.map((chainId: number) => blockRangeEndBlockBuffer[chainId] ?? 0);
|
|
115
119
|
}
|
|
116
120
|
|
|
117
|
-
export function _buildPoolRebalanceRoot(
|
|
121
|
+
export async function _buildPoolRebalanceRoot(
|
|
118
122
|
latestMainnetBlock: number,
|
|
119
123
|
mainnetBundleEndBlock: number,
|
|
120
124
|
bundleV3Deposits: BundleDepositsV3,
|
|
@@ -122,9 +126,91 @@ export function _buildPoolRebalanceRoot(
|
|
|
122
126
|
bundleSlowFillsV3: BundleSlowFills,
|
|
123
127
|
unexecutableSlowFills: BundleExcessSlowFills,
|
|
124
128
|
expiredDepositsToRefundV3: ExpiredDepositsToRefundV3,
|
|
125
|
-
clients: {
|
|
129
|
+
clients: {
|
|
130
|
+
hubPoolClient: HubPoolClient;
|
|
131
|
+
configStoreClient: AcrossConfigStoreClient;
|
|
132
|
+
bundleDataClient: BundleDataClient;
|
|
133
|
+
spokePoolClients: SpokePoolClientsByChain;
|
|
134
|
+
},
|
|
126
135
|
maxL1TokenCountOverride?: number
|
|
127
|
-
): PoolRebalanceRoot {
|
|
136
|
+
): Promise<PoolRebalanceRoot> {
|
|
137
|
+
const { runningBalances, realizedLpFees, chainWithRefundsOnly } = _getMarginalRunningBalances(
|
|
138
|
+
mainnetBundleEndBlock,
|
|
139
|
+
bundleV3Deposits,
|
|
140
|
+
bundleFillsV3,
|
|
141
|
+
bundleSlowFillsV3,
|
|
142
|
+
unexecutableSlowFills,
|
|
143
|
+
expiredDepositsToRefundV3,
|
|
144
|
+
clients
|
|
145
|
+
);
|
|
146
|
+
addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
147
|
+
if (
|
|
148
|
+
clients.hubPoolClient.hasPendingProposal() &&
|
|
149
|
+
clients.hubPoolClient.getPendingRootBundle()!.bundleEvaluationBlockNumbers[1] > mainnetBundleEndBlock
|
|
150
|
+
) {
|
|
151
|
+
// We need to get the pool rebalance root for the pending bundle.
|
|
152
|
+
// @dev It is safe to index the hub pool client's proposed root bundles here since there is guaranteed to be a pending proposal in this code block.
|
|
153
|
+
const mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
|
|
154
|
+
const blockRangesForChains = getImpliedBundleBlockRanges(
|
|
155
|
+
clients.hubPoolClient,
|
|
156
|
+
clients.configStoreClient,
|
|
157
|
+
mostRecentProposedRootBundle
|
|
158
|
+
);
|
|
159
|
+
// We are loading data from a pending root bundle which should be well into liveness, so we want to use arweave if possible.
|
|
160
|
+
const pendingRootBundleData = await clients.bundleDataClient.loadData(
|
|
161
|
+
blockRangesForChains,
|
|
162
|
+
clients.spokePoolClients,
|
|
163
|
+
true
|
|
164
|
+
);
|
|
165
|
+
// Build the pool rebalance root for the pending root bundle.
|
|
166
|
+
const { runningBalances: pendingRunningBalances } = _getMarginalRunningBalances(
|
|
167
|
+
blockRangesForChains[0][1],
|
|
168
|
+
pendingRootBundleData.bundleDepositsV3,
|
|
169
|
+
pendingRootBundleData.bundleFillsV3,
|
|
170
|
+
pendingRootBundleData.bundleSlowFillsV3,
|
|
171
|
+
pendingRootBundleData.unexecutableSlowFills,
|
|
172
|
+
pendingRootBundleData.expiredDepositsToRefundV3,
|
|
173
|
+
clients
|
|
174
|
+
);
|
|
175
|
+
// Only add marginal pending running balances if there is already an entry in `runningBalances`. If there is no entry in `runningBalances`, then
|
|
176
|
+
// The running balance for this entry was unchanged since the last root bundle.
|
|
177
|
+
Object.keys(runningBalances).forEach((repaymentChainId) => {
|
|
178
|
+
Object.keys(runningBalances[Number(repaymentChainId)]).forEach((l1TokenAddress) => {
|
|
179
|
+
if (isDefined(pendingRunningBalances[Number(repaymentChainId)]?.[l1TokenAddress])) {
|
|
180
|
+
const runningBalanceAmount = pendingRunningBalances[Number(repaymentChainId)][l1TokenAddress];
|
|
181
|
+
updateRunningBalance(runningBalances, Number(repaymentChainId), l1TokenAddress, runningBalanceAmount);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
const leaves: PoolRebalanceLeaf[] = constructPoolRebalanceLeaves(
|
|
187
|
+
mainnetBundleEndBlock,
|
|
188
|
+
runningBalances,
|
|
189
|
+
realizedLpFees,
|
|
190
|
+
Array.from(chainWithRefundsOnly).filter((chainId) => !Object.keys(runningBalances).includes(chainId.toString())),
|
|
191
|
+
clients.configStoreClient,
|
|
192
|
+
maxL1TokenCountOverride
|
|
193
|
+
);
|
|
194
|
+
return {
|
|
195
|
+
runningBalances,
|
|
196
|
+
realizedLpFees,
|
|
197
|
+
leaves,
|
|
198
|
+
tree: buildPoolRebalanceLeafTree(leaves),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function _getMarginalRunningBalances(
|
|
203
|
+
mainnetBundleEndBlock: number,
|
|
204
|
+
bundleV3Deposits: BundleDepositsV3,
|
|
205
|
+
bundleFillsV3: BundleFillsV3,
|
|
206
|
+
bundleSlowFillsV3: BundleSlowFills,
|
|
207
|
+
unexecutableSlowFills: BundleExcessSlowFills,
|
|
208
|
+
expiredDepositsToRefundV3: ExpiredDepositsToRefundV3,
|
|
209
|
+
clients: {
|
|
210
|
+
hubPoolClient: HubPoolClient;
|
|
211
|
+
configStoreClient: AcrossConfigStoreClient;
|
|
212
|
+
}
|
|
213
|
+
): { chainWithRefundsOnly: Set<number>; realizedLpFees: RunningBalances; runningBalances: RunningBalances } {
|
|
128
214
|
// Running balances are the amount of tokens that we need to send to each SpokePool to pay for all instant and
|
|
129
215
|
// slow relay refunds. They are decreased by the amount of funds already held by the SpokePool. Balances are keyed
|
|
130
216
|
// by the SpokePool's network and L1 token equivalent of the L2 token to refund.
|
|
@@ -296,24 +382,5 @@ export function _buildPoolRebalanceRoot(
|
|
|
296
382
|
});
|
|
297
383
|
});
|
|
298
384
|
});
|
|
299
|
-
|
|
300
|
-
// Add to the running balance value from the last valid root bundle proposal for {chainId, l1Token}
|
|
301
|
-
// combination if found.
|
|
302
|
-
addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
303
|
-
|
|
304
|
-
const leaves: PoolRebalanceLeaf[] = constructPoolRebalanceLeaves(
|
|
305
|
-
mainnetBundleEndBlock,
|
|
306
|
-
runningBalances,
|
|
307
|
-
realizedLpFees,
|
|
308
|
-
Array.from(chainWithRefundsOnly).filter((chainId) => !Object.keys(runningBalances).includes(chainId.toString())),
|
|
309
|
-
clients.configStoreClient,
|
|
310
|
-
maxL1TokenCountOverride
|
|
311
|
-
);
|
|
312
|
-
|
|
313
|
-
return {
|
|
314
|
-
runningBalances,
|
|
315
|
-
realizedLpFees,
|
|
316
|
-
leaves,
|
|
317
|
-
tree: buildPoolRebalanceLeafTree(leaves),
|
|
318
|
-
};
|
|
385
|
+
return { runningBalances, chainWithRefundsOnly, realizedLpFees };
|
|
319
386
|
}
|