@coinbarrel/sdk 1.1.0 → 1.3.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.
@@ -15,23 +15,22 @@ export interface TokenMetadata {
15
15
  uri: string;
16
16
  }
17
17
  /**
18
- * Full token metadata including off-chain JSON data
18
+ * Off-chain token metadata JSON (common Metaplex-style schema).
19
+ *
20
+ * This is intentionally permissive since creators may include extra fields.
19
21
  */
20
22
  export interface TokenMetadataJson extends TokenMetadata {
21
- /** Token description */
23
+ /** Short description */
22
24
  description?: string;
23
- /** Image URL (direct or IPFS) */
25
+ /** Image URL */
24
26
  image?: string;
25
- /** External website */
26
- website?: string;
27
- /** Twitter handle or URL */
27
+ /** Project website / external URL */
28
+ external_url?: string;
29
+ /** Common socials */
28
30
  twitter?: string;
29
- /** Telegram link */
30
31
  telegram?: string;
31
- /** Discord link */
32
- discord?: string;
33
- /** Raw JSON data from URI */
34
- raw?: Record<string, unknown>;
32
+ website?: string;
33
+ [key: string]: unknown;
35
34
  }
36
35
  /**
37
36
  * Derive Metaplex metadata PDA for a token mint
@@ -67,27 +66,9 @@ export declare function parseMetaplexMetadata(data: Buffer): TokenMetadata | nul
67
66
  */
68
67
  export declare function getTokenMetadata(connection: Connection, mint: PublicKey): Promise<TokenMetadata | null>;
69
68
  /**
70
- * Fetch full token metadata including off-chain JSON
71
- *
72
- * This fetches the on-chain metadata and then fetches the JSON from the URI
73
- * to get the image, description, and social links.
74
- *
75
- * @param connection - Solana RPC connection
76
- * @param mint - Token mint address
77
- * @param fetchOptions - Optional fetch options (timeout, etc.)
78
- *
79
- * @example
80
- * ```typescript
81
- * const metadata = await getTokenMetadataJson(connection, tokenMint);
82
- * if (metadata) {
83
- * console.log(metadata.name); // "My Token"
84
- * console.log(metadata.image); // "https://..." or "ipfs://..."
85
- * console.log(metadata.description); // "A cool token"
86
- * console.log(metadata.twitter); // "@mytoken"
87
- * }
88
- * ```
69
+ * Fetch on-chain Metaplex metadata and then fetch the off-chain JSON pointed to by the URI.
89
70
  */
90
- export declare function getTokenMetadataJson(connection: Connection, mint: PublicKey, fetchOptions?: {
71
+ export declare function getTokenMetadataJson(connection: Connection, mint: PublicKey, options?: {
91
72
  timeoutMs?: number;
92
73
  }): Promise<TokenMetadataJson | null>;
93
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMzD;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA0BxE;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACrC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,GACb,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,YAAY,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA0DnC;AA6BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAAE,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAuC5C"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACvD,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAMzD;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA0BxE;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACrC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,GACb,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAa/B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GAC5B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA4DnC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAAE,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAuC5C"}
package/dist/metadata.js CHANGED
@@ -1,15 +1,22 @@
1
+ "use strict";
1
2
  /**
2
3
  * Token Metadata Fetching
3
4
  * Read Metaplex token metadata for CoinBarrel tokens
4
5
  */
5
- import { PublicKey } from '@solana/web3.js';
6
- import { TOKEN_METADATA_PROGRAM_ID } from './constants.js';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getMetadataPda = getMetadataPda;
8
+ exports.parseMetaplexMetadata = parseMetaplexMetadata;
9
+ exports.getTokenMetadata = getTokenMetadata;
10
+ exports.getTokenMetadataJson = getTokenMetadataJson;
11
+ exports.batchGetTokenMetadata = batchGetTokenMetadata;
12
+ const web3_js_1 = require("@solana/web3.js");
13
+ const constants_js_1 = require("./constants.js");
7
14
  // ============= PDA =============
8
15
  /**
9
16
  * Derive Metaplex metadata PDA for a token mint
10
17
  */
11
- export function getMetadataPda(mint) {
12
- const [pda] = PublicKey.findProgramAddressSync([Buffer.from('metadata'), TOKEN_METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer()], TOKEN_METADATA_PROGRAM_ID);
18
+ function getMetadataPda(mint) {
19
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('metadata'), constants_js_1.TOKEN_METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer()], constants_js_1.TOKEN_METADATA_PROGRAM_ID);
13
20
  return pda;
14
21
  }
