@across-protocol/sdk 4.3.18-alpha.1 → 4.3.19-alpha.1
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/arch/svm/BlockUtils.js +4 -31
- package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +8 -8
- package/dist/cjs/arch/svm/SpokeUtils.js +33 -36
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +11 -3
- package/dist/cjs/arch/svm/utils.js +40 -5
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.d.ts +2 -5
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +75 -110
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +124 -124
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +2 -3
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +4 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +3 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +1 -1
- package/dist/cjs/utils/EventUtils.js +0 -21
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/esm/arch/svm/BlockUtils.js +4 -31
- package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +8 -8
- package/dist/esm/arch/svm/SpokeUtils.js +35 -36
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +17 -4
- package/dist/esm/arch/svm/utils.js +44 -5
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.d.ts +2 -5
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +125 -150
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +124 -124
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +2 -3
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +4 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +3 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +1 -1
- package/dist/esm/utils/EventUtils.js +1 -29
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/types/arch/svm/BlockUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +8 -8
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +17 -4
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts +2 -5
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +124 -124
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +3 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +1 -1
- package/dist/types/utils/EventUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/BlockUtils.ts +4 -12
- package/src/arch/svm/SpokeUtils.ts +24 -20
- package/src/arch/svm/utils.ts +29 -4
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +6 -68
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +2 -7
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +37 -14
- package/src/clients/mocks/MockSpokePoolClient.ts +1 -1
- package/src/utils/EventUtils.ts +1 -29
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Idl } from "@coral-xyz/anchor";
|
|
3
|
-
import { Address, IInstruction, KeyPairSigner, type TransactionSigner } from "@solana/kit";
|
|
3
|
+
import { Address, type Commitment, IInstruction, KeyPairSigner, type TransactionSigner } from "@solana/kit";
|
|
4
4
|
import { RelayData } from "../../interfaces";
|
|
5
5
|
import { BigNumber, Address as SdkAddress } from "../../utils";
|
|
6
6
|
import { AttestedCCTPMessage, EventName, SVMProvider } from "./types";
|
|
@@ -17,6 +17,20 @@ export declare function isDevnet(rpc: SVMProvider): Promise<boolean>;
|
|
|
17
17
|
* Small utility to convert an Address to a Solana Kit branded type.
|
|
18
18
|
*/
|
|
19
19
|
export declare function toAddress(address: SdkAddress): Address<string>;
|
|
20
|
+
/**
|
|
21
|
+
* For a given slot (or implicit head of chain), find the immediate preceding slot that contained a block.
|
|
22
|
+
* @param provider SVM Provider instance.
|
|
23
|
+
* @param opts An object containing a specific slot number, or a Solana commitment, defaulting to "confirmed".
|
|
24
|
+
* @returns An object containing the slot number and the relevant timestamp for the block.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getNearestSlotTime(provider: SVMProvider, opts?: {
|
|
27
|
+
slot: bigint;
|
|
28
|
+
} | {
|
|
29
|
+
commitment: Commitment;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
slot: bigint;
|
|
32
|
+
timestamp: number;
|
|
33
|
+
}>;
|
|
20
34
|
/**
|
|
21
35
|
* Resolve the latest finalized slot, and then work backwards to find the nearest slot containing a block.
|
|
22
36
|
* In most cases the first-resolved slot should also have a block. Avoid making arbitrary decisions about
|
|
@@ -74,10 +88,9 @@ export declare function getTransferLiabilityPda(programId: Address, originToken:
|
|
|
74
88
|
/**
|
|
75
89
|
* Returns the PDA for the SVM Spoke's root bundle account.
|
|
76
90
|
* @param programId the address of the spoke pool.
|
|
77
|
-
* @param statePda the spoke pool's state pda.
|
|
78
91
|
* @param rootBundleId the associated root bundle ID.
|
|
79
92
|
*/
|
|
80
|
-
export declare function getRootBundlePda(programId: Address,
|
|
93
|
+
export declare function getRootBundlePda(programId: Address, rootBundleId: number): Promise<Address>;
|
|
81
94
|
/**
|
|
82
95
|
* Returns the PDA for the SVM Spoke's instruction params account.
|
|
83
96
|
* @param programId the address of the spoke pool.
|
|
@@ -112,7 +125,7 @@ export declare function getRandomSvmAddress(): Address<string>;
|
|
|
112
125
|
* @returns The default transaction.
|
|
113
126
|
*/
|
|
114
127
|
export declare const createDefaultTransaction: (rpcClient: SVMProvider, signer: TransactionSigner) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
115
|
-
instructions: readonly IInstruction<string, readonly (import("@solana/kit").
|
|
128
|
+
instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
116
129
|
version: 0;
|
|
117
130
|
}>, "feePayer">>;
|
|
118
131
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import assert from "assert";
|
|
2
3
|
import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
|
|
3
4
|
import { BN, BorshEventCoder } from "@coral-xyz/anchor";
|
|
4
5
|
import { address, appendTransactionMessageInstruction, createTransactionMessage, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getU32Encoder, getU64Encoder, isAddress, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from "@solana/kit";
|
|
@@ -7,6 +8,7 @@ import { ethers } from "ethers";
|
|
|
7
8
|
import { FillType } from "../../interfaces";
|
|
8
9
|
import { BigNumber, getRelayDataHash, isDefined, isUint8Array } from "../../utils";
|
|
9
10
|
import { SVMEventNames } from "./types";
|
|
11
|
+
import { getTimestampForSlot } from "./SpokeUtils";
|
|
10
12
|
export { isSolanaError } from "@solana/kit";
|
|
11
13
|
/**
|
|
12
14
|
* Basic void TransactionSigner type
|
|
@@ -46,6 +48,43 @@ export function isDevnet(rpc) {
|
|
|
46
48
|
export function toAddress(address) {
|
|
47
49
|
return address.toBase58();
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* For a given slot (or implicit head of chain), find the immediate preceding slot that contained a block.
|
|
53
|
+
* @param provider SVM Provider instance.
|
|
54
|
+
* @param opts An object containing a specific slot number, or a Solana commitment, defaulting to "confirmed".
|
|
55
|
+
* @returns An object containing the slot number and the relevant timestamp for the block.
|
|
56
|
+
*/
|
|
57
|
+
export function getNearestSlotTime(provider, opts) {
|
|
58
|
+
if (opts === void 0) { opts = { commitment: "confirmed" }; }
|
|
59
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
60
|
+
var timestamp, slot, _a;
|
|
61
|
+
return __generator(this, function (_b) {
|
|
62
|
+
switch (_b.label) {
|
|
63
|
+
case 0:
|
|
64
|
+
if (!("slot" in opts)) return [3 /*break*/, 1];
|
|
65
|
+
_a = opts.slot;
|
|
66
|
+
return [3 /*break*/, 3];
|
|
67
|
+
case 1: return [4 /*yield*/, provider.getSlot(opts).send()];
|
|
68
|
+
case 2:
|
|
69
|
+
_a = _b.sent();
|
|
70
|
+
_b.label = 3;
|
|
71
|
+
case 3:
|
|
72
|
+
slot = _a;
|
|
73
|
+
_b.label = 4;
|
|
74
|
+
case 4: return [4 /*yield*/, getTimestampForSlot(provider, slot)];
|
|
75
|
+
case 5:
|
|
76
|
+
timestamp = _b.sent();
|
|
77
|
+
_b.label = 6;
|
|
78
|
+
case 6:
|
|
79
|
+
if (!isDefined(timestamp) && --slot) return [3 /*break*/, 4];
|
|
80
|
+
_b.label = 7;
|
|
81
|
+
case 7:
|
|
82
|
+
assert(isDefined(timestamp), "Unable to resolve block time for SVM slot ".concat(slot));
|
|
83
|
+
return [2 /*return*/, { slot: slot, timestamp: timestamp }];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}
|
|
49
88
|
/**
|
|
50
89
|
* Resolve the latest finalized slot, and then work backwards to find the nearest slot containing a block.
|
|
51
90
|
* In most cases the first-resolved slot should also have a block. Avoid making arbitrary decisions about
|
|
@@ -306,20 +345,20 @@ export function getTransferLiabilityPda(programId, originToken) {
|
|
|
306
345
|
/**
|
|
307
346
|
* Returns the PDA for the SVM Spoke's root bundle account.
|
|
308
347
|
* @param programId the address of the spoke pool.
|
|
309
|
-
* @param statePda the spoke pool's state pda.
|
|
310
348
|
* @param rootBundleId the associated root bundle ID.
|
|
311
349
|
*/
|
|
312
|
-
export function getRootBundlePda(programId,
|
|
350
|
+
export function getRootBundlePda(programId, rootBundleId) {
|
|
313
351
|
return __awaiter(this, void 0, void 0, function () {
|
|
314
|
-
var
|
|
352
|
+
var seedEncoder, seed, intEncoder, pda;
|
|
315
353
|
return __generator(this, function (_a) {
|
|
316
354
|
switch (_a.label) {
|
|
317
355
|
case 0:
|
|
356
|
+
seedEncoder = getU64Encoder();
|
|
357
|
+
seed = seedEncoder.encode(0);
|
|
318
358
|
intEncoder = getU32Encoder();
|
|
319
|
-
addressEncoder = getAddressEncoder();
|
|
320
359
|
return [4 /*yield*/, getProgramDerivedAddress({
|
|
321
360
|
programAddress: programId,
|
|
322
|
-
seeds: ["root_bundle",
|
|
361
|
+
seeds: ["root_bundle", seed, intEncoder.encode(rootBundleId)],
|
|
323
362
|
})];
|
|
324
363
|
case 1:
|
|
325
364
|
pda = (_a.sent())[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3
|
|
1
|
+
import { BundleDepositsV3, BundleExcessSlowFills, BundleFillsV3, BundleSlowFills, CombinedRefunds, ExpiredDepositsToRefundV3 } 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";
|
|
7
6
|
export declare function getRefundsFromBundle(bundleFillsV3: BundleFillsV3, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3): CombinedRefunds;
|
|
8
7
|
export declare function prettyPrintV3SpokePoolEvents(bundleDepositsV3: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, unexecutableSlowFills: BundleExcessSlowFills): AnyObject;
|
|
9
8
|
export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNumbers: number[], blockRangeEndBlockBuffer: {
|
|
@@ -12,6 +11,4 @@ export declare function getEndBlockBuffers(chainIdListForBundleEvaluationBlockNu
|
|
|
12
11
|
export declare function _buildPoolRebalanceRoot(latestMainnetBlock: number, mainnetBundleEndBlock: number, bundleV3Deposits: BundleDepositsV3, bundleFillsV3: BundleFillsV3, bundleSlowFillsV3: BundleSlowFills, unexecutableSlowFills: BundleExcessSlowFills, expiredDepositsToRefundV3: ExpiredDepositsToRefundV3, clients: {
|
|
13
12
|
hubPoolClient: HubPoolClient;
|
|
14
13
|
configStoreClient: AcrossConfigStoreClient;
|
|
15
|
-
|
|
16
|
-
spokePoolClients: SpokePoolClientsByChain;
|
|
17
|
-
}, maxL1TokenCountOverride?: number): Promise<PoolRebalanceRoot>;
|
|
14
|
+
}, maxL1TokenCountOverride?: number): PoolRebalanceRoot;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __assign
|
|
1
|
+
import { __assign } 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,
|
|
4
|
+
import { bnZero, fixedPointAdjustment, count2DDictionaryValues, count3DDictionaryValues, toAddressType, } from "../../../utils";
|
|
5
5
|
import { addLastRunningBalance, constructPoolRebalanceLeaves, updateRunningBalance, updateRunningBalanceForDeposit, } from "./PoolRebalanceUtils";
|
|
6
6
|
import { buildPoolRebalanceLeafTree } from "./MerkleTreeUtils";
|
|
7
7
|
// and expired deposits.
|
|
@@ -74,156 +74,131 @@ 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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
assert(l1Token.isEVM(), "Expected an EVM address: ".concat(l1TokenAddr));
|
|
106
|
-
updateRunningBalance(runningBalances, repaymentChainId, l1TokenAddr, totalRefundAmount);
|
|
107
|
-
updateRunningBalance(realizedLpFees, repaymentChainId, l1TokenAddr, totalRealizedLpFee);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
/**
|
|
111
|
-
* PAYMENTS SLOW FILLS
|
|
112
|
-
*/
|
|
113
|
-
// Add running balances and lp fees for v3 slow fills using BundleDataClient.bundleSlowFillsV3.
|
|
114
|
-
// Slow fills should still increment bundleLpFees and updatedOutputAmount should be equal to inputAmount - lpFees.
|
|
115
|
-
// Increment the updatedOutputAmount to the destination chain.
|
|
116
|
-
Object.entries(bundleSlowFillsV3).forEach(function (_a) {
|
|
117
|
-
var _destinationChainId = _a[0], depositsForChain = _a[1];
|
|
118
|
-
var destinationChainId = Number(_destinationChainId);
|
|
119
|
-
Object.entries(depositsForChain).forEach(function (_a) {
|
|
120
|
-
var outputToken = _a[0], deposits = _a[1];
|
|
121
|
-
deposits.forEach(function (deposit) {
|
|
122
|
-
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
123
|
-
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
|
|
124
|
-
updateRunningBalance(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount.sub(lpFee));
|
|
125
|
-
// Slow fill LP fees are accounted for when the slow fill executes and a V3FilledRelay is emitted. i.e. when
|
|
126
|
-
// the slow fill execution is included in bundleFillsV3.
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
/**
|
|
131
|
-
* EXCESSES FROM UNEXECUTABLE SLOW FILLS
|
|
132
|
-
*/
|
|
133
|
-
// Subtract destination chain running balances for BundleDataClient.unexecutableSlowFills.
|
|
134
|
-
// These are all slow fills that are impossible to execute and therefore the amount to return would be
|
|
135
|
-
// the updatedOutputAmount = inputAmount - lpFees.
|
|
136
|
-
Object.entries(unexecutableSlowFills).forEach(function (_a) {
|
|
137
|
-
var _destinationChainId = _a[0], slowFilledDepositsForChain = _a[1];
|
|
138
|
-
var destinationChainId = Number(_destinationChainId);
|
|
139
|
-
Object.entries(slowFilledDepositsForChain).forEach(function (_a) {
|
|
140
|
-
var outputToken = _a[0], slowFilledDeposits = _a[1];
|
|
141
|
-
slowFilledDeposits.forEach(function (deposit) {
|
|
142
|
-
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
143
|
-
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
|
|
144
|
-
updateRunningBalance(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), lpFee.sub(deposit.inputAmount));
|
|
145
|
-
// Slow fills don't add to lpFees, only when the slow fill is executed and a V3FilledRelay is emitted, so
|
|
146
|
-
// we don't need to subtract it here. Moreover, the HubPoole expects bundleLpFees to be > 0.
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
/**
|
|
151
|
-
* DEPOSITS
|
|
152
|
-
*/
|
|
153
|
-
// Handle v3Deposits. These decrement running balances from the origin chain equal to the inputAmount.
|
|
154
|
-
// There should not be early deposits in v3.
|
|
155
|
-
Object.entries(bundleV3Deposits).forEach(function (_a) {
|
|
156
|
-
var depositsForChain = _a[1];
|
|
157
|
-
Object.entries(depositsForChain).forEach(function (_a) {
|
|
158
|
-
var deposits = _a[1];
|
|
159
|
-
deposits.forEach(function (deposit) {
|
|
160
|
-
// If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
|
|
161
|
-
// there are no relevant L1 running balances.
|
|
162
|
-
if (!clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(deposit.inputToken, deposit.originChainId, mainnetBundleEndBlock)) {
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
updateRunningBalanceForDeposit(runningBalances, clients.hubPoolClient, deposit, deposit.inputAmount.mul(-1), mainnetBundleEndBlock);
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
/**
|
|
170
|
-
* REFUNDS FOR EXPIRED DEPOSITS
|
|
171
|
-
*/
|
|
172
|
-
// Add origin chain running balance for expired v3 deposits. These should refund the inputAmount.
|
|
173
|
-
Object.entries(expiredDepositsToRefundV3).forEach(function (_a) {
|
|
174
|
-
var _originChainId = _a[0], depositsForChain = _a[1];
|
|
175
|
-
var originChainId = Number(_originChainId);
|
|
176
|
-
Object.entries(depositsForChain).forEach(function (_a) {
|
|
177
|
-
var inputToken = _a[0], deposits = _a[1];
|
|
178
|
-
deposits.forEach(function (deposit) {
|
|
179
|
-
// If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
|
|
180
|
-
// there are no relevant L1 running balances.
|
|
181
|
-
if (!clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(deposit.inputToken, deposit.originChainId, mainnetBundleEndBlock)) {
|
|
182
|
-
chainWithRefundsOnly.add(deposit.originChainId);
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(inputToken, originChainId), originChainId, mainnetBundleEndBlock);
|
|
186
|
-
updateRunningBalance(runningBalances, originChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
if (!(((_a = clients.hubPoolClient.getPendingRootBundle()) === null || _a === void 0 ? void 0 : _a.bundleEvaluationBlockNumbers[0]) === mainnetBundleEndBlock ||
|
|
191
|
-
!clients.hubPoolClient.hasPendingProposal() ||
|
|
192
|
-
clients.hubPoolClient
|
|
193
|
-
.getValidatedRootBundles()
|
|
194
|
-
.some(function (bundle) { return bundle.bundleEvaluationBlockNumbers[0].toNumber() === mainnetBundleEndBlock; }))) return [3 /*break*/, 1];
|
|
195
|
-
addLastRunningBalance(latestMainnetBlock, runningBalances, clients.hubPoolClient);
|
|
196
|
-
return [3 /*break*/, 4];
|
|
197
|
-
case 1:
|
|
198
|
-
mostRecentProposedRootBundle = clients.hubPoolClient.getLatestProposedRootBundle();
|
|
199
|
-
blockRangesForChains = getImpliedBundleBlockRanges(clients.hubPoolClient, clients.configStoreClient, mostRecentProposedRootBundle);
|
|
200
|
-
return [4 /*yield*/, clients.bundleDataClient.loadData(blockRangesForChains, clients.spokePoolClients, true)];
|
|
201
|
-
case 2:
|
|
202
|
-
prevRootBundleData = _b.sent();
|
|
203
|
-
return [4 /*yield*/, _buildPoolRebalanceRoot(latestMainnetBlock, blockRangesForChains[0][1], prevRootBundleData.bundleDepositsV3, prevRootBundleData.bundleFillsV3, prevRootBundleData.bundleSlowFillsV3, prevRootBundleData.unexecutableSlowFills, prevRootBundleData.expiredDepositsToRefundV3, clients, maxL1TokenCountOverride)];
|
|
204
|
-
case 3:
|
|
205
|
-
prevPoolRebalanceRoot = _b.sent();
|
|
206
|
-
prevRunningBalances_1 = prevPoolRebalanceRoot.runningBalances;
|
|
207
|
-
Object.keys(runningBalances).forEach(function (repaymentChainId) {
|
|
208
|
-
Object.keys(runningBalances[Number(repaymentChainId)]).forEach(function (l1TokenAddress) {
|
|
209
|
-
var _a;
|
|
210
|
-
var updateRunningBalanceAmount = (_a = prevRunningBalances_1[Number(repaymentChainId)]) === null || _a === void 0 ? void 0 : _a[l1TokenAddress];
|
|
211
|
-
// If the pending root bundle didn't have a running balance, fall back to the last running balance for that token and chain pair.
|
|
212
|
-
var fallbackRunningBalance = clients.hubPoolClient.getRunningBalanceBeforeBlockForChain(latestMainnetBlock, Number(repaymentChainId), EvmAddress.from(l1TokenAddress)).runningBalance;
|
|
213
|
-
updateRunningBalance(runningBalances, Number(repaymentChainId), l1TokenAddress, updateRunningBalanceAmount !== null && updateRunningBalanceAmount !== void 0 ? updateRunningBalanceAmount : fallbackRunningBalance);
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
_b.label = 4;
|
|
217
|
-
case 4:
|
|
218
|
-
leaves = constructPoolRebalanceLeaves(mainnetBundleEndBlock, runningBalances, realizedLpFees, Array.from(chainWithRefundsOnly).filter(function (chainId) { return !Object.keys(runningBalances).includes(chainId.toString()); }), clients.configStoreClient, maxL1TokenCountOverride);
|
|
219
|
-
return [2 /*return*/, {
|
|
220
|
-
runningBalances: runningBalances,
|
|
221
|
-
realizedLpFees: realizedLpFees,
|
|
222
|
-
leaves: leaves,
|
|
223
|
-
tree: buildPoolRebalanceLeafTree(leaves),
|
|
224
|
-
}];
|
|
77
|
+
// Running balances are the amount of tokens that we need to send to each SpokePool to pay for all instant and
|
|
78
|
+
// slow relay refunds. They are decreased by the amount of funds already held by the SpokePool. Balances are keyed
|
|
79
|
+
// by the SpokePool's network and L1 token equivalent of the L2 token to refund.
|
|
80
|
+
// Realized LP fees are keyed the same as running balances and represent the amount of LP fees that should be paid
|
|
81
|
+
// to LP's for each running balance.
|
|
82
|
+
// For each FilledV3Relay group, identified by { repaymentChainId, L1TokenAddress }, initialize a "running balance"
|
|
83
|
+
// to the total refund amount for that group.
|
|
84
|
+
var runningBalances = {};
|
|
85
|
+
var realizedLpFees = {};
|
|
86
|
+
// Keep track of any chains that we want to create a PoolRebalanceLeaf (and send a root bundle to) but don't have
|
|
87
|
+
// any running balances.
|
|
88
|
+
var chainWithRefundsOnly = new Set();
|
|
89
|
+
/**
|
|
90
|
+
* REFUNDS FOR FAST FILLS
|
|
91
|
+
*/
|
|
92
|
+
// Add running balances and lp fees for v3 relayer refunds using BundleDataClient.bundleFillsV3. Refunds
|
|
93
|
+
// should be equal to inputAmount - lpFees so that relayers get to keep the relayer fee. Add the refund amount
|
|
94
|
+
// to the running balance for the repayment chain.
|
|
95
|
+
Object.entries(bundleFillsV3).forEach(function (_a) {
|
|
96
|
+
var _repaymentChainId = _a[0], fillsForChain = _a[1];
|
|
97
|
+
var repaymentChainId = Number(_repaymentChainId);
|
|
98
|
+
Object.entries(fillsForChain).forEach(function (_a) {
|
|
99
|
+
var l2TokenAddress = _a[0], _b = _a[1], totalRealizedLpFee = _b.realizedLpFees, totalRefundAmount = _b.totalRefundAmount;
|
|
100
|
+
// If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
|
|
101
|
+
// there are no relevant L1 running balances.
|
|
102
|
+
if (!clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(toAddressType(l2TokenAddress, repaymentChainId), repaymentChainId, mainnetBundleEndBlock)) {
|
|
103
|
+
chainWithRefundsOnly.add(repaymentChainId);
|
|
104
|
+
return;
|
|
225
105
|
}
|
|
106
|
+
var l1Token = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(l2TokenAddress, repaymentChainId), repaymentChainId, mainnetBundleEndBlock);
|
|
107
|
+
var l1TokenAddr = l1Token.toNative();
|
|
108
|
+
assert(l1Token.isEVM(), "Expected an EVM address: ".concat(l1TokenAddr));
|
|
109
|
+
updateRunningBalance(runningBalances, repaymentChainId, l1TokenAddr, totalRefundAmount);
|
|
110
|
+
updateRunningBalance(realizedLpFees, repaymentChainId, l1TokenAddr, totalRealizedLpFee);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
/**
|
|
114
|
+
* PAYMENTS SLOW FILLS
|
|
115
|
+
*/
|
|
116
|
+
// Add running balances and lp fees for v3 slow fills using BundleDataClient.bundleSlowFillsV3.
|
|
117
|
+
// Slow fills should still increment bundleLpFees and updatedOutputAmount should be equal to inputAmount - lpFees.
|
|
118
|
+
// Increment the updatedOutputAmount to the destination chain.
|
|
119
|
+
Object.entries(bundleSlowFillsV3).forEach(function (_a) {
|
|
120
|
+
var _destinationChainId = _a[0], depositsForChain = _a[1];
|
|
121
|
+
var destinationChainId = Number(_destinationChainId);
|
|
122
|
+
Object.entries(depositsForChain).forEach(function (_a) {
|
|
123
|
+
var outputToken = _a[0], deposits = _a[1];
|
|
124
|
+
deposits.forEach(function (deposit) {
|
|
125
|
+
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
126
|
+
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
|
|
127
|
+
updateRunningBalance(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount.sub(lpFee));
|
|
128
|
+
// Slow fill LP fees are accounted for when the slow fill executes and a V3FilledRelay is emitted. i.e. when
|
|
129
|
+
// the slow fill execution is included in bundleFillsV3.
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
/**
|
|
134
|
+
* EXCESSES FROM UNEXECUTABLE SLOW FILLS
|
|
135
|
+
*/
|
|
136
|
+
// Subtract destination chain running balances for BundleDataClient.unexecutableSlowFills.
|
|
137
|
+
// These are all slow fills that are impossible to execute and therefore the amount to return would be
|
|
138
|
+
// the updatedOutputAmount = inputAmount - lpFees.
|
|
139
|
+
Object.entries(unexecutableSlowFills).forEach(function (_a) {
|
|
140
|
+
var _destinationChainId = _a[0], slowFilledDepositsForChain = _a[1];
|
|
141
|
+
var destinationChainId = Number(_destinationChainId);
|
|
142
|
+
Object.entries(slowFilledDepositsForChain).forEach(function (_a) {
|
|
143
|
+
var outputToken = _a[0], slowFilledDeposits = _a[1];
|
|
144
|
+
slowFilledDeposits.forEach(function (deposit) {
|
|
145
|
+
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
146
|
+
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(fixedPointAdjustment);
|
|
147
|
+
updateRunningBalance(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), lpFee.sub(deposit.inputAmount));
|
|
148
|
+
// Slow fills don't add to lpFees, only when the slow fill is executed and a V3FilledRelay is emitted, so
|
|
149
|
+
// we don't need to subtract it here. Moreover, the HubPoole expects bundleLpFees to be > 0.
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
/**
|
|
154
|
+
* DEPOSITS
|
|
155
|
+
*/
|
|
156
|
+
// Handle v3Deposits. These decrement running balances from the origin chain equal to the inputAmount.
|
|
157
|
+
// There should not be early deposits in v3.
|
|
158
|
+
Object.entries(bundleV3Deposits).forEach(function (_a) {
|
|
159
|
+
var depositsForChain = _a[1];
|
|
160
|
+
Object.entries(depositsForChain).forEach(function (_a) {
|
|
161
|
+
var deposits = _a[1];
|
|
162
|
+
deposits.forEach(function (deposit) {
|
|
163
|
+
// If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
|
|
164
|
+
// there are no relevant L1 running balances.
|
|
165
|
+
if (!clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(deposit.inputToken, deposit.originChainId, mainnetBundleEndBlock)) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
updateRunningBalanceForDeposit(runningBalances, clients.hubPoolClient, deposit, deposit.inputAmount.mul(-1), mainnetBundleEndBlock);
|
|
169
|
+
});
|
|
226
170
|
});
|
|
227
171
|
});
|
|
172
|
+
/**
|
|
173
|
+
* REFUNDS FOR EXPIRED DEPOSITS
|
|
174
|
+
*/
|
|
175
|
+
// Add origin chain running balance for expired v3 deposits. These should refund the inputAmount.
|
|
176
|
+
Object.entries(expiredDepositsToRefundV3).forEach(function (_a) {
|
|
177
|
+
var _originChainId = _a[0], depositsForChain = _a[1];
|
|
178
|
+
var originChainId = Number(_originChainId);
|
|
179
|
+
Object.entries(depositsForChain).forEach(function (_a) {
|
|
180
|
+
var inputToken = _a[0], deposits = _a[1];
|
|
181
|
+
deposits.forEach(function (deposit) {
|
|
182
|
+
// If the repayment token and repayment chain ID do not map to a PoolRebalanceRoute graph, then
|
|
183
|
+
// there are no relevant L1 running balances.
|
|
184
|
+
if (!clients.hubPoolClient.l2TokenHasPoolRebalanceRoute(deposit.inputToken, deposit.originChainId, mainnetBundleEndBlock)) {
|
|
185
|
+
chainWithRefundsOnly.add(deposit.originChainId);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock(toAddressType(inputToken, originChainId), originChainId, mainnetBundleEndBlock);
|
|
189
|
+
updateRunningBalance(runningBalances, originChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
// Add to the running balance value from the last valid root bundle proposal for {chainId, l1Token}
|
|
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
|
+
};
|
|
228
203
|
}
|
|
229
204
|
//# 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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"}
|