@gala-chain/launchpad-sdk 0.4.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.
Files changed (72) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +628 -0
  3. package/dist/LaunchpadSDK.d.ts +573 -0
  4. package/dist/LaunchpadSDK.d.ts.map +1 -0
  5. package/dist/api/CommentAPI.d.ts +119 -0
  6. package/dist/api/CommentAPI.d.ts.map +1 -0
  7. package/dist/api/LaunchpadAPI.d.ts +440 -0
  8. package/dist/api/LaunchpadAPI.d.ts.map +1 -0
  9. package/dist/api/TradeAPI.d.ts +164 -0
  10. package/dist/api/TradeAPI.d.ts.map +1 -0
  11. package/dist/api/Trading.d.ts +176 -0
  12. package/dist/api/Trading.d.ts.map +1 -0
  13. package/dist/api/UserAPI.d.ts +426 -0
  14. package/dist/api/UserAPI.d.ts.map +1 -0
  15. package/dist/api/WebSocketAPI.d.ts +156 -0
  16. package/dist/api/WebSocketAPI.d.ts.map +1 -0
  17. package/dist/api/dto/BondingCurveDTOs.d.ts +142 -0
  18. package/dist/api/dto/BondingCurveDTOs.d.ts.map +1 -0
  19. package/dist/api/services/BundleService.d.ts +105 -0
  20. package/dist/api/services/BundleService.d.ts.map +1 -0
  21. package/dist/api/services/SignatureService.d.ts +71 -0
  22. package/dist/api/services/SignatureService.d.ts.map +1 -0
  23. package/dist/api/services/TokenClassKeyService.d.ts +116 -0
  24. package/dist/api/services/TokenClassKeyService.d.ts.map +1 -0
  25. package/dist/api/services/WebSocketManager.d.ts +99 -0
  26. package/dist/api/services/WebSocketManager.d.ts.map +1 -0
  27. package/dist/api/services/WebSocketService.d.ts +66 -0
  28. package/dist/api/services/WebSocketService.d.ts.map +1 -0
  29. package/dist/auth/SignatureAuth.d.ts +92 -0
  30. package/dist/auth/SignatureAuth.d.ts.map +1 -0
  31. package/dist/auth/types.d.ts +41 -0
  32. package/dist/auth/types.d.ts.map +1 -0
  33. package/dist/helpers/sdk.d.ts +75 -0
  34. package/dist/helpers/sdk.d.ts.map +1 -0
  35. package/dist/helpers/wallet.d.ts +60 -0
  36. package/dist/helpers/wallet.d.ts.map +1 -0
  37. package/dist/index.cjs.js +1 -0
  38. package/dist/index.d.ts +49 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.esm.js +1 -0
  41. package/dist/index.js +1 -0
  42. package/dist/types/comment.dto.d.ts +160 -0
  43. package/dist/types/comment.dto.d.ts.map +1 -0
  44. package/dist/types/common.d.ts +108 -0
  45. package/dist/types/common.d.ts.map +1 -0
  46. package/dist/types/dto.d.ts +145 -0
  47. package/dist/types/dto.d.ts.map +1 -0
  48. package/dist/types/launchpad.dto.d.ts +517 -0
  49. package/dist/types/launchpad.dto.d.ts.map +1 -0
  50. package/dist/types/launchpad.validation.d.ts +40 -0
  51. package/dist/types/launchpad.validation.d.ts.map +1 -0
  52. package/dist/types/trade.dto.d.ts +446 -0
  53. package/dist/types/trade.dto.d.ts.map +1 -0
  54. package/dist/types/user.dto.d.ts +330 -0
  55. package/dist/types/user.dto.d.ts.map +1 -0
  56. package/dist/utils/VaultCache.d.ts +73 -0
  57. package/dist/utils/VaultCache.d.ts.map +1 -0
  58. package/dist/utils/adapters.d.ts +111 -0
  59. package/dist/utils/adapters.d.ts.map +1 -0
  60. package/dist/utils/agent-config.d.ts +206 -0
  61. package/dist/utils/agent-config.d.ts.map +1 -0
  62. package/dist/utils/http.d.ts +85 -0
  63. package/dist/utils/http.d.ts.map +1 -0
  64. package/dist/utils/multipart.d.ts +60 -0
  65. package/dist/utils/multipart.d.ts.map +1 -0
  66. package/dist/utils/precision-math.d.ts +37 -0
  67. package/dist/utils/precision-math.d.ts.map +1 -0
  68. package/dist/utils/validation.d.ts +131 -0
  69. package/dist/utils/validation.d.ts.map +1 -0
  70. package/dist/utils/wallet.d.ts +174 -0
  71. package/dist/utils/wallet.d.ts.map +1 -0
  72. package/package.json +151 -0
