@across-protocol/sdk 4.3.19 → 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/mocks/MockCachedSolanaRpcFactory.d.ts +2 -2
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +3 -3
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
- package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.d.ts +5 -0
- package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +21 -0
- package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/index.d.ts +1 -0
- package/dist/cjs/providers/mocks/index.js +1 -0
- package/dist/cjs/providers/mocks/index.js.map +1 -1
- package/dist/cjs/providers/solana/cachedRpcFactory.d.ts +4 -4
- package/dist/cjs/providers/solana/cachedRpcFactory.js +14 -14
- package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/index.d.ts +1 -0
- package/dist/cjs/providers/solana/index.js +1 -0
- package/dist/cjs/providers/solana/index.js.map +1 -1
- package/dist/cjs/providers/solana/retryRpcFactory.d.ts +14 -0
- package/dist/cjs/providers/solana/retryRpcFactory.js +88 -0
- package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -0
- 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/mocks/MockCachedSolanaRpcFactory.d.ts +2 -2
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +4 -4
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
- package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.d.ts +5 -0
- package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +20 -0
- package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/index.d.ts +1 -0
- package/dist/esm/providers/mocks/index.js +1 -0
- package/dist/esm/providers/mocks/index.js.map +1 -1
- package/dist/esm/providers/solana/cachedRpcFactory.d.ts +4 -4
- package/dist/esm/providers/solana/cachedRpcFactory.js +15 -15
- package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/index.d.ts +1 -0
- package/dist/esm/providers/solana/index.js +1 -0
- package/dist/esm/providers/solana/index.js.map +1 -1
- package/dist/esm/providers/solana/retryRpcFactory.d.ts +26 -0
- package/dist/esm/providers/solana/retryRpcFactory.js +105 -0
- package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -0
- 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/mocks/MockCachedSolanaRpcFactory.d.ts +2 -2
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -1
- package/dist/types/providers/mocks/MockRetrySolanaRpcFactory.d.ts +6 -0
- package/dist/types/providers/mocks/MockRetrySolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/index.d.ts +1 -0
- package/dist/types/providers/mocks/index.d.ts.map +1 -1
- package/dist/types/providers/solana/cachedRpcFactory.d.ts +4 -4
- package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -1
- package/dist/types/providers/solana/index.d.ts +1 -0
- package/dist/types/providers/solana/index.d.ts.map +1 -1
- package/dist/types/providers/solana/retryRpcFactory.d.ts +27 -0
- package/dist/types/providers/solana/retryRpcFactory.d.ts.map +1 -0
- 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 +2 -1
- package/src/arch/svm/SpokeUtils.ts +14 -3
- package/src/arch/svm/utils.ts +4 -4
- package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +5 -5
- package/src/providers/mocks/MockRetrySolanaRpcFactory.ts +16 -0
- package/src/providers/mocks/index.ts +1 -0
- package/src/providers/solana/cachedRpcFactory.ts +17 -17
- package/src/providers/solana/index.ts +1 -0
- package/src/providers/solana/retryRpcFactory.ts +97 -0
- 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,5 +1,6 @@
|
|
|
1
1
|
import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
|
|
2
|
-
import {
|
|
2
|
+
import { Mint } from "@solana-program/token";
|
|
3
|
+
import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
|
|
3
4
|
import { Logger } from "winston";
|
|
4
5
|
import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
5
6
|
import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
|
|
@@ -277,5 +278,6 @@ export declare function getCCTPV1ReceiveMessageTx(solanaClient: SVMProvider, sig
|
|
|
277
278
|
* @returns A list of executed transaction signatures.
|
|
278
279
|
*/
|
|
279
280
|
export declare function finalizeCCTPV1Messages(solanaClient: SVMProvider, attestedMessages: AttestedCCTPMessage[], signer: KeyPairSigner, simulate?: boolean, hubChainId?: number): Promise<string[]>;
|
|
281
|
+
export declare function getMintInfo(solanaClient: SVMProvider, mint: Address<string>, config?: FetchAccountConfig): Promise<Account<Mint, string>>;
|
|
280
282
|
export {};
|
|
281
283
|
//# sourceMappingURL=SpokeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAA8B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAuB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,OAAO,EACP,KAAK,UAAU,EACf,YAAY,EACZ,aAAa,EAcb,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CachedSolanaRpcFactory } from "..";
|
|
2
|
-
import {
|
|
2
|
+
import { MockRetrySolanaRpcFactory } from "./MockRetrySolanaRpcFactory";
|
|
3
3
|
export declare class MockCachedSolanaRpcFactory extends CachedSolanaRpcFactory {
|
|
4
|
-
constructor(
|
|
4
|
+
constructor(mockRetrySolanaRpcFactory: MockRetrySolanaRpcFactory, ...cachedConstructorParams: ConstructorParameters<typeof CachedSolanaRpcFactory>);
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=MockCachedSolanaRpcFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockCachedSolanaRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/mocks/MockCachedSolanaRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"MockCachedSolanaRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/mocks/MockCachedSolanaRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,qBAAa,0BAA2B,SAAQ,sBAAsB;gBAElE,yBAAyB,EAAE,yBAAyB,EACpD,GAAG,uBAAuB,EAAE,qBAAqB,CAAC,OAAO,sBAAsB,CAAC;CAOnF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RetrySolanaRpcFactory } from "..";
|
|
2
|
+
import { MockRateLimitedSolanaRpcFactory } from "./MockRateLimitedSolanaRpcFactory";
|
|
3
|
+
export declare class MockRetrySolanaRpcFactory extends RetrySolanaRpcFactory {
|
|
4
|
+
constructor(mockRateLimitedSolanaRpcFactory: MockRateLimitedSolanaRpcFactory, ...retryConstructorParams: ConstructorParameters<typeof RetrySolanaRpcFactory>);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=MockRetrySolanaRpcFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockRetrySolanaRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/mocks/MockRetrySolanaRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAGpF,qBAAa,yBAA0B,SAAQ,qBAAqB;gBAEhE,+BAA+B,EAAE,+BAA+B,EAChE,GAAG,sBAAsB,EAAE,qBAAqB,CAAC,OAAO,qBAAqB,CAAC;CAQjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { RpcTransport, RpcFromTransport, SolanaRpcApiFromTransport } from "@solana/kit";
|
|
2
2
|
import { CachingMechanismInterface } from "../../interfaces";
|
|
3
3
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
4
|
-
import {
|
|
4
|
+
import { RetrySolanaRpcFactory } from "./retryRpcFactory";
|
|
5
5
|
export declare class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
6
|
readonly redisClient?: CachingMechanismInterface | undefined;
|
|
7
7
|
readonly getTransactionCachePrefix: string;
|
|
8
|
-
protected
|
|
9
|
-
protected
|
|
10
|
-
constructor(providerCacheNamespace: string, redisClient?: CachingMechanismInterface | undefined, ...
|
|
8
|
+
protected retryTransport: RpcTransport;
|
|
9
|
+
protected retryRpcClient: RpcFromTransport<SolanaRpcApiFromTransport<RpcTransport>, RpcTransport>;
|
|
10
|
+
constructor(providerCacheNamespace: string, redisClient?: CachingMechanismInterface | undefined, ...retryConstructorParams: ConstructorParameters<typeof RetrySolanaRpcFactory>);
|
|
11
11
|
createTransport(): RpcTransport;
|
|
12
12
|
private requestAndCacheFinalized;
|
|
13
13
|
private buildRedisKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cachedRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/cachedRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG3G,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,qBAAa,sBAAuB,SAAQ,uBAAuB;IAW/D,QAAQ,CAAC,WAAW,CAAC;IAVvB,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAGlD,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC;IAGvC,SAAS,CAAC,cAAc,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;gBAGhG,sBAAsB,EAAE,MAAM,EACrB,WAAW,CAAC,uCAA2B,EAChD,GAAG,sBAAsB,EAAE,qBAAqB,CAAC,OAAO,qBAAqB,CAAC;IAmBzE,eAAe,IAAI,YAAY;YAwBxB,wBAAwB;IA4CtC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,sBAAsB;CAS/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/kit";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
3
|
+
import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
|
|
4
|
+
import { Logger } from "winston";
|
|
5
|
+
export declare class RetrySolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
6
|
+
readonly retries: number;
|
|
7
|
+
readonly retryDelaySeconds: number;
|
|
8
|
+
protected rateLimitedTransport: RpcTransport;
|
|
9
|
+
protected logger: Logger;
|
|
10
|
+
constructor(retries: number, retryDelaySeconds: number, ...rateLimitedConstructorParams: ConstructorParameters<typeof RateLimitedSolanaRpcFactory>);
|
|
11
|
+
createTransport(): RpcTransport;
|
|
12
|
+
/**
|
|
13
|
+
* Retry wrapper for transport calls with Solana-specific error handling.
|
|
14
|
+
* @param transportCall Function that makes the transport call
|
|
15
|
+
* @param args Original transport arguments for logging
|
|
16
|
+
* @returns Promise that resolves to the transport response
|
|
17
|
+
*/
|
|
18
|
+
private _tryCall;
|
|
19
|
+
/**
|
|
20
|
+
* Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
|
|
21
|
+
* @param method RPC method name
|
|
22
|
+
* @param error Error object from the RPC call
|
|
23
|
+
* @returns True if the request should be aborted immediately, otherwise false
|
|
24
|
+
*/
|
|
25
|
+
private shouldFailImmediate;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=retryRpcFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryRpcFactory.d.ts","sourceRoot":"","sources":["../../../../src/providers/solana/retryRpcFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,qBAAa,qBAAsB,SAAQ,uBAAuB;IAO9D,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IANpC,SAAS,CAAC,oBAAoB,EAAE,YAAY,CAAC;IAE7C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGd,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAClC,GAAG,4BAA4B,EAAE,qBAAqB,CAAC,OAAO,2BAA2B,CAAC;IAuBrF,eAAe,IAAI,YAAY;IAMtC;;;;;OAKG;YACW,QAAQ;IAgCtB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;CAK5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/providers/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAepD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,WAAW,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,YAAsB,GAChC,MAAM,CAIR;AAmBD,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAOT;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAOnH;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/providers/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAepD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,WAAW,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,YAAsB,GAChC,MAAM,CAIR;AAmBD,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAOT;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAOnH;AA4BD;;GAEG;AACH,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAInC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,YAAY,EAAE,MAAM,UAElG;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAG7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAkBnG;AAED,oBAAY,SAAS;IACnB,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,oBAAoB,IAAA;CACrB"}
|
|
@@ -12,6 +12,11 @@ export declare const bnZero: BigNumber;
|
|
|
12
12
|
export declare const bnOne: BigNumber;
|
|
13
13
|
export declare const bnUint32Max: BigNumber;
|
|
14
14
|
export declare const bnUint256Max: BigNumber;
|
|
15
|
+
/**
|
|
16
|
+
* BigInt min/max helpers.
|
|
17
|
+
*/
|
|
18
|
+
export declare const biMin: (a: bigint, b: bigint) => bigint;
|
|
19
|
+
export declare const biMax: (a: bigint, b: bigint) => bigint;
|
|
15
20
|
/**
|
|
16
21
|
* Converts a stringified number into a BigNumber with 18 decimal places.
|
|
17
22
|
* @param num The number to parse.
|
|
@@ -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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@across-protocol/sdk",
|
|
3
3
|
"author": "UMA Team",
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.22",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"homepage": "https://docs.across.to/reference/sdk",
|
|
7
7
|
"files": [
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
"arlocal": "^1.1.65",
|
|
73
73
|
"chai": "^4.3.8",
|
|
74
74
|
"chai-exclude": "^2.1.0",
|
|
75
|
+
"commander": "^14.0.0",
|
|
75
76
|
"concurrently": "^9.1.2",
|
|
76
77
|
"dotenv": "^16.0.0",
|
|
77
78
|
"eslint": "^8.49.0",
|
|
@@ -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)) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { CachedSolanaRpcFactory } from "..";
|
|
2
|
-
import {
|
|
2
|
+
import { MockRetrySolanaRpcFactory } from "./MockRetrySolanaRpcFactory";
|
|
3
3
|
|
|
4
|
-
// Creates mocked cached Solana RPC factory by using the mocked Solana RPC factory.
|
|
4
|
+
// Creates mocked cached Solana RPC factory by using the mocked retry Solana RPC factory.
|
|
5
5
|
export class MockCachedSolanaRpcFactory extends CachedSolanaRpcFactory {
|
|
6
6
|
constructor(
|
|
7
|
-
|
|
7
|
+
mockRetrySolanaRpcFactory: MockRetrySolanaRpcFactory,
|
|
8
8
|
...cachedConstructorParams: ConstructorParameters<typeof CachedSolanaRpcFactory>
|
|
9
9
|
) {
|
|
10
10
|
super(...cachedConstructorParams);
|
|
11
11
|
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
12
|
+
this.retryTransport = mockRetrySolanaRpcFactory.createTransport();
|
|
13
|
+
this.retryRpcClient = mockRetrySolanaRpcFactory.createRpcClient();
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RetrySolanaRpcFactory } from "..";
|
|
2
|
+
import { MockRateLimitedSolanaRpcFactory } from "./MockRateLimitedSolanaRpcFactory";
|
|
3
|
+
|
|
4
|
+
// Creates mocked retry Solana RPC factory by using the mocked rate limited Solana RPC factory.
|
|
5
|
+
export class MockRetrySolanaRpcFactory extends RetrySolanaRpcFactory {
|
|
6
|
+
constructor(
|
|
7
|
+
mockRateLimitedSolanaRpcFactory: MockRateLimitedSolanaRpcFactory,
|
|
8
|
+
...retryConstructorParams: ConstructorParameters<typeof RetrySolanaRpcFactory>
|
|
9
|
+
) {
|
|
10
|
+
super(...retryConstructorParams);
|
|
11
|
+
|
|
12
|
+
// Use the mock rate limited transport instead of creating a real one
|
|
13
|
+
this.rateLimitedTransport = mockRateLimitedSolanaRpcFactory.createTransport();
|
|
14
|
+
this.logger = mockRateLimitedSolanaRpcFactory.logger;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -3,35 +3,35 @@ import { getThrowSolanaErrorResponseTransformer } from "@solana/rpc-transformers
|
|
|
3
3
|
import { is, object, optional, string, tuple } from "superstruct";
|
|
4
4
|
import { CachingMechanismInterface } from "../../interfaces";
|
|
5
5
|
import { SolanaClusterRpcFactory } from "./baseRpcFactories";
|
|
6
|
-
import { RateLimitedSolanaRpcFactory } from "./rateLimitedRpcFactory";
|
|
7
6
|
import { CacheType } from "../utils";
|
|
8
7
|
import { jsonReplacerWithBigInts, jsonReviverWithBigInts } from "../../utils";
|
|
8
|
+
import { RetrySolanaRpcFactory } from "./retryRpcFactory";
|
|
9
9
|
|
|
10
10
|
export class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
11
11
|
public readonly getTransactionCachePrefix: string;
|
|
12
12
|
|
|
13
13
|
// Holds the underlying transport that the cached transport wraps.
|
|
14
|
-
protected
|
|
14
|
+
protected retryTransport: RpcTransport;
|
|
15
15
|
|
|
16
|
-
// RPC client based on the
|
|
17
|
-
protected
|
|
16
|
+
// RPC client based on the retry transport, used internally to check confirmation status.
|
|
17
|
+
protected retryRpcClient: RpcFromTransport<SolanaRpcApiFromTransport<RpcTransport>, RpcTransport>;
|
|
18
18
|
|
|
19
19
|
constructor(
|
|
20
20
|
providerCacheNamespace: string,
|
|
21
21
|
readonly redisClient?: CachingMechanismInterface,
|
|
22
|
-
...
|
|
22
|
+
...retryConstructorParams: ConstructorParameters<typeof RetrySolanaRpcFactory>
|
|
23
23
|
) {
|
|
24
|
-
// SolanaClusterRpcFactory shares the last two constructor parameters with
|
|
25
|
-
const superParams =
|
|
24
|
+
// SolanaClusterRpcFactory shares the last two constructor parameters with RetryRpcFactory.
|
|
25
|
+
const superParams = retryConstructorParams.slice(-2) as [
|
|
26
26
|
ConstructorParameters<typeof SolanaClusterRpcFactory>[0], // clusterUrl: ClusterUrl
|
|
27
27
|
ConstructorParameters<typeof SolanaClusterRpcFactory>[1], // chainId: number
|
|
28
28
|
];
|
|
29
29
|
super(...superParams);
|
|
30
30
|
|
|
31
31
|
// Create the rate limited transport and RPC client.
|
|
32
|
-
const
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
32
|
+
const retryRpcFactory = new RetrySolanaRpcFactory(...retryConstructorParams);
|
|
33
|
+
this.retryTransport = retryRpcFactory.createTransport();
|
|
34
|
+
this.retryRpcClient = retryRpcFactory.createRpcClient();
|
|
35
35
|
|
|
36
36
|
// Pre-compute as much of the redis key as possible.
|
|
37
37
|
const cachePrefix = `${providerCacheNamespace},${new URL(this.clusterUrl).hostname},${this.chainId}`;
|
|
@@ -44,7 +44,7 @@ export class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
|
44
44
|
const cacheType = this.redisClient ? this.cacheType(method) : CacheType.NONE;
|
|
45
45
|
|
|
46
46
|
if (cacheType === CacheType.NONE) {
|
|
47
|
-
return this.
|
|
47
|
+
return this.retryTransport<TResponse>(...args);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
const redisKey = this.buildRedisKey(method, params);
|
|
@@ -66,27 +66,27 @@ export class CachedSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
|
66
66
|
const { method, params } = args[0].payload as { method: string; params?: unknown[] };
|
|
67
67
|
|
|
68
68
|
// Only handles getTransaction right now.
|
|
69
|
-
if (method !== "getTransaction") return this.
|
|
69
|
+
if (method !== "getTransaction") return this.retryTransport<TResponse>(...args);
|
|
70
70
|
|
|
71
71
|
// Do not throw if params are not valid, just skip caching and pass through to the underlying transport.
|
|
72
|
-
if (!this.isGetTransactionParams(params)) return this.
|
|
72
|
+
if (!this.isGetTransactionParams(params)) return this.retryTransport<TResponse>(...args);
|
|
73
73
|
|
|
74
74
|
// Check the confirmation status first to avoid caching non-finalized transactions. In case of null or errors just
|
|
75
75
|
// skip caching and pass through to the underlying transport.
|
|
76
76
|
try {
|
|
77
|
-
const getSignatureStatusesResponse = await this.
|
|
77
|
+
const getSignatureStatusesResponse = await this.retryRpcClient
|
|
78
78
|
.getSignatureStatuses([params[0]], {
|
|
79
79
|
searchTransactionHistory: true,
|
|
80
80
|
})
|
|
81
81
|
.send();
|
|
82
82
|
if (getSignatureStatusesResponse.value[0]?.confirmationStatus !== "finalized") {
|
|
83
|
-
return this.
|
|
83
|
+
return this.retryTransport<TResponse>(...args);
|
|
84
84
|
}
|
|
85
85
|
} catch (error) {
|
|
86
|
-
return this.
|
|
86
|
+
return this.retryTransport<TResponse>(...args);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const getTransactionResponse = await this.
|
|
89
|
+
const getTransactionResponse = await this.retryTransport<TResponse>(...args);
|
|
90
90
|
|
|
91
91
|
// Do not cache JSON-RPC error responses, let them pass through for the RPC client to handle.
|
|
92
92
|
try {
|