@across-protocol/sdk 4.2.9-alpha.0 → 4.2.9-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/evm/SpokeUtils.d.ts +2 -2
- package/dist/cjs/arch/evm/SpokeUtils.js +3 -18
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +16 -1
- package/dist/cjs/arch/svm/SpokeUtils.js +135 -34
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +5 -1
- package/dist/cjs/arch/svm/utils.js +26 -16
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +2 -4
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +53 -57
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +13 -13
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +1 -2
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +2 -3
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +3 -3
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +8 -11
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +20 -20
- package/dist/cjs/clients/HubPoolClient.js +57 -78
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -5
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +29 -35
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +9 -15
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +13 -9
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +56 -40
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/cjs/interfaces/HubPool.d.ts +13 -18
- package/dist/cjs/interfaces/SpokePool.d.ts +16 -14
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +7 -7
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +7 -8
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +73 -64
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +6 -6
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +7 -7
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +4 -7
- package/dist/cjs/utils/AddressUtils.js +8 -21
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +3 -3
- package/dist/cjs/utils/SpokeUtils.js +22 -4
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +4 -4
- package/dist/cjs/utils/TokenUtils.js +3 -3
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +2 -2
- package/dist/esm/arch/evm/SpokeUtils.js +4 -19
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +46 -6
- package/dist/esm/arch/svm/SpokeUtils.js +164 -43
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +11 -1
- package/dist/esm/arch/svm/utils.js +31 -16
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +2 -4
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +54 -58
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +14 -14
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +1 -2
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +3 -4
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +4 -4
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +9 -12
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +21 -22
- package/dist/esm/clients/HubPoolClient.js +61 -91
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +3 -3
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -5
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +30 -37
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/esm/clients/mocks/MockHubPoolClient.js +10 -16
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +13 -9
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +60 -44
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +3 -3
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/esm/interfaces/HubPool.d.ts +13 -18
- package/dist/esm/interfaces/SpokePool.d.ts +16 -14
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +8 -8
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +8 -9
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +77 -66
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +8 -8
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +4 -7
- package/dist/esm/utils/AddressUtils.js +10 -25
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +8 -3
- package/dist/esm/utils/SpokeUtils.js +26 -4
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +16 -4
- package/dist/esm/utils/TokenUtils.js +3 -3
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +2 -2
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +46 -6
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +11 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +1 -2
- 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/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +21 -22
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -5
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +13 -9
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -1
- package/dist/types/interfaces/HubPool.d.ts +13 -18
- package/dist/types/interfaces/HubPool.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +16 -14
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +8 -9
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +6 -6
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +4 -7
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +8 -3
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +16 -4
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/arch/evm/SpokeUtils.ts +8 -22
- package/src/arch/svm/SpokeUtils.ts +156 -49
- package/src/arch/svm/utils.ts +22 -3
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +4 -7
- package/src/clients/BundleDataClient/BundleDataClient.ts +47 -49
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +13 -28
- package/src/clients/BundleDataClient/utils/FillUtils.ts +4 -6
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +4 -4
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +9 -13
- package/src/clients/HubPoolClient.ts +79 -113
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +1 -7
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +37 -104
- package/src/clients/mocks/MockHubPoolClient.ts +19 -24
- package/src/clients/mocks/MockSpokePoolClient.ts +74 -53
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +3 -12
- package/src/interfaces/HubPool.ts +13 -22
- package/src/interfaces/SpokePool.ts +17 -14
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +8 -10
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +92 -91
- package/src/relayFeeCalculator/relayFeeCalculator.ts +14 -16
- package/src/utils/AddressUtils.ts +14 -32
- package/src/utils/SpokeUtils.ts +33 -11
- package/src/utils/TokenUtils.ts +7 -7
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMessageHash = exports.isZeroAddress = exports.isUnsafeDepositId = exports.getRelayHashFromEvent = exports.getRelayDataHash = void 0;
|
|
3
|
+
exports.getMessageHash = exports.isZeroAddress = exports.isUnsafeDepositId = exports.getRelayHashFromEvent = exports.getRelayDataHash = exports.getDepositRelayData = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var viem_1 = require("viem");
|
|
6
6
|
var constants_1 = require("../constants");
|
|
7
|
+
var AddressUtils_1 = require("./AddressUtils");
|
|
7
8
|
var BigNumberUtils_1 = require("./BigNumberUtils");
|
|
8
9
|
var DepositUtils_1 = require("./DepositUtils");
|
|
9
10
|
var NetworkUtils_1 = require("./NetworkUtils");
|
|
10
11
|
var arch_1 = require("../arch");
|
|
12
|
+
function getDepositRelayData(deposit) {
|
|
13
|
+
return {
|
|
14
|
+
depositor: (0, AddressUtils_1.toBytes32)(deposit.depositor),
|
|
15
|
+
recipient: (0, AddressUtils_1.toBytes32)(deposit.recipient),
|
|
16
|
+
exclusiveRelayer: (0, AddressUtils_1.toBytes32)(deposit.exclusiveRelayer),
|
|
17
|
+
inputToken: (0, AddressUtils_1.toBytes32)(deposit.inputToken),
|
|
18
|
+
outputToken: (0, AddressUtils_1.toBytes32)(deposit.outputToken),
|
|
19
|
+
inputAmount: deposit.inputAmount,
|
|
20
|
+
outputAmount: deposit.outputAmount,
|
|
21
|
+
originChainId: deposit.originChainId,
|
|
22
|
+
depositId: deposit.depositId,
|
|
23
|
+
fillDeadline: deposit.fillDeadline,
|
|
24
|
+
exclusivityDeadline: deposit.exclusivityDeadline,
|
|
25
|
+
message: deposit.message,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.getDepositRelayData = getDepositRelayData;
|
|
11
29
|
function getRelayDataHash(relayData, destinationChainId) {
|
|
12
30
|
var abi = [
|
|
13
31
|
{
|
|
@@ -29,9 +47,9 @@ function getRelayDataHash(relayData, destinationChainId) {
|
|
|
29
47
|
},
|
|
30
48
|
{ type: "uint256", name: "destinationChainId" },
|
|
31
49
|
];
|
|
32
|
-
var _relayData = tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: relayData.depositor
|
|
50
|
+
var _relayData = tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: (0, AddressUtils_1.toBytes32)(relayData.depositor), recipient: (0, AddressUtils_1.toBytes32)(relayData.recipient), inputToken: (0, AddressUtils_1.toBytes32)(relayData.inputToken), outputToken: (0, AddressUtils_1.toBytes32)(relayData.outputToken), exclusiveRelayer: (0, AddressUtils_1.toBytes32)(relayData.exclusiveRelayer) });
|
|
33
51
|
if ((0, NetworkUtils_1.chainIsSvm)(destinationChainId)) {
|
|
34
|
-
return arch_1.svm.getRelayDataHash(
|
|
52
|
+
return arch_1.svm.getRelayDataHash(_relayData, destinationChainId);
|
|
35
53
|
}
|
|
36
54
|
return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)(abi, [_relayData, destinationChainId]));
|
|
37
55
|
}
|
|
@@ -46,7 +64,7 @@ function isUnsafeDepositId(depositId) {
|
|
|
46
64
|
}
|
|
47
65
|
exports.isUnsafeDepositId = isUnsafeDepositId;
|
|
48
66
|
function isZeroAddress(address) {
|
|
49
|
-
return address.
|
|
67
|
+
return address === constants_1.ZERO_ADDRESS || address === constants_1.ZERO_BYTES;
|
|
50
68
|
}
|
|
51
69
|
exports.isZeroAddress = isZeroAddress;
|
|
52
70
|
function getMessageHash(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":";;;;AAAA,6BAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { BlockTag } from "@ethersproject/abstract-provider";
|
|
2
2
|
import { providers, Signer } from "ethers";
|
|
3
|
-
import {
|
|
3
|
+
import { L1Token } from "../interfaces";
|
|
4
4
|
import { BigNumber } from "./BigNumberUtils";
|
|
5
5
|
type SignerOrProvider = providers.Provider | Signer;
|
|
6
|
-
export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<
|
|
6
|
+
export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<L1Token>;
|
|
7
7
|
export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: number) => {
|
|
8
8
|
[chainId: number]: string;
|
|
9
9
|
} | undefined;
|
|
10
|
-
export declare function resolveSymbolOnChain(chainId: number, symbol: string):
|
|
10
|
+
export declare function resolveSymbolOnChain(chainId: number, symbol: string): L1Token;
|
|
11
11
|
export declare const resolveContractFromSymbol: (symbol: string, chainId: string, tokenMapping?: {
|
|
12
12
|
ACX: {
|
|
13
13
|
name: string;
|
|
@@ -799,7 +799,7 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
799
799
|
};
|
|
800
800
|
coingeckoId: string;
|
|
801
801
|
};
|
|
802
|
-
}):
|
|
802
|
+
}): L1Token;
|
|
803
803
|
export declare function getUsdcSymbol(l2Token: string, chainId: number): string | undefined;
|
|
804
804
|
export declare function getL1TokenAddress(l2TokenAddress: string, chainId: number): string;
|
|
805
805
|
export {};
|
|
@@ -19,7 +19,7 @@ function fetchTokenInfo(address, signerOrProvider) {
|
|
|
19
19
|
return [4, Promise.all([token.symbol(), token.decimals()])];
|
|
20
20
|
case 1:
|
|
21
21
|
_a = _b.sent(), symbol = _a[0], decimals = _a[1];
|
|
22
|
-
return [2, { address:
|
|
22
|
+
return [2, { address: address, symbol: symbol, decimals: decimals }];
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
});
|
|
@@ -41,7 +41,7 @@ function resolveSymbolOnChain(chainId, symbol) {
|
|
|
41
41
|
}
|
|
42
42
|
var decimals = token.decimals, addresses = token.addresses;
|
|
43
43
|
var address = addresses[chainId];
|
|
44
|
-
return { symbol: symbol, decimals: decimals, address:
|
|
44
|
+
return { symbol: symbol, decimals: decimals, address: address };
|
|
45
45
|
}
|
|
46
46
|
exports.resolveSymbolOnChain = resolveSymbolOnChain;
|
|
47
47
|
var resolveContractFromSymbol = function (symbol, chainId, tokenMapping) {
|
|
@@ -92,7 +92,7 @@ function getTokenInfo(l2TokenAddress, chainId, tokenMapping) {
|
|
|
92
92
|
tokenObject = tokenMapping[l1TokenSymbol];
|
|
93
93
|
}
|
|
94
94
|
return {
|
|
95
|
-
address:
|
|
95
|
+
address: l2TokenAddress,
|
|
96
96
|
symbol: tokenObject.symbol,
|
|
97
97
|
decimals: tokenObject.decimals,
|
|
98
98
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":";;;;AACA,iCAAqD;AACrD,8DAA0C;AAE1C,0CAA8C;AAE9C,+CAAoF;AACpF,2CAAyC;AACzC,+CAAuE;AAC/D,IAAA,iBAAiB,GAA6C,SAAS,kBAAtD,EAAE,SAAS,GAAkC,SAAS,UAA3C,EAAE,2BAA2B,GAAK,SAAS,4BAAd,CAAe;AAIhF,SAAsB,cAAc,CAAC,OAAe,EAAE,gBAAkC;;;;;;oBAChF,KAAK,GAAG,IAAI,iBAAQ,CAAC,OAAO,EAAE,0BAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;oBAC/C,WAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAA;;oBAA1E,KAAqB,SAAqD,EAAzE,MAAM,QAAA,EAAE,QAAQ,QAAA;oBACvB,WAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Contract, PopulatedTransaction, providers } from "ethers";
|
|
2
2
|
import { Deposit, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
3
|
-
import { BigNumber
|
|
3
|
+
import { BigNumber } from "../../utils";
|
|
4
4
|
type BlockTag = providers.BlockTag;
|
|
5
5
|
/**
|
|
6
6
|
* @param spokePool SpokePool Contract instance.
|
|
@@ -8,7 +8,7 @@ type BlockTag = providers.BlockTag;
|
|
|
8
8
|
* @param repaymentChainId Optional repaymentChainId (defaults to destinationChainId).
|
|
9
9
|
* @returns An Ethers UnsignedTransaction instance.
|
|
10
10
|
*/
|
|
11
|
-
export declare function populateV3Relay(spokePool: Contract, deposit: Omit<Deposit, "messageHash">, relayer:
|
|
11
|
+
export declare function populateV3Relay(spokePool: Contract, deposit: Omit<Deposit, "messageHash">, relayer: string, repaymentChainId?: number): Promise<PopulatedTransaction>;
|
|
12
12
|
/**
|
|
13
13
|
* Retrieves the time from the SpokePool contract at a particular block.
|
|
14
14
|
* @returns The time at the specified block tag.
|
|
@@ -2,7 +2,7 @@ import { __assign, __awaiter, __generator } from "tslib";
|
|
|
2
2
|
import assert from "assert";
|
|
3
3
|
import { CHAIN_IDs } from "../../constants";
|
|
4
4
|
import { FillStatus } from "../../interfaces";
|
|
5
|
-
import { bnUint32Max, BigNumber, toBN, bnZero, chunk, getMessageHash, getRelayDataHash, isDefined, isUnsafeDepositId, isZeroAddress, getNetworkName, paginatedEventQuery, spreadEventWithBlockNumber, } from "../../utils";
|
|
5
|
+
import { bnUint32Max, BigNumber, toBN, bnZero, chunk, getMessageHash, getRelayDataHash, isDefined, isUnsafeDepositId, isZeroAddress, getDepositRelayData, getNetworkName, paginatedEventQuery, spreadEventWithBlockNumber, toBytes32, } from "../../utils";
|
|
6
6
|
/**
|
|
7
7
|
* @param spokePool SpokePool Contract instance.
|
|
8
8
|
* @param deposit V3Deopsit instance.
|
|
@@ -11,29 +11,14 @@ import { bnUint32Max, BigNumber, toBN, bnZero, chunk, getMessageHash, getRelayDa
|
|
|
11
11
|
*/
|
|
12
12
|
export function populateV3Relay(spokePool, deposit, relayer, repaymentChainId) {
|
|
13
13
|
if (repaymentChainId === void 0) { repaymentChainId = deposit.destinationChainId; }
|
|
14
|
-
var relayData =
|
|
15
|
-
depositor: deposit.depositor.toBytes32(),
|
|
16
|
-
recipient: deposit.recipient.toBytes32(),
|
|
17
|
-
inputToken: deposit.inputToken.toBytes32(),
|
|
18
|
-
outputToken: deposit.outputToken.toBytes32(),
|
|
19
|
-
inputAmount: deposit.inputAmount,
|
|
20
|
-
outputAmount: deposit.outputAmount,
|
|
21
|
-
originChainId: deposit.originChainId,
|
|
22
|
-
depositId: deposit.depositId,
|
|
23
|
-
fillDeadline: deposit.fillDeadline,
|
|
24
|
-
exclusivityDeadline: deposit.exclusivityDeadline,
|
|
25
|
-
message: deposit.message,
|
|
26
|
-
exclusiveRelayer: deposit.exclusiveRelayer.toBytes32(),
|
|
27
|
-
};
|
|
14
|
+
var relayData = getDepositRelayData(deposit);
|
|
28
15
|
if (isDefined(deposit.speedUpSignature)) {
|
|
29
16
|
assert(isDefined(deposit.updatedRecipient) && !isZeroAddress(deposit.updatedRecipient));
|
|
30
17
|
assert(isDefined(deposit.updatedOutputAmount));
|
|
31
18
|
assert(isDefined(deposit.updatedMessage));
|
|
32
|
-
return spokePool.populateTransaction.fillRelayWithUpdatedDeposit(relayData, repaymentChainId,
|
|
19
|
+
return spokePool.populateTransaction.fillRelayWithUpdatedDeposit(relayData, repaymentChainId, toBytes32(relayer), deposit.updatedOutputAmount, toBytes32(deposit.updatedRecipient), deposit.updatedMessage, deposit.speedUpSignature, { from: relayer });
|
|
33
20
|
}
|
|
34
|
-
return spokePool.populateTransaction.fillRelay(relayData, repaymentChainId,
|
|
35
|
-
from: relayer.toAddress(),
|
|
36
|
-
});
|
|
21
|
+
return spokePool.populateTransaction.fillRelay(relayData, repaymentChainId, toBytes32(relayer), { from: relayer });
|
|
37
22
|
}
|
|
38
23
|
/**
|
|
39
24
|
* Retrieves the time from the SpokePool contract at a particular block.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAW,UAAU,EAA4B,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,SAAS,EACT,IAAI,EACJ,MAAM,EACN,KAAK,EACL,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,13 +111,53 @@ export declare function fillRelayInstruction(spokePool: SvmAddress, deposit: Omi
|
|
|
111
111
|
*/
|
|
112
112
|
export declare function createTokenAccountsInstruction(mint: SvmAddress, relayer: TransactionSigner<string>): SvmSpokeClient.CreateTokenAccountsInstruction;
|
|
113
113
|
/**
|
|
114
|
-
*
|
|
115
|
-
* @param
|
|
116
|
-
* @param
|
|
117
|
-
* @param
|
|
118
|
-
* @
|
|
114
|
+
* Creates a fill instruction.
|
|
115
|
+
* @param signer - The signer of the transaction.
|
|
116
|
+
* @param solanaClient - The Solana client.
|
|
117
|
+
* @param fillInput - The fill input.
|
|
118
|
+
* @param tokenDecimals - The token decimals.
|
|
119
|
+
* @param createRecipientAtaIfNeeded - Whether to create a recipient token account.
|
|
120
|
+
* @returns The fill instruction.
|
|
121
|
+
*/
|
|
122
|
+
export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
123
|
+
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
124
|
+
version: 0;
|
|
125
|
+
}>, "feePayer">>;
|
|
126
|
+
/**
|
|
127
|
+
* Creates a deposit instruction.
|
|
128
|
+
* @param signer - The signer of the transaction.
|
|
129
|
+
* @param solanaClient - The Solana client.
|
|
130
|
+
* @param depositInput - The deposit input.
|
|
131
|
+
* @param tokenDecimals - The token decimals.
|
|
132
|
+
* @param createVaultAtaIfNeeded - Whether to create a vault token account.
|
|
133
|
+
* @returns The deposit instruction.
|
|
134
|
+
*/
|
|
135
|
+
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<{
|
|
136
|
+
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
137
|
+
version: 0;
|
|
138
|
+
}>, "feePayer">>;
|
|
139
|
+
/**
|
|
140
|
+
* Creates a request slow fill instruction.
|
|
141
|
+
* @param signer - The signer of the transaction.
|
|
142
|
+
* @param solanaClient - The Solana client.
|
|
143
|
+
* @param depositInput - The deposit input.
|
|
144
|
+
* @returns The request slow fill instruction.
|
|
145
|
+
*/
|
|
146
|
+
export declare const createRequestSlowFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, depositInput: SvmSpokeClient.RequestSlowFillInput) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
147
|
+
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
148
|
+
version: 0;
|
|
149
|
+
}>, "feePayer">>;
|
|
150
|
+
/**
|
|
151
|
+
* Creates a close fill PDA instruction.
|
|
152
|
+
* @param signer - The signer of the transaction.
|
|
153
|
+
* @param solanaClient - The Solana client.
|
|
154
|
+
* @param fillStatusPda - The fill status PDA.
|
|
155
|
+
* @returns The close fill PDA instruction.
|
|
119
156
|
*/
|
|
120
|
-
export declare
|
|
157
|
+
export declare const createCloseFillPdaInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillStatusPda: Address) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
|
|
158
|
+
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
159
|
+
version: 0;
|
|
160
|
+
}>, "feePayer">>;
|
|
121
161
|
export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
|
|
122
162
|
export declare function getRelayDataHash(relayData: RelayData, destinationChainId: number): string;
|
|
123
163
|
/**
|
|
@@ -2,14 +2,14 @@ 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
4
|
import { hashNonEmptyMessage } from "@across-protocol/contracts/dist/src/svm/web3-v1";
|
|
5
|
-
import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, getApproveCheckedInstruction, } from "@solana-program/token";
|
|
6
|
-
import { address, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getProgramDerivedAddress, getU32Encoder, getU64Encoder, some, } from "@solana/kit";
|
|
5
|
+
import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, fetchMint, getApproveCheckedInstruction, getCreateAssociatedTokenIdempotentInstruction, } from "@solana-program/token";
|
|
6
|
+
import { address, appendTransactionMessageInstruction, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getProgramDerivedAddress, getU32Encoder, getU64Encoder, pipe, some, } from "@solana/kit";
|
|
7
7
|
import assert from "assert";
|
|
8
8
|
import { arrayify, hexZeroPad, hexlify } from "ethers/lib/utils";
|
|
9
|
-
import {
|
|
9
|
+
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
10
10
|
import { FillStatus } from "../../interfaces";
|
|
11
|
-
import { SvmAddress, chainIsSvm, chunk,
|
|
12
|
-
import { getEventAuthority, getFillStatusPda, getStatePda, unwrapEventData } from "./";
|
|
11
|
+
import { SvmAddress, chainIsSvm, chunk, isUnsafeDepositId, keccak256, toAddressType } from "../../utils";
|
|
12
|
+
import { createDefaultTransaction, getEventAuthority, getFillStatusPda, getStatePda, unwrapEventData, } from "./";
|
|
13
13
|
import { SVMEventNames } from "./types";
|
|
14
14
|
/**
|
|
15
15
|
* @note: Average Solana slot duration is about 400-500ms. We can be conservative
|
|
@@ -342,7 +342,7 @@ export function fillRelayInstruction(spokePool, deposit, relayer, recipientToken
|
|
|
342
342
|
deposit.exclusiveRelayer,
|
|
343
343
|
deposit.inputToken,
|
|
344
344
|
deposit.outputToken,
|
|
345
|
-
].map(function (addr) { return addr.forceSvmAddress(); }), depositor = _a[0], recipient = _a[1], exclusiveRelayer = _a[2], inputToken = _a[3], outputToken = _a[4];
|
|
345
|
+
].map(function (addr) { return toAddressType(addr).forceSvmAddress(); }), depositor = _a[0], recipient = _a[1], exclusiveRelayer = _a[2], inputToken = _a[3], outputToken = _a[4];
|
|
346
346
|
_relayDataHash = getRelayDataHash(deposit, deposit.destinationChainId);
|
|
347
347
|
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
348
348
|
return [4 /*yield*/, getAssociatedTokenAddress(relayerAddress, outputToken)];
|
|
@@ -351,7 +351,7 @@ export function fillRelayInstruction(spokePool, deposit, relayer, recipientToken
|
|
|
351
351
|
return [4 /*yield*/, Promise.all([
|
|
352
352
|
getStatePda(spokePool.toV2Address()),
|
|
353
353
|
getFillStatusPda(spokePool.toV2Address(), deposit, deposit.destinationChainId),
|
|
354
|
-
getEventAuthority(
|
|
354
|
+
getEventAuthority(),
|
|
355
355
|
])];
|
|
356
356
|
case 2:
|
|
357
357
|
_b = _c.sent(), statePda = _b[0], fillStatusPda = _b[1], eventAuthority = _b[2];
|
|
@@ -405,42 +405,163 @@ export function createTokenAccountsInstruction(mint, relayer) {
|
|
|
405
405
|
});
|
|
406
406
|
}
|
|
407
407
|
/**
|
|
408
|
-
*
|
|
409
|
-
* @param
|
|
410
|
-
* @param
|
|
411
|
-
* @param
|
|
412
|
-
* @
|
|
408
|
+
* Creates a fill instruction.
|
|
409
|
+
* @param signer - The signer of the transaction.
|
|
410
|
+
* @param solanaClient - The Solana client.
|
|
411
|
+
* @param fillInput - The fill input.
|
|
412
|
+
* @param tokenDecimals - The token decimals.
|
|
413
|
+
* @param createRecipientAtaIfNeeded - Whether to create a recipient token account.
|
|
414
|
+
* @returns The fill instruction.
|
|
413
415
|
*/
|
|
414
|
-
export function
|
|
415
|
-
|
|
416
|
-
return __awaiter(
|
|
417
|
-
var
|
|
418
|
-
return __generator(this, function (
|
|
419
|
-
switch (
|
|
420
|
-
case 0: return [4 /*yield*/,
|
|
421
|
-
getAssociatedTokenAddress(relayer, mint, TOKEN_PROGRAM_ADDRESS),
|
|
422
|
-
getStatePda(spokePool.toV2Address()),
|
|
423
|
-
])];
|
|
416
|
+
export var createFillInstruction = function (signer, solanaClient, fillInput, tokenDecimals, createRecipientAtaIfNeeded) {
|
|
417
|
+
if (createRecipientAtaIfNeeded === void 0) { createRecipientAtaIfNeeded = true; }
|
|
418
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
419
|
+
var mintInfo, approveIx, getCreateAssociatedTokenIdempotentIx, createFillIx, _a;
|
|
420
|
+
return __generator(this, function (_b) {
|
|
421
|
+
switch (_b.label) {
|
|
422
|
+
case 0: return [4 /*yield*/, fetchMint(solanaClient, fillInput.mint)];
|
|
424
423
|
case 1:
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
424
|
+
mintInfo = _b.sent();
|
|
425
|
+
approveIx = getApproveCheckedInstruction({
|
|
426
|
+
source: fillInput.relayerTokenAccount,
|
|
427
|
+
mint: fillInput.mint,
|
|
428
|
+
delegate: fillInput.delegate,
|
|
429
|
+
owner: fillInput.signer,
|
|
430
|
+
amount: fillInput.relayData.outputAmount,
|
|
431
|
+
decimals: tokenDecimals,
|
|
432
|
+
}, {
|
|
433
|
+
programAddress: mintInfo.programAddress,
|
|
434
|
+
});
|
|
435
|
+
getCreateAssociatedTokenIdempotentIx = function () {
|
|
436
|
+
return getCreateAssociatedTokenIdempotentInstruction({
|
|
437
|
+
payer: signer,
|
|
438
|
+
owner: fillInput.relayData.recipient,
|
|
439
|
+
mint: fillInput.mint,
|
|
440
|
+
ata: fillInput.recipientTokenAccount,
|
|
441
|
+
systemProgram: SYSTEM_PROGRAM_ADDRESS,
|
|
442
|
+
tokenProgram: fillInput.tokenProgram,
|
|
443
|
+
});
|
|
444
|
+
};
|
|
445
|
+
return [4 /*yield*/, SvmSpokeClient.getFillRelayInstruction(fillInput)];
|
|
446
|
+
case 2:
|
|
447
|
+
createFillIx = _b.sent();
|
|
448
|
+
_a = pipe;
|
|
449
|
+
return [4 /*yield*/, createDefaultTransaction(solanaClient, signer)];
|
|
450
|
+
case 3: return [2 /*return*/, _a.apply(void 0, [_b.sent(), function (tx) {
|
|
451
|
+
return createRecipientAtaIfNeeded ? appendTransactionMessageInstruction(getCreateAssociatedTokenIdempotentIx(), tx) : tx;
|
|
452
|
+
},
|
|
453
|
+
function (tx) { return appendTransactionMessageInstruction(approveIx, tx); },
|
|
454
|
+
function (tx) { return appendTransactionMessageInstruction(createFillIx, tx); }])];
|
|
440
455
|
}
|
|
441
456
|
});
|
|
442
457
|
});
|
|
443
|
-
}
|
|
458
|
+
};
|
|
459
|
+
/**
|
|
460
|
+
* Creates a deposit instruction.
|
|
461
|
+
* @param signer - The signer of the transaction.
|
|
462
|
+
* @param solanaClient - The Solana client.
|
|
463
|
+
* @param depositInput - The deposit input.
|
|
464
|
+
* @param tokenDecimals - The token decimals.
|
|
465
|
+
* @param createVaultAtaIfNeeded - Whether to create a vault token account.
|
|
466
|
+
* @returns The deposit instruction.
|
|
467
|
+
*/
|
|
468
|
+
export var createDepositInstruction = function (signer, solanaClient, depositInput, tokenDecimals, createVaultAtaIfNeeded) {
|
|
469
|
+
if (createVaultAtaIfNeeded === void 0) { createVaultAtaIfNeeded = true; }
|
|
470
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
471
|
+
var getCreateAssociatedTokenIdempotentIx, mintInfo, approveIx, depositIx, _a;
|
|
472
|
+
return __generator(this, function (_b) {
|
|
473
|
+
switch (_b.label) {
|
|
474
|
+
case 0:
|
|
475
|
+
getCreateAssociatedTokenIdempotentIx = function () {
|
|
476
|
+
return getCreateAssociatedTokenIdempotentInstruction({
|
|
477
|
+
payer: signer,
|
|
478
|
+
owner: depositInput.state,
|
|
479
|
+
mint: depositInput.mint,
|
|
480
|
+
ata: depositInput.vault,
|
|
481
|
+
systemProgram: depositInput.systemProgram,
|
|
482
|
+
tokenProgram: depositInput.tokenProgram,
|
|
483
|
+
});
|
|
484
|
+
};
|
|
485
|
+
return [4 /*yield*/, fetchMint(solanaClient, depositInput.mint)];
|
|
486
|
+
case 1:
|
|
487
|
+
mintInfo = _b.sent();
|
|
488
|
+
approveIx = getApproveCheckedInstruction({
|
|
489
|
+
source: depositInput.depositorTokenAccount,
|
|
490
|
+
mint: depositInput.mint,
|
|
491
|
+
delegate: depositInput.delegate,
|
|
492
|
+
owner: depositInput.depositor,
|
|
493
|
+
amount: depositInput.inputAmount,
|
|
494
|
+
decimals: tokenDecimals,
|
|
495
|
+
}, {
|
|
496
|
+
programAddress: mintInfo.programAddress,
|
|
497
|
+
});
|
|
498
|
+
return [4 /*yield*/, SvmSpokeClient.getDepositInstruction(depositInput)];
|
|
499
|
+
case 2:
|
|
500
|
+
depositIx = _b.sent();
|
|
501
|
+
_a = pipe;
|
|
502
|
+
return [4 /*yield*/, createDefaultTransaction(solanaClient, signer)];
|
|
503
|
+
case 3: return [2 /*return*/, _a.apply(void 0, [_b.sent(), function (tx) {
|
|
504
|
+
return createVaultAtaIfNeeded ? appendTransactionMessageInstruction(getCreateAssociatedTokenIdempotentIx(), tx) : tx;
|
|
505
|
+
},
|
|
506
|
+
function (tx) { return appendTransactionMessageInstruction(approveIx, tx); },
|
|
507
|
+
function (tx) { return appendTransactionMessageInstruction(depositIx, tx); }])];
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
});
|
|
511
|
+
};
|
|
512
|
+
/**
|
|
513
|
+
* Creates a request slow fill instruction.
|
|
514
|
+
* @param signer - The signer of the transaction.
|
|
515
|
+
* @param solanaClient - The Solana client.
|
|
516
|
+
* @param depositInput - The deposit input.
|
|
517
|
+
* @returns The request slow fill instruction.
|
|
518
|
+
*/
|
|
519
|
+
export var createRequestSlowFillInstruction = function (signer, solanaClient, depositInput) { return __awaiter(void 0, void 0, void 0, function () {
|
|
520
|
+
var requestSlowFillIx, _a;
|
|
521
|
+
return __generator(this, function (_b) {
|
|
522
|
+
switch (_b.label) {
|
|
523
|
+
case 0: return [4 /*yield*/, SvmSpokeClient.getRequestSlowFillInstruction(depositInput)];
|
|
524
|
+
case 1:
|
|
525
|
+
requestSlowFillIx = _b.sent();
|
|
526
|
+
_a = pipe;
|
|
527
|
+
return [4 /*yield*/, createDefaultTransaction(solanaClient, signer)];
|
|
528
|
+
case 2: return [2 /*return*/, _a.apply(void 0, [_b.sent(), function (tx) {
|
|
529
|
+
return appendTransactionMessageInstruction(requestSlowFillIx, tx);
|
|
530
|
+
}])];
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
}); };
|
|
534
|
+
/**
|
|
535
|
+
* Creates a close fill PDA instruction.
|
|
536
|
+
* @param signer - The signer of the transaction.
|
|
537
|
+
* @param solanaClient - The Solana client.
|
|
538
|
+
* @param fillStatusPda - The fill status PDA.
|
|
539
|
+
* @returns The close fill PDA instruction.
|
|
540
|
+
*/
|
|
541
|
+
export var createCloseFillPdaInstruction = function (signer, solanaClient, fillStatusPda) { return __awaiter(void 0, void 0, void 0, function () {
|
|
542
|
+
var closeFillPdaIx, _a, _b, _c;
|
|
543
|
+
var _d;
|
|
544
|
+
return __generator(this, function (_e) {
|
|
545
|
+
switch (_e.label) {
|
|
546
|
+
case 0:
|
|
547
|
+
_b = (_a = SvmSpokeClient).getCloseFillPdaInstruction;
|
|
548
|
+
_d = {
|
|
549
|
+
signer: signer
|
|
550
|
+
};
|
|
551
|
+
return [4 /*yield*/, getStatePda(SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS)];
|
|
552
|
+
case 1: return [4 /*yield*/, _b.apply(_a, [(_d.state = _e.sent(),
|
|
553
|
+
_d.fillStatus = fillStatusPda,
|
|
554
|
+
_d)])];
|
|
555
|
+
case 2:
|
|
556
|
+
closeFillPdaIx = _e.sent();
|
|
557
|
+
_c = pipe;
|
|
558
|
+
return [4 /*yield*/, createDefaultTransaction(solanaClient, signer)];
|
|
559
|
+
case 3: return [2 /*return*/, _c.apply(void 0, [_e.sent(), function (tx) {
|
|
560
|
+
return appendTransactionMessageInstruction(closeFillPdaIx, tx);
|
|
561
|
+
}])];
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
}); };
|
|
444
565
|
export function getAssociatedTokenAddress(owner, mint, tokenProgramId) {
|
|
445
566
|
if (tokenProgramId === void 0) { tokenProgramId = TOKEN_PROGRAM_ADDRESS; }
|
|
446
567
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -468,11 +589,11 @@ export function getRelayDataHash(relayData, destinationChainId) {
|
|
|
468
589
|
var uint32Encoder = getU32Encoder();
|
|
469
590
|
assert(relayData.message.startsWith("0x"), "Message must be a hex string");
|
|
470
591
|
var contentToHash = Buffer.concat([
|
|
471
|
-
Uint8Array.from(addressEncoder.encode(
|
|
472
|
-
Uint8Array.from(addressEncoder.encode(
|
|
473
|
-
Uint8Array.from(addressEncoder.encode(
|
|
474
|
-
Uint8Array.from(addressEncoder.encode(
|
|
475
|
-
Uint8Array.from(addressEncoder.encode(
|
|
592
|
+
Uint8Array.from(addressEncoder.encode(SvmAddress.from(relayData.depositor, "base16").toV2Address())),
|
|
593
|
+
Uint8Array.from(addressEncoder.encode(SvmAddress.from(relayData.recipient, "base16").toV2Address())),
|
|
594
|
+
Uint8Array.from(addressEncoder.encode(SvmAddress.from(relayData.exclusiveRelayer, "base16").toV2Address())),
|
|
595
|
+
Uint8Array.from(addressEncoder.encode(SvmAddress.from(relayData.inputToken, "base16").toV2Address())),
|
|
596
|
+
Uint8Array.from(addressEncoder.encode(SvmAddress.from(relayData.outputToken, "base16").toV2Address())),
|
|
476
597
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.inputAmount.toString()))),
|
|
477
598
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
|
|
478
599
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
|