15
22
  // ============= Parsing =============
@@ -38,7 +45,7 @@ function readLengthPrefixedString(data, offset) {
38
45
  * - symbol: 4 bytes length + string
39
46
  * - uri: 4 bytes length + string
40
47
  */
41
- export function parseMetaplexMetadata(data) {
48
+ function parseMetaplexMetadata(data) {
42
49
  try {
43
50
  if (!data || data.length < 65)
44
51
  return null;
@@ -79,7 +86,7 @@ export function parseMetaplexMetadata(data) {
79
86
  * }
80
87
  * ```
81
88
  */
82
- export async function getTokenMetadata(connection, mint) {
89
+ async function getTokenMetadata(connection, mint) {
83
90
  try {
84
91
  const metadataPda = getMetadataPda(mint);
85
92
  const accountInfo = await connection.getAccountInfo(metadataPda);
@@ -93,103 +100,61 @@ export async function getTokenMetadata(connection, mint) {
93
100
  }
94
101
  }
95
102
  /**
96
- * Fetch full token metadata including off-chain JSON
97
- *
98
- * This fetches the on-chain metadata and then fetches the JSON from the URI
99
- * to get the image, description, and social links.
100
- *
101
- * @param connection - Solana RPC connection
102
- * @param mint - Token mint address
103
- * @param fetchOptions - Optional fetch options (timeout, etc.)
104
- *
105
- * @example
106
- * ```typescript
107
- * const metadata = await getTokenMetadataJson(connection, tokenMint);
108
- * if (metadata) {
109
- * console.log(metadata.name); // "My Token"
110
- * console.log(metadata.image); // "https://..." or "ipfs://..."
111
- * console.log(metadata.description); // "A cool token"
112
- * console.log(metadata.twitter); // "@mytoken"
113
- * }
114
- * ```
103
+ * Fetch on-chain Metaplex metadata and then fetch the off-chain JSON pointed to by the URI.
115
104
  */
116
- export async function getTokenMetadataJson(connection, mint, fetchOptions) {
117
- // First get on-chain metadata
118
- const onChainMetadata = await getTokenMetadata(connection, mint);
119
- if (!onChainMetadata) {
105
+ async function getTokenMetadataJson(connection, mint, options) {
106
+ const meta = await getTokenMetadata(connection, mint);
107
+ if (!meta)
120
108
  return null;
121
- }
122
- // If no URI, return just the on-chain data
123
- if (!onChainMetadata.uri) {
124
- return onChainMetadata;
125
- }
126
- // Fetch JSON from URI
109
+ const uri = (meta.uri ?? '').replace(/\0/g, '').trim();
110
+ if (!uri)
111
+ return { ...meta };
127
112
  try {
128
- const timeoutMs = fetchOptions?.timeoutMs ?? 10000;
129
- const controller = new AbortController();
130
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
131
- // Handle IPFS URLs - convert to gateway URL
132
- let fetchUrl = onChainMetadata.uri;
133
- if (fetchUrl.startsWith('ipfs://')) {
134
- const cid = fetchUrl.replace('ipfs://', '');
135
- fetchUrl = `https://ipfs.io/ipfs/${cid}`;
136
- }
137
- const response = await fetch(fetchUrl, {
138
- signal: controller.signal,
139
- headers: {
140
- 'Accept': 'application/json',
141
- },
113
+ const controller = typeof AbortController !== 'undefined' ? new AbortController() : null;
114
+ const timeoutMs = options?.timeoutMs;
115
+ const timeout = controller && typeof timeoutMs === 'number' && timeoutMs > 0
116
+ ? setTimeout(() => controller.abort(), timeoutMs)
117
+ : null;
118
+ const resp = await fetch(uri, {
119
+ signal: controller?.signal,
120
+ headers: { accept: 'application/json' },
142
121
  });
143
- clearTimeout(timeout);
144
- if (!response.ok) {
145
- // Return on-chain data if JSON fetch fails
146
- return onChainMetadata;
147
- }
148
- const json = await response.json();
149
- // Extract fields from JSON (handles various metadata standards)
122
+ if (!resp.ok)
123
+ return { ...meta };
124
+ const json = (await resp.json());
125
+ if (timeout)
126
+ clearTimeout(timeout);
127
+ // Best-effort map of common social fields
128
+ const properties = json.properties && typeof json.properties === 'object'
129
+ ? json.properties
130
+ : undefined;
131
+ const extensions = (json.extensions && typeof json.extensions === 'object'
132
+ ? json.extensions
133
+ : undefined) ||
134
+ (properties?.extensions && typeof properties.extensions === 'object'
135
+ ? properties.extensions
136
+ : undefined);
137
+ const twitter = (typeof json.twitter === 'string' && json.twitter) ||
138
+ (typeof extensions?.twitter === 'string' && extensions.twitter) ||
139
+ undefined;
140
+ const telegram = (typeof json.telegram === 'string' && json.telegram) ||
141
+ (typeof extensions?.telegram === 'string' && extensions.telegram) ||
142
+ undefined;
143
+ const website = (typeof json.website === 'string' && json.website) ||
144
+ (typeof extensions?.website === 'string' && extensions.website) ||
145
+ undefined;
150
146
  return {
151
- name: onChainMetadata.name,
152
- symbol: onChainMetadata.symbol,
153
- uri: onChainMetadata.uri,
154
- description: typeof json.description === 'string' ? json.description : undefined,
155
- image: typeof json.image === 'string' ? json.image : undefined,
156
- website: extractString(json, ['external_url', 'website']) ||
157
- extractFromExtensions(json, 'website'),
158
- twitter: extractFromExtensions(json, 'twitter'),
159
- telegram: extractFromExtensions(json, 'telegram'),
160
- discord: extractFromExtensions(json, 'discord'),
161
- raw: json,
147
+ ...meta,
148
+ ...json,
149
+ // ensure we always surface these normalized keys when available
150
+ twitter,
151
+ telegram,
152
+ website,
162
153
  };
163
154
  }
164
155
  catch {
165
- // Return on-chain data if JSON fetch fails
166
- return onChainMetadata;
167
- }
168
- }
169
- /**
170
- * Extract a string from an object, trying multiple keys
171
- */
172
- function extractString(obj, keys) {
173
- for (const key of keys) {
174
- const value = obj[key];
175
- if (typeof value === 'string' && value.trim()) {
176
- return value.trim();
177
- }
178
- }
179
- return undefined;
180
- }
181
- /**
182
- * Extract a field from the `extensions` object (common in Metaplex metadata)
183
- */
184
- function extractFromExtensions(obj, key) {
185
- const extensions = obj.extensions;
186
- if (extensions && typeof extensions === 'object' && extensions !== null) {
187
- const value = extensions[key];
188
- if (typeof value === 'string' && value.trim()) {
189
- return value.trim();
190
- }
156
+ return { ...meta };
191
157
  }
192
- return undefined;
193
158
  }
194
159
  /**
195
160
  * Batch fetch metadata for multiple tokens
@@ -210,7 +175,7 @@ function extractFromExtensions(obj, key) {
210
175
  * }
211
176
  * ```
212
177
  */
213
- export async function batchGetTokenMetadata(connection, mints) {
178
+ async function batchGetTokenMetadata(connection, mints) {
214
179
  const results = new Map();
215
180
  if (mints.length === 0) {
216
181
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2CH,wCAMC;AA8BD,sDA0BC;AAoBD,4CAgBC;AAKD,oDAgEC;AAqBD,sDA0CC;AA/QD,6CAAwD;AACxD,iDAA2D;AAmC3D,kCAAkC;AAElC;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAe;IAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAS,CAAC,sBAAsB,CAC7C,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,wCAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAChF,wCAAyB,CACzB,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,sCAAsC;AAEtC;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAY,EAAE,MAAc;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI;SAChB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;SACpB,QAAQ,CAAC,MAAM,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,IAAI,EAAE,CAAC;IACT,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IACjD,IAAI,CAAC;QACJ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAE3C,+DAA+D;QAC/D,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAEzB,OAAO;QACP,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzB,SAAS;QACT,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAE3B,MAAM;QACN,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,GAAG,EAAE,GAAG,CAAC,KAAK;SACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,uCAAuC;AAEvC;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CACrC,UAAsB,EACtB,IAAe;IAEf,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACzC,UAAsB,EACtB,IAAe,EACf,OAA8B;IAE9B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAC,GAAG,IAAI,EAAC,CAAC;IAE3B,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,MAAM,OAAO,GACZ,UAAU,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC3D,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,UAAU,EAAE,MAAM;YAC1B,OAAO,EAAE,EAAC,MAAM,EAAE,kBAAkB,EAAC;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAC,GAAG,IAAI,EAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;QAE5D,IAAI,OAAO;YAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAEnC,0CAA0C;QAC1C,MAAM,UAAU,GACf,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACrD,CAAC,CAAE,IAAI,CAAC,UAAsC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GACf,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACtD,CAAC,CAAE,IAAI,CAAC,UAAsC;YAC9C,CAAC,CAAC,SAAS,CAAC;YACb,CAAC,UAAU,EAAE,UAAU,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;gBACnE,CAAC,CAAE,UAAU,CAAC,UAAsC;gBACpD,CAAC,CAAC,SAAS,CAAC,CAAC;QACf,MAAM,OAAO,GACZ,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD,CAAC,OAAO,UAAU,EAAE,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC;YAC/D,SAAS,CAAC;QACX,MAAM,QAAQ,GACb,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;YACpD,CAAC,OAAO,UAAU,EAAE,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC;YACjE,SAAS,CAAC;QACX,MAAM,OAAO,GACZ,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD,CAAC,OAAO,UAAU,EAAE,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC;YAC/D,SAAS,CAAC;QAEX,OAAO;YACN,GAAG,IAAI;YACP,GAAG,IAAI;YACP,gEAAgE;YAChE,OAAO;YACP,QAAQ;YACR,OAAO;SACc,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAC,GAAG,IAAI,EAAC,CAAC;IAClB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,qBAAqB,CAC1C,UAAsB,EACtB,KAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,2BAA2B;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;QACJ,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC;KACzB,CAAC,CAAC,CAAC;IAEJ,2BAA2B;IAC3B,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACtB,CAAC;QAEF,oBAAoB;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,kCAAkC;QAClC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
package/dist/pda.js CHANGED
@@ -1,77 +1,90 @@
1
+ "use strict";
1
2
  /**
2
3
  * PDA Derivation Helpers
3
4
  * All Program Derived Addresses for CoinBarrel AMM
4
5
  */
5
- import { PublicKey } from '@solana/web3.js';
6
- import { SEEDS, NATIVE_MINT } from './constants.js';
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getBondingCurvePda = getBondingCurvePda;
8
+ exports.getBondingAuthorityPda = getBondingAuthorityPda;
9
+ exports.getSolEscrowPda = getSolEscrowPda;
10
+ exports.getPoolPda = getPoolPda;
11
+ exports.getPoolAuthorityPda = getPoolAuthorityPda;
12
+ exports.getVaultPda = getVaultPda;
13
+ exports.getPoolWsolVaultPda = getPoolWsolVaultPda;
14
+ exports.getPoolTokenVaultPda = getPoolTokenVaultPda;
15
+ exports.getLpMintPda = getLpMintPda;
16
+ exports.getLpVaultPda = getLpVaultPda;
17
+ exports.getHolderRewardPda = getHolderRewardPda;
18
+ const web3_js_1 = require("@solana/web3.js");
19
+ const constants_js_1 = require("./constants.js");
7
20
  // ============= Bonding Curve PDAs =============
8
21
  /**
9
22
  * Derive bonding curve PDA for a token mint
10
23
  */
11
- export function getBondingCurvePda(mint, programId) {
12
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.BONDING, mint.toBuffer()], programId);
24
+ function getBondingCurvePda(mint, programId) {
25
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.BONDING, mint.toBuffer()], programId);
13
26
  return pda;
14
27
  }
15
28
  /**
16
29
  * Derive bonding authority PDA (signs transfers from curve)
17
30
  */
18
- export function getBondingAuthorityPda(bondingCurve, programId) {
19
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.BONDING_AUTHORITY, bondingCurve.toBuffer()], programId);
31
+ function getBondingAuthorityPda(bondingCurve, programId) {
32
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.BONDING_AUTHORITY, bondingCurve.toBuffer()], programId);
20
33
  return pda;
21
34
  }
