@debridge-finance/solana-utils 6.0.0 → 6.1.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/cjs/spl.js CHANGED
@@ -23,6 +23,7 @@ const bl = tslib_1.__importStar(require("@solana/buffer-layout"));
23
23
  const blu = tslib_1.__importStar(require("@solana/buffer-layout-utils"));
24
24
  const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
25
25
  const buffer_1 = require("buffer");
26
+ const node_cache_1 = tslib_1.__importDefault(require("node-cache"));
26
27
  const accounts_1 = require("./accounts");
27
28
  const helpers_1 = require("./helpers");
28
29
  var AccountState;
@@ -52,88 +53,122 @@ var AccountType;
52
53
  AccountType[AccountType["Unknown"] = 3] = "Unknown";
53
54
  AccountType[AccountType["NotExists"] = 4] = "NotExists";
54
55
  })(AccountType || (exports.AccountType = AccountType = {}));
56
+ const TOKEN_PROGRAM_CACHE = new node_cache_1.default({
57
+ // cache never expires
58
+ stdTTL: 0,
59
+ // this cache stores values (including Promises). Using clones causes node to crash when a race condition occurs
60
+ useClones: false,
61
+ });
62
+ const decodeMetaplexMetadataPartial = (data) => {
63
+ const rawName = data.subarray(65 + 4, 65 + 36); // omit first 4 bytes, size is already hardcoded
64
+ const rawSymbol = data.subarray(101 + 4, 115); // omit first 4 bytes, size is already hardcoded
65
+ const rawUri = data.subarray(115 + 4, 204); // omit first 4 bytes, size is already hardcoded
66
+ return {
67
+ uri: rawUri.toString("utf-8").replace(/\u0000/g, ""),
68
+ symbol: rawSymbol.toString("utf-8").replace(/\u0000/g, ""),
69
+ name: rawName.toString("utf-8").replace(/\u0000/g, ""),
70
+ };
71
+ };
55
72
  /**
56
73
  * Get name, symbol and decimals for provided token
57
74
  * @param connection solana web3 connection
58
75
  * @param tokenAddress address to get metaplex info for
59
76
  * @returns
60
77
  */
