@across-protocol/sdk 4.3.20 → 4.3.22
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 +3 -1
- package/dist/cjs/arch/svm/SpokeUtils.js +15 -4
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.js +6 -5
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/providers/utils.js +2 -0
- package/dist/cjs/providers/utils.js.map +1 -1
- package/dist/cjs/utils/BigNumberUtils.d.ts +2 -0
- package/dist/cjs/utils/BigNumberUtils.js +5 -1
- package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +2 -0
- package/dist/cjs/utils/DepositUtils.js +9 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +1 -1
- package/dist/cjs/utils/TokenUtils.js +1 -1
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +3 -1
- package/dist/esm/arch/svm/SpokeUtils.js +13 -3
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.js +7 -6
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/providers/utils.js +4 -1
- package/dist/esm/providers/utils.js.map +1 -1
- package/dist/esm/utils/BigNumberUtils.d.ts +5 -0
- package/dist/esm/utils/BigNumberUtils.js +5 -0
- package/dist/esm/utils/BigNumberUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +16 -2
- package/dist/esm/utils/DepositUtils.js +20 -2
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +3 -23
- package/dist/esm/utils/TokenUtils.js +1 -1
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +3 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/providers/utils.d.ts.map +1 -1
- package/dist/types/utils/BigNumberUtils.d.ts +5 -0
- package/dist/types/utils/BigNumberUtils.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +16 -2
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +3 -23
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/SpokeUtils.ts +14 -3
- package/src/arch/svm/utils.ts +4 -4
- package/src/providers/utils.ts +3 -0
- package/src/utils/BigNumberUtils.ts +6 -0
- package/src/utils/DepositUtils.ts +41 -2
- package/src/utils/TokenUtils.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigNumberUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGnE,cAAc,0BAA0B,CAAC;AACzC,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC;AAE3B,eAAO,MAAQ,WAAW,kCAAE,WAAW,kCAAE,UAAU,iCAAE,UAAU,+BAAgB,CAAC;AAChF,eAAO,MAAM,MAAM,WAAsB,CAAC;AAC1C,eAAO,MAAM,KAAK,WAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,WAA+B,CAAC;AACxD,eAAO,MAAM,YAAY,WAAuF,CAAC;AAEjH;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,CAE5C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,QAAS,YAAY,aAAY,OAAO,GAAG,OAAO,GAAG,MAAM,KAAa,EAgBxF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,QAAS,SAAS,OAAO,SAAS,cAEnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"BigNumberUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGnE,cAAc,0BAA0B,CAAC;AACzC,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC;AAE3B,eAAO,MAAQ,WAAW,kCAAE,WAAW,kCAAE,UAAU,iCAAE,UAAU,+BAAgB,CAAC;AAChF,eAAO,MAAM,MAAM,WAAsB,CAAC;AAC1C,eAAO,MAAM,KAAK,WAAsB,CAAC;AACzC,eAAO,MAAM,WAAW,WAA+B,CAAC;AACxD,eAAO,MAAM,YAAY,WAAuF,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,KAAK,MAAO,MAAM,KAAK,MAAM,WAAoB,CAAC;AAC/D,eAAO,MAAM,KAAK,MAAO,MAAM,KAAK,MAAM,WAAoB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,EAAE,CAE5C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,QAAS,YAAY,aAAY,OAAO,GAAG,OAAO,GAAG,MAAM,KAAa,EAgBxF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,QAAS,SAAS,OAAO,SAAS,cAEnD,CAAC"}
|
|
@@ -81,14 +81,28 @@ export declare function resolveDepositMessage(deposit: Deposit): string;
|
|
|
81
81
|
* Converts a RelayData object with `Address` types as address fields to a `RelayData`-like object with
|
|
82
82
|
* strings as address fields.
|
|
83
83
|
* @param relayData RelayData type.
|
|
84
|
-
* @returns a RelayData-like type which has strings as fields.
|
|
84
|
+
* @returns a RelayData-like type which has hex 32 byte strings as fields.
|
|
85
85
|
*/
|
|
86
86
|
export declare function convertRelayDataParamsToBytes32(relayData: RelayData): ConvertedRelayData;
|
|
87
87
|
/**
|
|
88
88
|
* Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
|
|
89
89
|
* strings as address fields.
|
|
90
90
|
* @param relayData RelayData type.
|
|
91
|
-
* @returns a RelayData-like type which has strings as fields.
|
|
91
|
+
* @returns a RelayData-like type which has hex 32 byte strings as fields.
|
|
92
92
|
*/
|
|
93
93
|
export declare function convertFillParamsToBytes32(fill: Fill): ConvertedFill;
|
|
94
|
+
/**
|
|
95
|
+
* Converts a RelayData object with `Address` types as address fields to a `RelayData`-like object with
|
|
96
|
+
* strings as address fields.
|
|
97
|
+
* @param relayData RelayData type.
|
|
98
|
+
* @returns a RelayData-like type which has native address representation strings as fields.
|
|
99
|
+
*/
|
|
100
|
+
export declare function convertRelayDataParamsToNative(relayData: RelayData): ConvertedRelayData;
|
|
101
|
+
/**
|
|
102
|
+
* Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
|
|
103
|
+
* strings as address fields.
|
|
104
|
+
* @param relayData RelayData type.
|
|
105
|
+
* @returns a RelayData-like type which has native address representation strings as fields.
|
|
106
|
+
*/
|
|
107
|
+
export declare function convertFillParamsToNative(fill: Fill): ConvertedFill;
|
|
94
108
|
//# sourceMappingURL=DepositUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,yBAAyB,EACzB,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACd,MAAM,eAAe,CAAC;AAavB,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AAEH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkF9B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GACrF,MAAM,CAkBR;AAoBD,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,EAC3F,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC,GAC1E;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE/F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,OAAO,CAGnF;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB,CASxF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAcpE"}
|
|
1
|
+
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,yBAAyB,EACzB,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACd,MAAM,eAAe,CAAC;AAavB,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AAEH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkF9B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GACrF,MAAM,CAkBR;AAoBD,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,EAC3F,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC,GAC1E;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE/F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,OAAO,CAGnF;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB,CASxF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAcpE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB,CASvF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAcnE"}
|
|
@@ -23,7 +23,7 @@ export declare function resolveSymbolOnChain(chainId: number, symbol: string): T
|
|
|
23
23
|
* @param tokenMapping A parameter to determine where to source token information. Defaults to the constants variant.
|
|
24
24
|
* @returns The contract address for the given token symbol and chainId, or undefined if the token symbol is not supported.
|
|
25
25
|
*/
|
|
26
|
-
export declare const resolveContractFromSymbol: (symbol: string, chainId:
|
|
26
|
+
export declare const resolveContractFromSymbol: (symbol: string, chainId: number, tokenMapping?: {
|
|
27
27
|
ACX: {
|
|
28
28
|
name: string;
|
|
29
29
|
symbol: string;
|
|
@@ -181,14 +181,6 @@ export declare const resolveContractFromSymbol: (symbol: string, chainId: string
|
|
|
181
181
|
name: string;
|
|
182
182
|
symbol: string;
|
|
183
183
|
decimals: number;
|
|
184
|
-
/**
|
|
185
|
-
* Retrieves the ERC20 balance for a given address and token address.
|
|
186
|
-
* @param address The address to retrieve the balance for.
|
|
187
|
-
* @param tokenAddress The token address
|
|
188
|
-
* @param signerOrProvider A valid ethers.js Signer or Provider object.
|
|
189
|
-
* @param blockTag The block tag to retrieve the balance at.
|
|
190
|
-
* @returns The balance of the given address for the given token address.
|
|
191
|
-
*/
|
|
192
184
|
addresses: {
|
|
193
185
|
[x: number]: string;
|
|
194
186
|
};
|
|
@@ -332,9 +324,7 @@ export declare const resolveContractFromSymbol: (symbol: string, chainId: string
|
|
|
332
324
|
[x: number]: string;
|
|
333
325
|
};
|
|
334
326
|
coingeckoId: string;
|
|
335
|
-
};
|
|
336
|
-
* @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
|
|
337
|
-
*/
|
|
327
|
+
};
|
|
338
328
|
WAZERO: {
|
|
339
329
|
name: string;
|
|
340
330
|
symbol: string;
|
|
@@ -606,14 +596,6 @@ export declare function getTokenInfo(l2Token: Address, chainId: number, tokenMap
|
|
|
606
596
|
name: string;
|
|
607
597
|
symbol: string;
|
|
608
598
|
decimals: number;
|
|
609
|
-
/**
|
|
610
|
-
* Retrieves the ERC20 balance for a given address and token address.
|
|
611
|
-
* @param address The address to retrieve the balance for.
|
|
612
|
-
* @param tokenAddress The token address
|
|
613
|
-
* @param signerOrProvider A valid ethers.js Signer or Provider object.
|
|
614
|
-
* @param blockTag The block tag to retrieve the balance at.
|
|
615
|
-
* @returns The balance of the given address for the given token address.
|
|
616
|
-
*/
|
|
617
599
|
addresses: {
|
|
618
600
|
[x: number]: string;
|
|
619
601
|
};
|
|
@@ -757,9 +739,7 @@ export declare function getTokenInfo(l2Token: Address, chainId: number, tokenMap
|
|
|
757
739
|
[x: number]: string;
|
|
758
740
|
};
|
|
759
741
|
coingeckoId: string;
|
|
760
|
-
};
|
|
761
|
-
* @notice Returns the l1 token address matching the given l2TokenAddress and chainId.
|
|
762
|
-
*/
|
|
742
|
+
};
|
|
763
743
|
WAZERO: {
|
|
764
744
|
name: string;
|
|
765
745
|
symbol: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAGpE,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAI9G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAa/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM
|
|
1
|
+
{"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,14 +5,17 @@ import { intToU8Array32 } from "@across-protocol/contracts/dist/src/svm/web3-v1/
|
|
|
5
5
|
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
6
6
|
import {
|
|
7
7
|
ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
8
|
+
Mint,
|
|
8
9
|
TOKEN_PROGRAM_ADDRESS,
|
|
9
10
|
fetchMint,
|
|
10
11
|
getApproveCheckedInstruction,
|
|
11
12
|
getCreateAssociatedTokenIdempotentInstruction,
|
|
12
13
|
} from "@solana-program/token";
|
|
13
14
|
import {
|
|
15
|
+
Account,
|
|
14
16
|
AccountRole,
|
|
15
17
|
Address,
|
|
18
|
+
FetchAccountConfig,
|
|
16
19
|
IAccountMeta,
|
|
17
20
|
KeyPairSigner,
|
|
18
21
|
ReadonlyUint8Array,
|
|
@@ -555,7 +558,7 @@ export async function getFillRelayTx(
|
|
|
555
558
|
]);
|
|
556
559
|
|
|
557
560
|
const mint = toAddress(outputToken);
|
|
558
|
-
const mintInfo = await
|
|
561
|
+
const mintInfo = await getMintInfo(solanaClient, mint);
|
|
559
562
|
|
|
560
563
|
const [recipientAta, relayerAta, fillStatus, eventAuthority] = await Promise.all([
|
|
561
564
|
getAssociatedTokenAddress(recipient, outputToken, mintInfo.programAddress),
|
|
@@ -618,7 +621,7 @@ export const createFillInstruction = async (
|
|
|
618
621
|
tokenDecimals: number,
|
|
619
622
|
createRecipientAtaIfNeeded: boolean = true
|
|
620
623
|
) => {
|
|
621
|
-
const mintInfo = await
|
|
624
|
+
const mintInfo = await getMintInfo(solanaClient, fillInput.mint);
|
|
622
625
|
const approveIx = getApproveCheckedInstruction(
|
|
623
626
|
{
|
|
624
627
|
source: fillInput.relayerTokenAccount,
|
|
@@ -679,7 +682,7 @@ export const createDepositInstruction = async (
|
|
|
679
682
|
systemProgram: depositInput.systemProgram,
|
|
680
683
|
tokenProgram: depositInput.tokenProgram,
|
|
681
684
|
});
|
|
682
|
-
const mintInfo = await
|
|
685
|
+
const mintInfo = await getMintInfo(solanaClient, depositInput.mint);
|
|
683
686
|
const approveIx = getApproveCheckedInstruction(
|
|
684
687
|
{
|
|
685
688
|
source: depositInput.depositorTokenAccount,
|
|
@@ -1315,3 +1318,11 @@ export function finalizeCCTPV1Messages(
|
|
|
1315
1318
|
return signature;
|
|
1316
1319
|
});
|
|
1317
1320
|
}
|
|
1321
|
+
|
|
1322
|
+
export async function getMintInfo(
|
|
1323
|
+
solanaClient: SVMProvider,
|
|
1324
|
+
mint: Address<string>,
|
|
1325
|
+
config?: FetchAccountConfig
|
|
1326
|
+
): Promise<Account<Mint, string>> {
|
|
1327
|
+
return await fetchMint(solanaClient, mint, config);
|
|
1328
|
+
}
|
package/src/arch/svm/utils.ts
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
import bs58 from "bs58";
|
|
25
25
|
import { ethers } from "ethers";
|
|
26
26
|
import { FillType, RelayData } from "../../interfaces";
|
|
27
|
-
import { BigNumber, Address as SdkAddress, getRelayDataHash, isDefined, isUint8Array } from "../../utils";
|
|
27
|
+
import { BigNumber, biMin, Address as SdkAddress, getRelayDataHash, isDefined, isUint8Array } from "../../utils";
|
|
28
28
|
import { AttestedCCTPMessage, EventName, SVMEventNames, SVMProvider } from "./types";
|
|
29
29
|
import { getTimestampForSlot } from "./SpokeUtils";
|
|
30
30
|
|
|
@@ -90,11 +90,11 @@ export async function getLatestFinalizedSlotWithBlock(
|
|
|
90
90
|
maxSlot: bigint,
|
|
91
91
|
maxLookback = 1000
|
|
92
92
|
): Promise<number> {
|
|
93
|
-
const { slot: finalizedSlot } = await getNearestSlotTime(provider, { commitment: "finalized" });
|
|
94
|
-
const endSlot = Math.min(Number(maxSlot), Number(finalizedSlot));
|
|
95
93
|
const opts = { maxSupportedTransactionVersion: 0, transactionDetails: "none", rewards: false } as const;
|
|
94
|
+
const { slot: finalizedSlot } = await getNearestSlotTime(provider, { commitment: "finalized" });
|
|
95
|
+
const endSlot = biMin(maxSlot, finalizedSlot);
|
|
96
96
|
|
|
97
|
-
let slot =
|
|
97
|
+
let slot = endSlot;
|
|
98
98
|
do {
|
|
99
99
|
const block = await provider.getBlock(slot, opts).send();
|
|
100
100
|
if (isDefined(block) && [block.blockHeight, block.blockTime].every(isDefined)) {
|
package/src/providers/utils.ts
CHANGED
|
@@ -96,14 +96,17 @@ const IGNORED_FIELDS = {
|
|
|
96
96
|
// 2023-08-31 Added blockHash because of upstream zkSync provider disagreements. Consider removing later.
|
|
97
97
|
// 2024-05-07 Added l1BatchNumber and logType due to Alchemy. Consider removing later.
|
|
98
98
|
// 2024-07-11 Added blockTimestamp after zkSync rolled out a new node release.
|
|
99
|
+
// 2025-07-24 Added additional fields returned by Chainstack on (at least) Polygon.
|
|
99
100
|
eth_getBlockByNumber: [
|
|
100
101
|
"miner", // polygon (sometimes)
|
|
101
102
|
"l1BatchNumber", // zkSync
|
|
102
103
|
"l1BatchTimestamp", // zkSync
|
|
104
|
+
"requestsHash", // Chainstack (Polygon)
|
|
103
105
|
"size", // Alchemy/Arbitrum (temporary)
|
|
104
106
|
"totalDifficulty", // Quicknode/Alchemy (sometimes)
|
|
105
107
|
"logsBloom", // zkSync (third-party providers return 0x0..0)
|
|
106
108
|
"transactions", // Polygon yParity field in transactions[]
|
|
109
|
+
"withdrawals", // Chainstack (Polygon)
|
|
107
110
|
],
|
|
108
111
|
eth_getLogs: ["blockTimestamp", "transactionLogIndex", "l1BatchNumber", "logType"],
|
|
109
112
|
};
|
|
@@ -19,6 +19,12 @@ export const bnOne = BigNumber.from("1");
|
|
|
19
19
|
export const bnUint32Max = BigNumber.from("0xffffffff");
|
|
20
20
|
export const bnUint256Max = BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* BigInt min/max helpers.
|
|
24
|
+
*/
|
|
25
|
+
export const biMin = (a: bigint, b: bigint) => (a > b ? b : a);
|
|
26
|
+
export const biMax = (a: bigint, b: bigint) => (a > b ? a : b);
|
|
27
|
+
|
|
22
28
|
/**
|
|
23
29
|
* Converts a stringified number into a BigNumber with 18 decimal places.
|
|
24
30
|
* @param num The number to parse.
|
|
@@ -265,7 +265,7 @@ export function resolveDepositMessage(deposit: Deposit): string {
|
|
|
265
265
|
* Converts a RelayData object with `Address` types as address fields to a `RelayData`-like object with
|
|
266
266
|
* strings as address fields.
|
|
267
267
|
* @param relayData RelayData type.
|
|
268
|
-
* @returns a RelayData-like type which has strings as fields.
|
|
268
|
+
* @returns a RelayData-like type which has hex 32 byte strings as fields.
|
|
269
269
|
*/
|
|
270
270
|
export function convertRelayDataParamsToBytes32(relayData: RelayData): ConvertedRelayData {
|
|
271
271
|
return {
|
|
@@ -282,7 +282,7 @@ export function convertRelayDataParamsToBytes32(relayData: RelayData): Converted
|
|
|
282
282
|
* Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
|
|
283
283
|
* strings as address fields.
|
|
284
284
|
* @param relayData RelayData type.
|
|
285
|
-
* @returns a RelayData-like type which has strings as fields.
|
|
285
|
+
* @returns a RelayData-like type which has hex 32 byte strings as fields.
|
|
286
286
|
*/
|
|
287
287
|
export function convertFillParamsToBytes32(fill: Fill): ConvertedFill {
|
|
288
288
|
return {
|
|
@@ -299,3 +299,42 @@ export function convertFillParamsToBytes32(fill: Fill): ConvertedFill {
|
|
|
299
299
|
},
|
|
300
300
|
};
|
|
301
301
|
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Converts a RelayData object with `Address` types as address fields to a `RelayData`-like object with
|
|
305
|
+
* strings as address fields.
|
|
306
|
+
* @param relayData RelayData type.
|
|
307
|
+
* @returns a RelayData-like type which has native address representation strings as fields.
|
|
308
|
+
*/
|
|
309
|
+
export function convertRelayDataParamsToNative(relayData: RelayData): ConvertedRelayData {
|
|
310
|
+
return {
|
|
311
|
+
...relayData,
|
|
312
|
+
depositor: relayData.depositor.toNative(),
|
|
313
|
+
recipient: relayData.recipient.toNative(),
|
|
314
|
+
inputToken: relayData.inputToken.toNative(),
|
|
315
|
+
outputToken: relayData.outputToken.toNative(),
|
|
316
|
+
exclusiveRelayer: relayData.exclusiveRelayer.toNative(),
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Converts a Fill object with `Address` types as address fields to a `RelayData`-like object with
|
|
322
|
+
* strings as address fields.
|
|
323
|
+
* @param relayData RelayData type.
|
|
324
|
+
* @returns a RelayData-like type which has native address representation strings as fields.
|
|
325
|
+
*/
|
|
326
|
+
export function convertFillParamsToNative(fill: Fill): ConvertedFill {
|
|
327
|
+
return {
|
|
328
|
+
...fill,
|
|
329
|
+
depositor: fill.depositor.toNative(),
|
|
330
|
+
recipient: fill.recipient.toNative(),
|
|
331
|
+
inputToken: fill.inputToken.toNative(),
|
|
332
|
+
outputToken: fill.outputToken.toNative(),
|
|
333
|
+
exclusiveRelayer: fill.exclusiveRelayer.toNative(),
|
|
334
|
+
relayer: fill.relayer.toNative(),
|
|
335
|
+
relayExecutionInfo: {
|
|
336
|
+
...fill.relayExecutionInfo,
|
|
337
|
+
updatedRecipient: fill.relayExecutionInfo.updatedRecipient.toNative(),
|
|
338
|
+
},
|
|
339
|
+
};
|
|
340
|
+
}
|
package/src/utils/TokenUtils.ts
CHANGED
|
@@ -58,12 +58,12 @@ export function resolveSymbolOnChain(chainId: number, symbol: string): TokenInfo
|
|
|
58
58
|
*/
|
|
59
59
|
export const resolveContractFromSymbol = (
|
|
60
60
|
symbol: string,
|
|
61
|
-
chainId:
|
|
61
|
+
chainId: number,
|
|
62
62
|
tokenMapping = TOKEN_SYMBOLS_MAP
|
|
63
63
|
): string | undefined => {
|
|
64
64
|
return Object.values(tokenMapping).find((details) => {
|
|
65
65
|
return details.symbol.toLowerCase() === symbol.toLowerCase();
|
|
66
|
-
})?.addresses[
|
|
66
|
+
})?.addresses[chainId];
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
export function getCoingeckoTokenIdByAddress(address: string, chainId: number): string {
|