@gala-chain/launchpad-sdk 3.6.2 → 3.6.4
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/schemas/primitives.d.ts.map +1 -1
- package/dist/services/CommentService.d.ts +0 -8
- package/dist/services/CommentService.d.ts.map +1 -1
- package/dist/services/GalaChainService.d.ts +0 -8
- package/dist/services/GalaChainService.d.ts.map +1 -1
- package/dist/services/LaunchpadService.d.ts +2 -1
- package/dist/services/LaunchpadService.d.ts.map +1 -1
- package/dist/services/PoolService.d.ts +12 -2
- package/dist/services/PoolService.d.ts.map +1 -1
- package/dist/services/TokenResolverService.d.ts +6 -6
- package/dist/services/TokenResolverService.d.ts.map +1 -1
- package/dist/types/transfer.dto.d.ts +2 -2
- package/dist/types/transfer.dto.d.ts.map +1 -1
- package/dist/utils/validation-helpers.d.ts +200 -0
- package/dist/utils/validation-helpers.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/schemas/primitives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;GAGG;AACH,eAAO,MAAM,eAAe,aAIsD,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,aAIyC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAG4B,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,aAGsB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,aAG4B,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,cAAc,aAI+C,CAAC;AAM3E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,aAE2D,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,qBAAqB,aAEuC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yEAc9B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,kBAAkB,2CAO5B,CAAC;AAMJ;;;GAGG;AACH,eAAO,MAAM,2BAA2B,2CAMrC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,8BAA8B,2CAMxC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAEsD,CAAC;AAMtF;;;GAGG;AACH,eAAO,MAAM,SAAS,aAG6C,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kFAM3B,CAAC;AAMJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB,2BAKhB,CAAC;AAEd;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAY,6BAOvD;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,2BAAyB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,eAAe,2BAAwB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAwB,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,cAAc,aAI0B,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,cAAc,aAE2B,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB,iGAO9B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,oBAAoB,aAGoB,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,mBAAmB,aAEmB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,eAAe,aAGe,CAAC;AAM5C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aAEwD,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,aAK7B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe,aAKzB,CAAC"}
|
|
@@ -59,13 +59,5 @@ export declare class CommentService {
|
|
|
59
59
|
* @throws ValidationError if token name is invalid, not found, or content is invalid
|
|
60
60
|
*/
|
|
61
61
|
postComment(options: PostCommentOptions): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Resolves a token name to its vault address by querying PoolService
|
|
64
|
-
*
|
|
65
|
-
* @private
|
|
66
|
-
* @param tokenName Token name to resolve
|
|
67
|
-
* @returns Promise<string | null> Vault address if found, null otherwise
|
|
68
|
-
*/
|
|
69
|
-
private resolveTokenNameToVault;
|
|
70
62
|
}
|
|
71
63
|
//# sourceMappingURL=CommentService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommentService.d.ts","sourceRoot":"","sources":["../../src/services/CommentService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,OAAO,EAEL,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,WAAW;IAG3C;;;;;;;;;;OAUG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA8D3E;;;;;;;;;;OAUG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CommentService.d.ts","sourceRoot":"","sources":["../../src/services/CommentService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,OAAO,EAEL,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,WAAW;IAG3C;;;;;;;;;;OAUG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA8D3E;;;;;;;;;;OAUG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4D9D"}
|
|
@@ -227,14 +227,6 @@ export declare class GalaChainService {
|
|
|
227
227
|
* Validate token transfer data
|
|
228
228
|
*/
|
|
229
229
|
private validateTransferTokenData;
|
|
230
|
-
/**
|
|
231
|
-
* Check if an address is in valid format (eth| or 0x)
|
|
232
|
-
*/
|
|
233
|
-
private isValidAddress;
|
|
234
|
-
/**
|
|
235
|
-
* Convert address to backend format (eth|40hex)
|
|
236
|
-
*/
|
|
237
|
-
private formatAddressForBackend;
|
|
238
230
|
/**
|
|
239
231
|
* Resolve token name to tokenInstance object for transfers
|
|
240
232
|
* Uses TokenResolverService to get vault address, then parses it to extract tokenInstance components
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAEjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EAQlB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,qBAAa,gBAAgB;IAazB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAdhC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;;;;OAOG;gBAEgB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,oBAAoB,EACpD,KAAK,GAAE,OAAe;IAUxB;;;;;;;;;;;;;;;;;;OAkBG;IACG,gBAAgB,CACpB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,gCAAgC,CAAC;IAqB5C;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiCpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,gBAAgB,CAAC,WAAW,EAAE;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAItC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,iBAAiB,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAsDtC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6E3D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwG7D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA2BrE;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgDhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqEjC;;;OAGG;YACW,oBAAoB;IA0ClC;;;;OAIG;IACH,OAAO,CAAC,oCAAoC;IA2C5C;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAqD5B"}
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
* ```
|
|
35
35
|
*/
|
|
36
36
|
import { HttpClient } from '../utils/http';
|
|
37
|
+
import { PoolService } from './PoolService';
|
|
37
38
|
import { CheckPoolOptions, PoolsResult, GraphDataResult, TokenDistributionResult, TokenBadgesResult } from '../types/launchpad.dto';
|
|
38
39
|
import { UploadImageByTokenNameOptions, FetchVolumeDataOptions, HasTokenBadgeOptions, FetchCommentsOptions, PostCommentOptions, FetchTradesOptions } from '../types/options.dto';
|
|
39
40
|
import { CommentsResult } from '../types/comment.dto';
|
|
@@ -49,7 +50,7 @@ import { GetTokenListOptions, UserTokenListResult, TransferFaucetsData, UpdatePr
|
|
|
49
50
|
*/
|
|
50
51
|
export declare class LaunchpadService {
|
|
51
52
|
private readonly http;
|
|
52
|
-
|
|
53
|
+
readonly poolService: PoolService;
|
|
53
54
|
private readonly tradeService;
|
|
54
55
|
private readonly commentService;
|
|
55
56
|
private readonly userService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LaunchpadService.d.ts","sourceRoot":"","sources":["../../src/services/LaunchpadService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"LaunchpadService.d.ts","sourceRoot":"","sources":["../../src/services/LaunchpadService.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,10 +105,20 @@ export declare class PoolService {
|
|
|
105
105
|
/**
|
|
106
106
|
* Resolves a token name to its vault address by fetching pool data
|
|
107
107
|
*
|
|
108
|
-
*
|
|
108
|
+
* This is the canonical token resolution implementation used throughout the SDK.
|
|
109
|
+
* TokenResolverService wraps this method with caching for improved performance.
|
|
110
|
+
*
|
|
109
111
|
* @param tokenName Token name to resolve
|
|
110
112
|
* @returns Promise<string | null> Vault address if found, null otherwise
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const vaultAddress = await poolService.resolveTokenNameToVault('dragnrkti');
|
|
117
|
+
* if (vaultAddress) {
|
|
118
|
+
* console.log('Vault:', vaultAddress);
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
111
121
|
*/
|
|
112
|
-
|
|
122
|
+
resolveTokenNameToVault(tokenName: string): Promise<string | null>;
|
|
113
123
|
}
|
|
114
124
|
//# sourceMappingURL=PoolService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../src/services/PoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAGL,WAAW,EACX,gBAAgB,EAIhB,eAAe,EAEf,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;OAKG;IACG,UAAU,CACd,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,WAAW,CAAC;IAiFvB;;;;;OAKG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC5D;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/D;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9D;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAiD3B;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC;IAgCnC;;;;;;;;OAQG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBrE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpE
|
|
1
|
+
{"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../src/services/PoolService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,OAAO,EAGL,WAAW,EACX,gBAAgB,EAIhB,eAAe,EAEf,uBAAuB,EAEvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;OAKG;IACG,UAAU,CACd,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,WAAW,CAAC;IAiFvB;;;;;OAKG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqC5D;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/D;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9D;;;;;OAKG;IACG,eAAe,CACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAiD3B;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC;IAgCnC;;;;;;;;OAQG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBrE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpE;;;;;;;;;;;;;;;;OAgBG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAoB1B"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @packageDocumentation
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { PoolService } from './PoolService';
|
|
17
17
|
import type { TokenClassKey } from '../types/common';
|
|
18
18
|
/**
|
|
19
19
|
* Service for resolving token names to vault addresses and GalaChain identifiers
|
|
@@ -24,8 +24,8 @@ import type { TokenClassKey } from '../types/common';
|
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* ```typescript
|
|
27
|
-
* const
|
|
28
|
-
* const tokenResolver = new TokenResolverService(
|
|
27
|
+
* const poolService = new PoolService(httpClient);
|
|
28
|
+
* const tokenResolver = new TokenResolverService(poolService);
|
|
29
29
|
*
|
|
30
30
|
* // Resolve token name to vault address
|
|
31
31
|
* const vaultAddress = await tokenResolver.resolveTokenToVault('dragnrkti');
|
|
@@ -37,7 +37,7 @@ import type { TokenClassKey } from '../types/common';
|
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
39
|
export declare class TokenResolverService {
|
|
40
|
-
private readonly
|
|
40
|
+
private readonly poolService;
|
|
41
41
|
/**
|
|
42
42
|
* In-memory cache for tokenName → vaultAddress mappings
|
|
43
43
|
* Key: lowercase token name
|
|
@@ -47,9 +47,9 @@ export declare class TokenResolverService {
|
|
|
47
47
|
/**
|
|
48
48
|
* Creates a new TokenResolverService instance
|
|
49
49
|
*
|
|
50
|
-
* @param
|
|
50
|
+
* @param poolService PoolService instance for resolving token names to vault addresses
|
|
51
51
|
*/
|
|
52
|
-
constructor(
|
|
52
|
+
constructor(poolService: PoolService);
|
|
53
53
|
/**
|
|
54
54
|
* Resolves a token name to its vault address
|
|
55
55
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenResolverService.d.ts","sourceRoot":"","sources":["../../src/services/TokenResolverService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TokenResolverService.d.ts","sourceRoot":"","sources":["../../src/services/TokenResolverService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAoB;IAanB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZxC;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAA6B;IAE1C;;;;OAIG;gBAC0B,WAAW,EAAE,WAAW;IAErD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuCpE;;;;;;;;;;;;;;;;;;OAkBG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBrE;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrC;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIlD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;IAO5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAC3D,IAAI;IAMP;;;;;;;OAOG;IACH,OAAO,CAAC,gCAAgC;CAgCzC"}
|
|
@@ -122,9 +122,9 @@ export declare const TRANSFER_CONSTRAINTS: {
|
|
|
122
122
|
readonly UNIQUE_KEY_PATTERN: RegExp;
|
|
123
123
|
/** Pattern for valid token names */
|
|
124
124
|
readonly TOKEN_NAME_PATTERN: RegExp;
|
|
125
|
-
/** Pattern for valid Ethereum addresses (0x format) */
|
|
125
|
+
/** Pattern for valid Ethereum addresses (0x format) - imported from centralized ADDRESS_PATTERNS */
|
|
126
126
|
readonly ETH_ADDRESS_PATTERN: RegExp;
|
|
127
|
-
/** Pattern for valid backend addresses (eth| format) */
|
|
127
|
+
/** Pattern for valid backend addresses (eth| format) - imported from centralized ADDRESS_PATTERNS */
|
|
128
128
|
readonly BACKEND_ADDRESS_PATTERN: RegExp;
|
|
129
129
|
};
|
|
130
130
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.dto.d.ts","sourceRoot":"","sources":["../../src/types/transfer.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"transfer.dto.d.ts","sourceRoot":"","sources":["../../src/types/transfer.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,4 +113,204 @@ export interface PaginationConstraints {
|
|
|
113
113
|
* ```
|
|
114
114
|
*/
|
|
115
115
|
export declare function assertValidPagination(page: number, limit: number, constraints: PaginationConstraints): void;
|
|
116
|
+
/**
|
|
117
|
+
* Address format patterns
|
|
118
|
+
*
|
|
119
|
+
* Centralized regex patterns for Ethereum and GalaChain backend address formats.
|
|
120
|
+
* Single source of truth for address validation across the SDK.
|
|
121
|
+
*/
|
|
122
|
+
export declare const ADDRESS_PATTERNS: {
|
|
123
|
+
/** Ethereum address format: 0x followed by 40 hexadecimal characters */
|
|
124
|
+
readonly ETH_ADDRESS: RegExp;
|
|
125
|
+
/** Backend address format: eth| followed by 40 hexadecimal characters */
|
|
126
|
+
readonly BACKEND_ADDRESS: RegExp;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Validates if a string is a valid address in either Ethereum or backend format
|
|
130
|
+
*
|
|
131
|
+
* This utility consolidates address validation logic that was duplicated across
|
|
132
|
+
* services, particularly in GalaChainService.
|
|
133
|
+
*
|
|
134
|
+
* ## Replaces Patterns
|
|
135
|
+
*
|
|
136
|
+
* ### Before (Duplicate Private Method):
|
|
137
|
+
* ```typescript
|
|
138
|
+
* // GalaChainService.ts (lines 698-703)
|
|
139
|
+
* private isValidAddress(address: string): boolean {
|
|
140
|
+
* return (
|
|
141
|
+
* TRANSFER_CONSTRAINTS.ETH_ADDRESS_PATTERN.test(address) ||
|
|
142
|
+
* TRANSFER_CONSTRAINTS.BACKEND_ADDRESS_PATTERN.test(address)
|
|
143
|
+
* );
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* ### After (Single Source of Truth):
|
|
148
|
+
* ```typescript
|
|
149
|
+
* import { isValidAddress } from '../utils/validation-helpers';
|
|
150
|
+
*
|
|
151
|
+
* if (!isValidAddress(data.recipientAddress)) {
|
|
152
|
+
* throw new ValidationError(...);
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @param address - Address string to validate
|
|
157
|
+
* @returns True if address matches either Ethereum (0x...) or backend (eth|...) format
|
|
158
|
+
*
|
|
159
|
+
* @example Ethereum address validation
|
|
160
|
+
* ```typescript
|
|
161
|
+
* isValidAddress('0x1234567890abcdef1234567890abcdef12345678'); // true
|
|
162
|
+
* isValidAddress('0x123'); // false (too short)
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @example Backend address validation
|
|
166
|
+
* ```typescript
|
|
167
|
+
* isValidAddress('eth|1234567890abcdef1234567890abcdef12345678'); // true
|
|
168
|
+
* isValidAddress('eth|123'); // false (too short)
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export declare function isValidAddress(address: string): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Converts an address to backend format (eth|40hex)
|
|
174
|
+
*
|
|
175
|
+
* This utility consolidates address formatting logic that was duplicated across
|
|
176
|
+
* services, particularly in GalaChainService. Matches the transformation logic
|
|
177
|
+
* in the flexibleAddressSchema Zod schema (primitives.ts).
|
|
178
|
+
*
|
|
179
|
+
* ## Replaces Patterns
|
|
180
|
+
*
|
|
181
|
+
* ### Before (Duplicate Private Method):
|
|
182
|
+
* ```typescript
|
|
183
|
+
* // GalaChainService.ts (lines 708-713)
|
|
184
|
+
* private formatAddressForBackend(address: string): string {
|
|
185
|
+
* if (address.startsWith('0x')) {
|
|
186
|
+
* return `eth|${address.slice(2)}`;
|
|
187
|
+
* }
|
|
188
|
+
* return address;
|
|
189
|
+
* }
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* ### After (Single Source of Truth):
|
|
193
|
+
* ```typescript
|
|
194
|
+
* import { formatAddressForBackend } from '../utils/validation-helpers';
|
|
195
|
+
*
|
|
196
|
+
* const recipientAddress = formatAddressForBackend(data.to);
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @param address - Address in either Ethereum (0x...) or backend (eth|...) format
|
|
200
|
+
* @returns Address in backend format (eth|40hex)
|
|
201
|
+
*
|
|
202
|
+
* @example Ethereum address conversion
|
|
203
|
+
* ```typescript
|
|
204
|
+
* formatAddressForBackend('0x1234567890abcdef1234567890abcdef12345678');
|
|
205
|
+
* // Returns: 'eth|1234567890abcdef1234567890abcdef12345678'
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @example Backend address passthrough
|
|
209
|
+
* ```typescript
|
|
210
|
+
* formatAddressForBackend('eth|1234567890abcdef1234567890abcdef12345678');
|
|
211
|
+
* // Returns: 'eth|1234567890abcdef1234567890abcdef12345678' (unchanged)
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
export declare function formatAddressForBackend(address: string): string;
|
|
215
|
+
/**
|
|
216
|
+
* Type guard function signature
|
|
217
|
+
* A function that checks if a value matches a specific type and narrows the type accordingly
|
|
218
|
+
*/
|
|
219
|
+
export type TypeGuard<T> = (value: unknown) => value is T;
|
|
220
|
+
/**
|
|
221
|
+
* Creates a validation function from a type guard
|
|
222
|
+
*
|
|
223
|
+
* This utility eliminates the need for boilerplate validation wrapper methods
|
|
224
|
+
* that simply call a type guard and throw an error. Common pattern across services.
|
|
225
|
+
*
|
|
226
|
+
* ## Replaces Patterns
|
|
227
|
+
*
|
|
228
|
+
* ### Before (Multiple Duplicate Wrapper Methods):
|
|
229
|
+
* ```typescript
|
|
230
|
+
* // GalaChainService.ts - 3 separate validation methods (~30 lines total)
|
|
231
|
+
* private validateFetchPoolDetailsData(data: FetchPoolDetailsData): void {
|
|
232
|
+
* if (!isFetchPoolDetailsData(data)) {
|
|
233
|
+
* throw new ValidationError(
|
|
234
|
+
* 'Invalid fetch pool details data',
|
|
235
|
+
* 'data',
|
|
236
|
+
* 'INVALID_DATA'
|
|
237
|
+
* );
|
|
238
|
+
* }
|
|
239
|
+
* }
|
|
240
|
+
*
|
|
241
|
+
* private validateTransferGalaData(data: TransferGalaData): void {
|
|
242
|
+
* if (!isTransferGalaData(data)) {
|
|
243
|
+
* throw new ValidationError(
|
|
244
|
+
* 'Invalid transfer GALA data',
|
|
245
|
+
* 'data',
|
|
246
|
+
* 'INVALID_DATA'
|
|
247
|
+
* );
|
|
248
|
+
* }
|
|
249
|
+
* }
|
|
250
|
+
*
|
|
251
|
+
* private validateTransferTokenData(data: TransferTokenData): void {
|
|
252
|
+
* if (!isTransferTokenData(data)) {
|
|
253
|
+
* throw new ValidationError(
|
|
254
|
+
* 'Invalid transfer token data',
|
|
255
|
+
* 'data',
|
|
256
|
+
* 'INVALID_DATA'
|
|
257
|
+
* );
|
|
258
|
+
* }
|
|
259
|
+
* }
|
|
260
|
+
* ```
|
|
261
|
+
*
|
|
262
|
+
* ### After (Single Factory Function):
|
|
263
|
+
* ```typescript
|
|
264
|
+
* import { createValidator } from '../utils/validation-helpers';
|
|
265
|
+
*
|
|
266
|
+
* // Create validators inline
|
|
267
|
+
* const data = req.body;
|
|
268
|
+
* createValidator(isFetchPoolDetailsData, 'fetch pool details data')(data);
|
|
269
|
+
* createValidator(isTransferGalaData, 'transfer GALA data')(data);
|
|
270
|
+
* createValidator(isTransferTokenData, 'transfer token data')(data);
|
|
271
|
+
* ```
|
|
272
|
+
*
|
|
273
|
+
* @param typeGuard - Type guard function that validates the data type
|
|
274
|
+
* @param dataTypeName - Human-readable name for error messages (e.g., 'transfer data', 'pool details')
|
|
275
|
+
* @param fieldName - Optional field name for error context (defaults to 'data')
|
|
276
|
+
* @param errorCode - Optional error code (defaults to 'INVALID_DATA')
|
|
277
|
+
* @returns Validation function that throws ValidationError if type guard fails
|
|
278
|
+
*
|
|
279
|
+
* @example Basic usage with transfer data
|
|
280
|
+
* ```typescript
|
|
281
|
+
* import { createValidator } from '../utils/validation-helpers';
|
|
282
|
+
* import { isTransferGalaData, TransferGalaData } from '../types/transfer.dto';
|
|
283
|
+
*
|
|
284
|
+
* function transferGala(data: unknown) {
|
|
285
|
+
* // Validates and narrows type in one call
|
|
286
|
+
* createValidator(isTransferGalaData, 'transfer GALA data')(data);
|
|
287
|
+
* // data is now typed as TransferGalaData
|
|
288
|
+
*
|
|
289
|
+
* // Proceed with transfer logic
|
|
290
|
+
* }
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* @example With custom field name and error code
|
|
294
|
+
* ```typescript
|
|
295
|
+
* createValidator(
|
|
296
|
+
* isFetchPoolDetailsData,
|
|
297
|
+
* 'pool details',
|
|
298
|
+
* 'poolData',
|
|
299
|
+
* 'INVALID_POOL_DATA'
|
|
300
|
+
* )(data);
|
|
301
|
+
* ```
|
|
302
|
+
*
|
|
303
|
+
* @example Reusable validator
|
|
304
|
+
* ```typescript
|
|
305
|
+
* const validateTransferData = createValidator(
|
|
306
|
+
* isTransferGalaData,
|
|
307
|
+
* 'transfer data'
|
|
308
|
+
* );
|
|
309
|
+
*
|
|
310
|
+
* // Use in multiple places
|
|
311
|
+
* validateTransferData(data1);
|
|
312
|
+
* validateTransferData(data2);
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
export declare function createValidator<T>(typeGuard: TypeGuard<T>, dataTypeName: string, fieldName?: string, errorCode?: string): (value: unknown) => asserts value is T;
|
|
116
316
|
//# sourceMappingURL=validation-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/validation-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,qBAAqB,GACjC,IAAI,CAoBN"}
|
|
1
|
+
{"version":3,"file":"validation-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/validation-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,qBAAqB,GACjC,IAAI,CAoBN;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;IAC3B,wEAAwE;;IAExE,yEAAyE;;CAEjE,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAe,EAC1B,SAAS,GAAE,MAAuB,GACjC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,CAUxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gala-chain/launchpad-sdk",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.4",
|
|
4
4
|
"description": "TypeScript SDK for Gala Launchpad Backend API - Production-ready DeFi token launchpad integration with wallet-based authentication, GalaChain trading, and comprehensive user operations. 100% tested (22/22 endpoints working).",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|