61
- async function getTokenInfo(connection, tokenAddress) {
62
- const tokenMetaProgramId = new web3_js_1.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
63
- const findMetaplexMetadataPda = (tokenMint) => web3_js_1.PublicKey.findProgramAddressSync([
64
- buffer_1.Buffer.from("metadata", "utf-8"),
65
- tokenMetaProgramId.toBuffer(),
66
- tokenMint.toBuffer(),
67
- ], tokenMetaProgramId)[0];
68
- const decodeMetaplexMetadataPartial = (data) => {
69
- const rawName = data.subarray(65 + 4, 65 + 36); // omit first 4 bytes, size is already hardcoded
70
- const rawSymbol = data.subarray(101 + 4, 115); // omit first 4 bytes, size is already hardcoded
71
- const rawUri = data.subarray(115 + 4, 204); // omit first 4 bytes, size is already hardcoded
78
+ async function getTokenInfo(connection, tokenAddress, useCache = false) {
79
+ const tokenAddressStr = tokenAddress.toBase58();
80
+ if (tokenAddressStr === "11111111111111111111111111111111") {
72
81
  return {
73
- uri: rawUri.toString("utf-8").replace(/\u0000/g, ""),
74
- symbol: rawSymbol.toString("utf-8").replace(/\u0000/g, ""),
75
- name: rawName.toString("utf-8").replace(/\u0000/g, ""),
82
+ address: tokenAddress,
83
+ decimals: 9,
84
+ name: "Native SOL",
85
+ symbol: "SOL",
86
+ json: "",
87
+ tokenProgram: web3_js_1.SystemProgram.programId,
76
88
  };
77
- };
78
- const pda = findMetaplexMetadataPda(tokenAddress);
79
- const [tokenAccount, pdaAccount] = await connection.getMultipleAccountsInfo([
80
- tokenAddress,
81
- pda,
82
- ]);
83
- if (tokenAccount === null) {
84
- return null;
85
89
  }
86
- const mint2022 = (0, spl_token_1.unpackMint)(tokenAddress, tokenAccount, tokenAccount.owner);
87
- const extTypes = (0, spl_token_1.getExtensionTypes)(mint2022.tlvData ?? buffer_1.Buffer.alloc(0));
88
- const tokenMetaBuf = extTypes.includes(spl_token_1.ExtensionType.TokenMetadata)
89
- ? (0, spl_token_1.getExtensionData)(spl_token_1.ExtensionType.TokenMetadata, mint2022.tlvData)
90
- : null;
91
- if (tokenMetaBuf) {
92
- const meta = (0, spl_token_metadata_1.unpack)(tokenMetaBuf);
90
+ // if requested, try returning cached Promise (in-flight or resolved)
91
+ if (useCache) {
92
+ const cached = TOKEN_PROGRAM_CACHE.get(tokenAddressStr);
93
+ if (cached)
94
+ return cached;
95
+ }
96
+ // fetcher encapsulates the actual work and is stored in cache when useCache is true
97
+ const fetcher = (async () => {
98
+ const [pda] = (0, accounts_1.getTokenMetadataAddress)(tokenAddress, accounts_1.TOKEN_METADATA_PROGRAM_ID);
99
+ const [tokenAccount, pdaAccount] = await connection.getMultipleAccountsInfo([tokenAddress, pda]);
100
+ if (!tokenAccount || tokenAccount?.lamports === 0) {
101
+ return null;
102
+ }
103
+ const mint2022 = (0, spl_token_1.unpackMint)(tokenAddress, tokenAccount, tokenAccount.owner);
104
+ const extTypes = (0, spl_token_1.getExtensionTypes)(mint2022.tlvData ?? buffer_1.Buffer.alloc(0));
105
+ const tokenMetaBuf = extTypes.includes(spl_token_1.ExtensionType.TokenMetadata)
106
+ ? (0, spl_token_1.getExtensionData)(spl_token_1.ExtensionType.TokenMetadata, mint2022.tlvData)
107
+ : null;
108
+ if (tokenMetaBuf) {
109
+ const meta = (0, spl_token_metadata_1.unpack)(tokenMetaBuf);
110
+ return {
111
+ address: tokenAddress,
112
+ decimals: mint2022.decimals,
113
+ name: meta.name,
114
+ symbol: meta.symbol,
115
+ json: meta.uri,
116
+ tokenProgram: tokenAccount.owner,
117
+ };
118
+ }
119
+ if (extTypes.includes(spl_token_1.ExtensionType.MetadataPointer)) {
120
+ const mpState = (0, spl_token_1.getMetadataPointerState)(mint2022);
121
+ if (mpState?.metadataAddress &&
122
+ mpState.metadataAddress.equals(tokenAddress)) {
123
+ const inlineMetaBuf = (0, spl_token_1.getExtensionData)(spl_token_1.ExtensionType.TokenMetadata, mint2022.tlvData);
124
+ if (inlineMetaBuf) {
125
+ const meta = (0, spl_token_metadata_1.unpack)(inlineMetaBuf);
126
+ return {
127
+ address: tokenAddress,
128
+ decimals: mint2022.decimals,
129
+ name: meta.name,
130
+ symbol: meta.symbol,
131
+ json: meta.uri,
132
+ tokenProgram: tokenAccount.owner,
133
+ };
134
+ }
135
+ }
136
+ }
137
+ if (!pdaAccount || pdaAccount.lamports === 0) {
138
+ return null;
139
+ }
140
+ // parse token account
141
+ // mint_authority - coption(pubkey) = 4 or 36
142
+ // supply - u64 = 8
143
+ // decimals - u8
144
+ let decimalsOffset = 12;
145
+ if (tokenAccount.data[0] === 1)
146
+ decimalsOffset += 32;
147
+ const decimals = tokenAccount.data[decimalsOffset];
148
+ const { name, symbol, uri } = decodeMetaplexMetadataPartial(pdaAccount.data);
93
149
  return {
94
150
  address: tokenAddress,
95
- decimals: mint2022.decimals,
96
- name: meta.name,
97
- symbol: meta.symbol,
98
- json: meta.uri,
151
+ decimals,
152
+ name,
153
+ symbol,
154
+ json: uri,
155
+ tokenProgram: tokenAccount.owner,
99
156
  };
100
- }
101
- if (extTypes.includes(spl_token_1.ExtensionType.MetadataPointer)) {
102
- const mpState = (0, spl_token_1.getMetadataPointerState)(mint2022);
103
- if (mpState?.metadataAddress &&
104
- mpState.metadataAddress.equals(tokenAddress)) {
105
- const inlineMetaBuf = (0, spl_token_1.getExtensionData)(spl_token_1.ExtensionType.TokenMetadata, mint2022.tlvData);
106
- if (inlineMetaBuf) {
107
- const meta = (0, spl_token_metadata_1.unpack)(inlineMetaBuf);
108
- return {
109
- address: tokenAddress,
110
- decimals: mint2022.decimals,
111
- name: meta.name,
112
- symbol: meta.symbol,
113
- json: meta.uri,
114
- };
157
+ })();
158
+ if (useCache) {
159
+ // store the in-flight Promise so concurrent callers reuse it
160
+ // but ensure we don't keep null results in the cache: if the promise
161
+ // resolves to null, remove the cache entry.
162
+ const wrapped = fetcher.then((res) => {
163
+ if (res === null) {
164
+ TOKEN_PROGRAM_CACHE.del(tokenAddressStr);
115
165
  }
116
- }
117
- }
118
- if (pdaAccount === null || pdaAccount?.lamports === 0) {
119
- return null;
166
+ return res;
167
+ });
168
+ TOKEN_PROGRAM_CACHE.set(tokenAddressStr, wrapped);
169
+ return wrapped;
120
170
  }
121
- // parse token account
122
- // mint_authority - coption(pubkey) = 4 or 36
123
- // supply - u64 = 8
124
- // decimals - u8
125
- let decimalsOffset = 12;
126
- if (tokenAccount.data[0] === 1)
127
- decimalsOffset += 32;
128
- const decimals = tokenAccount.data[decimalsOffset];
129
- const { name, symbol, uri } = decodeMetaplexMetadataPartial(pdaAccount.data);
130
- return {
131
- address: tokenAddress,
132
- decimals,
133
- name,
134
- symbol,
135
- json: uri,
136
- };
171
+ return fetcher;
137
172
  }
138
173
  /**
139
174
  * Builds instruction for creation of associated wallet for specified token
@@ -1 +1 @@
1
- {"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
package/dist/esm/spl.js CHANGED
@@ -6,7 +6,8 @@ import * as bl from "@solana/buffer-layout";
6
6
  import * as blu from "@solana/buffer-layout-utils";
7
7
  import BN from "bn.js";
8
8
  import { Buffer } from "buffer";
9
- import { ASSOCIATED_TOKEN_PROGRAM_ID, findAssociatedTokenAddress, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID, WRAPPED_SOL_MINT, } from "./accounts";
9
+ import NodeCache from "node-cache";
10
+ import { ASSOCIATED_TOKEN_PROGRAM_ID, findAssociatedTokenAddress, getTokenMetadataAddress, TOKEN_2022_PROGRAM_ID, TOKEN_METADATA_PROGRAM_ID, TOKEN_PROGRAM_ID, WRAPPED_SOL_MINT, } from "./accounts";
10
11
  import { getAccountInfo } from "./helpers";
11
12
  var AccountState;
12
13
  (function (AccountState) {
@@ -35,90 +36,124 @@ export var AccountType;
35
36
  AccountType[AccountType["Unknown"] = 3] = "Unknown";
36
37
  AccountType[AccountType["NotExists"] = 4] = "NotExists";
37
38
  })(AccountType || (AccountType = {}));
39
+ const TOKEN_PROGRAM_CACHE = new NodeCache({
40
+ // cache never expires
41
+ stdTTL: 0,
42
+ // this cache stores values (including Promises). Using clones causes node to crash when a race condition occurs
43
+ useClones: false,
44
+ });
45
+ const decodeMetaplexMetadataPartial = (data) => {
46
+ const rawName = data.subarray(65 + 4, 65 + 36); // omit first 4 bytes, size is already hardcoded
47
+ const rawSymbol = data.subarray(101 + 4, 115); // omit first 4 bytes, size is already hardcoded
48
+ const rawUri = data.subarray(115 + 4, 204); // omit first 4 bytes, size is already hardcoded
49
+ return {
50
+ uri: rawUri.toString("utf-8").replace(/\u0000/g, ""),
51
+ symbol: rawSymbol.toString("utf-8").replace(/\u0000/g, ""),
52
+ name: rawName.toString("utf-8").replace(/\u0000/g, ""),
53
+ };
54
+ };
38
55
  /**
39
56
  * Get name, symbol and decimals for provided token
40
57
  * @param connection solana web3 connection
41
58
  * @param tokenAddress address to get metaplex info for
42
59
  * @returns
43
60
  */
44
- export function getTokenInfo(connection, tokenAddress) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- var _a;
47
- const tokenMetaProgramId = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
48
- const findMetaplexMetadataPda = (tokenMint) => PublicKey.findProgramAddressSync([
49
- Buffer.from("metadata", "utf-8"),
50
- tokenMetaProgramId.toBuffer(),
51
- tokenMint.toBuffer(),
52
- ], tokenMetaProgramId)[0];
53
- const decodeMetaplexMetadataPartial = (data) => {
54
- const rawName = data.subarray(65 + 4, 65 + 36); // omit first 4 bytes, size is already hardcoded
55
- const rawSymbol = data.subarray(101 + 4, 115); // omit first 4 bytes, size is already hardcoded
56
- const rawUri = data.subarray(115 + 4, 204); // omit first 4 bytes, size is already hardcoded
61
+ export function getTokenInfo(connection_1, tokenAddress_1) {
62
+ return __awaiter(this, arguments, void 0, function* (connection, tokenAddress, useCache = false) {
63
+ const tokenAddressStr = tokenAddress.toBase58();
64
+ if (tokenAddressStr === "11111111111111111111111111111111") {
57
65
  return {
58
- uri: rawUri.toString("utf-8").replace(/\u0000/g, ""),
59
- symbol: rawSymbol.toString("utf-8").replace(/\u0000/g, ""),
60
- name: rawName.toString("utf-8").replace(/\u0000/g, ""),
66
+ address: tokenAddress,
67
+ decimals: 9,
68
+ name: "Native SOL",
69
+ symbol: "SOL",
70
+ json: "",
71
+ tokenProgram: SystemProgram.programId,
61
72
  };
62
- };
63
- const pda = findMetaplexMetadataPda(tokenAddress);
64
- const [tokenAccount, pdaAccount] = yield connection.getMultipleAccountsInfo([
65
- tokenAddress,
66
- pda,
67
- ]);
68
- if (tokenAccount === null) {
69
- return null;
70
73
  }
71
- const mint2022 = unpackMint2022(tokenAddress, tokenAccount, tokenAccount.owner);
72
- const extTypes = getExtensionTypes((_a = mint2022.tlvData) !== null && _a !== void 0 ? _a : Buffer.alloc(0));
73
- const tokenMetaBuf = extTypes.includes(ExtensionType.TokenMetadata)
74
- ? getExtensionData(ExtensionType.TokenMetadata, mint2022.tlvData)
75
- : null;
76
- if (tokenMetaBuf) {
77
- const meta = unpackMetadata(tokenMetaBuf);
74
+ // if requested, try returning cached Promise (in-flight or resolved)
75
+ if (useCache) {
76
+ const cached = TOKEN_PROGRAM_CACHE.get(tokenAddressStr);
77
+ if (cached)
78
+ return cached;
79
+ }
80
+ // fetcher encapsulates the actual work and is stored in cache when useCache is true
81
+ const fetcher = (() => __awaiter(this, void 0, void 0, function* () {
82
+ var _a;
83
+ const [pda] = getTokenMetadataAddress(tokenAddress, TOKEN_METADATA_PROGRAM_ID);
84
+ const [tokenAccount, pdaAccount] = yield connection.getMultipleAccountsInfo([tokenAddress, pda]);
85
+ if (!tokenAccount || (tokenAccount === null || tokenAccount === void 0 ? void 0 : tokenAccount.lamports) === 0) {
86
+ return null;
87
+ }
88
+ const mint2022 = unpackMint2022(tokenAddress, tokenAccount, tokenAccount.owner);
89
+ const extTypes = getExtensionTypes((_a = mint2022.tlvData) !== null && _a !== void 0 ? _a : Buffer.alloc(0));
90
+ const tokenMetaBuf = extTypes.includes(ExtensionType.TokenMetadata)
91
+ ? getExtensionData(ExtensionType.TokenMetadata, mint2022.tlvData)
92
+ : null;
93
+ if (tokenMetaBuf) {
94
+ const meta = unpackMetadata(tokenMetaBuf);
95
+ return {
96
+ address: tokenAddress,
97
+ decimals: mint2022.decimals,
98
+ name: meta.name,
99
+ symbol: meta.symbol,
100
+ json: meta.uri,
101
+ tokenProgram: tokenAccount.owner,
102
+ };
103
+ }
104
+ if (extTypes.includes(ExtensionType.MetadataPointer)) {
105
+ const mpState = getMetadataPointerState(mint2022);
106
+ if ((mpState === null || mpState === void 0 ? void 0 : mpState.metadataAddress) &&
107
+ mpState.metadataAddress.equals(tokenAddress)) {
108
+ const inlineMetaBuf = getExtensionData(ExtensionType.TokenMetadata, mint2022.tlvData);
109
+ if (inlineMetaBuf) {
110
+ const meta = unpackMetadata(inlineMetaBuf);
111
+ return {
112
+ address: tokenAddress,
113
+ decimals: mint2022.decimals,
114
+ name: meta.name,
115
+ symbol: meta.symbol,
116
+ json: meta.uri,
117
+ tokenProgram: tokenAccount.owner,
118
+ };
119
+ }
120
+ }
121
+ }
122
+ if (!pdaAccount || pdaAccount.lamports === 0) {
123
+ return null;
124
+ }
125
+ // parse token account
126
+ // mint_authority - coption(pubkey) = 4 or 36
127
+ // supply - u64 = 8
128
+ // decimals - u8
129
+ let decimalsOffset = 12;
130
+ if (tokenAccount.data[0] === 1)
131
+ decimalsOffset += 32;
132
+ const decimals = tokenAccount.data[decimalsOffset];
133
+ const { name, symbol, uri } = decodeMetaplexMetadataPartial(pdaAccount.data);
78
134
  return {
79
135
  address: tokenAddress,
80
- decimals: mint2022.decimals,
81
- name: meta.name,
82
- symbol: meta.symbol,
83
- json: meta.uri,
136
+ decimals,
137
+ name,
138
+ symbol,
139
+ json: uri,
140
+ tokenProgram: tokenAccount.owner,
84
141
  };
85
- }
86
- if (extTypes.includes(ExtensionType.MetadataPointer)) {
87
- const mpState = getMetadataPointerState(mint2022);
88
- if ((mpState === null || mpState === void 0 ? void 0 : mpState.metadataAddress) &&
89
- mpState.metadataAddress.equals(tokenAddress)) {
90
- const inlineMetaBuf = getExtensionData(ExtensionType.TokenMetadata, mint2022.tlvData);
91
- if (inlineMetaBuf) {
92
- const meta = unpackMetadata(inlineMetaBuf);
93
- return {
94
- address: tokenAddress,
95
- decimals: mint2022.decimals,
96
- name: meta.name,
97
- symbol: meta.symbol,
98
- json: meta.uri,
99
- };
142
+ }))();
143
+ if (useCache) {
144
+ // store the in-flight Promise so concurrent callers reuse it
145
+ // but ensure we don't keep null results in the cache: if the promise
146
+ // resolves to null, remove the cache entry.
147
+ const wrapped = fetcher.then((res) => {
148
+ if (res === null) {
149
+ TOKEN_PROGRAM_CACHE.del(tokenAddressStr);
100
150
  }
101
- }
102
- }
103
- if (pdaAccount === null || (pdaAccount === null || pdaAccount === void 0 ? void 0 : pdaAccount.lamports) === 0) {
104
- return null;
151
+ return res;
152
+ });
153
+ TOKEN_PROGRAM_CACHE.set(tokenAddressStr, wrapped);
154
+ return wrapped;
105
155
  }
106
- // parse token account
107
- // mint_authority - coption(pubkey) = 4 or 36
108
- // supply - u64 = 8
109
- // decimals - u8
110
- let decimalsOffset = 12;
111
- if (tokenAccount.data[0] === 1)
112
- decimalsOffset += 32;
113
- const decimals = tokenAccount.data[decimalsOffset];
114
- const { name, symbol, uri } = decodeMetaplexMetadataPartial(pdaAccount.data);
115
- return {
116
- address: tokenAddress,
117
- decimals,
118
- name,
119
- symbol,
120
- json: uri,
121
- };
156
+ return fetcher;
122
157
  });
123
158
  }
124
159
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
@@ -69,19 +69,29 @@ export interface WalletInfo {
69
69
  /** True if the account is a token 2022 */
70
70
  isToken22: boolean;
71
71
  }
72
+ export interface TokenInfo {
73
+ /** Address of the token mint */
74
+ address: PublicKey;
75
+ /** Number of decimals in the token */
76
+ decimals: number;
77
+ /** Name of the token */
78
+ name: string;
79
+ /** Symbol of the token */
80
+ symbol: string;
81
+ /** URI with more info about the token (usually link to json with image, description, etc) */
82
+ json: string;
83
+ /**
84
+ * Address of the token program (can be TOKEN_PROGRAM_ID or TOKEN_2022_PROGRAM_ID). Used to distinguish between token 2022 and legacy token, and to create correct associated accounts
85
+ */
86
+ tokenProgram: PublicKey;
87
+ }
72
88
  /**
73
89
  * Get name, symbol and decimals for provided token
74
90
  * @param connection solana web3 connection
75
91
  * @param tokenAddress address to get metaplex info for
76
92
  * @returns
77
93
  */
78
- export declare function getTokenInfo(connection: Connection, tokenAddress: PublicKey): Promise<{
79
- address: PublicKey;
80
- decimals: number;
81
- name: string;
82
- symbol: string;
83
- json: string;
84
- } | null>;
94
+ export declare function getTokenInfo(connection: Connection, tokenAddress: PublicKey, useCache?: boolean): Promise<TokenInfo | null>;
85
95
  /**
86
96
  * Builds instruction for creation of associated wallet for specified token
87
97
  * @param tokenMint mint account of SPL-token
@@ -1 +1 @@
1
- {"version":3,"file":"spl.d.ts","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spl.d.ts","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}