22
35
  /**
23
36
  * Derive SOL escrow PDA for bonding curve
24
37
  */
25
- export function getSolEscrowPda(bondingCurve, programId) {
26
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.BONDING_SOL, bondingCurve.toBuffer()], programId);
38
+ function getSolEscrowPda(bondingCurve, programId) {
39
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.BONDING_SOL, bondingCurve.toBuffer()], programId);
27
40
  return pda;
28
41
  }
29
42
  // ============= AMM Pool PDAs =============
30
43
  /**
31
44
  * Derive pool PDA for a WSOL <-> Token pair
32
45
  */
33
- export function getPoolPda(tokenMint, programId) {
34
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.POOL, NATIVE_MINT.toBuffer(), tokenMint.toBuffer()], programId);
46
+ function getPoolPda(tokenMint, programId) {
47
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.POOL, constants_js_1.NATIVE_MINT.toBuffer(), tokenMint.toBuffer()], programId);
35
48
  return pda;
36
49
  }
37
50
  /**
38
51
  * Derive pool authority PDA (signs transfers from pool vaults)
39
52
  */
40
- export function getPoolAuthorityPda(pool, programId) {
41
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.AUTHORITY, pool.toBuffer()], programId);
53
+ function getPoolAuthorityPda(pool, programId) {
54
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.AUTHORITY, pool.toBuffer()], programId);
42
55
  return pda;
