@sign-global/tokentable 0.4.1-beta.6 → 0.4.1-beta.7

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.
@@ -41,5 +41,5 @@ export declare class AirdropSignatureClient extends SolanaContractClientBase<Fun
41
41
  unlockingAt: number;
42
42
  value: string;
43
43
  hash: string;
44
- }[]): Promise<string | undefined>;
44
+ }[]): Promise<string>;
45
45
  }
@@ -161,17 +161,21 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
161
161
  const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
162
162
  const feePDA = await this.FeeCollector.getProjectFeePDA();
163
163
  const airdropPDA = await this.getAirdropPDA();
164
- const vaultPDA = await this.getVaultPDA();
164
+ const tokenVersion = await (0, utils_1.fetchTokenVersion)(config.token, {
165
+ clusterOrEndpoint: this.chainId
166
+ });
165
167
  const authorityATA = await (0, utils_1.getOrCreateAssociatedTokenAccount)({
166
168
  connection: this.connection,
167
169
  payer: this.wallet.publicKey,
168
170
  mint: new web3_js_1.PublicKey(config.token),
169
171
  owner: new web3_js_1.PublicKey(this.wallet.publicKey),
170
172
  signTransaction: this.wallet.signTransaction,
171
- programId: spl_token_1.TOKEN_2022_PROGRAM_ID
173
+ programId: tokenVersion?.programId || spl_token_1.TOKEN_2022_PROGRAM_ID
172
174
  });
173
- const tx = new anchor.web3.Transaction();
175
+ let lastHash = '';
176
+ // solana max transaction size of 1232
174
177
  for (const claim of data) {
178
+ const tx = new anchor.web3.Transaction();
175
179
  tx.add(anchor.web3.Ed25519Program.createInstructionWithPublicKey({
176
180
  publicKey: new web3_js_1.PublicKey(config.signer).toBytes(),
177
181
  message: Uint8Array.from((0, utils_1.hexStrToU8Array)(claim.hash)),
@@ -188,19 +192,20 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
188
192
  authority: this.wallet.publicKey,
189
193
  airdrop: airdropPDA,
190
194
  claim: claimPDA,
191
- // vault: vaultPDA,
192
195
  authorityAta: authorityATA.address,
193
196
  tokenMint: new web3_js_1.PublicKey(config.token),
194
197
  feeCollectorStorage: feeCollectorStoragePDA,
195
198
  feeCollectorVault: null,
196
199
  fee: feePDA,
197
200
  authorityFeeAta: null,
198
- tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID,
201
+ tokenProgram: tokenVersion?.programId || spl_token_1.TOKEN_2022_PROGRAM_ID,
199
202
  feeTokenMint: null
200
203
  })
201
204
  .transaction());
205
+ const hash = await this.program.provider.sendAndConfirm?.(tx);
206
+ lastHash = hash;
202
207
  }
203
- return await this.program.provider.sendAndConfirm?.(tx);
208
+ return lastHash;
204
209
  }
205
210
  }
206
211
  exports.AirdropSignatureClient = AirdropSignatureClient;
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,5 @@ export declare class SignatureAirdropService {
20
20
  unlockingAt: number;
21
21
  value: string;
22
22
  hash: string;
23
- }[], recipient?: string): Promise<string | undefined>;
23
+ }[], recipient?: string): Promise<string>;
24
24
  }
@@ -1,4 +1,4 @@
1
- import { Commitment, Connection, PublicKey, Transaction } from '@solana/web3.js';
1
+ import { Cluster, Commitment, Connection, PublicKey, Transaction } from '@solana/web3.js';
2
2
  export declare function flipAddressType(address: string): string;
3
3
  export declare function hexStrToU8Array(hexStr: string): number[];
