@across-protocol/sdk 4.1.45 → 4.1.46-beta.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/BundleDataClient.d.ts +2 -0
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +41 -23
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +1 -10
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +7 -7
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +36 -47
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +2 -2
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +2 -6
- package/dist/cjs/clients/HubPoolClient.js +15 -37
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +0 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +5 -19
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +1 -3
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +1 -19
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +0 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +0 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +0 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +0 -1
- package/dist/cjs/utils/DepositUtils.js +1 -5
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.js +2 -0
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +2 -0
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +45 -24
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +1 -16
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +7 -28
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +50 -83
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +2 -2
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +16 -13
- package/dist/esm/clients/HubPoolClient.js +34 -49
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +0 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +14 -28
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +1 -3
- package/dist/esm/clients/mocks/MockHubPoolClient.js +1 -19
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +0 -6
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +0 -10
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +0 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +0 -1
- package/dist/esm/utils/DepositUtils.js +1 -5
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.js +2 -0
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +2 -0
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +7 -28
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +16 -13
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +0 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +1 -3
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +0 -6
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +0 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +0 -1
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/clients/BundleDataClient/BundleDataClient.ts +58 -38
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +1 -36
- package/src/clients/BundleDataClient/utils/FillUtils.ts +71 -133
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +2 -3
- package/src/clients/HubPoolClient.ts +38 -64
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +16 -54
- package/src/clients/mocks/MockHubPoolClient.ts +2 -18
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +0 -10
- package/src/relayFeeCalculator/relayFeeCalculator.ts +0 -1
- package/src/utils/DepositUtils.ts +1 -6
- package/src/utils/TokenUtils.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataworkerUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/DataworkerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import { providers } from "ethers";
|
|
2
|
-
import { DepositWithBlock, Fill, FillWithBlock } from "../../../interfaces";
|
|
2
|
+
import { Deposit, DepositWithBlock, Fill, FillWithBlock } from "../../../interfaces";
|
|
3
3
|
import { HubPoolClient } from "../../HubPoolClient";
|
|
4
|
-
|
|
5
|
-
* @notice FillRepaymentInformation is a fill with additional properties required to determine where it can
|
|
6
|
-
* be repaid.
|
|
7
|
-
*/
|
|
8
|
-
type FillRepaymentInformation = Fill & {
|
|
9
|
-
fromLiteChain: boolean;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* @notice Return repayment chain and repayment token for a fill, but does not verify if the returned
|
|
13
|
-
* repayment information is valid for the desired repayment address.
|
|
14
|
-
* @dev The passed in fill should be verified first via verifyFillRepayment().
|
|
15
|
-
* @param fill The fill to get the repayment information for.
|
|
16
|
-
* @return The chain to send the refund to and the token to use for the refund.
|
|
17
|
-
*/
|
|
18
|
-
export declare function getRefundInformationFromFill(relayData: FillRepaymentInformation, hubPoolClient: HubPoolClient, bundleEndBlockForMainnet: number): {
|
|
4
|
+
export declare function getRefundInformationFromFill(fill: Fill, hubPoolClient: HubPoolClient, blockRangesForChains: number[][], chainIdListForBundleEvaluationBlockNumbers: number[], fromLiteChain: boolean): {
|
|
19
5
|
chainToSendRefundTo: number;
|
|
20
6
|
repaymentToken: string;
|
|
21
7
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
* @param _fill Fill with a requested repayment chain and address
|
|
28
|
-
* @return Fill with the applied repayment chain (depends on the validity of the requested repayment address)
|
|
29
|
-
* and applied repayment address, or undefined if the applied repayment address is not valid for the
|
|
30
|
-
* applied repayment chain.
|
|
31
|
-
*/
|
|
32
|
-
export declare function verifyFillRepayment(_fill: FillWithBlock, destinationChainProvider: providers.Provider, matchedDeposit: DepositWithBlock, hubPoolClient: HubPoolClient, bundleEndBlockForMainnet: number): Promise<FillWithBlock | undefined>;
|
|
33
|
-
export {};
|
|
8
|
+
export declare function getRepaymentChainId(fill: Fill, matchedDeposit: Deposit): number;
|
|
9
|
+
export declare function forceDestinationRepayment(repaymentChainId: number, matchedDeposit: Deposit & {
|
|
10
|
+
quoteBlockNumber: number;
|
|
11
|
+
}, hubPoolClient: HubPoolClient): boolean;
|
|
12
|
+
export declare function verifyFillRepayment(_fill: FillWithBlock, destinationChainProvider: providers.Provider, matchedDeposit: DepositWithBlock, hubPoolClient: HubPoolClient): Promise<FillWithBlock | undefined>;
|
|
@@ -1,55 +1,66 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import _ from "lodash";
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var chainToSendRefundTo = _getRepaymentChainId(relayData, hubPoolClient, bundleEndBlockForMainnet);
|
|
14
|
-
if (chainToSendRefundTo === relayData.originChainId) {
|
|
15
|
-
return {
|
|
16
|
-
chainToSendRefundTo: chainToSendRefundTo,
|
|
17
|
-
repaymentToken: relayData.inputToken,
|
|
18
|
-
};
|
|
3
|
+
import { getBlockRangeForChain, isSlowFill, isValidEvmAddress, isDefined, chainIsEvm } from "../../../utils";
|
|
4
|
+
export function getRefundInformationFromFill(fill, hubPoolClient, blockRangesForChains, chainIdListForBundleEvaluationBlockNumbers, fromLiteChain) {
|
|
5
|
+
// Handle slow relay where repaymentChainId = 0. Slow relays always pay recipient on destination chain.
|
|
6
|
+
// So, save the slow fill under the destination chain, and save the fast fill under its repayment chain.
|
|
7
|
+
var chainToSendRefundTo = isSlowFill(fill) ? fill.destinationChainId : fill.repaymentChainId;
|
|
8
|
+
// If the fill is for a deposit originating from the lite chain, the repayment chain is the origin chain
|
|
9
|
+
// regardless of whether it is a slow or fast fill (we ignore slow fills but this is for posterity).
|
|
10
|
+
// @note fill.repaymentChainId should already be set to originChainId but reset it to be safe.
|
|
11
|
+
if (fromLiteChain) {
|
|
12
|
+
chainToSendRefundTo = fill.originChainId;
|
|
19
13
|
}
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var
|
|
24
|
-
var repaymentToken = hubPoolClient.getL2TokenForL1TokenAtBlock(l1TokenCounterpart, chainToSendRefundTo, bundleEndBlockForMainnet);
|
|
14
|
+
// Save fill data and associate with repayment chain and L2 token refund should be denominated in.
|
|
15
|
+
var endBlockForMainnet = getBlockRangeForChain(blockRangesForChains, hubPoolClient.chainId, chainIdListForBundleEvaluationBlockNumbers)[1];
|
|
16
|
+
var l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(fill.inputToken, fill.originChainId, endBlockForMainnet);
|
|
17
|
+
var repaymentToken = hubPoolClient.getL2TokenForL1TokenAtBlock(l1TokenCounterpart, chainToSendRefundTo, endBlockForMainnet);
|
|
25
18
|
return {
|
|
26
19
|
chainToSendRefundTo: chainToSendRefundTo,
|
|
27
20
|
repaymentToken: repaymentToken,
|
|
28
21
|
};
|
|
29
22
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
export function getRepaymentChainId(fill, matchedDeposit) {
|
|
24
|
+
// Lite chain deposits force repayment on origin chain.
|
|
25
|
+
return matchedDeposit.fromLiteChain ? matchedDeposit.originChainId : fill.repaymentChainId;
|
|
26
|
+
}
|
|
27
|
+
export function forceDestinationRepayment(repaymentChainId, matchedDeposit, hubPoolClient) {
|
|
28
|
+
if (!matchedDeposit.fromLiteChain) {
|
|
29
|
+
try {
|
|
30
|
+
var l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(matchedDeposit.inputToken, matchedDeposit.originChainId, matchedDeposit.quoteBlockNumber);
|
|
31
|
+
hubPoolClient.getL2TokenForL1TokenAtBlock(l1TokenCounterpart, repaymentChainId, matchedDeposit.quoteBlockNumber);
|
|
32
|
+
// Repayment token could be found, this is a valid repayment chain.
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
catch (_a) {
|
|
36
|
+
// Repayment token doesn't exist on repayment chain via PoolRebalanceRoutes, impossible to repay filler there.
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Verify that a fill sent to an EVM chain has a 20 byte address. If the fill does not, then attempt
|
|
45
|
+
// to repay the `msg.sender` of the relay transaction. Otherwise, return undefined.
|
|
46
|
+
export function verifyFillRepayment(_fill, destinationChainProvider, matchedDeposit, hubPoolClient) {
|
|
41
47
|
return __awaiter(this, void 0, void 0, function () {
|
|
42
48
|
var fill, repaymentChainId, fillTransaction, destinationRelayer;
|
|
43
49
|
return __generator(this, function (_a) {
|
|
44
50
|
switch (_a.label) {
|
|
45
51
|
case 0:
|
|
46
|
-
fill =
|
|
52
|
+
fill = _.cloneDeep(_fill);
|
|
47
53
|
// Slow fills don't result in repayments so they're always valid.
|
|
48
54
|
if (isSlowFill(fill)) {
|
|
49
55
|
return [2 /*return*/, fill];
|
|
50
56
|
}
|
|
51
|
-
repaymentChainId =
|
|
52
|
-
|
|
57
|
+
repaymentChainId = getRepaymentChainId(fill, matchedDeposit);
|
|
58
|
+
// If repayment chain doesn't have a Pool Rebalance Route for the input token, then change the repayment
|
|
59
|
+
// chain to the destination chain.
|
|
60
|
+
if (forceDestinationRepayment(repaymentChainId, matchedDeposit, hubPoolClient)) {
|
|
61
|
+
repaymentChainId = fill.destinationChainId;
|
|
62
|
+
}
|
|
63
|
+
if (!!isValidEvmAddress(fill.relayer)) return [3 /*break*/, 2];
|
|
53
64
|
return [4 /*yield*/, destinationChainProvider.getTransaction(fill.transactionHash)];
|
|
54
65
|
case 1:
|
|
55
66
|
fillTransaction = _a.sent();
|
|
@@ -58,17 +69,12 @@ export function verifyFillRepayment(_fill, destinationChainProvider, matchedDepo
|
|
|
58
69
|
if (!isDefined(destinationRelayer) || !isValidEvmAddress(destinationRelayer)) {
|
|
59
70
|
return [2 /*return*/, undefined];
|
|
60
71
|
}
|
|
61
|
-
|
|
62
|
-
// destination chain has a valid repayment token that is equivalent to the deposited input token. This would
|
|
63
|
-
// also be the same mapping as the repayment token on the repayment chain.
|
|
64
|
-
if (!matchedDeposit.fromLiteChain &&
|
|
65
|
-
hubPoolClient.areTokensEquivalent(fill.inputToken, fill.originChainId, fill.outputToken, fill.destinationChainId)) {
|
|
72
|
+
if (!matchedDeposit.fromLiteChain) {
|
|
66
73
|
repaymentChainId = fill.destinationChainId;
|
|
67
74
|
}
|
|
68
|
-
// If we can't switch the chain, then we need to verify that the msg.sender is a valid address on the repayment chain.
|
|
69
|
-
// Because we already checked that the `destinationRelayer` was a valid EVM address above, we only need to check
|
|
70
|
-
// that the repayment chain is an EVM chain.
|
|
71
75
|
else {
|
|
76
|
+
// We can't switch repayment chain for a lite chain deposit so just check whether the repayment chain,
|
|
77
|
+
// which should be the origin chain, is an EVM chain.
|
|
72
78
|
if (!chainIsEvm(repaymentChainId)) {
|
|
73
79
|
return [2 /*return*/, undefined];
|
|
74
80
|
}
|
|
@@ -84,43 +90,4 @@ export function verifyFillRepayment(_fill, destinationChainProvider, matchedDepo
|
|
|
84
90
|
});
|
|
85
91
|
});
|
|
86
92
|
}
|
|
87
|
-
function _getRepaymentChainId(relayData, hubPoolClient, bundleEndBlockForMainnet) {
|
|
88
|
-
if (relayData.fromLiteChain) {
|
|
89
|
-
assert(!isSlowFill(relayData), "getRepaymentChainId: fromLiteChain and slow fill are mutually exclusive");
|
|
90
|
-
return relayData.originChainId;
|
|
91
|
-
}
|
|
92
|
-
// Handle slow relay where FilledRelay.repaymentChainId = 0, as hardcoded in the SpokePool contract.
|
|
93
|
-
// Slow relays always pay recipient on destination chain.
|
|
94
|
-
if (isSlowFill(relayData)) {
|
|
95
|
-
return relayData.destinationChainId;
|
|
96
|
-
}
|
|
97
|
-
// Repayment chain is valid if the input token and repayment chain are mapped to the same PoolRebalanceRoute.
|
|
98
|
-
var repaymentTokenIsValid = _repaymentChainTokenIsValid(relayData, hubPoolClient, bundleEndBlockForMainnet);
|
|
99
|
-
if (repaymentTokenIsValid) {
|
|
100
|
-
return relayData.repaymentChainId;
|
|
101
|
-
}
|
|
102
|
-
// If repayment chain is not valid, default to origin chain since we always know the input token can be refunded.
|
|
103
|
-
return relayData.originChainId;
|
|
104
|
-
}
|
|
105
|
-
function _repaymentChainTokenIsValid(relayData, hubPoolClient, bundleEndBlockForMainnet) {
|
|
106
|
-
if (!hubPoolClient.l2TokenHasPoolRebalanceRoute(relayData.inputToken, relayData.originChainId, bundleEndBlockForMainnet)) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
var l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(relayData.inputToken, relayData.originChainId, bundleEndBlockForMainnet);
|
|
110
|
-
if (!hubPoolClient.l2TokenEnabledForL1TokenAtBlock(l1TokenCounterpart, relayData.repaymentChainId, bundleEndBlockForMainnet)) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
function _repaymentAddressNeedsToBeOverwritten(fill) {
|
|
116
|
-
// Slow fills don't result in repayments so they're always valid.
|
|
117
|
-
if (isSlowFill(fill)) {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
// @todo add Solana logic here:
|
|
121
|
-
// - i.e. If chainIsSvm && !isValidSvmAddress(fill.relayer) then return false
|
|
122
|
-
// If chainIsEvm && !isValidEvmAddress(fill.relayer) then return false
|
|
123
|
-
// If chainIsEvm && isValidEvmAddress(fill.relayer) then return true
|
|
124
|
-
return !isValidEvmAddress(fill.relayer);
|
|
125
|
-
}
|
|
126
93
|
//# sourceMappingURL=FillUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FillUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/FillUtils.ts"],"names":[],"mappings":";AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"FillUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/FillUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,5 +20,5 @@ export declare function getNetSendAmountForL1Token(spokePoolTargetBalance: Spoke
|
|
|
20
20
|
export declare function getRunningBalanceForL1Token(spokePoolTargetBalance: SpokePoolTargetBalance, runningBalance: BigNumber): BigNumber;
|
|
21
21
|
export declare function updateRunningBalance(runningBalances: RunningBalances, l2ChainId: number, l1Token: string, updateAmount: BigNumber): void;
|
|
22
22
|
export declare function addLastRunningBalance(latestMainnetBlock: number, runningBalances: RunningBalances, hubPoolClient: HubPoolClient): void;
|
|
23
|
-
export declare function updateRunningBalanceForDeposit(runningBalances: RunningBalances, hubPoolClient: HubPoolClient, deposit: V3DepositWithBlock, updateAmount: BigNumber
|
|
23
|
+
export declare function updateRunningBalanceForDeposit(runningBalances: RunningBalances, hubPoolClient: HubPoolClient, deposit: V3DepositWithBlock, updateAmount: BigNumber): void;
|
|
24
24
|
export declare function constructPoolRebalanceLeaves(latestMainnetBlock: number, runningBalances: RunningBalances, realizedLpFees: RunningBalances, configStoreClient: AcrossConfigStoreClient, maxL1TokenCount?: number): PoolRebalanceLeaf[];
|
|
@@ -98,8 +98,8 @@ export function addLastRunningBalance(latestMainnetBlock, runningBalances, hubPo
|
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
export function updateRunningBalanceForDeposit(runningBalances, hubPoolClient, deposit, updateAmount
|
|
102
|
-
var l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(deposit.inputToken, deposit.originChainId,
|
|
101
|
+
export function updateRunningBalanceForDeposit(runningBalances, hubPoolClient, deposit, updateAmount) {
|
|
102
|
+
var l1TokenCounterpart = hubPoolClient.getL1TokenForL2TokenAtBlock(deposit.inputToken, deposit.originChainId, deposit.quoteBlockNumber);
|
|
103
103
|
updateRunningBalance(runningBalances, deposit.originChainId, l1TokenCounterpart, updateAmount);
|
|
104
104
|
}
|
|
105
105
|
export function constructPoolRebalanceLeaves(latestMainnetBlock, runningBalances, realizedLpFees, configStoreClient, maxL1TokenCount) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolRebalanceUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PoolRebalanceUtils.js","sourceRoot":"","sources":["../../../../../src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,10 +72,23 @@ export declare class HubPoolClient extends BaseAbstractClient {
|
|
|
72
72
|
getSpokePoolActivationBlock(chain: number, spokePool: string): number | undefined;
|
|
73
73
|
getL2TokenForL1TokenAtBlock(l1Token: string, destinationChainId: number, latestHubBlock?: number): string;
|
|
74
74
|
getL1TokenForL2TokenAtBlock(l2Token: string, destinationChainId: number, latestHubBlock?: number): string;
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Returns the L1 token that should be used for an L2 Bridge event. This function is
|
|
77
|
+
* designed to be used by the caller to associate the L2 token with its mapped L1 token
|
|
78
|
+
* at the HubPool equivalent block number of the L2 event.
|
|
79
|
+
* @param deposit Deposit event
|
|
80
|
+
* @param returns string L1 token counterpart for Deposit
|
|
81
|
+
*/
|
|
82
|
+
getL1TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "inputToken" | "quoteBlockNumber">): string;
|
|
83
|
+
/**
|
|
84
|
+
* Returns the L2 token that should be used as a counterpart to a deposit event. For example, the caller
|
|
85
|
+
* might want to know what the refund token will be on l2ChainId for the deposit event.
|
|
86
|
+
* @param l2ChainId Chain where caller wants to get L2 token counterpart for
|
|
87
|
+
* @param event Deposit event
|
|
88
|
+
* @returns string L2 token counterpart on l2ChainId
|
|
89
|
+
*/
|
|
90
|
+
getL2TokenForDeposit(deposit: Pick<DepositWithBlock, "originChainId" | "destinationChainId" | "inputToken" | "quoteBlockNumber">, l2ChainId?: number): string;
|
|
76
91
|
l2TokenEnabledForL1Token(l1Token: string, destinationChainId: number): boolean;
|
|
77
|
-
l2TokenEnabledForL1TokenAtBlock(l1Token: string, destinationChainId: number, hubBlockNumber: number): boolean;
|
|
78
|
-
l2TokenHasPoolRebalanceRoute(l2Token: string, l2ChainId: number, hubPoolBlock?: number): boolean;
|
|
79
92
|
/**
|
|
80
93
|
* @dev If tokenAddress + chain do not exist in TOKEN_SYMBOLS_MAP then this will throw.
|
|
81
94
|
* @param tokenAddress Token address on `chain`
|
|
@@ -83,14 +96,6 @@ export declare class HubPoolClient extends BaseAbstractClient {
|
|
|
83
96
|
* @returns Token info for the given token address on the L2 chain including symbol and decimal.
|
|
84
97
|
*/
|
|
85
98
|
getTokenInfoForAddress(tokenAddress: string, chain: number): L1Token;
|
|
86
|
-
/**
|
|
87
|
-
* @dev If tokenAddress + chain do not exist in TOKEN_SYMBOLS_MAP then this will throw.
|
|
88
|
-
* @dev if the token matched in TOKEN_SYMBOLS_MAP does not have an L1 token address then this will throw.
|
|
89
|
-
* @param tokenAddress Token address on `chain`
|
|
90
|
-
* @param chain Chain where the `tokenAddress` exists in TOKEN_SYMBOLS_MAP.
|
|
91
|
-
* @returns Token info for the given token address on the Hub chain including symbol and decimal and L1 address.
|
|
92
|
-
*/
|
|
93
|
-
getL1TokenInfoForAddress(tokenAddress: string, chain: number): L1Token;
|
|
94
99
|
/**
|
|
95
100
|
* Resolve a given timestamp to a block number on the HubPool chain.
|
|
96
101
|
* @param timestamp A single timestamp to be resolved to a block number on the HubPool chain.
|
|
@@ -124,8 +129,6 @@ export declare class HubPoolClient extends BaseAbstractClient {
|
|
|
124
129
|
getTokenInfoForL1Token(l1Token: string): L1Token | undefined;
|
|
125
130
|
getLpTokenInfoForL1Token(l1Token: string): LpToken | undefined;
|
|
126
131
|
getL1TokenInfoForL2Token(l2Token: string, chainId: number): L1Token | undefined;
|
|
127
|
-
getTokenInfoForDeposit(deposit: Pick<Deposit, "inputToken" | "originChainId">): L1Token | undefined;
|
|
128
|
-
getTokenInfo(chainId: number | string, tokenAddress: string): L1Token | undefined;
|
|
129
132
|
areTokensEquivalent(tokenA: string, chainIdA: number, tokenB: string, chainIdB: number, hubPoolBlock?: number): boolean;
|
|
130
133
|
getSpokeActivationBlockForChain(chainId: number): number;
|
|
131
134
|
isRootBundleValid(rootBundle: ProposedRootBundle, latestMainnetBlock: number): boolean;
|
|
@@ -3,7 +3,7 @@ import assert from "assert";
|
|
|
3
3
|
import _ from "lodash";
|
|
4
4
|
import { DEFAULT_CACHING_SAFE_LAG, DEFAULT_CACHING_TTL, ZERO_ADDRESS } from "../constants";
|
|
5
5
|
import * as lpFeeCalculator from "../lpFeeCalculator";
|
|
6
|
-
import { BigNumber, BlockFinder, bnZero, dedupArray, assign, fetchTokenInfo, getCachedBlockForTimestamp, getCurrentTime, getNetworkName, isDefined, mapAsync, paginatedEventQuery, shouldCache, sortEventsDescending, spreadEventWithBlockNumber, toBN, getTokenInfo, getUsdcSymbol,
|
|
6
|
+
import { BigNumber, BlockFinder, bnZero, dedupArray, assign, fetchTokenInfo, getCachedBlockForTimestamp, getCurrentTime, getNetworkName, isDefined, mapAsync, paginatedEventQuery, shouldCache, sortEventsDescending, spreadEventWithBlockNumber, toBN, getTokenInfo, getUsdcSymbol, compareAddressesSimple, } from "../utils";
|
|
7
7
|
import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "./BaseAbstractClient";
|
|
8
8
|
var HubPoolClient = /** @class */ (function (_super) {
|
|
9
9
|
__extends(HubPoolClient, _super);
|
|
@@ -128,35 +128,36 @@ var HubPoolClient = /** @class */ (function (_super) {
|
|
|
128
128
|
// Find the last mapping published before the target block.
|
|
129
129
|
return sortEventsDescending(l2Tokens)[0].l1Token;
|
|
130
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Returns the L1 token that should be used for an L2 Bridge event. This function is
|
|
133
|
+
* designed to be used by the caller to associate the L2 token with its mapped L1 token
|
|
134
|
+
* at the HubPool equivalent block number of the L2 event.
|
|
135
|
+
* @param deposit Deposit event
|
|
136
|
+
* @param returns string L1 token counterpart for Deposit
|
|
137
|
+
*/
|
|
131
138
|
HubPoolClient.prototype.getL1TokenForDeposit = function (deposit) {
|
|
132
139
|
// L1-->L2 token mappings are set via PoolRebalanceRoutes which occur on mainnet,
|
|
133
140
|
// so we use the latest token mapping. This way if a very old deposit is filled, the relayer can use the
|
|
134
141
|
// latest L2 token mapping to find the L1 token counterpart.
|
|
135
142
|
return this.getL1TokenForL2TokenAtBlock(deposit.inputToken, deposit.originChainId, deposit.quoteBlockNumber);
|
|
136
143
|
};
|
|
144
|
+
/**
|
|
145
|
+
* Returns the L2 token that should be used as a counterpart to a deposit event. For example, the caller
|
|
146
|
+
* might want to know what the refund token will be on l2ChainId for the deposit event.
|
|
147
|
+
* @param l2ChainId Chain where caller wants to get L2 token counterpart for
|
|
148
|
+
* @param event Deposit event
|
|
149
|
+
* @returns string L2 token counterpart on l2ChainId
|
|
150
|
+
*/
|
|
151
|
+
HubPoolClient.prototype.getL2TokenForDeposit = function (deposit, l2ChainId) {
|
|
152
|
+
if (l2ChainId === void 0) { l2ChainId = deposit.destinationChainId; }
|
|
153
|
+
var l1Token = this.getL1TokenForDeposit(deposit);
|
|
154
|
+
// Use the latest hub block number to find the L2 token counterpart.
|
|
155
|
+
return this.getL2TokenForL1TokenAtBlock(l1Token, l2ChainId, deposit.quoteBlockNumber);
|
|
156
|
+
};
|
|
137
157
|
HubPoolClient.prototype.l2TokenEnabledForL1Token = function (l1Token, destinationChainId) {
|
|
138
158
|
var _a, _b;
|
|
139
159
|
return ((_b = (_a = this.l1TokensToDestinationTokens) === null || _a === void 0 ? void 0 : _a[l1Token]) === null || _b === void 0 ? void 0 : _b[destinationChainId]) != undefined;
|
|
140
160
|
};
|
|
141
|
-
HubPoolClient.prototype.l2TokenEnabledForL1TokenAtBlock = function (l1Token, destinationChainId, hubBlockNumber) {
|
|
142
|
-
var _a, _b, _c;
|
|
143
|
-
// Find the last mapping published before the target block.
|
|
144
|
-
var l2Token = sortEventsDescending((_c = (_b = (_a = this.l1TokensToDestinationTokensWithBlock) === null || _a === void 0 ? void 0 : _a[l1Token]) === null || _b === void 0 ? void 0 : _b[destinationChainId]) !== null && _c !== void 0 ? _c : []).find(function (mapping) { return mapping.blockNumber <= hubBlockNumber; });
|
|
145
|
-
return l2Token !== undefined;
|
|
146
|
-
};
|
|
147
|
-
HubPoolClient.prototype.l2TokenHasPoolRebalanceRoute = function (l2Token, l2ChainId, hubPoolBlock) {
|
|
148
|
-
if (hubPoolBlock === void 0) { hubPoolBlock = this.latestBlockSearched; }
|
|
149
|
-
return Object.values(this.l1TokensToDestinationTokensWithBlock).some(function (destinationTokenMapping) {
|
|
150
|
-
return Object.entries(destinationTokenMapping).some(function (_a) {
|
|
151
|
-
var _l2ChainId = _a[0], setPoolRebalanceRouteEvents = _a[1];
|
|
152
|
-
return setPoolRebalanceRouteEvents.some(function (e) {
|
|
153
|
-
return (e.blockNumber <= hubPoolBlock &&
|
|
154
|
-
compareAddressesSimple(e.l2Token, l2Token) &&
|
|
155
|
-
Number(_l2ChainId) === l2ChainId);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
161
|
/**
|
|
161
162
|
* @dev If tokenAddress + chain do not exist in TOKEN_SYMBOLS_MAP then this will throw.
|
|
162
163
|
* @param tokenAddress Token address on `chain`
|
|
@@ -173,16 +174,6 @@ var HubPoolClient = /** @class */ (function (_super) {
|
|
|
173
174
|
}
|
|
174
175
|
return tokenInfo;
|
|
175
176
|
};
|
|
176
|
-
/**
|
|
177
|
-
* @dev If tokenAddress + chain do not exist in TOKEN_SYMBOLS_MAP then this will throw.
|
|
178
|
-
* @dev if the token matched in TOKEN_SYMBOLS_MAP does not have an L1 token address then this will throw.
|
|
179
|
-
* @param tokenAddress Token address on `chain`
|
|
180
|
-
* @param chain Chain where the `tokenAddress` exists in TOKEN_SYMBOLS_MAP.
|
|
181
|
-
* @returns Token info for the given token address on the Hub chain including symbol and decimal and L1 address.
|
|
182
|
-
*/
|
|
183
|
-
HubPoolClient.prototype.getL1TokenInfoForAddress = function (tokenAddress, chain) {
|
|
184
|
-
return getL1TokenInfo(tokenAddress, chain);
|
|
185
|
-
};
|
|
186
177
|
/**
|
|
187
178
|
* Resolve a given timestamp to a block number on the HubPool chain.
|
|
188
179
|
* @param timestamp A single timestamp to be resolved to a block number on the HubPool chain.
|
|
@@ -447,29 +438,23 @@ var HubPoolClient = /** @class */ (function (_super) {
|
|
|
447
438
|
var l1TokenCounterpart = this.getL1TokenForL2TokenAtBlock(l2Token, chainId, this.latestBlockSearched);
|
|
448
439
|
return this.getTokenInfoForL1Token(l1TokenCounterpart);
|
|
449
440
|
};
|
|
450
|
-
HubPoolClient.prototype.getTokenInfoForDeposit = function (deposit) {
|
|
451
|
-
return this.getTokenInfoForL1Token(this.getL1TokenForL2TokenAtBlock(deposit.inputToken, deposit.originChainId, this.latestBlockSearched));
|
|
452
|
-
};
|
|
453
|
-
HubPoolClient.prototype.getTokenInfo = function (chainId, tokenAddress) {
|
|
454
|
-
var deposit = { originChainId: parseInt(chainId.toString()), inputToken: tokenAddress };
|
|
455
|
-
return this.getTokenInfoForDeposit(deposit);
|
|
456
|
-
};
|
|
457
441
|
HubPoolClient.prototype.areTokensEquivalent = function (tokenA, chainIdA, tokenB, chainIdB, hubPoolBlock) {
|
|
458
442
|
if (hubPoolBlock === void 0) { hubPoolBlock = this.latestBlockSearched; }
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
443
|
+
try {
|
|
444
|
+
// Resolve both SpokePool tokens back to their respective HubPool tokens and verify that they match.
|
|
445
|
+
var l1TokenA = this.getL1TokenForL2TokenAtBlock(tokenA, chainIdA, hubPoolBlock);
|
|
446
|
+
var l1TokenB = this.getL1TokenForL2TokenAtBlock(tokenB, chainIdB, hubPoolBlock);
|
|
447
|
+
if (l1TokenA !== l1TokenB) {
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
// Resolve both HubPool tokens back to a current SpokePool token and verify that they match.
|
|
451
|
+
var _tokenA = this.getL2TokenForL1TokenAtBlock(l1TokenA, chainIdA, hubPoolBlock);
|
|
452
|
+
var _tokenB = this.getL2TokenForL1TokenAtBlock(l1TokenB, chainIdB, hubPoolBlock);
|
|
453
|
+
return tokenA === _tokenA && tokenB === _tokenB;
|
|
462
454
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
var l1TokenB = this.getL1TokenForL2TokenAtBlock(tokenB, chainIdB, hubPoolBlock);
|
|
466
|
-
if (l1TokenA !== l1TokenB) {
|
|
467
|
-
return false;
|
|
455
|
+
catch (_a) {
|
|
456
|
+
return false; // One or both input tokens were not recognised.
|
|
468
457
|
}
|
|
469
|
-
// Resolve both HubPool tokens back to a current SpokePool token and verify that they match.
|
|
470
|
-
var _tokenA = this.getL2TokenForL1TokenAtBlock(l1TokenA, chainIdA, hubPoolBlock);
|
|
471
|
-
var _tokenB = this.getL2TokenForL1TokenAtBlock(l1TokenB, chainIdB, hubPoolBlock);
|
|
472
|
-
return tokenA === _tokenA && tokenB === _tokenB;
|
|
473
458
|
};
|
|
474
459
|
HubPoolClient.prototype.getSpokeActivationBlockForChain = function (chainId) {
|
|
475
460
|
var _a;
|