43
56
  }
44
57
  /**
45
58
  * Derive vault PDA for a pool + mint
46
59
  */
47
- export function getVaultPda(pool, mint, programId) {
48
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.VAULT, pool.toBuffer(), mint.toBuffer()], programId);
60
+ function getVaultPda(pool, mint, programId) {
61
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.VAULT, pool.toBuffer(), mint.toBuffer()], programId);
49
62
  return pda;
50
63
  }
51
64
  /**
52
65
  * Derive WSOL vault PDA for a pool
53
66
  */
54
- export function getPoolWsolVaultPda(pool, programId) {
55
- return getVaultPda(pool, NATIVE_MINT, programId);
67
+ function getPoolWsolVaultPda(pool, programId) {
68
+ return getVaultPda(pool, constants_js_1.NATIVE_MINT, programId);
56
69
  }
57
70
  /**
58
71
  * Derive token vault PDA for a pool
59
72
  */
60
- export function getPoolTokenVaultPda(pool, tokenMint, programId) {
73
+ function getPoolTokenVaultPda(pool, tokenMint, programId) {
61
74
  return getVaultPda(pool, tokenMint, programId);
62
75
  }
63
76
  /**
64
77
  * Derive LP mint PDA for a pool
65
78
  */
66
- export function getLpMintPda(pool, programId) {
67
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.LP_MINT, pool.toBuffer()], programId);
79
+ function getLpMintPda(pool, programId) {
80
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.LP_MINT, pool.toBuffer()], programId);
68
81
  return pda;