4
4
  export declare function getOrCreateAssociatedTokenAccount({ connection, payer, mint, owner, signTransaction, allowOwnerOffCurve, commitment, programId, associatedTokenProgramId }: {
@@ -12,3 +12,17 @@ export declare function getOrCreateAssociatedTokenAccount({ connection, payer, m
12
12
  associatedTokenProgramId?: PublicKey;
13
13
  signTransaction: (signature: Transaction) => Promise<Transaction>;
14
14
  }): Promise<import("@solana/spl-token").Account>;
15
+ export declare enum SplTokenVersion {
16
+ SplToken = "spl-token",
17
+ SplToken2022 = "spl-token-2022"
18
+ }
19
+ export type FetchTokenVersionOptions = {
20
+ clusterOrEndpoint?: Cluster | string;
21
+ };
22
+ export type FetchTokenMetadataOptions = FetchTokenVersionOptions & {
23
+ fetchOffchainMetadata?: boolean;
24
+ };
25
+ export declare function fetchTokenVersion(tokenAddress: string, options: FetchTokenMetadataOptions): Promise<{
26
+ name: SplTokenVersion;
27
+ programId: PublicKey;
28
+ } | null>;
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SplTokenVersion = void 0;
6
7
  exports.flipAddressType = flipAddressType;
7
8
  exports.hexStrToU8Array = hexStrToU8Array;
8
9
  exports.getOrCreateAssociatedTokenAccount = getOrCreateAssociatedTokenAccount;
10
+ exports.fetchTokenVersion = fetchTokenVersion;
9
11
  const tonweb_1 = __importDefault(require("tonweb"));
10
12
  const spl_token_1 = require("@solana/spl-token");
11
13
  const web3_js_1 = require("@solana/web3.js");
@@ -71,4 +73,45 @@ async function getOrCreateAssociatedTokenAccount({ connection, payer, mint, owne
71
73
  throw new spl_token_1.TokenInvalidOwnerError();
72
74
  return account;
73
75
  }
76
+ var SplTokenVersion;
77
+ (function (SplTokenVersion) {
78
+ SplTokenVersion["SplToken"] = "spl-token";
79
+ SplTokenVersion["SplToken2022"] = "spl-token-2022";
80
+ })(SplTokenVersion || (exports.SplTokenVersion = SplTokenVersion = {}));
81
+ async function _getTokenProgramAndParsedAccountData(conn, tokenAddress) {
82
+ const tokenMintAddress = new web3_js_1.PublicKey(tokenAddress);
83
+ const parsedMintAccountInfo = await conn.getParsedAccountInfo(tokenMintAddress);
84
+ const parsedMintAccountData = parsedMintAccountInfo.value?.data;
85
+ if (parsedMintAccountData?.program === SplTokenVersion.SplToken) {
86
+ return {
87
+ name: SplTokenVersion.SplToken,
88
+ programId: spl_token_1.TOKEN_PROGRAM_ID,
89
+ parsedMintAccountData
90
+ };
91
+ }
92
+ else if (parsedMintAccountData?.program === SplTokenVersion.SplToken2022) {
93
+ return {
94
+ name: SplTokenVersion.SplToken2022,
95
+ programId: spl_token_1.TOKEN_2022_PROGRAM_ID,
96
+ parsedMintAccountData
97
+ };
98
+ }
99
+ return null;
100
+ }
101
+ function _getConnection(clusterOrEndpoint) {
102
+ let endpoint;
103
+ try {
104
+ endpoint = (0, web3_js_1.clusterApiUrl)(clusterOrEndpoint ?? 'mainnet-beta');
105
+ }
106
+ catch {
107
+ endpoint = clusterOrEndpoint;
108
+ }
109
+ const conn = new web3_js_1.Connection(endpoint);
110
+ return conn;
111
+ }
112
+ async function fetchTokenVersion(tokenAddress, options) {
113
+ const conn = _getConnection(options.clusterOrEndpoint);
114
+ const data = await _getTokenProgramAndParsedAccountData(conn, tokenAddress);
115
+ return data ? { name: data.name, programId: data.programId } : null;
116
+ }
74
117
  //# sourceMappingURL=web3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web3.js","sourceRoot":"","sources":["../../../src/utils/web3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web3.js","sourceRoot":"","sources":["../../../src/utils/web3.ts"],"names":[],"mappings":"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"}
@@ -41,5 +41,5 @@ export declare class AirdropSignatureClient extends SolanaContractClientBase<Fun
41
41
  unlockingAt: number;
42
42
  value: string;
43
43
  hash: string;
44
- }[]): Promise<string | undefined>;
44
+ }[]): Promise<string>;
45
45
  }
