@across-protocol/sdk 4.3.44 → 4.3.46
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/SpokeUtils.d.ts +21 -10
- package/dist/cjs/arch/svm/SpokeUtils.js +128 -10
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/encoders.d.ts +19 -0
- package/dist/cjs/arch/svm/encoders.js +52 -0
- package/dist/cjs/arch/svm/encoders.js.map +1 -0
- package/dist/cjs/arch/svm/index.d.ts +1 -0
- package/dist/cjs/arch/svm/index.js +1 -0
- package/dist/cjs/arch/svm/index.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +6 -4
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +5 -0
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -0
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +3 -9
- package/dist/cjs/clients/HubPoolClient.js +56 -81
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +4 -3
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +2 -2
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/providers/solana/retryRpcFactory.js +14 -10
- package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
- package/dist/cjs/utils/BlockExplorerUtils.js +25 -15
- package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
- package/dist/cjs/utils/FormattingUtils.d.ts +1 -1
- package/dist/cjs/utils/FormattingUtils.js +4 -4
- package/dist/cjs/utils/FormattingUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +38 -10
- package/dist/esm/arch/svm/SpokeUtils.js +151 -10
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/encoders.d.ts +19 -0
- package/dist/esm/arch/svm/encoders.js +43 -0
- package/dist/esm/arch/svm/encoders.js.map +1 -0
- package/dist/esm/arch/svm/index.d.ts +1 -0
- package/dist/esm/arch/svm/index.js +1 -0
- package/dist/esm/arch/svm/index.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +7 -5
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +6 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -0
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +3 -9
- package/dist/esm/clients/HubPoolClient.js +60 -87
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +4 -3
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +2 -2
- package/dist/esm/clients/mocks/MockHubPoolClient.js +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/providers/solana/retryRpcFactory.js +15 -10
- package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
- package/dist/esm/utils/BlockExplorerUtils.js +27 -19
- package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
- package/dist/esm/utils/FormattingUtils.d.ts +3 -3
- package/dist/esm/utils/FormattingUtils.js +4 -4
- package/dist/esm/utils/FormattingUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +38 -10
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/encoders.d.ts +20 -0
- package/dist/types/arch/svm/encoders.d.ts.map +1 -0
- package/dist/types/arch/svm/index.d.ts +1 -0
- package/dist/types/arch/svm/index.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.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +3 -9
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +2 -2
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/providers/solana/retryRpcFactory.d.ts.map +1 -1
- package/dist/types/utils/BlockExplorerUtils.d.ts.map +1 -1
- package/dist/types/utils/FormattingUtils.d.ts +3 -3
- package/dist/types/utils/FormattingUtils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/arch/svm/SpokeUtils.ts +187 -4
- package/src/arch/svm/encoders.ts +86 -0
- package/src/arch/svm/index.ts +1 -0
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +14 -20
- package/src/clients/BundleDataClient/utils/FillUtils.ts +7 -1
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +2 -0
- package/src/clients/HubPoolClient.ts +50 -79
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +15 -11
- package/src/clients/mocks/MockHubPoolClient.ts +3 -3
- package/src/providers/solana/retryRpcFactory.ts +6 -2
- package/src/utils/BlockExplorerUtils.ts +25 -18
- package/src/utils/FormattingUtils.ts +4 -4
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
|
|
2
2
|
import { Mint } from "@solana-program/token";
|
|
3
|
-
import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type Commitment } from "@solana/kit";
|
|
3
|
+
import { Account, Address, FetchAccountConfig, IAccountMeta, IInstruction, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type ReadonlyAccount, type Commitment } from "@solana/kit";
|
|
4
4
|
import winston from "winston";
|
|
5
5
|
import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayDataWithMessageHash } from "../../interfaces";
|
|
6
6
|
import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
|
|
7
|
+
import { type AcrossPlusMessage } from "./";
|
|
7
8
|
import { SvmCpiEventsClient } from "./eventsClient";
|
|
8
9
|
import { AttestedCCTPMessage, SVMProvider } from "./types";
|
|
9
10
|
export declare const SLOT_DURATION_MS = 400;
|
|
@@ -27,19 +28,28 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
|
|
|
27
28
|
recipient: SvmAddress;
|
|
28
29
|
outputToken: SvmAddress;
|
|
29
30
|
}, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
30
|
-
instructions: readonly
|
|
31
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
31
32
|
version: 0;
|
|
32
33
|
}>, "feePayer">>;
|
|
33
|
-
export declare
|
|
34
|
-
|
|
34
|
+
export declare function getIPFillRelayTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipient" | "outputToken"> & {
|
|
35
|
+
destinationChainId: number;
|
|
36
|
+
recipient: SvmAddress;
|
|
37
|
+
outputToken: SvmAddress;
|
|
38
|
+
}, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
39
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
40
|
+
version: 0;
|
|
41
|
+
}>, "feePayer">>;
|
|
42
|
+
export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, relayData: Pick<SvmSpokeClient.RelayDataArgs, "outputAmount" | "recipient">, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean, remainingAccounts?: (WritableAccount | ReadonlyAccount)[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
43
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
35
44
|
version: 0;
|
|
36
45
|
}>, "feePayer">>;
|
|
46
|
+
export declare function deserializeMessage(_message: string): AcrossPlusMessage;
|
|
37
47
|
export declare const createDepositInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, depositInput: SvmSpokeClient.DepositInput, tokenDecimals: number, createVaultAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
38
|
-
instructions: readonly
|
|
48
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
39
49
|
version: 0;
|
|
40
50
|
}>, "feePayer">>;
|
|
41
51
|
export declare const createRequestSlowFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, requestSlowFillInput: SvmSpokeClient.RequestSlowFillInput) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
42
|
-
instructions: readonly
|
|
52
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
43
53
|
version: 0;
|
|
44
54
|
}>, "feePayer">>;
|
|
45
55
|
export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipient" | "outputToken"> & {
|
|
@@ -47,21 +57,22 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
|
|
|
47
57
|
recipient: SvmAddress;
|
|
48
58
|
outputToken: SvmAddress;
|
|
49
59
|
}, signer: TransactionSigner): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
50
|
-
instructions: readonly
|
|
60
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
51
61
|
version: 0;
|
|
52
62
|
}>, "feePayer">>;
|
|
53
63
|
export declare const createCloseFillPdaInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillStatusPda: Address) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
54
|
-
instructions: readonly
|
|
64
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
55
65
|
version: 0;
|
|
56
66
|
}>, "feePayer">>;
|
|
57
67
|
export declare const createReceiveMessageInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, input: MessageTransmitterClient.ReceiveMessageInput, remainingAccounts: IAccountMeta<string>[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
58
|
-
instructions: readonly
|
|
68
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
59
69
|
version: 0;
|
|
60
70
|
}>, "feePayer">>;
|
|
61
71
|
export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
|
|
62
72
|
export declare function getRelayDataHash(relayData: RelayData & {
|
|
63
73
|
messageHash: string;
|
|
64
74
|
}, destinationChainId: number): string;
|
|
75
|
+
export declare function getFillRelayViaInstructionParamsInstructions(spokePool: Address<string>, relayData: RelayData, repaymentChainId: number, repaymentAddress: SdkAddress, signer: TransactionSigner<string>, maxWriteSize?: number): Promise<IInstruction[]>;
|
|
65
76
|
export declare function getDepositDelegatePda(depositData: {
|
|
66
77
|
depositor: Address<string>;
|
|
67
78
|
recipient: Address<string>;
|
|
@@ -93,7 +104,7 @@ export declare function getFillRelayDelegatePda(relayHash: Uint8Array, repayment
|
|
|
93
104
|
export declare const hasCCTPV1MessageBeenProcessed: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<boolean>;
|
|
94
105
|
export declare function getAccountMetasForTokenlessMessage(solanaClient: SVMProvider, signer: KeyPairSigner, messageBytes: string): Promise<IAccountMeta<string>[]>;
|
|
95
106
|
export declare function getCCTPV1ReceiveMessageTx(solanaClient: SVMProvider, signer: KeyPairSigner, message: AttestedCCTPMessage, hubChainId: number, recipientAta: SvmAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
96
|
-
instructions: readonly
|
|
107
|
+
instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
97
108
|
version: 0;
|
|
98
109
|
}>, "feePayer">>;
|
|
99
110
|
export declare function finalizeCCTPV1Messages(solanaClient: SVMProvider, attestedMessages: AttestedCCTPMessage[], signer: KeyPairSigner, recipientAta: SvmAddress, simulate?: boolean, hubChainId?: number): Promise<string[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMintInfo = exports.finalizeCCTPV1Messages = exports.getCCTPV1ReceiveMessageTx = exports.getAccountMetasForTokenlessMessage = exports.hasCCTPV1MessageBeenProcessed = exports.getFillRelayDelegatePda = exports.getDepositNowDelegatePda = exports.getDepositDelegatePda = exports.getRelayDataHash = exports.getAssociatedTokenAddress = exports.createReceiveMessageInstruction = exports.createCloseFillPdaInstruction = exports.getSlowFillRequestTx = exports.createRequestSlowFillInstruction = exports.createDepositInstruction = exports.createFillInstruction = exports.getFillRelayTx = exports.createTokenAccountsInstruction = exports.fillRelayInstruction = exports.findFillEvent = exports.fillStatusArray = exports.relayFillStatus = exports.findDeposit = exports.getDepositIdAtBlock = exports.getFillDeadline = exports.getTimestampForSlot = exports.getSlot = exports.SLOT_DURATION_MS = void 0;
|
|
3
|
+
exports.getMintInfo = exports.finalizeCCTPV1Messages = exports.getCCTPV1ReceiveMessageTx = exports.getAccountMetasForTokenlessMessage = exports.hasCCTPV1MessageBeenProcessed = exports.getFillRelayDelegatePda = exports.getDepositNowDelegatePda = exports.getDepositDelegatePda = exports.getFillRelayViaInstructionParamsInstructions = exports.getRelayDataHash = exports.getAssociatedTokenAddress = exports.createReceiveMessageInstruction = exports.createCloseFillPdaInstruction = exports.getSlowFillRequestTx = exports.createRequestSlowFillInstruction = exports.createDepositInstruction = exports.deserializeMessage = exports.createFillInstruction = exports.getIPFillRelayTx = exports.getFillRelayTx = exports.createTokenAccountsInstruction = exports.fillRelayInstruction = exports.findFillEvent = exports.fillStatusArray = exports.relayFillStatus = exports.findDeposit = exports.getDepositIdAtBlock = exports.getFillDeadline = exports.getTimestampForSlot = exports.getSlot = exports.SLOT_DURATION_MS = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var contracts_1 = require("@across-protocol/contracts");
|
|
6
6
|
var SvmSpoke_1 = require("@across-protocol/contracts/dist/src/svm/clients/SvmSpoke");
|
|
@@ -380,7 +380,7 @@ function createTokenAccountsInstruction(mint, relayer) {
|
|
|
380
380
|
exports.createTokenAccountsInstruction = createTokenAccountsInstruction;
|
|
381
381
|
function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
|
|
382
382
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
383
|
-
var svmRelayData, program, messageHash, _relayDataHash, relayDataHash, _a, state, delegate, mintInfo, fillStatus, eventAuthority, _b, recipientAta, relayerAta, fillInput;
|
|
383
|
+
var svmRelayData, program, messageHash, _relayDataHash, relayDataHash, _a, state, delegate, mintInfo, fillStatus, eventAuthority, _b, recipientAta, relayerAta, remainingAccounts, acrossPlusMessage_1, fillInput;
|
|
384
384
|
return tslib_1.__generator(this, function (_c) {
|
|
385
385
|
switch (_c.label) {
|
|
386
386
|
case 0:
|
|
@@ -405,6 +405,14 @@ function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymen
|
|
|
405
405
|
])];
|
|
406
406
|
case 2:
|
|
407
407
|
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1];
|
|
408
|
+
remainingAccounts = [];
|
|
409
|
+
if (relayData.message !== "0x") {
|
|
410
|
+
acrossPlusMessage_1 = deserializeMessage(relayData.message);
|
|
411
|
+
remainingAccounts.push((0, _1.getAccountMeta)(acrossPlusMessage_1.handler, true));
|
|
412
|
+
remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_1.accounts.map(function (account, idx) {
|
|
413
|
+
return (0, _1.getAccountMeta)(account, idx < acrossPlusMessage_1.accounts.length - acrossPlusMessage_1.read_only_len);
|
|
414
|
+
}));
|
|
415
|
+
}
|
|
408
416
|
fillInput = {
|
|
409
417
|
signer: signer,
|
|
410
418
|
state: state,
|
|
@@ -423,27 +431,90 @@ function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymen
|
|
|
423
431
|
repaymentChainId: BigInt(repaymentChainId),
|
|
424
432
|
repaymentAddress: (0, _1.toAddress)(repaymentAddress),
|
|
425
433
|
};
|
|
426
|
-
return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, mintInfo.data.decimals, true)];
|
|
434
|
+
return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, svmRelayData, mintInfo.data.decimals, true, remainingAccounts)];
|
|
427
435
|
}
|
|
428
436
|
});
|
|
429
437
|
});
|
|
430
438
|
}
|
|
431
439
|
exports.getFillRelayTx = getFillRelayTx;
|
|
432
|
-
|
|
440
|
+
function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
|
|
441
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
442
|
+
var program, _relayDataHash, relayDataHash, _a, state, delegate, instructionParams, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, remainingAccounts, acrossPlusMessage_2, fillInput;
|
|
443
|
+
return tslib_1.__generator(this, function (_c) {
|
|
444
|
+
switch (_c.label) {
|
|
445
|
+
case 0:
|
|
446
|
+
program = (0, _1.toAddress)(spokePoolAddr);
|
|
447
|
+
_relayDataHash = getRelayDataHash(tslib_1.__assign(tslib_1.__assign({}, relayData), { messageHash: (0, utils_2.getMessageHash)(relayData.message) }), relayData.destinationChainId);
|
|
448
|
+
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
449
|
+
return [4, Promise.all([
|
|
450
|
+
(0, _1.getStatePda)(program),
|
|
451
|
+
getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), (0, _1.toAddress)(repaymentAddress), program),
|
|
452
|
+
(0, _1.getInstructionParamsPda)(program, signer.address),
|
|
453
|
+
])];
|
|
454
|
+
case 1:
|
|
455
|
+
_a = _c.sent(), state = _a[0], delegate = _a[1], instructionParams = _a[2];
|
|
456
|
+
mint = (0, _1.toAddress)(relayData.outputToken);
|
|
457
|
+
return [4, getMintInfo(solanaClient, mint)];
|
|
458
|
+
case 2:
|
|
459
|
+
mintInfo = _c.sent();
|
|
460
|
+
return [4, Promise.all([
|
|
461
|
+
getAssociatedTokenAddress(relayData.recipient, relayData.outputToken, mintInfo.programAddress),
|
|
462
|
+
getAssociatedTokenAddress(utils_2.SvmAddress.from(signer.address), relayData.outputToken, mintInfo.programAddress),
|
|
463
|
+
(0, _1.getFillStatusPda)(program, relayData, relayData.destinationChainId),
|
|
464
|
+
(0, _1.getEventAuthority)(program),
|
|
465
|
+
])];
|
|
466
|
+
case 3:
|
|
467
|
+
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
468
|
+
remainingAccounts = [];
|
|
469
|
+
if (relayData.message !== "0x") {
|
|
470
|
+
acrossPlusMessage_2 = deserializeMessage(relayData.message);
|
|
471
|
+
remainingAccounts.push((0, _1.getAccountMeta)(acrossPlusMessage_2.handler, true));
|
|
472
|
+
remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_2.accounts.map(function (account, idx) {
|
|
473
|
+
return (0, _1.getAccountMeta)(account, idx < acrossPlusMessage_2.accounts.length - acrossPlusMessage_2.read_only_len);
|
|
474
|
+
}));
|
|
475
|
+
}
|
|
476
|
+
fillInput = {
|
|
477
|
+
signer: signer,
|
|
478
|
+
state: state,
|
|
479
|
+
delegate: delegate,
|
|
480
|
+
mint: mint,
|
|
481
|
+
relayerTokenAccount: relayerAta,
|
|
482
|
+
recipientTokenAccount: recipientAta,
|
|
483
|
+
fillStatus: fillStatus,
|
|
484
|
+
tokenProgram: mintInfo.programAddress,
|
|
485
|
+
associatedTokenProgram: token_1.ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
486
|
+
systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
|
|
487
|
+
eventAuthority: eventAuthority,
|
|
488
|
+
program: program,
|
|
489
|
+
instructionParams: instructionParams,
|
|
490
|
+
relayHash: relayDataHash,
|
|
491
|
+
relayData: null,
|
|
492
|
+
repaymentChainId: null,
|
|
493
|
+
repaymentAddress: null,
|
|
494
|
+
};
|
|
495
|
+
return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, { outputAmount: relayData.outputAmount.toBigInt(), recipient: (0, _1.toAddress)(relayData.recipient) }, mintInfo.data.decimals, true, remainingAccounts)];
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
exports.getIPFillRelayTx = getIPFillRelayTx;
|
|
501
|
+
var createFillInstruction = function (signer, solanaClient, fillInput, relayData, tokenDecimals, createRecipientAtaIfNeeded, remainingAccounts) {
|
|
433
502
|
if (createRecipientAtaIfNeeded === void 0) { createRecipientAtaIfNeeded = true; }
|
|
503
|
+
if (remainingAccounts === void 0) { remainingAccounts = []; }
|
|
434
504
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
435
505
|
var mintInfo, approveIx, getCreateAssociatedTokenIdempotentIx, createFillIx, _a;
|
|
436
|
-
|
|
437
|
-
|
|
506
|
+
var _b;
|
|
507
|
+
return tslib_1.__generator(this, function (_c) {
|
|
508
|
+
switch (_c.label) {
|
|
438
509
|
case 0: return [4, getMintInfo(solanaClient, fillInput.mint)];
|
|
439
510
|
case 1:
|
|
440
|
-
mintInfo =
|
|
511
|
+
mintInfo = _c.sent();
|
|
441
512
|
approveIx = (0, token_1.getApproveCheckedInstruction)({
|
|
442
513
|
source: fillInput.relayerTokenAccount,
|
|
443
514
|
mint: fillInput.mint,
|
|
444
515
|
delegate: fillInput.delegate,
|
|
445
516
|
owner: fillInput.signer,
|
|
446
|
-
amount:
|
|
517
|
+
amount: relayData.outputAmount,
|
|
447
518
|
decimals: tokenDecimals,
|
|
448
519
|
}, {
|
|
449
520
|
programAddress: mintInfo.programAddress,
|
|
@@ -451,7 +522,7 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
|
|
|
451
522
|
getCreateAssociatedTokenIdempotentIx = function () {
|
|
452
523
|
return (0, token_1.getCreateAssociatedTokenIdempotentInstruction)({
|
|
453
524
|
payer: signer,
|
|
454
|
-
owner:
|
|
525
|
+
owner: relayData.recipient,
|
|
455
526
|
mint: fillInput.mint,
|
|
456
527
|
ata: fillInput.recipientTokenAccount,
|
|
457
528
|
systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
|
|
@@ -459,9 +530,10 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
|
|
|
459
530
|
});
|
|
460
531
|
};
|
|
461
532
|
createFillIx = contracts_1.SvmSpokeClient.getFillRelayInstruction(fillInput);
|
|
533
|
+
(_b = createFillIx.accounts).push.apply(_b, remainingAccounts);
|
|
462
534
|
_a = kit_1.pipe;
|
|
463
535
|
return [4, (0, _1.createDefaultTransaction)(solanaClient, signer)];
|
|
464
|
-
case 2: return [2, _a.apply(void 0, [
|
|
536
|
+
case 2: return [2, _a.apply(void 0, [_c.sent(), function (tx) {
|
|
465
537
|
return createRecipientAtaIfNeeded ? (0, kit_1.appendTransactionMessageInstruction)(getCreateAssociatedTokenIdempotentIx(), tx) : tx;
|
|
466
538
|
},
|
|
467
539
|
function (tx) { return (0, kit_1.appendTransactionMessageInstruction)(approveIx, tx); },
|
|
@@ -471,6 +543,12 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
|
|
|
471
543
|
});
|
|
472
544
|
};
|
|
473
545
|
exports.createFillInstruction = createFillInstruction;
|
|
546
|
+
function deserializeMessage(_message) {
|
|
547
|
+
var message = new Uint8Array(Buffer.from(_message.startsWith("0x") ? _message.slice(2) : _message, "hex"));
|
|
548
|
+
var acrossPlusMessageDecoder = (0, _1.getAcrossPlusMessageDecoder)();
|
|
549
|
+
return acrossPlusMessageDecoder.decode(message);
|
|
550
|
+
}
|
|
551
|
+
exports.deserializeMessage = deserializeMessage;
|
|
474
552
|
var createDepositInstruction = function (signer, solanaClient, depositInput, tokenDecimals, createVaultAtaIfNeeded) {
|
|
475
553
|
if (createVaultAtaIfNeeded === void 0) { createVaultAtaIfNeeded = true; }
|
|
476
554
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
@@ -699,6 +777,46 @@ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData
|
|
|
699
777
|
});
|
|
700
778
|
});
|
|
701
779
|
}
|
|
780
|
+
function getFillRelayViaInstructionParamsInstructions(spokePool, relayData, repaymentChainId, repaymentAddress, signer, maxWriteSize) {
|
|
781
|
+
if (maxWriteSize === void 0) { maxWriteSize = 450; }
|
|
782
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
783
|
+
var instructionParams, relayDataEncoder, svmRelayData, encodedRelayData, initInstructionParamsIx, instructions, i, offset, offsetEnd, fragment, writeInstructionParamsIx;
|
|
784
|
+
return tslib_1.__generator(this, function (_a) {
|
|
785
|
+
switch (_a.label) {
|
|
786
|
+
case 0: return [4, (0, _1.getInstructionParamsPda)(spokePool, signer.address)];
|
|
787
|
+
case 1:
|
|
788
|
+
instructionParams = _a.sent();
|
|
789
|
+
relayDataEncoder = contracts_1.SvmSpokeClient.getFillRelayParamsEncoder();
|
|
790
|
+
svmRelayData = (0, _1.toSvmRelayData)(relayData);
|
|
791
|
+
encodedRelayData = relayDataEncoder.encode({
|
|
792
|
+
relayData: svmRelayData,
|
|
793
|
+
repaymentChainId: repaymentChainId,
|
|
794
|
+
repaymentAddress: (0, _1.toAddress)(repaymentAddress),
|
|
795
|
+
});
|
|
796
|
+
initInstructionParamsIx = contracts_1.SvmSpokeClient.getInitializeInstructionParamsInstruction({
|
|
797
|
+
signer: signer,
|
|
798
|
+
instructionParams: instructionParams,
|
|
799
|
+
totalSize: encodedRelayData.length,
|
|
800
|
+
});
|
|
801
|
+
instructions = [initInstructionParamsIx];
|
|
802
|
+
for (i = 0; i <= encodedRelayData.length / maxWriteSize; ++i) {
|
|
803
|
+
offset = i * maxWriteSize;
|
|
804
|
+
offsetEnd = Math.min(offset + maxWriteSize, encodedRelayData.length);
|
|
805
|
+
fragment = encodedRelayData.slice(offset, offsetEnd);
|
|
806
|
+
writeInstructionParamsIx = contracts_1.SvmSpokeClient.getWriteInstructionParamsFragmentInstruction({
|
|
807
|
+
signer: signer,
|
|
808
|
+
instructionParams: instructionParams,
|
|
809
|
+
offset: offset,
|
|
810
|
+
fragment: fragment,
|
|
811
|
+
});
|
|
812
|
+
instructions.push(writeInstructionParamsIx);
|
|
813
|
+
}
|
|
814
|
+
return [2, instructions];
|
|
815
|
+
}
|
|
816
|
+
});
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
exports.getFillRelayViaInstructionParamsInstructions = getFillRelayViaInstructionParamsInstructions;
|
|
702
820
|
function getDepositDelegatePda(depositData, programId) {
|
|
703
821
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
704
822
|
var addrEnc, u64, u32, parts, seedHash, pda;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Address, type Decoder, type Encoder, type ReadonlyUint8Array, type WritableAccount, type ReadonlyAccount } from "@solana/kit";
|
|
2
|
+
export type AcrossPlusMessage = {
|
|
3
|
+
handler: Address;
|
|
4
|
+
read_only_len: number;
|
|
5
|
+
value_amount: bigint;
|
|
6
|
+
accounts: Array<Address>;
|
|
7
|
+
handler_message: ReadonlyUint8Array;
|
|
8
|
+
};
|
|
9
|
+
export type CompiledIx = {
|
|
10
|
+
program_id_index: number;
|
|
11
|
+
account_key_indexes: Array<number>;
|
|
12
|
+
data: ReadonlyUint8Array;
|
|
13
|
+
};
|
|
14
|
+
export declare function getAcrossPlusMessageEncoder(): Encoder<AcrossPlusMessage>;
|
|
15
|
+
export declare function getAcrossPlusMessageDecoder(): Decoder<AcrossPlusMessage>;
|
|
16
|
+
export declare function getHandlerMessageEncoder(): Encoder<Array<CompiledIx>>;
|
|
17
|
+
export declare function getCompiledIxEncoder(): Encoder<CompiledIx>;
|
|
18
|
+
export declare function getCompiledIxDecoder(): Decoder<CompiledIx>;
|
|
19
|
+
export declare function getAccountMeta(value: Address, isWritable: boolean): WritableAccount | ReadonlyAccount;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAccountMeta = exports.getCompiledIxDecoder = exports.getCompiledIxEncoder = exports.getHandlerMessageEncoder = exports.getAcrossPlusMessageDecoder = exports.getAcrossPlusMessageEncoder = void 0;
|
|
4
|
+
var kit_1 = require("@solana/kit");
|
|
5
|
+
function getAcrossPlusMessageEncoder() {
|
|
6
|
+
return (0, kit_1.getStructEncoder)([
|
|
7
|
+
["handler", (0, kit_1.getAddressEncoder)()],
|
|
8
|
+
["read_only_len", (0, kit_1.getU8Encoder)()],
|
|
9
|
+
["value_amount", (0, kit_1.getU64Encoder)()],
|
|
10
|
+
["accounts", (0, kit_1.getArrayEncoder)((0, kit_1.getAddressEncoder)())],
|
|
11
|
+
["handler_message", (0, kit_1.addEncoderSizePrefix)((0, kit_1.getBytesEncoder)(), (0, kit_1.getU32Encoder)())],
|
|
12
|
+
]);
|
|
13
|
+
}
|
|
14
|
+
exports.getAcrossPlusMessageEncoder = getAcrossPlusMessageEncoder;
|
|
15
|
+
function getAcrossPlusMessageDecoder() {
|
|
16
|
+
return (0, kit_1.getStructDecoder)([
|
|
17
|
+
["handler", (0, kit_1.getAddressDecoder)()],
|
|
18
|
+
["read_only_len", (0, kit_1.getU8Decoder)()],
|
|
19
|
+
["value_amount", (0, kit_1.getU64Decoder)()],
|
|
20
|
+
["accounts", (0, kit_1.getArrayDecoder)((0, kit_1.getAddressDecoder)())],
|
|
21
|
+
["handler_message", (0, kit_1.addDecoderSizePrefix)((0, kit_1.getBytesDecoder)(), (0, kit_1.getU32Decoder)())],
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
exports.getAcrossPlusMessageDecoder = getAcrossPlusMessageDecoder;
|
|
25
|
+
function getHandlerMessageEncoder() {
|
|
26
|
+
return (0, kit_1.getArrayEncoder)(getCompiledIxEncoder());
|
|
27
|
+
}
|
|
28
|
+
exports.getHandlerMessageEncoder = getHandlerMessageEncoder;
|
|
29
|
+
function getCompiledIxEncoder() {
|
|
30
|
+
return (0, kit_1.getStructEncoder)([
|
|
31
|
+
["program_id_index", (0, kit_1.getU8Encoder)()],
|
|
32
|
+
["account_key_indexes", (0, kit_1.getArrayEncoder)((0, kit_1.getU8Encoder)())],
|
|
33
|
+
["data", (0, kit_1.addEncoderSizePrefix)((0, kit_1.getBytesEncoder)(), (0, kit_1.getU32Encoder)())],
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
exports.getCompiledIxEncoder = getCompiledIxEncoder;
|
|
37
|
+
function getCompiledIxDecoder() {
|
|
38
|
+
return (0, kit_1.getStructDecoder)([
|
|
39
|
+
["program_id_index", (0, kit_1.getU8Decoder)()],
|
|
40
|
+
["account_key_indexes", (0, kit_1.getArrayDecoder)((0, kit_1.getU8Decoder)())],
|
|
41
|
+
["data", (0, kit_1.addDecoderSizePrefix)((0, kit_1.getBytesDecoder)(), (0, kit_1.getU32Decoder)())],
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
exports.getCompiledIxDecoder = getCompiledIxDecoder;
|
|
45
|
+
function getAccountMeta(value, isWritable) {
|
|
46
|
+
return Object.freeze({
|
|
47
|
+
address: value,
|
|
48
|
+
role: isWritable ? kit_1.AccountRole.WRITABLE : kit_1.AccountRole.READONLY,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
exports.getAccountMeta = getAccountMeta;
|
|
52
|
+
//# sourceMappingURL=encoders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoders.js","sourceRoot":"","sources":["../../../../src/arch/svm/encoders.ts"],"names":[],"mappings":";;;AAAA,mCAwBqB;AAgBrB,SAAgB,2BAA2B;IACzC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,SAAS,EAAE,IAAA,uBAAiB,GAAE,CAAC;QAChC,CAAC,eAAe,EAAE,IAAA,kBAAY,GAAE,CAAC;QACjC,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,qBAAe,EAAC,IAAA,uBAAiB,GAAE,CAAC,CAAC;QAClD,CAAC,iBAAiB,EAAE,IAAA,0BAAoB,EAAC,IAAA,qBAAe,GAAE,EAAE,IAAA,mBAAa,GAAE,CAAC,CAAC;KAC9E,CAAC,CAAC;AACL,CAAC;AARD,kEAQC;AAED,SAAgB,2BAA2B;IACzC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,SAAS,EAAE,IAAA,uBAAiB,GAAE,CAAC;QAChC,CAAC,eAAe,EAAE,IAAA,kBAAY,GAAE,CAAC;QACjC,CAAC,cAAc,EAAE,IAAA,mBAAa,GAAE,CAAC;QACjC,CAAC,UAAU,EAAE,IAAA,qBAAe,EAAC,IAAA,uBAAiB,GAAE,CAAC,CAAC;QAClD,CAAC,iBAAiB,EAAE,IAAA,0BAAoB,EAAC,IAAA,qBAAe,GAAE,EAAE,IAAA,mBAAa,GAAE,CAAC,CAAC;KAC9E,CAAC,CAAC;AACL,CAAC;AARD,kEAQC;AAED,SAAgB,wBAAwB;IACtC,OAAO,IAAA,qBAAe,EAAC,oBAAoB,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,SAAgB,oBAAoB;IAClC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,kBAAkB,EAAE,IAAA,kBAAY,GAAE,CAAC;QACpC,CAAC,qBAAqB,EAAE,IAAA,qBAAe,EAAC,IAAA,kBAAY,GAAE,CAAC,CAAC;QACxD,CAAC,MAAM,EAAE,IAAA,0BAAoB,EAAC,IAAA,qBAAe,GAAE,EAAE,IAAA,mBAAa,GAAE,CAAC,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAND,oDAMC;AAED,SAAgB,oBAAoB;IAClC,OAAO,IAAA,sBAAgB,EAAC;QACtB,CAAC,kBAAkB,EAAE,IAAA,kBAAY,GAAE,CAAC;QACpC,CAAC,qBAAqB,EAAE,IAAA,qBAAe,EAAC,IAAA,kBAAY,GAAE,CAAC,CAAC;QACxD,CAAC,MAAM,EAAE,IAAA,0BAAoB,EAAC,IAAA,qBAAe,GAAE,EAAE,IAAA,mBAAa,GAAE,CAAC,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAND,oDAMC;AAED,SAAgB,cAAc,CAAC,KAAc,EAAE,UAAmB;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAW,CAAC,QAAQ;KAC/D,CAAC,CAAC;AACL,CAAC;AALD,wCAKC"}
|
|
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./utils"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./constants"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./BlockUtils"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./provider"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./encoders"), exports);
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/arch/svm/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,uDAA6B;AAC7B,kDAAwB;AACxB,kDAAwB;AACxB,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/arch/svm/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,uDAA6B;AAC7B,kDAAwB;AACxB,kDAAwB;AACxB,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,qDAA2B"}
|
|
@@ -70,11 +70,11 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
|
|
|
70
70
|
var repaymentChainId = Number(_repaymentChainId);
|
|
71
71
|
Object.entries(fillsForChain).forEach(function (_a) {
|
|
72
72
|
var l2TokenAddress = _a[0], _b = _a[1], totalRealizedLpFee = _b.realizedLpFees, totalRefundAmount = _b.totalRefundAmount;
|
|
73
|
-
|
|
73
|
+
var l1Token = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(l2TokenAddress, repaymentChainId), repaymentChainId, mainnetBundleEndBlock);
|
|
74
|
+
if (!l1Token) {
|
|
74
75
|
chainWithRefundsOnly.add(repaymentChainId);
|
|
75
76
|
return;
|
|
76
77
|
}
|
|
77
|
-
var l1Token = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(l2TokenAddress, repaymentChainId), repaymentChainId, mainnetBundleEndBlock);
|
|
78
78
|
var l1TokenAddr = l1Token.toNative();
|
|
79
79
|
(0, assert_1.default)(l1Token.isEVM(), "Expected an EVM address: ".concat(l1TokenAddr));
|
|
80
80
|
(0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, repaymentChainId, l1TokenAddr, totalRefundAmount);
|
|
@@ -88,6 +88,7 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
|
|
|
88
88
|
var outputToken = _a[0], deposits = _a[1];
|
|
89
89
|
deposits.forEach(function (deposit) {
|
|
90
90
|
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
91
|
+
(0, assert_1.default)((0, utils_1.isDefined)(l1TokenCounterpart), "getRefundInformationFromFill: l1TokenCounterpart is undefined");
|
|
91
92
|
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(utils_1.fixedPointAdjustment);
|
|
92
93
|
(0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount.sub(lpFee));
|
|
93
94
|
});
|
|
@@ -100,6 +101,7 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
|
|
|
100
101
|
var outputToken = _a[0], slowFilledDeposits = _a[1];
|
|
101
102
|
slowFilledDeposits.forEach(function (deposit) {
|
|
102
103
|
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(outputToken, destinationChainId), destinationChainId, mainnetBundleEndBlock);
|
|
104
|
+
(0, assert_1.default)((0, utils_1.isDefined)(l1TokenCounterpart), "getRefundInformationFromFill: l1TokenCounterpart is undefined");
|
|
103
105
|
var lpFee = deposit.lpFeePct.mul(deposit.inputAmount).div(utils_1.fixedPointAdjustment);
|
|
104
106
|
(0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, destinationChainId, l1TokenCounterpart.toEvmAddress(), lpFee.sub(deposit.inputAmount));
|
|
105
107
|
});
|
|
@@ -123,11 +125,11 @@ function _buildPoolRebalanceRoot(latestMainnetBlock, mainnetBundleEndBlock, bund
|
|
|
123
125
|
Object.entries(depositsForChain).forEach(function (_a) {
|
|
124
126
|
var inputToken = _a[0], deposits = _a[1];
|
|
125
127
|
deposits.forEach(function (deposit) {
|
|
126
|
-
|
|
128
|
+
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(inputToken, originChainId), originChainId, mainnetBundleEndBlock);
|
|
129
|
+
if (!l1TokenCounterpart) {
|
|
127
130
|
chainWithRefundsOnly.add(deposit.originChainId);
|
|
128
131
|
return;
|
|
129
132
|
}
|
|
130
|
-
var l1TokenCounterpart = clients.hubPoolClient.getL1TokenForL2TokenAtBlock((0, utils_1.toAddressType)(inputToken, originChainId), originChainId, mainnetBundleEndBlock);
|
|
131
133
|
(0, PoolRebalanceUtils_1.updateRunningBalance)(runningBalances, originChainId, l1TokenCounterpart.toEvmAddress(), deposit.inputAmount);
|
|
132
134
|
});
|
|
133
135
|
});
|