@across-protocol/sdk 4.3.3 → 4.3.4
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 +13 -5
- package/dist/cjs/arch/svm/SpokeUtils.js +74 -5
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +4 -1
- package/dist/cjs/arch/svm/utils.js +15 -1
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +9 -5
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +4 -3
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +18 -0
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +2 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +7 -68
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +2 -0
- package/dist/cjs/utils/AddressUtils.js +4 -0
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +3 -1
- package/dist/cjs/utils/DepositUtils.js +9 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +23 -5
- package/dist/esm/arch/svm/SpokeUtils.js +86 -5
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +7 -1
- package/dist/esm/arch/svm/utils.js +14 -0
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +10 -6
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +5 -4
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +18 -0
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +2 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +9 -73
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +2 -0
- package/dist/esm/utils/AddressUtils.js +4 -0
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +15 -1
- package/dist/esm/utils/DepositUtils.js +19 -1
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +23 -5
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +7 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +18 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +2 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +2 -0
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +15 -1
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/arch/svm/SpokeUtils.ts +97 -6
- package/src/arch/svm/utils.ts +16 -0
- package/src/clients/BundleDataClient/BundleDataClient.ts +11 -5
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +5 -3
- package/src/interfaces/SpokePool.ts +23 -0
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +7 -93
- package/src/utils/AddressUtils.ts +5 -0
- package/src/utils/DepositUtils.ts +49 -1
|
@@ -71,7 +71,7 @@ var MockSvmCpiEventsClient = (function (_super) {
|
|
|
71
71
|
var inputToken = (_c = deposit.inputToken) !== null && _c !== void 0 ? _c : (0, svm_1.getRandomSvmAddress)();
|
|
72
72
|
var outputToken = (_d = deposit.outputToken) !== null && _d !== void 0 ? _d : utils_2.SvmAddress.from(randomBytes(32), "base16").toBase58();
|
|
73
73
|
inputAmount !== null && inputAmount !== void 0 ? inputAmount : (inputAmount = BigInt((0, lodash_1.random)(1, 1000, false)));
|
|
74
|
-
outputAmount !== null && outputAmount !== void 0 ? outputAmount : (outputAmount = (inputAmount * BigInt(95)) / BigInt(100));
|
|
74
|
+
outputAmount !== null && outputAmount !== void 0 ? outputAmount : (outputAmount = (0, svm_1.bigToU8a32)((inputAmount * BigInt(95)) / BigInt(100)));
|
|
75
75
|
var message = (_e = deposit.message) !== null && _e !== void 0 ? _e : new Uint8Array(32);
|
|
76
76
|
var quoteTimestamp = (_f = deposit.quoteTimestamp) !== null && _f !== void 0 ? _f : (0, utils_2.getCurrentTime)();
|
|
77
77
|
var args = {
|
|
@@ -101,8 +101,9 @@ var MockSvmCpiEventsClient = (function (_super) {
|
|
|
101
101
|
var slot = fill.slot;
|
|
102
102
|
var depositId = fill.depositId, inputAmount = fill.inputAmount, outputAmount = fill.outputAmount, fillDeadline = fill.fillDeadline;
|
|
103
103
|
depositId !== null && depositId !== void 0 ? depositId : (depositId = (0, utils_1.arrayify)((0, utils_1.hexZeroPad)((0, utils_1.hexlify)((0, lodash_1.random)(1, 100000, false)), 32)));
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
var inputAmountBigInt = BigInt((0, lodash_1.random)(1, 1000, false));
|
|
105
|
+
inputAmount !== null && inputAmount !== void 0 ? inputAmount : (inputAmount = (0, svm_1.bigToU8a32)(inputAmountBigInt));
|
|
106
|
+
outputAmount !== null && outputAmount !== void 0 ? outputAmount : (outputAmount = (inputAmountBigInt * BigInt(95)) / BigInt(100));
|
|
106
107
|
fillDeadline !== null && fillDeadline !== void 0 ? fillDeadline : (fillDeadline = (0, utils_2.getCurrentTime)() + 60);
|
|
107
108
|
var depositor = (_a = fill.depositor) !== null && _a !== void 0 ? _a : utils_2.EvmAddress.from((0, utils_2.randomAddress)()).toBase58();
|
|
108
109
|
var recipient = (_b = fill.recipient) !== null && _b !== void 0 ? _b : (0, svm_1.getRandomSvmAddress)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockSvmCpiEventsClient.js","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSvmCpiEventsClient.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,iCAA8C;AAC9C,iCAAoC;AACpC,0CAAiE;AACjE,iCAAgC;AAChC,mCAAgE;AAEhE,wDAA4D;AAC5D,wDAAuD;AAEvD,+CAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"MockSvmCpiEventsClient.js","sourceRoot":"","sources":["../../../../src/clients/mocks/MockSvmCpiEventsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { EventWithData } from "../../arch/svm";
|
|
|
12
12
|
export declare class MockSvmSpokePoolClient extends SVMSpokePoolClient {
|
|
13
13
|
mockEventsClient: MockSvmCpiEventsClient;
|
|
14
14
|
private destinationTokenForChainOverride;
|
|
15
|
-
constructor(logger: winston.Logger, chainId: number, programId?: Address<"
|
|
15
|
+
constructor(logger: winston.Logger, chainId: number, programId?: Address<"DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru">, deploymentBlock?: number, eventSearchConfig?: MakeOptional<EventSearchConfig, "to">, opts?: {
|
|
16
16
|
hubPoolClient: HubPoolClient | null;
|
|
17
17
|
});
|
|
18
18
|
setConfigStoreClient(configStore?: AcrossConfigStoreClient): void;
|
|
@@ -16,6 +16,13 @@ export interface RelayData {
|
|
|
16
16
|
exclusiveRelayer: Address;
|
|
17
17
|
exclusivityDeadline: number;
|
|
18
18
|
}
|
|
19
|
+
export interface ConvertedRelayData extends Omit<RelayData, "depositor" | "recipient" | "inputToken" | "outputToken" | "exclusiveRelayer"> {
|
|
20
|
+
depositor: string;
|
|
21
|
+
recipient: string;
|
|
22
|
+
inputToken: string;
|
|
23
|
+
outputToken: string;
|
|
24
|
+
exclusiveRelayer: string;
|
|
25
|
+
}
|
|
19
26
|
export interface SpeedUpCommon {
|
|
20
27
|
updatedRecipient: Address;
|
|
21
28
|
updatedOutputAmount: BigNumber;
|
|
@@ -59,6 +66,17 @@ export interface Fill extends Omit<RelayData, "message"> {
|
|
|
59
66
|
repaymentChainId: number;
|
|
60
67
|
relayExecutionInfo: RelayExecutionEventInfo;
|
|
61
68
|
}
|
|
69
|
+
export interface ConvertedFill extends Omit<Fill, "depositor" | "recipient" | "inputToken" | "outputToken" | "exclusiveRelayer" | "relayer" | "relayExecutionInfo"> {
|
|
70
|
+
depositor: string;
|
|
71
|
+
recipient: string;
|
|
72
|
+
inputToken: string;
|
|
73
|
+
outputToken: string;
|
|
74
|
+
exclusiveRelayer: string;
|
|
75
|
+
relayer: string;
|
|
76
|
+
relayExecutionInfo: Omit<RelayExecutionEventInfo, "updatedRecipient"> & {
|
|
77
|
+
updatedRecipient: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
62
80
|
export interface FillWithBlock extends Fill, SortableEvent {
|
|
63
81
|
}
|
|
64
82
|
export interface FillWithTime extends Fill, SortableEvent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":";;;AAoDA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TransactionSigner } from "@solana/kit";
|
|
1
2
|
import { SVMProvider } from "../../arch/svm";
|
|
2
3
|
import { RelayData } from "../../interfaces";
|
|
3
4
|
import { Address, BigNumber, BigNumberish, SvmAddress, TransactionCostEstimate } from "../../utils";
|
|
@@ -35,7 +36,7 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
35
36
|
destinationChainId: number;
|
|
36
37
|
recipient: SvmAddress;
|
|
37
38
|
outputToken: SvmAddress;
|
|
38
|
-
},
|
|
39
|
+
}, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: Address): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
39
40
|
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
40
41
|
version: 0;
|
|
41
42
|
}>, "feePayer">>;
|
|
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SvmQuery = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
-
var conversionUtils_1 = require("@across-protocol/contracts/dist/src/svm/web3-v1/conversionUtils");
|
|
7
|
-
var system_1 = require("@solana-program/system");
|
|
8
|
-
var token_1 = require("@solana-program/token");
|
|
9
6
|
var kit_1 = require("@solana/kit");
|
|
10
7
|
var svm_1 = require("../../arch/svm");
|
|
11
8
|
var coingecko_1 = require("../../coingecko");
|
|
@@ -42,7 +39,7 @@ var SvmQuery = (function () {
|
|
|
42
39
|
(0, assert_1.default)(exclusiveRelayer.isSVM(), "getGasCosts: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
43
40
|
(0, assert_1.default)(relayer.isSVM());
|
|
44
41
|
_a = [destinationChainId, relayer], repaymentChainId = _a[0], repaymentAddress = _a[1];
|
|
45
|
-
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer, repaymentChainId, repaymentAddress)];
|
|
42
|
+
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), (0, svm_1.SolanaVoidSigner)(relayer.toBase58()), repaymentChainId, repaymentAddress)];
|
|
46
43
|
case 1:
|
|
47
44
|
fillRelayTx = _f.sent();
|
|
48
45
|
_d = (_c = Promise).all;
|
|
@@ -81,7 +78,7 @@ var SvmQuery = (function () {
|
|
|
81
78
|
(0, assert_1.default)(exclusiveRelayer.isSVM(), "getNativeGasCost: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
82
79
|
(0, assert_1.default)(relayer.isSVM());
|
|
83
80
|
_a = [destinationChainId, relayer], repaymentChainId = _a[0], repaymentAddress = _a[1];
|
|
84
|
-
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer, repaymentChainId, repaymentAddress)];
|
|
81
|
+
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), (0, svm_1.SolanaVoidSigner)(relayer.toBase58()), repaymentChainId, repaymentAddress)];
|
|
85
82
|
case 1:
|
|
86
83
|
fillRelayTx = _c.sent();
|
|
87
84
|
_b = utils_1.toBN;
|
|
@@ -91,70 +88,12 @@ var SvmQuery = (function () {
|
|
|
91
88
|
});
|
|
92
89
|
});
|
|
93
90
|
};
|
|
94
|
-
SvmQuery.prototype.getFillRelayTx = function (relayData,
|
|
91
|
+
SvmQuery.prototype.getFillRelayTx = function (relayData, signer, repaymentChainId, repaymentAddress) {
|
|
95
92
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
case
|
|
100
|
-
depositor = relayData.depositor, recipient = relayData.recipient, inputToken = relayData.inputToken, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer, destinationChainId = relayData.destinationChainId;
|
|
101
|
-
(0, assert_1.default)(recipient.isSVM(), "getFillRelayTx: recipient not an SVM address (".concat(recipient, ")"));
|
|
102
|
-
(0, assert_1.default)(repaymentAddress.isValidOn(repaymentChainId), "getFillRelayTx: repayment address ".concat(repaymentAddress, " not valid on chain ").concat(repaymentChainId, ")"));
|
|
103
|
-
program = (0, svm_1.toAddress)(this.spokePool);
|
|
104
|
-
_relayDataHash = (0, utils_1.getRelayDataHash)(relayData, destinationChainId);
|
|
105
|
-
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
106
|
-
return [4, Promise.all([
|
|
107
|
-
(0, svm_1.getStatePda)(program),
|
|
108
|
-
(0, svm_1.getFillRelayDelegatePda)(relayDataHash, BigInt(repaymentChainId), (0, svm_1.toAddress)(repaymentAddress), program),
|
|
109
|
-
])];
|
|
110
|
-
case 1:
|
|
111
|
-
_a = _c.sent(), state = _a[0], delegate = _a[1];
|
|
112
|
-
mint = (0, svm_1.toAddress)(outputToken);
|
|
113
|
-
return [4, (0, token_1.fetchMint)(this.provider, mint)];
|
|
114
|
-
case 2:
|
|
115
|
-
mintInfo = _c.sent();
|
|
116
|
-
return [4, Promise.all([
|
|
117
|
-
(0, svm_1.getAssociatedTokenAddress)(recipient, outputToken, mintInfo.programAddress),
|
|
118
|
-
(0, svm_1.getAssociatedTokenAddress)(utils_1.SvmAddress.from(relayer.toBase58()), outputToken, mintInfo.programAddress),
|
|
119
|
-
(0, svm_1.getFillStatusPda)(program, relayData, destinationChainId),
|
|
120
|
-
(0, svm_1.getEventAuthority)(program),
|
|
121
|
-
])];
|
|
122
|
-
case 3:
|
|
123
|
-
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
124
|
-
svmRelayData = {
|
|
125
|
-
depositor: (0, svm_1.toAddress)(depositor),
|
|
126
|
-
recipient: (0, svm_1.toAddress)(recipient),
|
|
127
|
-
exclusiveRelayer: (0, svm_1.toAddress)(exclusiveRelayer),
|
|
128
|
-
inputToken: (0, svm_1.toAddress)(inputToken),
|
|
129
|
-
outputToken: mint,
|
|
130
|
-
inputAmount: relayData.inputAmount.toBigInt(),
|
|
131
|
-
outputAmount: relayData.outputAmount.toBigInt(),
|
|
132
|
-
originChainId: relayData.originChainId,
|
|
133
|
-
depositId: new Uint8Array((0, conversionUtils_1.intToU8Array32)(relayData.depositId.toNumber())),
|
|
134
|
-
fillDeadline: relayData.fillDeadline,
|
|
135
|
-
exclusivityDeadline: relayData.exclusivityDeadline,
|
|
136
|
-
message: new Uint8Array(Buffer.from(relayData.message, "hex")),
|
|
137
|
-
};
|
|
138
|
-
simulatedSigner = (0, svm_1.SolanaVoidSigner)(relayer.toBase58());
|
|
139
|
-
fillInput = {
|
|
140
|
-
signer: simulatedSigner,
|
|
141
|
-
state: state,
|
|
142
|
-
delegate: delegate,
|
|
143
|
-
mint: mint,
|
|
144
|
-
relayerTokenAccount: relayerAta,
|
|
145
|
-
recipientTokenAccount: recipientAta,
|
|
146
|
-
fillStatus: fillStatus,
|
|
147
|
-
tokenProgram: mintInfo.programAddress,
|
|
148
|
-
associatedTokenProgram: token_1.ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
149
|
-
systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
|
|
150
|
-
eventAuthority: eventAuthority,
|
|
151
|
-
program: program,
|
|
152
|
-
relayHash: relayDataHash,
|
|
153
|
-
relayData: svmRelayData,
|
|
154
|
-
repaymentChainId: BigInt(repaymentChainId),
|
|
155
|
-
repaymentAddress: (0, svm_1.toAddress)(repaymentAddress),
|
|
156
|
-
};
|
|
157
|
-
return [2, (0, svm_1.createFillInstruction)(simulatedSigner, this.provider, fillInput, mintInfo.data.decimals, true)];
|
|
93
|
+
return tslib_1.__generator(this, function (_a) {
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0: return [4, (0, svm_1.getFillRelayTx)(this.spokePool, this.provider, relayData, signer, repaymentChainId, repaymentAddress)];
|
|
96
|
+
case 1: return [2, _a.sent()];
|
|
158
97
|
}
|
|
159
98
|
});
|
|
160
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,14 @@ export declare function toEvmAddress(hexString: string): string;
|
|
|
8
8
|
export declare function isValidEvmAddress(address: string): boolean;
|
|
9
9
|
export declare function toAddressType(address: string, chainId: number): Address;
|
|
10
10
|
export declare abstract class Address {
|
|
11
|
+
readonly __address_type_brand = true;
|
|
11
12
|
readonly rawAddress: Uint8Array;
|
|
12
13
|
evmAddress: string | undefined;
|
|
13
14
|
bytes32Address: string | undefined;
|
|
14
15
|
svmAddress: string | undefined;
|
|
15
16
|
bnAddress: BigNumber | undefined;
|
|
16
17
|
constructor(_rawAddress: Uint8Array);
|
|
18
|
+
static isAddress(obj: unknown): obj is Address;
|
|
17
19
|
toBytes32(): string;
|
|
18
20
|
truncateToBytes20(): string;
|
|
19
21
|
toBase58(): string;
|
|
@@ -77,6 +77,7 @@ function toAddressType(address, chainId) {
|
|
|
77
77
|
exports.toAddressType = toAddressType;
|
|
78
78
|
var Address = (function () {
|
|
79
79
|
function Address(_rawAddress) {
|
|
80
|
+
this.__address_type_brand = true;
|
|
80
81
|
this.evmAddress = undefined;
|
|
81
82
|
this.bytes32Address = undefined;
|
|
82
83
|
this.svmAddress = undefined;
|
|
@@ -86,6 +87,9 @@ var Address = (function () {
|
|
|
86
87
|
}
|
|
87
88
|
this.rawAddress = ethers_1.utils.zeroPad(_rawAddress, 32);
|
|
88
89
|
}
|
|
90
|
+
Address.isAddress = function (obj) {
|
|
91
|
+
return "__address_type_brand" in obj;
|
|
92
|
+
};
|
|
89
93
|
Address.prototype.toBytes32 = function () {
|
|
90
94
|
var _a;
|
|
91
95
|
return ((_a = this.bytes32Address) !== null && _a !== void 0 ? _a : (this.bytes32Address = ethers_1.utils.hexZeroPad(ethers_1.utils.hexlify(this.rawAddress), 32).toLowerCase()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";;;;AAAA,iCAA0C;AAC1C,sDAAwB;AACxB,uBAAuD;AAQvD,SAAsB,2BAA2B,CAAC,OAAe,EAAE,QAA4B;;;;;;oBAE7F,IAAI,CAAC,OAAO,IAAI,CAAC,cAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;wBACzC,WAAO,KAAK,EAAC;qBACd;oBAEY,WAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;oBAAtC,IAAI,GAAG,SAA+B;oBAE5C,WAAO,IAAI,KAAK,IAAI,EAAC;;;;CACtB;AATD,kEASC;AAED,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;IAGjE,IAAM,UAAU,GAAG,YAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAM,UAAU,GAAG,YAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;QACpC,OAAO,CAAC,CAAC,CAAC;KACX;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAZD,4CAYC;AAED,SAAgB,sBAAsB,CAAC,QAAiB,EAAE,QAAiB;IACzE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AALD,wDAKC;AAKD,SAAgB,SAAS,CAAC,OAAe;IACvC,OAAO,cAAK,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAFD,8BAEC;AAID,SAAgB,YAAY,CAAC,SAAiB;IAE5C,IAAM,UAAU,GAAG,cAAK,CAAC,UAAU,CAAC,cAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,cAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAJD,oCAIC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,cAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAKD,IAAI;QACF,IAAM,UAAU,GAAG,cAAK,CAAC,UAAU,CAAC,cAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,cAAK,CAAC,SAAS,CAAC,cAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;KACtD;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAdD,8CAcC;AASD,SAAgB,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7F,IAAI,IAAA,aAAU,EAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;SACzF,IAAI,IAAA,aAAU,EAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAEnG,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAPD,sCAOC;AAID;
|
|
1
|
+
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpokePoolClient } from "../clients";
|
|
2
|
-
import { CachingMechanismInterface, Deposit, DepositWithBlock, Fill, RelayData, SlowFillRequest } from "../interfaces";
|
|
2
|
+
import { CachingMechanismInterface, Deposit, DepositWithBlock, Fill, RelayData, SlowFillRequest, ConvertedRelayData, ConvertedFill } from "../interfaces";
|
|
3
3
|
export declare enum InvalidFill {
|
|
4
4
|
DepositIdInvalid = 0,
|
|
5
5
|
DepositIdNotFound = 1,
|
|
@@ -35,3 +35,5 @@ export declare function isMessageEmpty(message?: string): boolean;
|
|
|
35
35
|
export declare function isFillOrSlowFillRequestMessageEmpty(message: string): boolean;
|
|
36
36
|
export declare function isDepositSpedUp(deposit: Deposit): boolean;
|
|
37
37
|
export declare function resolveDepositMessage(deposit: Deposit): string;
|
|
38
|
+
export declare function convertRelayDataParamsToBytes32(relayData: RelayData): ConvertedRelayData;
|
|
39
|
+
export declare function convertFillParamsToBytes32(fill: Fill): ConvertedFill;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveDepositMessage = exports.isDepositSpedUp = exports.isFillOrSlowFillRequestMessageEmpty = exports.isMessageEmpty = exports.isZeroValueFillOrSlowFillRequest = exports.invalidOutputToken = exports.isZeroValueDeposit = exports.validateFillForDeposit = exports.getRelayEventKey = exports.queryHistoricalDepositForFill = exports.InvalidFill = void 0;
|
|
3
|
+
exports.convertFillParamsToBytes32 = exports.convertRelayDataParamsToBytes32 = exports.resolveDepositMessage = exports.isDepositSpedUp = exports.isFillOrSlowFillRequestMessageEmpty = exports.isMessageEmpty = exports.isZeroValueFillOrSlowFillRequest = exports.invalidOutputToken = exports.isZeroValueDeposit = exports.validateFillForDeposit = exports.getRelayEventKey = exports.queryHistoricalDepositForFill = exports.InvalidFill = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
6
|
var constants_1 = require("../constants");
|
|
@@ -178,4 +178,12 @@ function resolveDepositMessage(deposit) {
|
|
|
178
178
|
return message;
|
|
179
179
|
}
|
|
180
180
|
exports.resolveDepositMessage = resolveDepositMessage;
|
|
181
|
+
function convertRelayDataParamsToBytes32(relayData) {
|
|
182
|
+
return tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: relayData.depositor.toBytes32(), recipient: relayData.recipient.toBytes32(), inputToken: relayData.inputToken.toBytes32(), outputToken: relayData.outputToken.toBytes32(), exclusiveRelayer: relayData.exclusiveRelayer.toBytes32() });
|
|
183
|
+
}
|
|
184
|
+
exports.convertRelayDataParamsToBytes32 = convertRelayDataParamsToBytes32;
|
|
185
|
+
function convertFillParamsToBytes32(fill) {
|
|
186
|
+
return tslib_1.__assign(tslib_1.__assign({}, fill), { depositor: fill.depositor.toBytes32(), recipient: fill.recipient.toBytes32(), inputToken: fill.inputToken.toBytes32(), outputToken: fill.outputToken.toBytes32(), exclusiveRelayer: fill.exclusiveRelayer.toBytes32(), relayer: fill.relayer.toBytes32(), relayExecutionInfo: tslib_1.__assign(tslib_1.__assign({}, fill.relayExecutionInfo), { updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toBytes32() }) });
|
|
187
|
+
}
|
|
188
|
+
exports.convertFillParamsToBytes32 = convertFillParamsToBytes32;
|
|
181
189
|
//# sourceMappingURL=DepositUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAE5B,0CAAsG;
|
|
1
|
+
{"version":3,"file":"DepositUtils.js","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SvmSpokeClient } from "@across-protocol/contracts";
|
|
2
|
-
import { Address, type TransactionSigner } from "@solana/kit";
|
|
2
|
+
import { Address, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
|
|
3
3
|
import { Logger } from "winston";
|
|
4
4
|
import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
5
|
-
import { BigNumber, EvmAddress, SvmAddress } from "../../utils";
|
|
5
|
+
import { BigNumber, EvmAddress, SvmAddress, Address as SdkAddress } from "../../utils";
|
|
6
6
|
import { SvmCpiEventsClient } from "./";
|
|
7
7
|
import { SVMProvider } from "./types";
|
|
8
8
|
/**
|
|
@@ -108,13 +108,31 @@ export declare function findFillEvent(relayData: RelayData, destinationChainId:
|
|
|
108
108
|
* @param repaymentChainId Optional repaymentChainId (defaults to destinationChainId).
|
|
109
109
|
* @returns An Ethers UnsignedTransaction instance.
|
|
110
110
|
*/
|
|
111
|
-
export declare function fillRelayInstruction(spokePool: SvmAddress, relayData: ProtoFill, signer: TransactionSigner<string>, recipientTokenAccount: Address<string>, repaymentAddress?: EvmAddress | SvmAddress, repaymentChainId?: number): Promise<SvmSpokeClient.FillRelayInstruction<Address<"
|
|
111
|
+
export declare function fillRelayInstruction(spokePool: SvmAddress, relayData: ProtoFill, signer: TransactionSigner<string>, recipientTokenAccount: Address<string>, repaymentAddress?: EvmAddress | SvmAddress, repaymentChainId?: number): Promise<SvmSpokeClient.FillRelayInstruction<Address<"DLv3NggMiSaef97YCkew5xKUHDh13tVGZ7tydt3ZeAru">, string, string, string, string, string, string, string, string, string, string, string, string, string, []>>;
|
|
112
112
|
/**
|
|
113
113
|
* @param mint Address of the token corresponding to the account being made.
|
|
114
114
|
* @param relayer Address of the relayer filling the deposit.
|
|
115
115
|
* @returns An instruction for creating a new token account.
|
|
116
116
|
*/
|
|
117
117
|
export declare function createTokenAccountsInstruction(mint: SvmAddress, relayer: TransactionSigner<string>): SvmSpokeClient.CreateTokenAccountsInstruction;
|
|
118
|
+
/**
|
|
119
|
+
* @notice Return the fillRelay transaction for a given deposit
|
|
120
|
+
* @param spokePoolAddr Address of the spoke pool we're trying to fill through
|
|
121
|
+
* @param solanaClient RPC client to interact with Solana chain
|
|
122
|
+
* @param relayData RelayData instance, supplemented with destinationChainId
|
|
123
|
+
* @param signer signer associated with the relayer creating a Fill. Can be VoidSigner for gas estimation
|
|
124
|
+
* @param repaymentChainId Chain id where relayer repayment is desired
|
|
125
|
+
* @param repaymentAddress Address to which repayment will go to on repaymentChainId
|
|
126
|
+
* @returns FillRelay transaction
|
|
127
|
+
*/
|
|
128
|
+
export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipent" | "outputToken"> & {
|
|
129
|
+
destinationChainId: number;
|
|
130
|
+
recipient: SvmAddress;
|
|
131
|
+
outputToken: SvmAddress;
|
|
132
|
+
}, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
133
|
+
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
134
|
+
version: 0;
|
|
135
|
+
}>, "feePayer">>;
|
|
118
136
|
/**
|
|
119
137
|
* Creates a fill instruction.
|
|
120
138
|
* @param signer - The signer of the transaction.
|
|
@@ -174,7 +192,7 @@ export declare function getDepositDelegatePda(depositData: {
|
|
|
174
192
|
inputToken: Address<string>;
|
|
175
193
|
outputToken: Address<string>;
|
|
176
194
|
inputAmount: bigint;
|
|
177
|
-
outputAmount:
|
|
195
|
+
outputAmount: ReadonlyUint8Array;
|
|
178
196
|
destinationChainId: bigint;
|
|
179
197
|
exclusiveRelayer: Address<string>;
|
|
180
198
|
quoteTimestamp: bigint;
|
|
@@ -191,7 +209,7 @@ export declare function getDepositNowDelegatePda(depositData: {
|
|
|
191
209
|
inputToken: Address<string>;
|
|
192
210
|
outputToken: Address<string>;
|
|
193
211
|
inputAmount: bigint;
|
|
194
|
-
outputAmount:
|
|
212
|
+
outputAmount: ReadonlyUint8Array;
|
|
195
213
|
destinationChainId: bigint;
|
|
196
214
|
exclusiveRelayer: Address<string>;
|
|
197
215
|
fillDeadlineOffset: bigint;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
2
|
import { SvmSpokeClient } from "@across-protocol/contracts";
|
|
3
3
|
import { decodeFillStatusAccount, fetchState } from "@across-protocol/contracts/dist/src/svm/clients/SvmSpoke";
|
|
4
|
+
import { intToU8Array32 } from "@across-protocol/contracts/dist/src/svm/web3-v1/conversionUtils";
|
|
4
5
|
import { hashNonEmptyMessage } from "@across-protocol/contracts/dist/src/svm/web3-v1";
|
|
5
6
|
import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, fetchMint, getApproveCheckedInstruction, getCreateAssociatedTokenIdempotentInstruction, } from "@solana-program/token";
|
|
6
7
|
import { appendTransactionMessageInstruction, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getProgramDerivedAddress, getU32Encoder, getU64Encoder, pipe, some, } from "@solana/kit";
|
|
@@ -9,7 +10,7 @@ import { arrayify, hexZeroPad, hexlify } from "ethers/lib/utils";
|
|
|
9
10
|
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
10
11
|
import { FillStatus } from "../../interfaces";
|
|
11
12
|
import { SvmAddress, chainIsSvm, chunk, isUnsafeDepositId, keccak256, toAddressType, } from "../../utils";
|
|
12
|
-
import { createDefaultTransaction, getEventAuthority, getFillStatusPda, getStatePda, toAddress, unwrapEventData, } from "./";
|
|
13
|
+
import { bigToU8a32, createDefaultTransaction, getEventAuthority, getFillStatusPda, getStatePda, toAddress, unwrapEventData, } from "./";
|
|
13
14
|
import { CHAIN_IDs } from "../../constants";
|
|
14
15
|
import { SVMEventNames } from "./types";
|
|
15
16
|
/**
|
|
@@ -385,7 +386,7 @@ export function fillRelayInstruction(spokePool, relayData, signer, recipientToke
|
|
|
385
386
|
exclusiveRelayer: exclusiveRelayer,
|
|
386
387
|
inputToken: inputToken,
|
|
387
388
|
outputToken: outputToken,
|
|
388
|
-
inputAmount: relayData.inputAmount.toBigInt(),
|
|
389
|
+
inputAmount: bigToU8a32(relayData.inputAmount.toBigInt()),
|
|
389
390
|
outputAmount: relayData.outputAmount.toBigInt(),
|
|
390
391
|
originChainId: BigInt(relayData.originChainId),
|
|
391
392
|
fillDeadline: relayData.fillDeadline,
|
|
@@ -411,6 +412,86 @@ export function createTokenAccountsInstruction(mint, relayer) {
|
|
|
411
412
|
mint: toAddress(mint),
|
|
412
413
|
});
|
|
413
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* @notice Return the fillRelay transaction for a given deposit
|
|
417
|
+
* @param spokePoolAddr Address of the spoke pool we're trying to fill through
|
|
418
|
+
* @param solanaClient RPC client to interact with Solana chain
|
|
419
|
+
* @param relayData RelayData instance, supplemented with destinationChainId
|
|
420
|
+
* @param signer signer associated with the relayer creating a Fill. Can be VoidSigner for gas estimation
|
|
421
|
+
* @param repaymentChainId Chain id where relayer repayment is desired
|
|
422
|
+
* @param repaymentAddress Address to which repayment will go to on repaymentChainId
|
|
423
|
+
* @returns FillRelay transaction
|
|
424
|
+
*/
|
|
425
|
+
export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
|
|
426
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
427
|
+
var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, svmRelayData, fillInput;
|
|
428
|
+
return __generator(this, function (_c) {
|
|
429
|
+
switch (_c.label) {
|
|
430
|
+
case 0:
|
|
431
|
+
depositor = relayData.depositor, recipient = relayData.recipient, inputToken = relayData.inputToken, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer, destinationChainId = relayData.destinationChainId;
|
|
432
|
+
// tsc appeasement...should be unnecessary, but isn't. @todo Identify why.
|
|
433
|
+
assert(recipient.isSVM(), "getFillRelayTx: recipient not an SVM address (".concat(recipient, ")"));
|
|
434
|
+
assert(repaymentAddress.isValidOn(repaymentChainId), "getFillRelayTx: repayment address ".concat(repaymentAddress, " not valid on chain ").concat(repaymentChainId, ")"));
|
|
435
|
+
program = toAddress(spokePoolAddr);
|
|
436
|
+
_relayDataHash = getRelayDataHash(relayData, destinationChainId);
|
|
437
|
+
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
438
|
+
return [4 /*yield*/, Promise.all([
|
|
439
|
+
getStatePda(program),
|
|
440
|
+
getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
|
|
441
|
+
])];
|
|
442
|
+
case 1:
|
|
443
|
+
_a = _c.sent(), state = _a[0], delegate = _a[1];
|
|
444
|
+
mint = toAddress(outputToken);
|
|
445
|
+
return [4 /*yield*/, fetchMint(solanaClient, mint)];
|
|
446
|
+
case 2:
|
|
447
|
+
mintInfo = _c.sent();
|
|
448
|
+
return [4 /*yield*/, Promise.all([
|
|
449
|
+
getAssociatedTokenAddress(recipient, outputToken, mintInfo.programAddress),
|
|
450
|
+
getAssociatedTokenAddress(SvmAddress.from(signer.address), outputToken, mintInfo.programAddress),
|
|
451
|
+
getFillStatusPda(program, relayData, destinationChainId),
|
|
452
|
+
getEventAuthority(program),
|
|
453
|
+
])];
|
|
454
|
+
case 3:
|
|
455
|
+
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
456
|
+
svmRelayData = {
|
|
457
|
+
depositor: toAddress(depositor),
|
|
458
|
+
recipient: toAddress(recipient),
|
|
459
|
+
exclusiveRelayer: toAddress(exclusiveRelayer),
|
|
460
|
+
inputToken: toAddress(inputToken),
|
|
461
|
+
outputToken: mint,
|
|
462
|
+
inputAmount: bigToU8a32(relayData.inputAmount.toBigInt()),
|
|
463
|
+
outputAmount: relayData.outputAmount.toBigInt(),
|
|
464
|
+
originChainId: relayData.originChainId,
|
|
465
|
+
depositId: new Uint8Array(intToU8Array32(relayData.depositId.toNumber())),
|
|
466
|
+
fillDeadline: relayData.fillDeadline,
|
|
467
|
+
exclusivityDeadline: relayData.exclusivityDeadline,
|
|
468
|
+
message: new Uint8Array(Buffer.from(relayData.message, "hex")),
|
|
469
|
+
};
|
|
470
|
+
fillInput = {
|
|
471
|
+
signer: signer,
|
|
472
|
+
state: state,
|
|
473
|
+
delegate: delegate,
|
|
474
|
+
mint: mint,
|
|
475
|
+
relayerTokenAccount: relayerAta,
|
|
476
|
+
recipientTokenAccount: recipientAta,
|
|
477
|
+
fillStatus: fillStatus,
|
|
478
|
+
tokenProgram: mintInfo.programAddress,
|
|
479
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
480
|
+
systemProgram: SYSTEM_PROGRAM_ADDRESS,
|
|
481
|
+
eventAuthority: eventAuthority,
|
|
482
|
+
program: program,
|
|
483
|
+
relayHash: relayDataHash,
|
|
484
|
+
relayData: svmRelayData,
|
|
485
|
+
repaymentChainId: BigInt(repaymentChainId),
|
|
486
|
+
repaymentAddress: toAddress(repaymentAddress),
|
|
487
|
+
};
|
|
488
|
+
// Pass createRecipientAtaIfNeeded =true to the createFillInstruction function to create the recipient token account
|
|
489
|
+
// if it doesn't exist.
|
|
490
|
+
return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, mintInfo.data.decimals, true)];
|
|
491
|
+
}
|
|
492
|
+
});
|
|
493
|
+
});
|
|
494
|
+
}
|
|
414
495
|
/**
|
|
415
496
|
* Creates a fill instruction.
|
|
416
497
|
* @param signer - The signer of the transaction.
|
|
@@ -594,7 +675,7 @@ export function getRelayDataHash(relayData, destinationChainId) {
|
|
|
594
675
|
encodeAddress(relayData.exclusiveRelayer),
|
|
595
676
|
encodeAddress(relayData.inputToken),
|
|
596
677
|
encodeAddress(relayData.outputToken),
|
|
597
|
-
|
|
678
|
+
arrayify(hexZeroPad(hexlify(relayData.inputAmount), 32)),
|
|
598
679
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
|
|
599
680
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
|
|
600
681
|
arrayify(hexZeroPad(hexlify(relayData.depositId), 32)),
|
|
@@ -706,7 +787,7 @@ export function getDepositDelegatePda(depositData, programId) {
|
|
|
706
787
|
Uint8Array.from(addrEnc.encode(depositData.inputToken)),
|
|
707
788
|
Uint8Array.from(addrEnc.encode(depositData.outputToken)),
|
|
708
789
|
Uint8Array.from(u64.encode(depositData.inputAmount)),
|
|
709
|
-
Uint8Array.from(
|
|
790
|
+
Uint8Array.from(depositData.outputAmount),
|
|
710
791
|
Uint8Array.from(u64.encode(depositData.destinationChainId)),
|
|
711
792
|
Uint8Array.from(addrEnc.encode(depositData.exclusiveRelayer)),
|
|
712
793
|
Uint8Array.from(u32.encode(depositData.quoteTimestamp)),
|
|
@@ -745,7 +826,7 @@ export function getDepositNowDelegatePda(depositData, programId) {
|
|
|
745
826
|
Uint8Array.from(addrEnc.encode(depositData.inputToken)),
|
|
746
827
|
Uint8Array.from(addrEnc.encode(depositData.outputToken)),
|
|
747
828
|
Uint8Array.from(u64.encode(depositData.inputAmount)),
|
|
748
|
-
Uint8Array.from(
|
|
829
|
+
Uint8Array.from(depositData.outputAmount),
|
|
749
830
|
Uint8Array.from(u64.encode(depositData.destinationChainId)),
|
|
750
831
|
Uint8Array.from(addrEnc.encode(depositData.exclusiveRelayer)),
|
|
751
832
|
Uint8Array.from(u32.encode(depositData.fillDeadlineOffset)),
|