@across-protocol/sdk 4.2.15 → 4.2.16-alpha.2
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 +6 -2
- package/dist/cjs/arch/evm/SpokeUtils.js +21 -6
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/cjs/arch/svm/SpokeUtils.js +66 -67
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +3 -1
- package/dist/cjs/arch/svm/utils.js +20 -14
- 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 +4 -2
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +4 -4
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +60 -56
- 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 +2 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +3 -2
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -1
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.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 +11 -8
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +21 -21
- package/dist/cjs/clients/HubPoolClient.js +83 -58
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +64 -45
- 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 +15 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +5 -3
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +40 -36
- 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 +19 -14
- package/dist/cjs/interfaces/SpokePool.d.ts +13 -13
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -10
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +5 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +41 -48
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +7 -7
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +12 -13
- package/dist/cjs/utils/AddressUtils.js +44 -46
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.js +1 -1
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +3 -3
- package/dist/cjs/utils/SpokeUtils.js +4 -22
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +4 -4
- package/dist/cjs/utils/TokenUtils.js +4 -6
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +6 -2
- package/dist/esm/arch/evm/SpokeUtils.js +22 -7
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/esm/arch/svm/SpokeUtils.js +70 -71
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +6 -1
- package/dist/esm/arch/svm/utils.js +21 -13
- 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 +4 -2
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +4 -4
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +61 -57
- 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 +2 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +5 -3
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -1
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.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 +12 -9
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +23 -22
- package/dist/esm/clients/HubPoolClient.js +97 -63
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +67 -47
- 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 +16 -10
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +5 -3
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +42 -38
- 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 +19 -14
- package/dist/esm/interfaces/SpokePool.d.ts +13 -13
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +11 -11
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +43 -50
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +8 -8
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +13 -14
- package/dist/esm/utils/AddressUtils.js +50 -56
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.js +2 -2
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +3 -8
- package/dist/esm/utils/SpokeUtils.js +4 -26
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +4 -16
- package/dist/esm/utils/TokenUtils.js +5 -7
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +6 -2
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +6 -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 +4 -4
- 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 +2 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/MerkleTreeUtils.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 +23 -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 +2 -2
- 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 +5 -3
- 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 +19 -14
- package/dist/types/interfaces/HubPool.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +13 -13
- 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 +6 -6
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +13 -14
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +3 -8
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +4 -16
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/arch/evm/SpokeUtils.ts +52 -12
- package/src/arch/svm/SpokeUtils.ts +102 -51
- package/src/arch/svm/utils.ts +11 -4
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -4
- package/src/clients/BundleDataClient/BundleDataClient.ts +57 -53
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +28 -13
- package/src/clients/BundleDataClient/utils/FillUtils.ts +10 -4
- package/src/clients/BundleDataClient/utils/MerkleTreeUtils.ts +7 -1
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +4 -4
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +13 -9
- package/src/clients/HubPoolClient.ts +126 -82
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +6 -0
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +118 -35
- package/src/clients/mocks/MockHubPoolClient.ts +24 -19
- package/src/clients/mocks/MockSpokePoolClient.ts +39 -27
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +12 -3
- package/src/interfaces/HubPool.ts +23 -14
- package/src/interfaces/SpokePool.ts +13 -13
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +14 -12
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +41 -44
- package/src/relayFeeCalculator/relayFeeCalculator.ts +20 -12
- package/src/utils/AddressUtils.ts +58 -60
- package/src/utils/EventUtils.ts +2 -2
- package/src/utils/SpokeUtils.ts +11 -33
- package/src/utils/TokenUtils.ts +10 -11
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { providers } from "ethers";
|
|
3
|
-
import { Address as V2Address } from "@solana/kit";
|
|
4
2
|
import { BigNumber } from "./";
|
|
5
3
|
/**
|
|
6
4
|
* Checks if a contract is deployed at the given address
|
|
@@ -12,16 +10,16 @@ export declare function isContractDeployedToAddress(address: string, provider: p
|
|
|
12
10
|
export declare function compareAddresses(addressA: string, addressB: string): 1 | -1 | 0;
|
|
13
11
|
export declare function compareAddressesSimple(addressA?: string, addressB?: string): boolean;
|
|
14
12
|
export declare function toBytes32(address: string): string;
|
|
15
|
-
export declare function
|
|
13
|
+
export declare function toEvmAddress(hexString: string): string;
|
|
16
14
|
export declare function isValidEvmAddress(address: string): boolean;
|
|
17
15
|
/**
|
|
18
16
|
* Creates the proper address type given the input chain ID corresponding to the address's origin network.
|
|
19
17
|
* @param address Stringified address type to convert. Can be either hex encoded or base58 encoded.
|
|
20
|
-
* @param chainId
|
|
18
|
+
* @param chainId Chain ID for the intended use of the address.
|
|
21
19
|
* @returns a child `Address` type most fitting for the chain ID.
|
|
22
20
|
* @todo: Change this to `toAddress` once we remove the other `toAddress` function.
|
|
23
21
|
*/
|
|
24
|
-
export declare function toAddressType(address: string): Address
|
|
22
|
+
export declare function toAddressType(address: string, chainId: number): Address;
|
|
25
23
|
export declare class Address {
|
|
26
24
|
readonly rawAddress: Uint8Array;
|
|
27
25
|
evmAddress: string | undefined;
|
|
@@ -29,32 +27,33 @@ export declare class Address {
|
|
|
29
27
|
svmAddress: string | undefined;
|
|
30
28
|
bnAddress: BigNumber | undefined;
|
|
31
29
|
constructor(_rawAddress: Uint8Array);
|
|
30
|
+
static __unsafeConstruct(_rawAddress: Uint8Array): Address;
|
|
32
31
|
toBytes32(): string;
|
|
32
|
+
truncateToBytes20(): string;
|
|
33
33
|
toBase58(): string;
|
|
34
|
-
toBigNumber
|
|
34
|
+
private toBigNumber;
|
|
35
35
|
toEvmAddress(): string;
|
|
36
|
-
|
|
37
|
-
toBuffer(): Buffer;
|
|
36
|
+
toNative(): string;
|
|
38
37
|
toHexString(): string;
|
|
39
|
-
isValidEvmAddress(): boolean;
|
|
40
38
|
isValidOn(chainId: number): boolean;
|
|
41
39
|
static isAddress(obj: unknown): boolean;
|
|
42
40
|
toString(): string;
|
|
43
41
|
isZeroAddress(): boolean;
|
|
44
42
|
forceSvmAddress(): SvmAddress;
|
|
45
|
-
forceEvmAddress(): EvmAddress;
|
|
46
43
|
eq(other: Address): boolean;
|
|
47
44
|
compare(otherAddress: Address): 1 | -1 | 0;
|
|
45
|
+
static isEvmAddress(address: Address): boolean;
|
|
46
|
+
static isSvmAddress(address: Address): boolean;
|
|
48
47
|
}
|
|
49
48
|
export declare class EvmAddress extends Address {
|
|
50
49
|
constructor(rawAddress: Uint8Array);
|
|
51
|
-
|
|
50
|
+
static validate(rawAddress: Uint8Array): boolean;
|
|
51
|
+
toNative(): string;
|
|
52
52
|
static from(address: string, encoding?: "base16" | "base58"): EvmAddress;
|
|
53
53
|
}
|
|
54
54
|
export declare class SvmAddress extends Address {
|
|
55
55
|
constructor(rawAddress: Uint8Array);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
toEvmAddress(): string;
|
|
56
|
+
static validate(rawAddress: Uint8Array): boolean;
|
|
57
|
+
toNative(): string;
|
|
59
58
|
static from(address: string, encoding?: "base58" | "base16"): SvmAddress;
|
|
60
59
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter, __extends, __generator } from "tslib";
|
|
2
2
|
import { utils } from "ethers";
|
|
3
3
|
import bs58 from "bs58";
|
|
4
|
-
import { BigNumber, chainIsEvm } from "./";
|
|
4
|
+
import { BigNumber, chainIsEvm, chainIsSvm } from "./";
|
|
5
5
|
/**
|
|
6
6
|
* Checks if a contract is deployed at the given address
|
|
7
7
|
* @param address The ETH address to check
|
|
@@ -54,8 +54,9 @@ export function compareAddressesSimple(addressA, addressB) {
|
|
|
54
54
|
export function toBytes32(address) {
|
|
55
55
|
return utils.hexZeroPad(address, 32).toLowerCase();
|
|
56
56
|
}
|
|
57
|
-
//
|
|
58
|
-
|
|
57
|
+
// Constructs a 20-byte checksummed EVM address from a hex string input.
|
|
58
|
+
// Throws an error if the underlying address length is longer than 20 bytes or incorrectly checksummed.
|
|
59
|
+
export function toEvmAddress(hexString) {
|
|
59
60
|
// rawAddress is the address which is not properly checksummed.
|
|
60
61
|
var rawAddress = utils.hexZeroPad(utils.hexStripZeros(hexString), 20);
|
|
61
62
|
return utils.getAddress(rawAddress);
|
|
@@ -79,22 +80,18 @@ export function isValidEvmAddress(address) {
|
|
|
79
80
|
/**
|
|
80
81
|
* Creates the proper address type given the input chain ID corresponding to the address's origin network.
|
|
81
82
|
* @param address Stringified address type to convert. Can be either hex encoded or base58 encoded.
|
|
82
|
-
* @param chainId
|
|
83
|
+
* @param chainId Chain ID for the intended use of the address.
|
|
83
84
|
* @returns a child `Address` type most fitting for the chain ID.
|
|
84
85
|
* @todo: Change this to `toAddress` once we remove the other `toAddress` function.
|
|
85
86
|
*/
|
|
86
|
-
export function toAddressType(address) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// If we hit this block, then the validation for one of the child address classes failed. We still may want to keep this address in our state, so
|
|
95
|
-
// return an unchecked address type.
|
|
96
|
-
return new Address(utils.arrayify(address));
|
|
97
|
-
}
|
|
87
|
+
export function toAddressType(address, chainId) {
|
|
88
|
+
var rawAddress = address.startsWith("0x") ? utils.arrayify(address) : bs58.decode(address);
|
|
89
|
+
var isEvm = chainIsEvm(chainId);
|
|
90
|
+
if (isEvm && EvmAddress.validate(rawAddress))
|
|
91
|
+
return new EvmAddress(rawAddress);
|
|
92
|
+
if (!isEvm && SvmAddress.validate(rawAddress))
|
|
93
|
+
return new SvmAddress(rawAddress);
|
|
94
|
+
return new Address(rawAddress);
|
|
98
95
|
}
|
|
99
96
|
// The Address class can contain any address type. It is up to the subclasses to determine how to format the address's internal representation,
|
|
100
97
|
// which for this class, is a bytes32 hex string.
|
|
@@ -114,12 +111,22 @@ var Address = /** @class */ (function () {
|
|
|
114
111
|
// Ensure all addresses in this class are internally stored as 32 bytes.
|
|
115
112
|
this.rawAddress = utils.zeroPad(_rawAddress, 32);
|
|
116
113
|
}
|
|
114
|
+
Address.__unsafeConstruct = function (_rawAddress) {
|
|
115
|
+
return new this(_rawAddress);
|
|
116
|
+
};
|
|
117
117
|
// Converts the address into a bytes32 string. Note that the output bytes will be lowercase so that it matches ethers event data. This function will never
|
|
118
118
|
// throw since address length validation was done at construction time.
|
|
119
119
|
Address.prototype.toBytes32 = function () {
|
|
120
120
|
var _a;
|
|
121
121
|
return ((_a = this.bytes32Address) !== null && _a !== void 0 ? _a : (this.bytes32Address = utils.hexZeroPad(utils.hexlify(this.rawAddress), 32).toLowerCase()));
|
|
122
122
|
};
|
|
123
|
+
// Returns last 20 bytes of Address as a hex string. Truncates if necessary. This function is useful for comparing some longer addresses(e.g. Solana) to Solidity events
|
|
124
|
+
// that contain truncated `address` type as one of the fields
|
|
125
|
+
Address.prototype.truncateToBytes20 = function () {
|
|
126
|
+
// Take the last 20 bytes
|
|
127
|
+
var bytes20 = this.rawAddress.slice(-20);
|
|
128
|
+
return toEvmAddress(utils.hexlify(bytes20));
|
|
129
|
+
};
|
|
123
130
|
// Converts the address (can be bytes32 or bytes20) to its base58 counterpart. This conversion will always succeed, even if the input address is not valid on Solana,
|
|
124
131
|
// as this address may be needed to represent an EVM address on Solana.
|
|
125
132
|
Address.prototype.toBase58 = function () {
|
|
@@ -145,34 +152,20 @@ var Address = /** @class */ (function () {
|
|
|
145
152
|
};
|
|
146
153
|
// Converts the address to a hex string. This method should be overriden by subclasses to obtain more meaningful
|
|
147
154
|
// address representations for the target chain ID.
|
|
148
|
-
Address.prototype.
|
|
155
|
+
Address.prototype.toNative = function () {
|
|
149
156
|
return this.toBytes32();
|
|
150
157
|
};
|
|
151
|
-
// Converts the address to a Buffer type.
|
|
152
|
-
Address.prototype.toBuffer = function () {
|
|
153
|
-
return Buffer.from(this.rawAddress);
|
|
154
|
-
};
|
|
155
158
|
// Implements `Hexable` for `Address`. Needed for encoding purposes. This class is treated by default as a bytes32 primitive type, but can change for subclasses.
|
|
156
159
|
Address.prototype.toHexString = function () {
|
|
157
160
|
return this.toBytes32();
|
|
158
161
|
};
|
|
159
|
-
// Checks if this address can be coerced into a bytes20 evm address. Returns true if it is possible and false otherwise.
|
|
160
|
-
Address.prototype.isValidEvmAddress = function () {
|
|
161
|
-
try {
|
|
162
|
-
this.toAddress();
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
catch (_a) {
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
162
|
// Checks if the address is valid on the given chain ID.
|
|
170
163
|
Address.prototype.isValidOn = function (chainId) {
|
|
171
|
-
if (chainIsEvm(chainId))
|
|
172
|
-
return this.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return
|
|
164
|
+
if (chainIsEvm(chainId))
|
|
165
|
+
return EvmAddress.validate(this.rawAddress);
|
|
166
|
+
if (chainIsSvm(chainId))
|
|
167
|
+
return SvmAddress.validate(this.rawAddress);
|
|
168
|
+
return false;
|
|
176
169
|
};
|
|
177
170
|
// Checks if the object is an address by looking at whether it has an Address constructor.
|
|
178
171
|
Address.isAddress = function (obj) {
|
|
@@ -180,7 +173,7 @@ var Address = /** @class */ (function () {
|
|
|
180
173
|
};
|
|
181
174
|
// Converts the input address to a 32-byte hex data string.
|
|
182
175
|
Address.prototype.toString = function () {
|
|
183
|
-
return this.
|
|
176
|
+
return this.toNative();
|
|
184
177
|
};
|
|
185
178
|
// Checks if the address is the zero address.
|
|
186
179
|
Address.prototype.isZeroAddress = function () {
|
|
@@ -190,10 +183,6 @@ var Address = /** @class */ (function () {
|
|
|
190
183
|
Address.prototype.forceSvmAddress = function () {
|
|
191
184
|
return SvmAddress.from(this.toBase58());
|
|
192
185
|
};
|
|
193
|
-
// Forces `rawAddress` to become an EvmAddress type. This will throw if `rawAddress.length > 20`.
|
|
194
|
-
Address.prototype.forceEvmAddress = function () {
|
|
195
|
-
return EvmAddress.from(this.toEvmAddress());
|
|
196
|
-
};
|
|
197
186
|
// Checks if the other address is equivalent to this address.
|
|
198
187
|
Address.prototype.eq = function (other) {
|
|
199
188
|
return this.toString() === other.toString();
|
|
@@ -214,6 +203,12 @@ var Address = /** @class */ (function () {
|
|
|
214
203
|
return 0;
|
|
215
204
|
}
|
|
216
205
|
};
|
|
206
|
+
Address.isEvmAddress = function (address) {
|
|
207
|
+
return address instanceof EvmAddress;
|
|
208
|
+
};
|
|
209
|
+
Address.isSvmAddress = function (address) {
|
|
210
|
+
return address instanceof SvmAddress;
|
|
211
|
+
};
|
|
217
212
|
return Address;
|
|
218
213
|
}());
|
|
219
214
|
export { Address };
|
|
@@ -222,15 +217,16 @@ var EvmAddress = /** @class */ (function (_super) {
|
|
|
222
217
|
__extends(EvmAddress, _super);
|
|
223
218
|
// On construction, validate that the address can indeed be coerced into an EVM address. Throw immediately if it cannot.
|
|
224
219
|
function EvmAddress(rawAddress) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (!_this.isValidEvmAddress()) {
|
|
228
|
-
throw new Error("".concat(hexString, " is not a valid EVM address"));
|
|
220
|
+
if (!EvmAddress.validate(rawAddress)) {
|
|
221
|
+
throw new Error("".concat(utils.hexlify(rawAddress), " is not a valid EVM address"));
|
|
229
222
|
}
|
|
230
|
-
return
|
|
223
|
+
return _super.call(this, rawAddress) || this;
|
|
231
224
|
}
|
|
225
|
+
EvmAddress.validate = function (rawAddress) {
|
|
226
|
+
return (rawAddress.length == 20 || (rawAddress.length === 32 && rawAddress.slice(0, 12).every(function (field) { return field === 0; })));
|
|
227
|
+
};
|
|
232
228
|
// Override `toAddress` to return the 20-byte representation address.
|
|
233
|
-
EvmAddress.prototype.
|
|
229
|
+
EvmAddress.prototype.toNative = function () {
|
|
234
230
|
return this.toEvmAddress();
|
|
235
231
|
};
|
|
236
232
|
// Constructs a new EvmAddress type.
|
|
@@ -255,21 +251,19 @@ var SvmAddress = /** @class */ (function (_super) {
|
|
|
255
251
|
__extends(SvmAddress, _super);
|
|
256
252
|
// On construction, validate that the address is a point on Curve25519. Throw immediately if it is not.
|
|
257
253
|
function SvmAddress(rawAddress) {
|
|
254
|
+
if (!SvmAddress.validate(rawAddress)) {
|
|
255
|
+
throw new Error("".concat(utils.hexlify(rawAddress), " is not a valid SVM address")); // @todo: Display as Base58?
|
|
256
|
+
}
|
|
258
257
|
return _super.call(this, rawAddress) || this;
|
|
259
258
|
}
|
|
259
|
+
SvmAddress.validate = function (rawAddress) {
|
|
260
|
+
return rawAddress.length === 32;
|
|
261
|
+
};
|
|
260
262
|
// Override the toAddress function for SVM addresses only since while they will never have a defined 20-byte representation. The base58 encoded addresses are also the encodings
|
|
261
263
|
// used in TOKEN_SYMBOLS_MAP.
|
|
262
|
-
SvmAddress.prototype.
|
|
264
|
+
SvmAddress.prototype.toNative = function () {
|
|
263
265
|
return this.toBase58();
|
|
264
266
|
};
|
|
265
|
-
// Small utility to convert an SvmAddress to a Solana Kit branded type.
|
|
266
|
-
SvmAddress.prototype.toV2Address = function () {
|
|
267
|
-
return this.toBase58();
|
|
268
|
-
};
|
|
269
|
-
// Forces an SvmAddress to an EVM address string by truncating the leading 12 bytes.
|
|
270
|
-
SvmAddress.prototype.toEvmAddress = function () {
|
|
271
|
-
return toAddress("0x".concat(this.toBytes32().slice(-40)));
|
|
272
|
-
};
|
|
273
267
|
// Constructs a new SvmAddress type.
|
|
274
268
|
SvmAddress.from = function (address, encoding) {
|
|
275
269
|
if (encoding === void 0) { encoding = "base58"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
|
|
2
2
|
import { delay } from "./common";
|
|
3
|
-
import { isDefined, toBN,
|
|
3
|
+
import { isDefined, toBN, toEvmAddress } from "./";
|
|
4
4
|
var maxRetries = 3;
|
|
5
5
|
var retrySleepTime = 10;
|
|
6
6
|
// Event fields which changed from an `address` to `bytes32` after the SVM contract upgrade.
|
|
@@ -81,7 +81,7 @@ export function spreadEvent(args) {
|
|
|
81
81
|
if (isDefined(returnedObject[field])) {
|
|
82
82
|
var address = String(returnedObject[field]);
|
|
83
83
|
try {
|
|
84
|
-
address =
|
|
84
|
+
address = toEvmAddress(address);
|
|
85
85
|
// eslint-disable-next-line no-empty
|
|
86
86
|
}
|
|
87
87
|
catch (_) { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAgB,
|
|
1
|
+
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fill, RelayData, SlowFillLeaf } from "../interfaces";
|
|
2
2
|
import { BigNumber } from "./BigNumberUtils";
|
|
3
|
+
import { Address } from "./AddressUtils";
|
|
3
4
|
export declare function isSlowFill(fill: Fill): boolean;
|
|
4
5
|
export declare function getSlowFillLeafLpFeePct(leaf: SlowFillLeaf): BigNumber;
|
|
5
|
-
/**
|
|
6
|
-
* Produce the RelayData for a Deposit.
|
|
7
|
-
* @param deposit Deposit instance.
|
|
8
|
-
* @returns The corresponding RelayData object.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getDepositRelayData(deposit: Omit<Deposit, "messageHash">): RelayData;
|
|
11
6
|
/**
|
|
12
7
|
* Compute the RelayData hash for a fill. This can be used to determine the fill status.
|
|
13
8
|
* @param relayData RelayData information that is used to complete a fill.
|
|
@@ -19,5 +14,5 @@ export declare function getRelayHashFromEvent(e: RelayData & {
|
|
|
19
14
|
destinationChainId: number;
|
|
20
15
|
}): string;
|
|
21
16
|
export declare function isUnsafeDepositId(depositId: BigNumber): boolean;
|
|
22
|
-
export declare function isZeroAddress(address:
|
|
17
|
+
export declare function isZeroAddress(address: Address): boolean;
|
|
23
18
|
export declare function getMessageHash(message: string): string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import { encodeAbiParameters, keccak256 } from "viem";
|
|
3
3
|
import { fixedPointAdjustment as fixedPoint } from "./common";
|
|
4
|
-
import { MAX_SAFE_DEPOSIT_ID,
|
|
4
|
+
import { MAX_SAFE_DEPOSIT_ID, ZERO_BYTES } from "../constants";
|
|
5
5
|
import { FillType } from "../interfaces";
|
|
6
|
-
import { toBytes32 } from "./AddressUtils";
|
|
7
6
|
import { BigNumber } from "./BigNumberUtils";
|
|
8
7
|
import { isMessageEmpty } from "./DepositUtils";
|
|
9
8
|
import { chainIsSvm } from "./NetworkUtils";
|
|
@@ -15,27 +14,6 @@ export function getSlowFillLeafLpFeePct(leaf) {
|
|
|
15
14
|
var relayData = leaf.relayData, updatedOutputAmount = leaf.updatedOutputAmount;
|
|
16
15
|
return relayData.inputAmount.sub(updatedOutputAmount).mul(fixedPoint).div(relayData.inputAmount);
|
|
17
16
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Produce the RelayData for a Deposit.
|
|
20
|
-
* @param deposit Deposit instance.
|
|
21
|
-
* @returns The corresponding RelayData object.
|
|
22
|
-
*/
|
|
23
|
-
export function getDepositRelayData(deposit) {
|
|
24
|
-
return {
|
|
25
|
-
depositor: toBytes32(deposit.depositor),
|
|
26
|
-
recipient: toBytes32(deposit.recipient),
|
|
27
|
-
exclusiveRelayer: toBytes32(deposit.exclusiveRelayer),
|
|
28
|
-
inputToken: toBytes32(deposit.inputToken),
|
|
29
|
-
outputToken: toBytes32(deposit.outputToken),
|
|
30
|
-
inputAmount: deposit.inputAmount,
|
|
31
|
-
outputAmount: deposit.outputAmount,
|
|
32
|
-
originChainId: deposit.originChainId,
|
|
33
|
-
depositId: deposit.depositId,
|
|
34
|
-
fillDeadline: deposit.fillDeadline,
|
|
35
|
-
exclusivityDeadline: deposit.exclusivityDeadline,
|
|
36
|
-
message: deposit.message,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
17
|
/**
|
|
40
18
|
* Compute the RelayData hash for a fill. This can be used to determine the fill status.
|
|
41
19
|
* @param relayData RelayData information that is used to complete a fill.
|
|
@@ -63,9 +41,9 @@ export function getRelayDataHash(relayData, destinationChainId) {
|
|
|
63
41
|
},
|
|
64
42
|
{ type: "uint256", name: "destinationChainId" },
|
|
65
43
|
];
|
|
66
|
-
var _relayData = __assign(__assign({}, relayData), { depositor:
|
|
44
|
+
var _relayData = __assign(__assign({}, relayData), { depositor: relayData.depositor.toBytes32(), recipient: relayData.recipient.toBytes32(), inputToken: relayData.inputToken.toBytes32(), outputToken: relayData.outputToken.toBytes32(), exclusiveRelayer: relayData.exclusiveRelayer.toBytes32() });
|
|
67
45
|
if (chainIsSvm(destinationChainId)) {
|
|
68
|
-
return svm.getRelayDataHash(
|
|
46
|
+
return svm.getRelayDataHash(relayData, destinationChainId);
|
|
69
47
|
}
|
|
70
48
|
return keccak256(encodeAbiParameters(abi, [_relayData, destinationChainId]));
|
|
71
49
|
}
|
|
@@ -83,7 +61,7 @@ export function isUnsafeDepositId(depositId) {
|
|
|
83
61
|
}
|
|
84
62
|
// Determines if the input address (either a bytes32 or bytes20) is the zero address.
|
|
85
63
|
export function isZeroAddress(address) {
|
|
86
|
-
return address ===
|
|
64
|
+
return address.toBytes32() === ZERO_BYTES;
|
|
87
65
|
}
|
|
88
66
|
export function getMessageHash(message) {
|
|
89
67
|
return isMessageEmpty(message) ? ZERO_BYTES : keccak256(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAO,SAAS,EAAE,MAAM,MAAM,CAAC;AAC3D,OAAO,EAAE,oBAAoB,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BlockTag } from "@ethersproject/abstract-provider";
|
|
2
2
|
import { providers, Signer } from "ethers";
|
|
3
|
-
import {
|
|
3
|
+
import { L1TokenInfo, TokenInfo } 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<TokenInfo>;
|
|
7
7
|
export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: number) => {
|
|
8
8
|
[chainId: number]: string;
|
|
9
9
|
} | undefined;
|
|
@@ -14,7 +14,7 @@ export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: n
|
|
|
14
14
|
* @param chainId Chain ID to query on.
|
|
15
15
|
* @returns Symbol, decimals and contract address on the requested chain.
|
|
16
16
|
*/
|
|
17
|
-
export declare function resolveSymbolOnChain(chainId: number, symbol: string):
|
|
17
|
+
export declare function resolveSymbolOnChain(chainId: number, symbol: string): TokenInfo;
|
|
18
18
|
/**
|
|
19
19
|
* Returns the contract address for a given token symbol and chainId.
|
|
20
20
|
* @param symbol A case-insensitive token symbol.
|
|
@@ -296,12 +296,6 @@ export declare const resolveContractFromSymbol: (symbol: string, chainId: string
|
|
|
296
296
|
l1TokenDecimals: number;
|
|
297
297
|
coingeckoId: string;
|
|
298
298
|
};
|
|
299
|
-
/**
|
|
300
|
-
* Get the USDC symbol for the given token address and chain ID.
|
|
301
|
-
* @param l2Token A Web3 token address (not case sensitive)
|
|
302
|
-
* @param chainId A chain Id to reference
|
|
303
|
-
* @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
|
|
304
|
-
*/
|
|
305
299
|
USDT: {
|
|
306
300
|
name: string;
|
|
307
301
|
symbol: string;
|
|
@@ -717,12 +711,6 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
717
711
|
l1TokenDecimals: number;
|
|
718
712
|
coingeckoId: string;
|
|
719
713
|
};
|
|
720
|
-
/**
|
|
721
|
-
* Get the USDC symbol for the given token address and chain ID.
|
|
722
|
-
* @param l2Token A Web3 token address (not case sensitive)
|
|
723
|
-
* @param chainId A chain Id to reference
|
|
724
|
-
* @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
|
|
725
|
-
*/
|
|
726
714
|
USDT: {
|
|
727
715
|
name: string;
|
|
728
716
|
symbol: string;
|
|
@@ -842,7 +830,7 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
842
830
|
};
|
|
843
831
|
coingeckoId: string;
|
|
844
832
|
};
|
|
845
|
-
}):
|
|
833
|
+
}): L1TokenInfo;
|
|
846
834
|
/**
|
|
847
835
|
* Get the USDC symbol for the given token address and chain ID.
|
|
848
836
|
* @param l2Token A Web3 token address (not case sensitive)
|
|
@@ -2,7 +2,7 @@ import { __awaiter, __generator } from "tslib";
|
|
|
2
2
|
import { Contract } from "ethers";
|
|
3
3
|
import * as constants from "../constants";
|
|
4
4
|
import { ERC20__factory } from "../typechain";
|
|
5
|
-
import { getNetworkName, chainIsL1, chainIsProd
|
|
5
|
+
import { getNetworkName, chainIsL1, chainIsProd } from "./NetworkUtils";
|
|
6
6
|
import { isDefined } from "./TypeGuards";
|
|
7
7
|
import { compareAddressesSimple, toAddressType } from "./AddressUtils";
|
|
8
8
|
var TOKEN_SYMBOLS_MAP = constants.TOKEN_SYMBOLS_MAP, CHAIN_IDs = constants.CHAIN_IDs, TOKEN_EQUIVALENCE_REMAPPING = constants.TOKEN_EQUIVALENCE_REMAPPING;
|
|
@@ -16,7 +16,7 @@ export function fetchTokenInfo(address, signerOrProvider) {
|
|
|
16
16
|
return [4 /*yield*/, Promise.all([token.symbol(), token.decimals()])];
|
|
17
17
|
case 1:
|
|
18
18
|
_a = _b.sent(), symbol = _a[0], decimals = _a[1];
|
|
19
|
-
return [2 /*return*/, { address: address, symbol: symbol, decimals: decimals }];
|
|
19
|
+
return [2 /*return*/, { address: toAddressType(address, CHAIN_IDs.MAINNET), symbol: symbol, decimals: decimals }];
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
});
|
|
@@ -44,7 +44,7 @@ export function resolveSymbolOnChain(chainId, symbol) {
|
|
|
44
44
|
}
|
|
45
45
|
var decimals = token.decimals, addresses = token.addresses;
|
|
46
46
|
var address = addresses[chainId];
|
|
47
|
-
return { symbol: symbol, decimals: decimals, address: address };
|
|
47
|
+
return { symbol: symbol, decimals: decimals, address: toAddressType(address, chainId) };
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Returns the contract address for a given token symbol and chainId.
|
|
@@ -98,9 +98,7 @@ export function isStablecoin(tokenSymbol) {
|
|
|
98
98
|
export function getTokenInfo(l2TokenAddress, chainId, tokenMapping) {
|
|
99
99
|
var _a;
|
|
100
100
|
if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
|
|
101
|
-
var parsedAddress =
|
|
102
|
-
? toAddressType(l2TokenAddress).toBase58()
|
|
103
|
-
: toAddressType(l2TokenAddress).toEvmAddress();
|
|
101
|
+
var parsedAddress = toAddressType(l2TokenAddress, chainId).toNative();
|
|
104
102
|
// @dev This might give false positives if tokens on different networks have the same address. I'm not sure how
|
|
105
103
|
// to get around this...
|
|
106
104
|
var tokenObject = Object.values(tokenMapping).find(function (_a) {
|
|
@@ -115,7 +113,7 @@ export function getTokenInfo(l2TokenAddress, chainId, tokenMapping) {
|
|
|
115
113
|
tokenObject = tokenMapping[l1TokenSymbol];
|
|
116
114
|
}
|
|
117
115
|
return {
|
|
118
|
-
address: l2TokenAddress,
|
|
116
|
+
address: toAddressType(l2TokenAddress, chainId),
|
|
119
117
|
symbol: tokenObject.symbol,
|
|
120
118
|
decimals: tokenObject.decimals,
|
|
121
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenUtils.js","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAqB,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,
|
|
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 } from "../../utils";
|
|
3
|
+
import { EvmAddress, BigNumber, Address } from "../../utils";
|
|
4
4
|
type BlockTag = providers.BlockTag;
|
|
5
5
|
/**
|
|
6
6
|
* @param spokePool SpokePool Contract instance.
|
|
@@ -8,7 +8,11 @@ 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"
|
|
11
|
+
export declare function populateV3Relay(spokePool: Contract, deposit: Omit<Deposit, "messageHash" | "fromLiteChain" | "toLiteChain"> & {
|
|
12
|
+
recipient: EvmAddress;
|
|
13
|
+
outputToken: EvmAddress;
|
|
14
|
+
exclusiveRelayer: EvmAddress;
|
|
15
|
+
}, repaymentAddress: Address, repaymentChainId?: number): Promise<PopulatedTransaction>;
|
|
12
16
|
/**
|
|
13
17
|
* Retrieves the time from the SpokePool contract at a particular block.
|
|
14
18
|
* @returns The time at the specified block tag.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAA2B,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EACL,UAAU,EAEV,SAAS,EAYT,OAAO,EAER,MAAM,aAAa,CAAC;AAErB,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAEnC;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,GAAG,aAAa,CAAC,GAAG;IACxE,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,gBAAgB,EAAE,UAAU,CAAC;CAC9B,EACD,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,SAA6B,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CAoC/B;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7G;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQlG;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,GAAE,QAAmB,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CA8BrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgD7B;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAuDpC"}
|