@@ -4,7 +4,7 @@ import IDL from './fungible_token_distributor_solana.json';
4
4
  import * as anchor from '@coral-xyz/anchor';
5
5
  import { TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
6
6
  import { FeeCollectorClient } from './FeeCollectorClient';
7
- import { getOrCreateAssociatedTokenAccount, hexStrToU8Array } from '../../../utils';
7
+ import { fetchTokenVersion, getOrCreateAssociatedTokenAccount, hexStrToU8Array } from '../../../utils';
8
8
  export class AirdropSignatureClient extends SolanaContractClientBase {
9
9
  projectId;
10
10
  constructor(options) {
@@ -132,17 +132,21 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
132
132
  const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
133
133
  const feePDA = await this.FeeCollector.getProjectFeePDA();
134
134
  const airdropPDA = await this.getAirdropPDA();
135
- const vaultPDA = await this.getVaultPDA();
135
+ const tokenVersion = await fetchTokenVersion(config.token, {
136
+ clusterOrEndpoint: this.chainId
137
+ });
136
138
  const authorityATA = await getOrCreateAssociatedTokenAccount({
137
139
  connection: this.connection,
138
140
  payer: this.wallet.publicKey,
139
141
  mint: new PublicKey(config.token),
140
142
  owner: new PublicKey(this.wallet.publicKey),
141
143
  signTransaction: this.wallet.signTransaction,
142
- programId: TOKEN_2022_PROGRAM_ID
144
+ programId: tokenVersion?.programId || TOKEN_2022_PROGRAM_ID
143
145
  });
144
- const tx = new anchor.web3.Transaction();
146
+ let lastHash = '';
147
+ // solana max transaction size of 1232
145
148
  for (const claim of data) {
149
+ const tx = new anchor.web3.Transaction();
146
150
  tx.add(anchor.web3.Ed25519Program.createInstructionWithPublicKey({
147
151
  publicKey: new PublicKey(config.signer).toBytes(),
148
152
  message: Uint8Array.from(hexStrToU8Array(claim.hash)),
@@ -159,19 +163,20 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
159
163
  authority: this.wallet.publicKey,
160
164
  airdrop: airdropPDA,
161
165
  claim: claimPDA,
162
- // vault: vaultPDA,
163
166
  authorityAta: authorityATA.address,
164
167
  tokenMint: new PublicKey(config.token),
165
168
  feeCollectorStorage: feeCollectorStoragePDA,
166
169
  feeCollectorVault: null,
167
170
  fee: feePDA,
168
171
  authorityFeeAta: null,
169
- tokenProgram: TOKEN_2022_PROGRAM_ID,
172
+ tokenProgram: tokenVersion?.programId || TOKEN_2022_PROGRAM_ID,
170
173
  feeTokenMint: null
171
174
  })
172
175
  .transaction());
176
+ const hash = await this.program.provider.sendAndConfirm?.(tx);
177
+ lastHash = hash;
173
178
  }
174
- return await this.program.provider.sendAndConfirm?.(tx);
179
+ return lastHash;
175
180
  }
176
181
  }
177
182
  //# sourceMappingURL=AirdropSignatureClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,5 @@ export declare class SignatureAirdropService {
20
20
  unlockingAt: number;
21
21
  value: string;
22
22
  hash: string;
23
- }[], recipient?: string): Promise<string | undefined>;
23
+ }[], recipient?: string): Promise<string>;
24
24
  }
