@debridge-finance/solana-utils 2.2.0 → 2.4.0
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/browser/index.js +15856 -277
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/accounts.js +35 -32
- package/dist/cjs/accounts.js.map +1 -1
- package/dist/cjs/crypto.js.map +1 -1
- package/dist/cjs/helpers.js +30 -12
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/spl.js +253 -0
- package/dist/cjs/spl.js.map +1 -0
- package/dist/esm/accounts.js +34 -34
- package/dist/esm/accounts.js.map +1 -1
- package/dist/esm/crypto.js.map +1 -1
- package/dist/esm/helpers.js +31 -13
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/spl.js +254 -0
- package/dist/esm/spl.js.map +1 -0
- package/dist/types/accounts.d.ts +34 -31
- package/dist/types/accounts.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +2 -2
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/spl.d.ts +117 -0
- package/dist/types/spl.d.ts.map +1 -0
- package/package.json +3 -1
package/dist/types/accounts.d.ts
CHANGED
|
@@ -5,9 +5,12 @@ export declare const TOKEN_METADATA_PROGRAM_ID: PublicKey;
|
|
|
5
5
|
export declare const TOKEN_PROGRAM_ID: PublicKey;
|
|
6
6
|
export declare const ASSOCIATED_TOKEN_PROGRAM_ID: PublicKey;
|
|
7
7
|
export declare const WRAPPED_SOL_MINT: PublicKey;
|
|
8
|
-
export declare function findAssociatedTokenAddress(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey):
|
|
8
|
+
export declare function findAssociatedTokenAddress(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): [PublicKey, number];
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated same as findAssociatedTokenAddress
|
|
11
|
+
*/
|
|
9
12
|
export declare function findAssociatedTokenAddressSync(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): [PublicKey, number];
|
|
10
|
-
export declare function getTokenMetadataAddress(tokenMint: PublicKey, tokenMetedataProgramId: PublicKey):
|
|
13
|
+
export declare function getTokenMetadataAddress(tokenMint: PublicKey, tokenMetedataProgramId: PublicKey): [PublicKey, number];
|
|
11
14
|
declare type Head<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
|
|
12
15
|
declare type EmptyTuple = [];
|
|
13
16
|
declare type OmitLastParam<F> = F extends (...args: infer P) => infer Ret ? Head<P> extends EmptyTuple ? () => Ret : (...args: Head<P>) => Ret : never;
|
|
@@ -30,40 +33,40 @@ declare class ResolverContainer2<R1 extends Resolver<FnContainer>, R2 extends Re
|
|
|
30
33
|
constructor(resolver1: R1, resolver2: R2);
|
|
31
34
|
}
|
|
32
35
|
export declare const DeBridgeResolver: (programId: SolanaPubkey, settingsProgramId: SolanaPubkey) => ResolverContainer2<Resolver<{
|
|
33
|
-
getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
34
|
-
getExternalCallStorageAddress: (submissionId: Buffer, executorPubkey: SolanaPubkey, sourceChainId: BNable, DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
35
|
-
getExternalCallMetaAddress: (externalCallStorage: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
36
|
-
getNonceAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
37
|
-
getSubmissionAddress: (submissionId: Buffer, DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
38
|
-
getSubmissionAuthAddress: (submissionAddress: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
39
|
-
getMintAuthorityAddress: (bridge: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) =>
|
|
36
|
+
getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
37
|
+
getExternalCallStorageAddress: (submissionId: Buffer, executorPubkey: SolanaPubkey, sourceChainId: BNable, DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
38
|
+
getExternalCallMetaAddress: (externalCallStorage: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
39
|
+
getNonceAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
40
|
+
getSubmissionAddress: (submissionId: Buffer, DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
41
|
+
getSubmissionAuthAddress: (submissionAddress: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
42
|
+
getMintAuthorityAddress: (bridge: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
40
43
|
}>, Resolver<{
|
|
41
|
-
getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
42
|
-
getTokenMintAddress: (debridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
43
|
-
getStateAddress: (SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
44
|
-
getConfirmationsStorageAddress: (message: Buffer, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
45
|
-
getBridgeFeeAddress: (bridge: PublicKey, chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
46
|
-
getChainSupportInfoAddress: (chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
47
|
-
getDiscountInfoAddress: (user: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
48
|
-
getBridgeAddress: (tokenMint: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
49
|
-
getBridgeMapAddress: (bridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
50
|
-
getNoDiscountAddress: (SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
51
|
-
getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID: PublicKey) =>
|
|
44
|
+
getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
45
|
+
getTokenMintAddress: (debridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
46
|
+
getStateAddress: (SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
47
|
+
getConfirmationsStorageAddress: (message: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
48
|
+
getBridgeFeeAddress: (bridge: PublicKey, chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
49
|
+
getChainSupportInfoAddress: (chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
50
|
+
getDiscountInfoAddress: (user: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
51
|
+
getBridgeAddress: (tokenMint: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
52
|
+
getBridgeMapAddress: (bridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
53
|
+
getNoDiscountAddress: (SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
54
|
+
getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
52
55
|
}>>;
|
|
53
56
|
export declare const PmmSrcResolver: (programId: SolanaPubkey) => Resolver<{
|
|
54
|
-
getStateAccount: (PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
55
|
-
getNonceAccount: (maker: PublicKey | Buffer, PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
56
|
-
getGiveOrderStateAccount: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
57
|
-
getAuthorizedNativeSenderAddress: (chainId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
58
|
-
getGiveOrderWalletAddress: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
59
|
-
getFeeLedgerWalletAddress: (tokenMint: PublicKey, PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
60
|
-
getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID: PublicKey) =>
|
|
57
|
+
getStateAccount: (PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
58
|
+
getNonceAccount: (maker: PublicKey | Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
59
|
+
getGiveOrderStateAccount: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
60
|
+
getAuthorizedNativeSenderAddress: (chainId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
61
|
+
getGiveOrderWalletAddress: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
62
|
+
getFeeLedgerWalletAddress: (tokenMint: PublicKey, PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
63
|
+
getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
61
64
|
}>;
|
|
62
65
|
export declare const PmmDstResolver: (programId: SolanaPubkey) => Resolver<{
|
|
63
|
-
getAuthorizedSrcContractAddress: (chainId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) =>
|
|
64
|
-
getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID: PublicKey) =>
|
|
65
|
-
getTakeOrderStateAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) =>
|
|
66
|
-
getTakePatchAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) =>
|
|
66
|
+
getAuthorizedSrcContractAddress: (chainId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
67
|
+
getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
68
|
+
getTakeOrderStateAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
69
|
+
getTakePatchAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => [PublicKey, number];
|
|
67
70
|
}>;
|
|
68
71
|
export {};
|
|
69
72
|
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,MAAM,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,yBAAyB,WAA+D,CAAC;AACtG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,2BAA2B,WAAgE,CAAC;AACzG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAE7F,
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
|
package/dist/types/helpers.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
|
-
import { Connection, Keypair, PublicKey, Signer, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
3
|
+
import { Commitment, Connection, Keypair, PublicKey, Signer, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
4
4
|
import { interfaces } from ".";
|
|
5
|
-
export declare function getAccountInfo(connection: Connection, account: PublicKey): Promise<import("@solana/web3.js").AccountInfo<Buffer> | null>;
|
|
5
|
+
export declare function getAccountInfo(connection: Connection, account: PublicKey, commitment?: Commitment): Promise<import("@solana/web3.js").AccountInfo<Buffer> | null>;
|
|
6
6
|
export declare function hexToBuffer(data: string, align?: number): Buffer;
|
|
7
7
|
export declare function bufferToHex(data: Buffer | number[] | Uint8Array): string;
|
|
8
8
|
export declare function sleep(milliSeconds: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAa,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAE/B,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAE,UAAwB,iEAUpH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAahE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,UAE/D;AAED,wBAAsB,KAAK,CAAC,YAAY,EAAE,MAAM,iBAI/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,CAazF;AAMD,aAAK,cAAc,GAAG,WAAW,GAAG,oBAAoB,CAAC;AAEzD,qBAAa,MAAO,YAAW,UAAU,CAAC,OAAO;IAGpC,OAAO,CAAC,OAAO;IAF3B,SAAS,EAAE,SAAS,CAAC;gBAED,OAAO,EAAE,OAAO;IAI9B,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE;IAUjG,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE;CAQ9H;AAkCD,wBAAsB,OAAO,CAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,CAAC,OAAO,EAC1B,YAAY,EAAE,cAAc,EAAE,EAC9B,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,GAAE,OAAe,EAC9B,KAAK,GAAE,OAAe,EACtB,eAAe,GAAE,OAAc,EAC/B,QAAQ,GAAE,MAAU,qBAkGpB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnH,mBAAmB,EAAE,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnH,mBAAmB,EAAE,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EACjE,GAAG,EAAE,CAAC,EAAE,EACR,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,KACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAEpD;AAED,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,cAAc;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,SAAS,GAAG,MAAM,CAAC;AAC/B,oBAAY,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9C,oBAAY,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { AccountInfo, Connection, PublicKey, Transaction, TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
import { Buffer } from "buffer";
|
|
5
|
+
import { SolanaPubkey } from "./interfaces";
|
|
6
|
+
declare type AmountType = string | number | BN | number[];
|
|
7
|
+
export declare enum AccountType {
|
|
8
|
+
System = 0,
|
|
9
|
+
Token = 1,
|
|
10
|
+
CorrectATA = 2,
|
|
11
|
+
Unknown = 3,
|
|
12
|
+
NotExists = 4
|
|
13
|
+
}
|
|
14
|
+
export interface WalletInfo {
|
|
15
|
+
/** Address of the account */
|
|
16
|
+
address: PublicKey;
|
|
17
|
+
/** Mint associated with the account */
|
|
18
|
+
mint: PublicKey;
|
|
19
|
+
/** Owner of the account */
|
|
20
|
+
owner: PublicKey;
|
|
21
|
+
/** Number of tokens the account holds */
|
|
22
|
+
amount: BN;
|
|
23
|
+
decimals: number;
|
|
24
|
+
/** True if the account is initialized */
|
|
25
|
+
isInitialized: boolean;
|
|
26
|
+
/** True if the account is a native token account */
|
|
27
|
+
isNative: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Builds instruction for creation of associated wallet for specified token
|
|
31
|
+
* @param tokenMint mint account of SPL-token
|
|
32
|
+
* @param associatedAccount associated account address
|
|
33
|
+
* @param owner owner of the associated account
|
|
34
|
+
* @param payer who pays for account creation
|
|
35
|
+
*/
|
|
36
|
+
export declare function createAssociatedWalletInstruction(tokenMint: SolanaPubkey, associatedAccount: PublicKey, owner: SolanaPubkey, payer: SolanaPubkey, associatedTokenProramId?: PublicKey): TransactionInstruction;
|
|
37
|
+
export declare function parseSplAccount(data: Buffer): {
|
|
38
|
+
mintAuthority: unknown;
|
|
39
|
+
supply: BN;
|
|
40
|
+
decimals: number;
|
|
41
|
+
isInitialized: boolean;
|
|
42
|
+
freezeAuthority: unknown;
|
|
43
|
+
mint: PublicKey;
|
|
44
|
+
owner: PublicKey;
|
|
45
|
+
amount: BN;
|
|
46
|
+
delegate: unknown;
|
|
47
|
+
state: {
|
|
48
|
+
uninitialized?: Record<string, never> | undefined;
|
|
49
|
+
initialized?: Record<string, never> | undefined;
|
|
50
|
+
frozen?: Record<string, never> | undefined;
|
|
51
|
+
};
|
|
52
|
+
isNative: unknown;
|
|
53
|
+
delegatedAmount: BN;
|
|
54
|
+
closeAuthority: unknown;
|
|
55
|
+
m: number;
|
|
56
|
+
n: number;
|
|
57
|
+
signers: PublicKey[];
|
|
58
|
+
} | null;
|
|
59
|
+
export declare function isWalletCorrectATA(walletAddress: SolanaPubkey, data: Buffer): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Requests account from blockchain and returns result with account type
|
|
62
|
+
* @param account address of account
|
|
63
|
+
* @returns account info and account type
|
|
64
|
+
*/
|
|
65
|
+
export declare function getAccountWithType(connection: Connection, account: SolanaPubkey): Promise<[AccountInfo<Buffer> | null, AccountType]>;
|
|
66
|
+
/**
|
|
67
|
+
* Returns balance of specified wallet in native tokens
|
|
68
|
+
* @param wallet wallet to inspect
|
|
69
|
+
*/
|
|
70
|
+
export declare function getNativeWalletBalance(connection: Connection, wallet: SolanaPubkey): Promise<BN>;
|
|
71
|
+
/**
|
|
72
|
+
* Returns balance of associated wallet in SPL-tokens
|
|
73
|
+
* @param originalWallet native tokens wallet address
|
|
74
|
+
* @param tokenMint mint of SPL-Token
|
|
75
|
+
*/
|
|
76
|
+
export declare function getAssocSPLWalletBalance(connection: Connection, originalWallet: SolanaPubkey, tokenMint: SolanaPubkey): Promise<BN>;
|
|
77
|
+
/**
|
|
78
|
+
* Returns balance of specified wallet in SPL-tokens
|
|
79
|
+
* @param wallet spl-tokens wallet address
|
|
80
|
+
*/
|
|
81
|
+
export declare function getSPLWalletBalance(connection: Connection, wallet: SolanaPubkey): Promise<BN>;
|
|
82
|
+
/**
|
|
83
|
+
* Gets list of user's SPL-token accounts
|
|
84
|
+
* @param owner owner of the SPL wallets
|
|
85
|
+
* @returns list of accounts with amount on them
|
|
86
|
+
*/
|
|
87
|
+
export declare function getAllTokenAccountsWithBalances(connection: Connection, owner: SolanaPubkey): Promise<WalletInfo[]>;
|
|
88
|
+
/**
|
|
89
|
+
* Gets list of user's tokenMint token accounts
|
|
90
|
+
* @param tokenMint
|
|
91
|
+
* @param owner owner of the wallets
|
|
92
|
+
* @returns list of accounts with amount on them
|
|
93
|
+
*/
|
|
94
|
+
export declare function getTokenAccountsWithBalance(connection: Connection, tokenMint: SolanaPubkey, owner: SolanaPubkey): Promise<WalletInfo[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Builds transaction to transfer&wrap native sol from src wallet to dst wallet
|
|
97
|
+
* @param amount number of lamports to transfer and wrap
|
|
98
|
+
* @param transferFrom source native account
|
|
99
|
+
* @param transferTo destination wallet
|
|
100
|
+
* @returns transaction to transfer&wrap sol
|
|
101
|
+
*/
|
|
102
|
+
export declare function buildReplenishWsolBalanceTransaction(amount: AmountType, transferFrom: SolanaPubkey, transferTo: SolanaPubkey): Transaction;
|
|
103
|
+
/**
|
|
104
|
+
* Builds transaction that wraps specified amount of lamports into spl, if account is missing will create it
|
|
105
|
+
* @param amount lamports to wrap, ATA will contain exact amount of lamports
|
|
106
|
+
* @param owner owner of created wallet
|
|
107
|
+
*/
|
|
108
|
+
export declare function updateWsolBalance(connection: Connection, amount: AmountType, owner: SolanaPubkey): Promise<Transaction | null>;
|
|
109
|
+
/**
|
|
110
|
+
* Checks existance of associated wallet for specified token
|
|
111
|
+
* @param mintAccount mint account of SPL-token
|
|
112
|
+
* @param originalWallet account of solana wallet
|
|
113
|
+
* @returns true if account exists
|
|
114
|
+
*/
|
|
115
|
+
export declare function checkIfAssociatedWalletExists(connection: Connection, mintAccount: PublicKey, originalWallet: PublicKey): Promise<boolean>;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=spl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spl.d.ts","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAiB,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzH,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,aAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAElD,oBAAY,WAAW;IACtB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,UAAU,IAAI;IACd,OAAO,IAAI;IACX,SAAS,IAAI;CACb;AAED,MAAM,WAAW,UAAU;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,SAAS,CAAC;IACnB,uCAAuC;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,EAAE,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAChD,SAAS,EAAE,YAAY,EACvB,iBAAiB,EAAE,SAAS,EAC5B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,EACnB,uBAAuB,CAAC,EAAE,SAAS,0BA0CnC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;SAU3C;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAUpD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,eAKxF;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAOzI;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAKnG;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAsCxH;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,GACjB,OAAO,CAAC,UAAU,EAAE,CAAC,CAsCvB;AAED;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,eAkB5H;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2BpI;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,oBAK5H"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@debridge-finance/solana-utils",
|
|
3
3
|
"description": "Common utils package to power communication with Solana contracts at deBridge",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.4.0",
|
|
5
5
|
"author": "deBridge",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
7
7
|
"homepage": "https://debridge.finance",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"scripts": {
|
|
33
33
|
"test:crypto": "mocha -r ts-node/register -b -t 200000 ./tests/crypto.test.ts",
|
|
34
34
|
"test:accounts": "mocha -r ts-node/register -b -t 200000 ./tests/accounts.test.ts",
|
|
35
|
+
"test:spl": "mocha -r ts-node/register -b -t 200000 ./tests/spl.test.ts",
|
|
35
36
|
"lint:fix": "prettier src/** tests/** -w",
|
|
36
37
|
"lint": "prettier src/** tests/** --check",
|
|
37
38
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
@@ -40,6 +41,7 @@
|
|
|
40
41
|
"build": "rimraf dist && npm run build:esm && npm run build:node && npm run build:browser"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
44
|
+
"@coral-xyz/spl-token": "0.26.0",
|
|
43
45
|
"@solana/web3.js": "1.73.0",
|
|
44
46
|
"bn.js": "5.2.1",
|
|
45
47
|
"buffer": "6.0.3",
|