@gala-chain/launchpad-sdk 5.0.1-beta.1 → 5.0.2-beta.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/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/src/constants/version.generated.d.ts +1 -1
- package/dist/src/services/BridgeableTokenService.d.ts +0 -24
- package/dist/src/services/BridgeableTokenService.d.ts.map +1 -1
- package/dist/src/services/DexPoolService.d.ts.map +1 -1
- package/dist/src/services/WrappableTokenService.d.ts +0 -12
- package/dist/src/services/WrappableTokenService.d.ts.map +1 -1
- package/dist/src/utils/auto-pagination.d.ts +64 -0
- package/dist/src/utils/auto-pagination.d.ts.map +1 -1
- package/dist/src/utils/error-factories.d.ts +56 -0
- package/dist/src/utils/error-factories.d.ts.map +1 -1
- package/dist/src/utils/tokenNormalizer.d.ts +27 -0
- package/dist/src/utils/tokenNormalizer.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -60,30 +60,6 @@ export declare class BridgeableTokenService {
|
|
|
60
60
|
private readonly logger;
|
|
61
61
|
private readonly cache;
|
|
62
62
|
constructor(dexApiHttp: HttpClient, debugMode?: boolean);
|
|
63
|
-
/**
|
|
64
|
-
* Resolve tokenId to symbol for cache/lookup operations.
|
|
65
|
-
*
|
|
66
|
-
* STRICT: Only accepts pipe-delimited strings or TokenClassKey objects.
|
|
67
|
-
* Simple strings like "GALA" are REJECTED.
|
|
68
|
-
*
|
|
69
|
-
* @param tokenId - Must be "collection|category|type|additionalKey" OR TokenClassKey object
|
|
70
|
-
* @returns Extracted token symbol (e.g., "GALA")
|
|
71
|
-
* @throws ValidationError if tokenId is invalid format (e.g., just "GALA")
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```typescript
|
|
75
|
-
* // Pipe-delimited string
|
|
76
|
-
* resolveTokenSymbol('GALA|Unit|none|none') // → 'GALA'
|
|
77
|
-
* resolveTokenSymbol('Token|Unit|GWETH|eth:0x...') // → 'GWETH'
|
|
78
|
-
*
|
|
79
|
-
* // TokenClassKey object
|
|
80
|
-
* resolveTokenSymbol({ collection: 'Token', category: 'Unit', type: 'GALA', additionalKey: 'none' }) // → 'GALA'
|
|
81
|
-
*
|
|
82
|
-
* // Invalid - throws error
|
|
83
|
-
* resolveTokenSymbol('GALA') // ❌ ValidationError
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
private resolveTokenSymbol;
|
|
87
63
|
/**
|
|
88
64
|
* Fetch bridgeable tokens for a network with pagination
|
|
89
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeableTokenService.d.ts","sourceRoot":"","sources":["../../../src/services/BridgeableTokenService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGjB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AAQjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,sBAAsB;IAK/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;gBAG1B,UAAU,EAAE,UAAU,EACvC,SAAS,GAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"BridgeableTokenService.d.ts","sourceRoot":"","sources":["../../../src/services/BridgeableTokenService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGjB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AAQjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,sBAAsB;IAK/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;gBAG1B,UAAU,EAAE,UAAU,EACvC,SAAS,GAAE,OAAe;IAU5B;;;;;;OAMG;IACG,8BAA8B,CAClC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC;IAuCvC;;;;;;;;;OASG;IACG,iCAAiC,CACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,2BAA2B,CAAC;IAiDvC;;;;OAIG;IACG,kCAAkC,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAIhF;;;;OAIG;IACG,gCAAgC,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAI9E;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,0BAA0B,CAC9B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IAmCnC;;;;;;;;;;;;;;;;OAgBG;IACG,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrF;;;;;;;;;;;;;;;;OAgBG;IACG,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAInF;;;;;;OAMG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAUvC;;;;;;OAMG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAUvC;;;;;;OAMG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS9B;;;;;OAKG;IACG,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ7E;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;;;OAIG;IACH,aAAa,IAAI,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAI7D;;;;OAIG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAI7C;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAwDxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DexPoolService.d.ts","sourceRoot":"","sources":["../../../src/services/DexPoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DexPoolService.d.ts","sourceRoot":"","sources":["../../../src/services/DexPoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C,uDAAuD;IACvD,OAAO,CAAC,YAAY,CAA2B;IAE/C,sDAAsD;IACtD,OAAO,CAAC,kBAAkB,CAAa;IAEvC;;;;;;;;OAQG;gBAED,IAAI,EAAE,UAAU,EAChB,iBAAiB,EAAE,MAAM,EACzB,YAAY,GAAE,YAAY,GAAG,SAAqB,EAClD,kBAAkB,GAAE,MAAU,EAC9B,SAAS,GAAE,OAAe;IAQ5B;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI5C;;;;OAIG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKhD;;;;;;;;;;;;;OAaG;YACW,sBAAsB;IAoHpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IA+EhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,gBAAgB,CACpB,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAM,GACzD,OAAO,CAAC,cAAc,CAAC;CAuC3B"}
|
|
@@ -53,18 +53,6 @@ export declare class WrappableTokenService {
|
|
|
53
53
|
private readonly logger;
|
|
54
54
|
private readonly cache;
|
|
55
55
|
constructor(dexApiHttp: HttpClient, debugMode?: boolean);
|
|
56
|
-
/**
|
|
57
|
-
* Normalize tokenId to stringified format for lookups.
|
|
58
|
-
*
|
|
59
|
-
* Accepts:
|
|
60
|
-
* - Pipe-delimited string: "$MUSIC|Unit|none|none"
|
|
61
|
-
* - TokenClassKey object: { collection: '$MUSIC', category: 'Unit', type: 'none', additionalKey: 'none' }
|
|
62
|
-
*
|
|
63
|
-
* @param tokenId - Token identifier
|
|
64
|
-
* @returns Normalized stringified TokenClassKey
|
|
65
|
-
* @throws ValidationError if tokenId format is invalid
|
|
66
|
-
*/
|
|
67
|
-
private normalizeTokenId;
|
|
68
56
|
/**
|
|
69
57
|
* Fetch wrappable tokens with pagination (metadata only, cached)
|
|
70
58
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WrappableTokenService.d.ts","sourceRoot":"","sources":["../../../src/services/WrappableTokenService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"WrappableTokenService.d.ts","sourceRoot":"","sources":["../../../src/services/WrappableTokenService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EAGd,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAQzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;gBAGzB,UAAU,EAAE,UAAU,EACvC,SAAS,GAAE,OAAe;IAU5B;;;;;;;;OAQG;IACG,oBAAoB,CACxB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,0BAA0B,CAAC;IAuDtC;;;;;;;;OAQG;IACG,uBAAuB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IA6DpE;;;;;;;OAOG;IACG,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgB9E;;;;;;;;;;;;OAYG;IACG,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAO/E;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuBzE;;;;OAIG;IACH,aAAa,IAAI,wBAAwB;IAIzC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAwCxB"}
|
|
@@ -200,4 +200,68 @@ export declare function autoPaginateWithBookmark<T>(fetchFn: (bookmark: string |
|
|
|
200
200
|
* @since 3.32.0 - itemsKey parameter added in 3.32.0 for response structure flexibility
|
|
201
201
|
*/
|
|
202
202
|
export declare function buildPaginatedResult<T>(items: T[], total?: number, itemsKey?: 'items' | 'pools' | 'snapshots' | string): Record<string, unknown>;
|
|
203
|
+
/**
|
|
204
|
+
* Options for offset-based auto-pagination
|
|
205
|
+
* Used for APIs that use offset/limit pagination instead of page numbers
|
|
206
|
+
*/
|
|
207
|
+
export interface AutoPaginationOffsetOptions {
|
|
208
|
+
/** Maximum items per request (limit) */
|
|
209
|
+
maxLimit: number;
|
|
210
|
+
/** Logger instance for debug output */
|
|
211
|
+
logger?: Logger;
|
|
212
|
+
/** Maximum number of pages to fetch (safety limit) - defaults to 10000 */
|
|
213
|
+
maxPages?: number;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Result from offset-based pagination fetch function
|
|
217
|
+
* Generic structure to extract items from different API response shapes
|
|
218
|
+
*/
|
|
219
|
+
export interface OffsetPaginationFetchResult<TItem> {
|
|
220
|
+
/** Array of items from this page */
|
|
221
|
+
items: TItem[];
|
|
222
|
+
/** Count of raw items in response (for hasMore detection) */
|
|
223
|
+
rawCount: number;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Offset-based auto-pagination handler
|
|
227
|
+
*
|
|
228
|
+
* Automatically iterates through all pages of offset-based paginated API results
|
|
229
|
+
* and combines them into a single array. This is the variant for APIs that use
|
|
230
|
+
* offset/limit parameters instead of page numbers or bookmarks.
|
|
231
|
+
*
|
|
232
|
+
* Common pattern eliminated:
|
|
233
|
+
* ```typescript
|
|
234
|
+
* let offset = 0;
|
|
235
|
+
* let hasMore = true;
|
|
236
|
+
* while (hasMore) {
|
|
237
|
+
* const response = await api.request({ offset, limit: MAX_LIMIT });
|
|
238
|
+
* items.push(...transform(response));
|
|
239
|
+
* hasMore = response.length === MAX_LIMIT;
|
|
240
|
+
* offset += MAX_LIMIT;
|
|
241
|
+
* }
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @typeParam TItem - Type of items being paginated (after transformation)
|
|
245
|
+
* @param fetchFn - Function that fetches a single page given offset and limit.
|
|
246
|
+
* Returns { items: transformed items, rawCount: raw API response count }
|
|
247
|
+
* @param options - Pagination options (maxLimit, logger, maxPages)
|
|
248
|
+
* @returns Promise resolving to array of all items
|
|
249
|
+
*
|
|
250
|
+
* @example Basic usage
|
|
251
|
+
* ```typescript
|
|
252
|
+
* const allTokens = await autoPaginateOffset(
|
|
253
|
+
* async (offset, limit) => {
|
|
254
|
+
* const response = await api.request({ offset, limit });
|
|
255
|
+
* return {
|
|
256
|
+
* items: transformTokens(response.tokens),
|
|
257
|
+
* rawCount: response.tokens.length
|
|
258
|
+
* };
|
|
259
|
+
* },
|
|
260
|
+
* { maxLimit: 1000, logger }
|
|
261
|
+
* );
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* @since 5.0.2
|
|
265
|
+
*/
|
|
266
|
+
export declare function autoPaginateOffset<TItem>(fetchFn: (offset: number, limit: number) => Promise<OffsetPaginationFetchResult<TItem>>, options: AutoPaginationOffsetOptions): Promise<TItem[]>;
|
|
203
267
|
//# sourceMappingURL=auto-pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,6CAA6C;IAC7C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,wCAAwC;IACxC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EACrE,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAyDlC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,6CAA6C;IAC7C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EACvG,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAqHlC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,GAAE,MAAqB,EAC5B,QAAQ,GAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,MAAgB,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB"}
|
|
1
|
+
{"version":3,"file":"auto-pagination.d.ts","sourceRoot":"","sources":["../../../src/utils/auto-pagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @since 3.6.1
|
|
9
9
|
*/
|
|
10
10
|
import { ValidationError, NetworkError, ConfigurationError, TransactionError } from './errors';
|
|
11
|
+
import type { Logger } from './Logger';
|
|
11
12
|
/**
|
|
12
13
|
* Creates a standardized "token not found" validation error
|
|
13
14
|
*
|
|
@@ -297,4 +298,59 @@ export declare function createConfigurationError(message: string, field?: string
|
|
|
297
298
|
* @since 3.7.3
|
|
298
299
|
*/
|
|
299
300
|
export declare function createTransactionError(message: string, transactionId?: string, code?: string): TransactionError;
|
|
301
|
+
/**
|
|
302
|
+
* Handles network errors with consistent logging and error creation
|
|
303
|
+
*
|
|
304
|
+
* This utility eliminates the duplicated pattern of:
|
|
305
|
+
* 1. Logging the error
|
|
306
|
+
* 2. Creating and throwing a NetworkError with getErrorMessage
|
|
307
|
+
*
|
|
308
|
+
* ## Replaces Pattern
|
|
309
|
+
*
|
|
310
|
+
* ### Before (Duplicate across services):
|
|
311
|
+
* ```typescript
|
|
312
|
+
* } catch (error) {
|
|
313
|
+
* this.logger.error('Failed to fetch tokens:', error);
|
|
314
|
+
* throw createNetworkError(
|
|
315
|
+
* `Failed to fetch tokens: ${getErrorMessage(error)}`,
|
|
316
|
+
* undefined,
|
|
317
|
+
* error instanceof Error ? error : undefined
|
|
318
|
+
* );
|
|
319
|
+
* }
|
|
320
|
+
* ```
|
|
321
|
+
*
|
|
322
|
+
* ### After (Single line):
|
|
323
|
+
* ```typescript
|
|
324
|
+
* } catch (error) {
|
|
325
|
+
* throw handleNetworkError(error, 'Failed to fetch tokens', this.logger);
|
|
326
|
+
* }
|
|
327
|
+
* ```
|
|
328
|
+
*
|
|
329
|
+
* @param error The caught error
|
|
330
|
+
* @param operation Human-readable description of the failed operation
|
|
331
|
+
* @param logger Optional logger instance for error logging
|
|
332
|
+
* @param statusCode Optional HTTP status code
|
|
333
|
+
* @returns NetworkError (always throws, return type for type inference)
|
|
334
|
+
*
|
|
335
|
+
* @example Basic usage
|
|
336
|
+
* ```typescript
|
|
337
|
+
* try {
|
|
338
|
+
* const data = await fetchData();
|
|
339
|
+
* } catch (error) {
|
|
340
|
+
* throw handleNetworkError(error, 'Failed to fetch data', this.logger);
|
|
341
|
+
* }
|
|
342
|
+
* ```
|
|
343
|
+
*
|
|
344
|
+
* @example With status code
|
|
345
|
+
* ```typescript
|
|
346
|
+
* try {
|
|
347
|
+
* const response = await http.get('/api/data');
|
|
348
|
+
* } catch (error) {
|
|
349
|
+
* throw handleNetworkError(error, 'API request failed', this.logger, 500);
|
|
350
|
+
* }
|
|
351
|
+
* ```
|
|
352
|
+
*
|
|
353
|
+
* @since 5.0.2
|
|
354
|
+
*/
|
|
355
|
+
export declare function handleNetworkError(error: unknown, operation: string, logger?: Logger, statusCode?: number): NetworkError;
|
|
300
356
|
//# sourceMappingURL=error-factories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-factories.d.ts","sourceRoot":"","sources":["../../../src/utils/error-factories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,UAAU,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,KAAK,GACpB,YAAY,CAEd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,gBAAgB,CAElB"}
|
|
1
|
+
{"version":3,"file":"error-factories.d.ts","sourceRoot":"","sources":["../../../src/utils/error-factories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,UAAU,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,KAAK,GACpB,YAAY,CAEd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,gBAAgB,CAElB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAYd"}
|
|
@@ -174,4 +174,31 @@ export declare function parseVaultAddressToTokenInstance(vaultAddress: string):
|
|
|
174
174
|
* @since 3.32.0
|
|
175
175
|
*/
|
|
176
176
|
export declare function extractTokenSymbolFromVault(vaultAddress: string): string;
|
|
177
|
+
/**
|
|
178
|
+
* Validates and normalizes a TokenId to pipe-delimited string format (4 parts, no instance)
|
|
179
|
+
*
|
|
180
|
+
* This is the standard format used in API requests and cache keys.
|
|
181
|
+
* For TokenClassKey format (without instance), use this function.
|
|
182
|
+
*
|
|
183
|
+
* @param tokenId Token identifier in any supported format
|
|
184
|
+
* @returns Normalized string in format "collection|category|type|additionalKey"
|
|
185
|
+
* @throws ValidationError if tokenId format is invalid
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* // String input - validated and returned
|
|
190
|
+
* normalizeTokenIdToString('GALA|Unit|none|none') // → 'GALA|Unit|none|none'
|
|
191
|
+
*
|
|
192
|
+
* // TokenClassKey object - converted to string
|
|
193
|
+
* normalizeTokenIdToString({
|
|
194
|
+
* collection: 'Token', category: 'Unit', type: 'GWETH', additionalKey: 'eth:0x...'
|
|
195
|
+
* }) // → 'Token|Unit|GWETH|eth:0x...'
|
|
196
|
+
*
|
|
197
|
+
* // Invalid format throws
|
|
198
|
+
* normalizeTokenIdToString('GALA') // ❌ ValidationError
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @since 5.0.2
|
|
202
|
+
*/
|
|
203
|
+
export declare function normalizeTokenIdToString(tokenId: TokenId): string;
|
|
177
204
|
//# sourceMappingURL=tokenNormalizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenNormalizer.d.ts","sourceRoot":"","sources":["../../../src/utils/tokenNormalizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA2D9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,aAAa,CAI1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,MAAM,CAEnE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,gBAAgB,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CActD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAyCpF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,CAMvF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGxE"}
|
|
1
|
+
{"version":3,"file":"tokenNormalizer.d.ts","sourceRoot":"","sources":["../../../src/utils/tokenNormalizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA2D9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,gBAAgB,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,aAAa,CAI1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,MAAM,CAEnE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,gBAAgB,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CActD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAyCpF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,CAMvF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMjE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gala-chain/launchpad-sdk",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2-beta.0",
|
|
4
4
|
"description": "TypeScript SDK for Gala Launchpad Backend API - 100+ public methods with 373+ fully documented APIs supporting optional wallet (read-only and full-access modes). Production-ready DeFi token launchpad integration with AgentConfig setup, GalaChain trading, GSwap DEX integration, price history, token creation, DEX pool discovery, WebSocket event watchers, and comprehensive user operations. Multi-format output (ESM, CJS, UMD).",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|