69
82
  }
70
83
  /**
71
84
  * Derive LP vault PDA (holds burned/locked LP tokens)
72
85
  */
73
- export function getLpVaultPda(pool, programId) {
74
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.LP_VAULT, pool.toBuffer()], programId);
86
+ function getLpVaultPda(pool, programId) {
87
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.LP_VAULT, pool.toBuffer()], programId);
75
88
  return pda;
76
89
  }
77
90
  // ============= Holder Reward PDAs =============
@@ -79,8 +92,8 @@ export function getLpVaultPda(pool, programId) {
79
92
  * Derive holder reward account PDA for a user + token
80
93
  * Used for tracking holder rewards across buys/sells
81
94
  */
82
- export function getHolderRewardPda(tokenMint, holder, programId) {
83
- const [pda] = PublicKey.findProgramAddressSync([SEEDS.HOLDER_REWARD, tokenMint.toBuffer(), holder.toBuffer()], programId);
95
+ function getHolderRewardPda(tokenMint, holder, programId) {
96
+ const [pda] = web3_js_1.PublicKey.findProgramAddressSync([constants_js_1.SEEDS.HOLDER_REWARD, tokenMint.toBuffer(), holder.toBuffer()], programId);
84
97
  return pda;
85
98
  }
86
99
  //# sourceMappingURL=pda.js.map
package/dist/pda.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}