@@ -1,4 +1,4 @@
1
- import { Commitment, Connection, PublicKey, Transaction } from '@solana/web3.js';
1
+ import { Cluster, Commitment, Connection, PublicKey, Transaction } from '@solana/web3.js';
2
2
  export declare function flipAddressType(address: string): string;
3
3
  export declare function hexStrToU8Array(hexStr: string): number[];
4
4
  export declare function getOrCreateAssociatedTokenAccount({ connection, payer, mint, owner, signTransaction, allowOwnerOffCurve, commitment, programId, associatedTokenProgramId }: {
@@ -12,3 +12,17 @@ export declare function getOrCreateAssociatedTokenAccount({ connection, payer, m
12
12
  associatedTokenProgramId?: PublicKey;
13
13
  signTransaction: (signature: Transaction) => Promise<Transaction>;
14
14
  }): Promise<import("@solana/spl-token").Account>;
15
+ export declare enum SplTokenVersion {
16
+ SplToken = "spl-token",
17
+ SplToken2022 = "spl-token-2022"
18
+ }
19
+ export type FetchTokenVersionOptions = {
20
+ clusterOrEndpoint?: Cluster | string;
21
+ };
22
+ export type FetchTokenMetadataOptions = FetchTokenVersionOptions & {
23
+ fetchOffchainMetadata?: boolean;
24
+ };
25
+ export declare function fetchTokenVersion(tokenAddress: string, options: FetchTokenMetadataOptions): Promise<{
26
+ name: SplTokenVersion;
27
+ programId: PublicKey;
28
+ } | null>;
@@ -1,6 +1,6 @@
1
1
  import TonWeb from 'tonweb';
2
- import { ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddress, getAccount, createAssociatedTokenAccountInstruction, TokenAccountNotFoundError, TokenInvalidAccountOwnerError, TokenInvalidMintError, TokenInvalidOwnerError, TOKEN_PROGRAM_ID } from '@solana/spl-token';
3
- import { Transaction } from '@solana/web3.js';
2
+ import { ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddress, getAccount, createAssociatedTokenAccountInstruction, TokenAccountNotFoundError, TokenInvalidAccountOwnerError, TokenInvalidMintError, TokenInvalidOwnerError, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
3
+ import { clusterApiUrl, Connection, PublicKey, Transaction } from '@solana/web3.js';
4
4
  export function flipAddressType(address) {
5
5
  if (!address)
6
6
  return '';
@@ -63,4 +63,45 @@ export async function getOrCreateAssociatedTokenAccount({ connection, payer, min
63
63
  throw new TokenInvalidOwnerError();
64
64
  return account;
65
65
  }
66
+ export var SplTokenVersion;
67
+ (function (SplTokenVersion) {
68
+ SplTokenVersion["SplToken"] = "spl-token";
69
+ SplTokenVersion["SplToken2022"] = "spl-token-2022";
70
+ })(SplTokenVersion || (SplTokenVersion = {}));
71
+ async function _getTokenProgramAndParsedAccountData(conn, tokenAddress) {
72
+ const tokenMintAddress = new PublicKey(tokenAddress);
73
+ const parsedMintAccountInfo = await conn.getParsedAccountInfo(tokenMintAddress);
74
+ const parsedMintAccountData = parsedMintAccountInfo.value?.data;
75
+ if (parsedMintAccountData?.program === SplTokenVersion.SplToken) {
76
+ return {
77
+ name: SplTokenVersion.SplToken,
78
+ programId: TOKEN_PROGRAM_ID,
79
+ parsedMintAccountData
80
+ };
81
+ }
82
+ else if (parsedMintAccountData?.program === SplTokenVersion.SplToken2022) {
83
+ return {
84
+ name: SplTokenVersion.SplToken2022,
85
+ programId: TOKEN_2022_PROGRAM_ID,
86
+ parsedMintAccountData
87
+ };
88
+ }
89
+ return null;
90
+ }
91
+ function _getConnection(clusterOrEndpoint) {
92
+ let endpoint;
93
+ try {
94
+ endpoint = clusterApiUrl(clusterOrEndpoint ?? 'mainnet-beta');
95
+ }
96
+ catch {
97
+ endpoint = clusterOrEndpoint;
98
+ }
99
+ const conn = new Connection(endpoint);
100
+ return conn;
101
+ }
102
+ export async function fetchTokenVersion(tokenAddress, options) {
103
+ const conn = _getConnection(options.clusterOrEndpoint);
104
+ const data = await _getTokenProgramAndParsedAccountData(conn, tokenAddress);
105
+ return data ? { name: data.name, programId: data.programId } : null;
106
+ }
66
107
  //# sourceMappingURL=web3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web3.js","sourceRoot":"","sources":["../../../src/utils/web3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web3.js","sourceRoot":"","sources":["../../../src/utils/web3.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sign-global/tokentable",
3
- "version": "0.4.1-beta.6",
3
+ "version": "0.4.1-beta.7",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -5,7 +5,7 @@ import * as anchor from '@coral-xyz/anchor';
5
5
  import { FungibleTokenDistributorSolana } from './fungible_token_distributor_solana';
6
6
  import { TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
7
7
  import { FeeCollectorClient } from './FeeCollectorClient';
8
- import { getOrCreateAssociatedTokenAccount, hexStrToU8Array } from '../../../utils';
8
+ import { fetchTokenVersion, getOrCreateAssociatedTokenAccount, hexStrToU8Array } from '../../../utils';
9
9
 
10
10
  export class AirdropSignatureClient extends SolanaContractClientBase<FungibleTokenDistributorSolana> {
11
11
  projectId: string;
@@ -171,7 +171,9 @@ export class AirdropSignatureClient extends SolanaContractClientBase<FungibleTok
171
171
  const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
172
172
  const feePDA = await this.FeeCollector.getProjectFeePDA();
173
173
  const airdropPDA = await this.getAirdropPDA();
174
- const vaultPDA = await this.getVaultPDA();
174
+ const tokenVersion = await fetchTokenVersion(config.token, {
175
+ clusterOrEndpoint: this.chainId
176
+ });
175
177
 
176
178
  const authorityATA = await getOrCreateAssociatedTokenAccount({
177
179
  connection: this.connection,
@@ -179,12 +181,13 @@ export class AirdropSignatureClient extends SolanaContractClientBase<FungibleTok
179
181
  mint: new PublicKey(config.token),
180
182
  owner: new PublicKey(this.wallet.publicKey),
181
183
  signTransaction: (this.wallet as any).signTransaction,
182
- programId: TOKEN_2022_PROGRAM_ID
184
+ programId: tokenVersion?.programId || TOKEN_2022_PROGRAM_ID
183
185
  });
184
186
 
185
- const tx = new anchor.web3.Transaction();
186
-
187
+ let lastHash = '';
188
+ // solana max transaction size of 1232
187
189
  for (const claim of data) {
190
+ const tx = new anchor.web3.Transaction();
188
191
  tx.add(
189
192
  anchor.web3.Ed25519Program.createInstructionWithPublicKey({
190
193
  publicKey: new PublicKey(config.signer).toBytes(),
@@ -213,20 +216,23 @@ export class AirdropSignatureClient extends SolanaContractClientBase<FungibleTok
213
216
  authority: this.wallet.publicKey,
214
217
  airdrop: airdropPDA,
215
218
  claim: claimPDA,
216
- // vault: vaultPDA,
217
219
  authorityAta: authorityATA.address,
218
220
  tokenMint: new PublicKey(config.token),
219
221
  feeCollectorStorage: feeCollectorStoragePDA,
220
222
  feeCollectorVault: null,
221
223
  fee: feePDA,
222
224
  authorityFeeAta: null,
223
- tokenProgram: TOKEN_2022_PROGRAM_ID,
225
+ tokenProgram: tokenVersion?.programId || TOKEN_2022_PROGRAM_ID,
224
226
  feeTokenMint: null
225
227
  })
226
228
  .transaction()
227
229
  );
230
+
231
+ const hash = await this.program.provider.sendAndConfirm?.(tx);
232
+
233
+ lastHash = hash!;
228
234
  }
229
235
 
230
- return await this.program.provider.sendAndConfirm?.(tx);
236
+ return lastHash;
231
237
  }
232
238
  }
package/src/utils/web3.ts CHANGED
@@ -8,9 +8,18 @@ import {
8
8
  TokenInvalidAccountOwnerError,
9
9
  TokenInvalidMintError,
10
10
  TokenInvalidOwnerError,
11
- TOKEN_PROGRAM_ID
11
+ TOKEN_PROGRAM_ID,
12
+ TOKEN_2022_PROGRAM_ID
12
13
  } from '@solana/spl-token';
13
- import { Commitment, Connection, PublicKey, Transaction } from '@solana/web3.js';
14
+ import {
15
+ Cluster,
16
+ clusterApiUrl,
17
+ Commitment,
18
+ Connection,
19
+ ParsedAccountData,
20
+ PublicKey,
21
+ Transaction
22
+ } from '@solana/web3.js';
14
23
 
15
24
  export function flipAddressType(address: string) {
16
25
  if (!address) return '';
@@ -110,3 +119,54 @@ export async function getOrCreateAssociatedTokenAccount({
110
119
  if (!account.owner.equals(owner)) throw new TokenInvalidOwnerError();
111
120
  return account;
112
121
  }
122
+
123
+ export enum SplTokenVersion {
124
+ SplToken = 'spl-token',
125
+ SplToken2022 = 'spl-token-2022'
126
+ }
127
+
128
+ export type FetchTokenVersionOptions = {
129
+ clusterOrEndpoint?: Cluster | string;
130
+ };
131
+
132
+ export type FetchTokenMetadataOptions = FetchTokenVersionOptions & {
133
+ fetchOffchainMetadata?: boolean;
134
+ };
135
+
136
+ async function _getTokenProgramAndParsedAccountData(conn: Connection, tokenAddress: string) {
137
+ const tokenMintAddress = new PublicKey(tokenAddress);
138
+ const parsedMintAccountInfo = await conn.getParsedAccountInfo(tokenMintAddress);
139
+ const parsedMintAccountData = parsedMintAccountInfo.value?.data as ParsedAccountData;
140
+ if (parsedMintAccountData?.program === SplTokenVersion.SplToken) {
141
+ return {
142
+ name: SplTokenVersion.SplToken,
143
+ programId: TOKEN_PROGRAM_ID,
144
+ parsedMintAccountData
145
+ };
146
+ } else if (parsedMintAccountData?.program === SplTokenVersion.SplToken2022) {
147
+ return {
148
+ name: SplTokenVersion.SplToken2022,
149
+ programId: TOKEN_2022_PROGRAM_ID,
150
+ parsedMintAccountData
151
+ };
152
+ }
153
+ return null;
154
+ }
155
+
156
+ function _getConnection(clusterOrEndpoint: Cluster | string) {
157
+ let endpoint: string;
158
+ try {
159
+ endpoint = clusterApiUrl((clusterOrEndpoint as Cluster) ?? 'mainnet-beta');
160
+ } catch {
161
+ endpoint = clusterOrEndpoint as string;
162
+ }
163
+
164
+ const conn = new Connection(endpoint);
165
+ return conn;
166
+ }
167
+
168
+ export async function fetchTokenVersion(tokenAddress: string, options: FetchTokenMetadataOptions) {
169
+ const conn = _getConnection(options.clusterOrEndpoint!);
170
+ const data = await _getTokenProgramAndParsedAccountData(conn, tokenAddress);
171
+ return data ? { name: data.name, programId: data.programId } : null;
172
+ }