@@ -0,0 +1,446 @@
1
+ /**
2
+ * Trade API Data Transfer Objects and Types
3
+ *
4
+ * This module defines all types and interfaces for trade operations including
5
+ * trade creation and trade listing endpoints.
6
+ */
7
+ import { AddressFormat } from './common';
8
+ /**
9
+ * Pre-mint vault address constant
10
+ */
11
+ export declare const PRE_MINT_VAULT_ADDRESS = "service|testToken";
12
+ /**
13
+ * Trade type enumeration
14
+ */
15
+ export type TradeType = 'buy' | 'sell';
16
+ /**
17
+ * Data required for creating a trade
18
+ */
19
+ export interface CreateTradeData {
20
+ /** Trade type */
21
+ tradeType: TradeType;
22
+ /** Token amount as string (validated as number on backend) */
23
+ tokenAmount: string;
24
+ /** Vault address - either eth|0x[40] or service|[alphanumeric] */
25
+ vaultAddress: string;
26
+ /** User address in backend format eth|[40-hex-chars] */
27
+ userAddress: AddressFormat;
28
+ /** Optional slippage tolerance */
29
+ slippageTolerance?: string;
30
+ /** Optional deadline timestamp */
31
+ deadline?: number;
32
+ }
33
+ /**
34
+ * Response from trade creation endpoint
35
+ */
36
+ export interface CreateTradeResponse {
37
+ /** Success status */
38
+ success: boolean;
39
+ /** Created trade information */
40
+ data?: any;
41
+ /** Error message if creation failed */
42
+ message?: string;
43
+ }
44
+ /**
45
+ * Data required for buying tokens with native currency (GALA)
46
+ */
47
+ export interface BuyTokensData {
48
+ /** Token symbol (e.g., 'WBB') */
49
+ tokenSymbol: string;
50
+ /** Amount of native currency (GALA) to spend */
51
+ nativeTokenQuantity: string;
52
+ /** Expected amount of tokens to receive */
53
+ expectedToken: string;
54
+ /** Maximum acceptable reverse bonding curve fee for slippage protection (optional, defaults to '0') */
55
+ maxAcceptableReverseBondingCurveFee?: string;
56
+ }
57
+ /**
58
+ * Data required for selling tokens for native currency (GALA)
59
+ */
60
+ export interface SellTokensData {
61
+ /** Token symbol (e.g., 'WBB') */
62
+ tokenSymbol: string;
63
+ /** Amount of tokens to sell */
64
+ tokenQuantity: string;
65
+ /** Expected amount of native currency (GALA) to receive */
66
+ expectedNativeToken: string;
67
+ /** Maximum acceptable reverse bonding curve fee for slippage protection (optional, defaults to '0') */
68
+ maxAcceptableReverseBondingCurveFee?: string;
69
+ }
70
+ /**
71
+ * Signed DTO for buy token operations
72
+ */
73
+ export interface BuyTokensSignedDto {
74
+ /** Service vault address for the token */
75
+ vaultAddress: string;
76
+ /** Amount of native currency (GALA) to spend */
77
+ nativeTokenQuantity: string;
78
+ /** Expected amount of tokens to receive */
79
+ expectedToken: string;
80
+ /** Extra fees for slippage protection */
81
+ extraFees: {
82
+ maxAcceptableReverseBondingCurveFee: string;
83
+ };
84
+ /** Unique operation key */
85
+ uniqueKey: string;
86
+ /** Ethereum message prefix */
87
+ prefix?: string;
88
+ /** Signature */
89
+ signature: string;
90
+ /** EIP-712 types structure */
91
+ types?: any;
92
+ /** EIP-712 domain */
93
+ domain?: any;
94
+ }
95
+ /**
96
+ * Signed DTO for sell token operations
97
+ */
98
+ export interface SellTokensSignedDto {
99
+ /** Service vault address for the token */
100
+ vaultAddress: string;
101
+ /** Amount of tokens to sell */
102
+ tokenQuantity: string;
103
+ /** Expected amount of native currency (GALA) to receive */
104
+ expectedNativeToken: string;
105
+ /** Extra fees for slippage protection */
106
+ extraFees: {
107
+ maxAcceptableReverseBondingCurveFee: string;
108
+ };
109
+ /** Unique operation key */
110
+ uniqueKey: string;
111
+ /** Ethereum message prefix */
112
+ prefix?: string;
113
+ /** Signature */
114
+ signature: string;
115
+ /** EIP-712 types structure */
116
+ types?: any;
117
+ /** EIP-712 domain */
118
+ domain?: any;
119
+ }
120
+ /**
121
+ * Response from token trading operations
122
+ */
123
+ export interface TokenTradeResponse {
124
+ /** HTTP status code */
125
+ status: number;
126
+ /** Success status */
127
+ success?: boolean;
128
+ /** Trade result data */
129
+ data: any;
130
+ /** Response message */
131
+ message: string;
132
+ /** Error message if trade failed */
133
+ error: string | null;
134
+ }
135
+ /**
136
+ * Options for fetching trades with filtering
137
+ */
138
+ export interface GetTradeOptions {
139
+ /** Optional token name filter */
140
+ tokenName?: string;
141
+ /** Page number (1-based), defaults to 1 */
142
+ page?: number;
143
+ /** Number of items per page, defaults to 10 */
144
+ limit?: number;
145
+ }
146
+ /**
147
+ * Pagination parameters for tokenName-based trade methods
148
+ */
149
+ export interface TradeListParams {
150
+ /** Page number (1-based), defaults to 1 */
151
+ page?: number;
152
+ /** Number of items per page, defaults to 10 */
153
+ limit?: number;
154
+ }
155
+ /**
156
+ * Backend format for get trade options (handles type conversion)
157
+ */
158
+ export interface BackendGetTradeOptions {
159
+ /** Optional token name filter */
160
+ tokenName?: string;
161
+ /** Page number as string (backend quirk) */
162
+ page: string;
163
+ /** Limit as string (backend quirk) */
164
+ limit: string;
165
+ }
166
+ /**
167
+ * Trade information returned by the API
168
+ */
169
+ export interface TradeInfo {
170
+ /** Trade ID */
171
+ id: string;
172
+ /** User address involved in the trade */
173
+ userAddress: AddressFormat;
174
+ /** Trade type */
175
+ tradeType: TradeType;
176
+ /** Token amount */
177
+ tokenAmount: string;
178
+ /** Vault address */
179
+ vaultAddress: string;
180
+ /** Trade timestamp */
181
+ createdAt: string;
182
+ /** Last update timestamp */
183
+ updatedAt: string;
184
+ /** Optional slippage tolerance */
185
+ slippageTolerance?: string;
186
+ /** Optional deadline */
187
+ deadline?: number;
188
+ /** Additional trade metadata */
189
+ [key: string]: any;
190
+ }
191
+ /**
192
+ * Response from get trades endpoint
193
+ */
194
+ export interface GetTradesResponse {
195
+ /** Array of trades */
196
+ data: TradeInfo[];
197
+ /** Pagination metadata */
198
+ page: number;
199
+ limit: number;
200
+ total: number;
201
+ totalPages: number;
202
+ hasNextPage: boolean;
203
+ hasPrevPage: boolean;
204
+ }
205
+ /**
206
+ * Constraints for trade operations
207
+ */
208
+ export declare const TRADE_CONSTRAINTS: {
209
+ /** Pagination constraints */
210
+ readonly PAGINATION: {
211
+ readonly MIN_PAGE: 1;
212
+ readonly MAX_PAGE: 1000;
213
+ readonly MIN_LIMIT: 1;
214
+ readonly MAX_LIMIT: 20;
215
+ };
216
+ /** Vault address patterns */
217
+ readonly VAULT_ADDRESS: {
218
+ /** Ethereum vault pattern: eth|0x[40-hex-chars] */
219
+ readonly ETH_PATTERN: RegExp;
220
+ /** Service vault pattern: service|[alphanumeric with special chars] */
221
+ readonly SERVICE_PATTERN: RegExp;
222
+ };
223
+ /** User address pattern */
224
+ readonly USER_ADDRESS: {
225
+ /** User address pattern: eth|[40-hex-chars] */
226
+ readonly PATTERN: RegExp;
227
+ };
228
+ /** Amount validation */
229
+ readonly AMOUNT: {
230
+ /** Pattern for positive decimal numbers */
231
+ readonly POSITIVE_DECIMAL: RegExp;
232
+ };
233
+ /** Token name constraints */
234
+ readonly TOKEN_NAME: {
235
+ readonly MIN_LENGTH: 1;
236
+ readonly MAX_LENGTH: 50;
237
+ };
238
+ };
239
+ /**
240
+ * Type guard to check if an object is valid CreateTradeData
241
+ */
242
+ export declare function isCreateTradeData(obj: any): obj is CreateTradeData;
243
+ /**
244
+ * Type guard to check if an object is valid GetTradeOptions
245
+ */
246
+ export declare function isGetTradeOptions(obj: any): obj is GetTradeOptions;
247
+ /**
248
+ * Type guard to check if an object is valid TradeListParams
249
+ */
250
+ export declare function isTradeListParams(obj: any): obj is TradeListParams;
251
+ /**
252
+ * Type guard to check if a string is a valid TradeType
253
+ */
254
+ export declare function isTradeType(value: string): value is TradeType;
255
+ /**
256
+ * Validates vault address format (supports both eth and service formats)
257
+ */
258
+ export declare function isValidVaultAddress(address: string): boolean;
259
+ /**
260
+ * Validates user address format
261
+ * Now uses GSwap SDK validator for consistency
262
+ */
263
+ export declare function isValidUserAddress(address: string): boolean;
264
+ /**
265
+ * Validates amount string format (positive decimal)
266
+ * Now uses GSwap SDK validator for consistency
267
+ */
268
+ export declare function isValidAmountString(amount: string): boolean;
269
+ /**
270
+ * Type guard to check if an object is valid BuyTokensData
271
+ */
272
+ export declare function isBuyTokensData(obj: any): obj is BuyTokensData;
273
+ /**
274
+ * Type guard to check if an object is valid SellTokensData
275
+ */
276
+ export declare function isSellTokensData(obj: any): obj is SellTokensData;
277
+ /**
278
+ * Validates token symbol format
279
+ * Now uses GSwap SDK validator for consistency
280
+ */
281
+ export declare function isValidTokenSymbol(symbol: string): boolean;
282
+ /**
283
+ * Request data for fetching sale details
284
+ */
285
+ export interface FetchSaleDetailsData {
286
+ /** Vault address in service format */
287
+ vaultAddress: string;
288
+ }
289
+ /**
290
+ * Token information structure
291
+ */
292
+ export interface TokenInfo {
293
+ /** Additional key identifier */
294
+ additionalKey: string;
295
+ /** Token category */
296
+ category: string;
297
+ /** Token collection */
298
+ collection: string;
299
+ /** Token instance */
300
+ instance: string;
301
+ /** Token type */
302
+ type: string;
303
+ }
304
+ /**
305
+ * Reverse bonding curve configuration
306
+ */
307
+ export interface ReverseBondingCurveConfiguration {
308
+ /** Maximum fee portion */
309
+ maxFeePortion: string;
310
+ /** Minimum fee portion */
311
+ minFeePortion: string;
312
+ }
313
+ /**
314
+ * Sale details data from GalaChain
315
+ */
316
+ export interface SaleDetailsData {
317
+ /** Base price for the token */
318
+ basePrice: string;
319
+ /** Euler constant */
320
+ euler: string;
321
+ /** Exponent factor for bonding curve */
322
+ exponentFactor: string;
323
+ /** Maximum token supply */
324
+ maxSupply: string;
325
+ /** Native token information (GALA) */
326
+ nativeToken: TokenInfo;
327
+ /** Current native token quantity in the vault */
328
+ nativeTokenQuantity: string;
329
+ /** Reverse bonding curve configuration */
330
+ reverseBondingCurveConfiguration: ReverseBondingCurveConfiguration;
331
+ /** Sale owner address */
332
+ saleOwner: string;
333
+ /** Current sale status */
334
+ saleStatus: string;
335
+ /** Selling token information */
336
+ sellingToken: TokenInfo;
337
+ /** Current selling token quantity */
338
+ sellingTokenQuantity: string;
339
+ /** Vault address */
340
+ vaultAddress: string;
341
+ }
342
+ /**
343
+ * Response from fetch sale details endpoint
344
+ */
345
+ export interface FetchSaleDetailsResponse {
346
+ /** Status code (1 = success) */
347
+ Status: number;
348
+ /** Sale details data */
349
+ Data: SaleDetailsData;
350
+ }
351
+ /**
352
+ * Type guard to check if an object is valid FetchSaleDetailsData
353
+ */
354
+ export declare function isFetchSaleDetailsData(obj: any): obj is FetchSaleDetailsData;
355
+ /**
356
+ * Data required for calculating pre-mint token amounts
357
+ */
358
+ export interface CalculatePreMintData {
359
+ /** Amount of native currency (GALA) to spend */
360
+ nativeTokenQuantity: string;
361
+ /** Optional vault address (defaults to "service|testToken" for pre-mint) */
362
+ vaultAddress?: string;
363
+ }
364
+ /**
365
+ * Response from CallMemeTokenOut endpoint
366
+ */
367
+ export interface CalculatePreMintResponse {
368
+ /** Status code (1 = success) */
369
+ Status: number;
370
+ /** Calculation result data */
371
+ Data: {
372
+ /** Calculated quantity of tokens user will receive */
373
+ calculatedQuantity: string;
374
+ /** Extra fees breakdown */
375
+ extraFees: {
376
+ /** Reverse bonding curve fee */
377
+ reverseBondingCurve: string;
378
+ /** Transaction fees */
379
+ transactionFees: string;
380
+ };
381
+ };
382
+ }
383
+ /**
384
+ * Trade calculation type enumeration
385
+ */
386
+ export type TradeCalculationType = 'NATIVE' | 'MEME';
387
+ /**
388
+ * Trade calculation method enumeration
389
+ */
390
+ export type TradeCalculationMethod = 'IN' | 'OUT';
391
+ /**
392
+ * Options for calculating trade amounts
393
+ */
394
+ export interface GetAmountOptions {
395
+ /** Type of calculation - determines input currency */
396
+ type: TradeCalculationType;
397
+ /** Method - IN or OUT from pool perspective */
398
+ method: TradeCalculationMethod;
399
+ /** Vault address for the token */
400
+ vaultAddress: string;
401
+ /** Amount to calculate with */
402
+ amount: string;
403
+ }
404
+ /**
405
+ * Response from get amount calculation endpoint
406
+ */
407
+ export interface GetAmountResponse {
408
+ /** Success status */
409
+ success: boolean;
410
+ /** Calculation result data */
411
+ data?: {
412
+ /** Calculated amount */
413
+ amount: string;
414
+ /** Extra fees breakdown */
415
+ extraFees?: {
416
+ /** Reverse bonding curve fee */
417
+ reverseBondingCurve?: string;
418
+ /** Transaction fees */
419
+ transactionFees?: string;
420
+ /** Total fees */
421
+ totalFees?: string;
422
+ };
423
+ /** Price impact percentage */
424
+ priceImpact?: string;
425
+ /** Minimum amount received with slippage protection */
426
+ minimumReceived?: string;
427
+ };
428
+ /** Error message if calculation failed */
429
+ message?: string;
430
+ }
431
+ /**
432
+ * Enhanced extra fees interface (IExtraFeesDTO from frontend)
433
+ */
434
+ export interface IExtraFeesDTO {
435
+ /** Maximum acceptable reverse bonding curve fee for slippage protection */
436
+ maxAcceptableReverseBondingCurveFee: string;
437
+ }
438
+ /**
439
+ * Type guard to check if an object is valid CalculatePreMintData
440
+ */
441
+ export declare function isCalculatePreMintData(obj: any): obj is CalculatePreMintData;
442
+ /**
443
+ * Type guard to check if an object is valid GetAmountOptions
444
+ */
445
+ export declare function isGetAmountOptions(obj: any): obj is GetAmountOptions;
446
+ //# sourceMappingURL=trade.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.dto.d.ts","sourceRoot":"","sources":["../../src/types/trade.dto.ts"],"names":[],"mappings":"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"}