@gala-chain/launchpad-sdk 8.1.0 → 9.0.0-rc.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/CHANGELOG.md +362 -0
- package/EXAMPLES.md +95 -681
- package/MIGRATING-TO-9.0.md +301 -0
- package/README.md +46 -17
- package/dist/LaunchpadSDK.d.ts +138 -413
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/api/LaunchpadAPI.d.ts +5 -37
- package/dist/api/LaunchpadAPI.d.ts.map +1 -1
- package/dist/auth/SignatureAuth.d.ts +2 -2
- package/dist/auth/SignatureAuth.d.ts.map +1 -1
- package/dist/auth/types.d.ts +1 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/config/environments.d.ts +7 -2
- package/dist/config/environments.d.ts.map +1 -1
- package/dist/constants/decimals.d.ts +0 -23
- package/dist/constants/decimals.d.ts.map +1 -1
- package/dist/constants/endpoints.d.ts +0 -7
- package/dist/constants/endpoints.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +1 -1
- package/dist/constants/version.generated.d.ts.map +1 -1
- package/dist/helpers/sdk.d.ts.map +1 -1
- package/dist/index.browser.d.ts +8 -22
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.esm.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.d.ts +4 -5
- package/dist/index.node.d.ts.map +1 -1
- package/dist/launchpad/bundle-submission.d.ts +1 -9
- package/dist/launchpad/bundle-submission.d.ts.map +1 -1
- package/dist/launchpad/transport.d.ts +2 -1
- package/dist/launchpad/transport.d.ts.map +1 -1
- package/dist/native.cjs +1 -1
- package/dist/native.d.ts +3 -4
- package/dist/native.d.ts.map +1 -1
- package/dist/native.esm.js +1 -1
- package/dist/schemas/user.d.ts +0 -15
- package/dist/schemas/user.d.ts.map +1 -1
- package/dist/services/AbstractCacheService.d.ts +2 -2
- package/dist/services/GalaChainBalanceService.d.ts +17 -89
- package/dist/services/GalaChainBalanceService.d.ts.map +1 -1
- package/dist/services/GalaChainLockService.d.ts +19 -20
- package/dist/services/GalaChainLockService.d.ts.map +1 -1
- package/dist/services/GalaChainService.d.ts +28 -15
- package/dist/services/GalaChainService.d.ts.map +1 -1
- package/dist/services/GalaChainTokenService.d.ts +25 -53
- package/dist/services/GalaChainTokenService.d.ts.map +1 -1
- package/dist/services/GalaChainTransferService.d.ts +42 -41
- package/dist/services/GalaChainTransferService.d.ts.map +1 -1
- package/dist/services/LaunchpadPriceService.d.ts +66 -0
- package/dist/services/LaunchpadPriceService.d.ts.map +1 -0
- package/dist/services/NftCollectionService.d.ts +22 -6
- package/dist/services/NftCollectionService.d.ts.map +1 -1
- package/dist/services/TokenResolverService.d.ts +5 -5
- package/dist/services/TokenResolverService.d.ts.map +1 -1
- package/dist/services/gateway-transport.d.ts +32 -0
- package/dist/services/gateway-transport.d.ts.map +1 -0
- package/dist/services/gateway-writes.d.ts +83 -0
- package/dist/services/gateway-writes.d.ts.map +1 -0
- package/dist/signing/index.d.ts +2 -3
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/signers.d.ts +7 -8
- package/dist/signing/signers.d.ts.map +1 -1
- package/dist/signing/types.d.ts +7 -10
- package/dist/signing/types.d.ts.map +1 -1
- package/dist/types/burn.dto.d.ts +4 -2
- package/dist/types/burn.dto.d.ts.map +1 -1
- package/dist/types/common.d.ts +2 -23
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/dto.d.ts +0 -5
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/types/launchpad.dto.d.ts +0 -257
- package/dist/types/launchpad.dto.d.ts.map +1 -1
- package/dist/types/lock.dto.d.ts +12 -7
- package/dist/types/lock.dto.d.ts.map +1 -1
- package/dist/types/options.dto.d.ts +8 -34
- package/dist/types/options.dto.d.ts.map +1 -1
- package/dist/types/user.dto.d.ts +7 -62
- package/dist/types/user.dto.d.ts.map +1 -1
- package/dist/utils/address-formatter.d.ts +10 -2
- package/dist/utils/address-formatter.d.ts.map +1 -1
- package/dist/utils/agent-config.d.ts +9 -4
- package/dist/utils/agent-config.d.ts.map +1 -1
- package/dist/utils/auto-pagination.d.ts +6 -239
- package/dist/utils/auto-pagination.d.ts.map +1 -1
- package/dist/utils/bignumber-helpers.d.ts +3 -2
- package/dist/utils/bignumber-helpers.d.ts.map +1 -1
- package/dist/utils/delimiter-parser.d.ts +0 -13
- package/dist/utils/delimiter-parser.d.ts.map +1 -1
- package/dist/utils/error-patterns.d.ts +0 -47
- package/dist/utils/error-patterns.d.ts.map +1 -1
- package/dist/utils/error-wrapper.d.ts +5 -5
- package/dist/utils/errors.d.ts +0 -308
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/http.d.ts +15 -3
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/token-format-converter.d.ts +1 -1
- package/dist/utils/token-parser.d.ts +6 -127
- package/dist/utils/token-parser.d.ts.map +1 -1
- package/dist/utils/token-stringification.d.ts +7 -7
- package/dist/utils/token-stringification.d.ts.map +1 -1
- package/dist/utils/tokenNameNormalizer.d.ts +2 -2
- package/dist/utils/tokenNormalizer.d.ts +5 -29
- package/dist/utils/tokenNormalizer.d.ts.map +1 -1
- package/dist/utils/unique-key-generator.d.ts +7 -134
- package/dist/utils/unique-key-generator.d.ts.map +1 -1
- package/dist/utils/validation-helpers.d.ts +3 -5
- package/dist/utils/validation-helpers.d.ts.map +1 -1
- package/package.json +47 -87
- package/dist/api/dto/BurnTokensDto.d.ts +0 -77
- package/dist/api/dto/BurnTokensDto.d.ts.map +0 -1
- package/dist/api/dto/LockTokenDto.d.ts +0 -85
- package/dist/api/dto/LockTokenDto.d.ts.map +0 -1
- package/dist/api/dto/TransferTokenDto.d.ts +0 -64
- package/dist/api/dto/TransferTokenDto.d.ts.map +0 -1
- package/dist/api/dto/UnlockTokenDto.d.ts +0 -74
- package/dist/api/dto/UnlockTokenDto.d.ts.map +0 -1
- package/dist/bridge/BridgeService.d.ts +0 -484
- package/dist/bridge/BridgeService.d.ts.map +0 -1
- package/dist/bridge/GalaConnectClient.d.ts +0 -170
- package/dist/bridge/GalaConnectClient.d.ts.map +0 -1
- package/dist/bridge/constants/index.d.ts +0 -7
- package/dist/bridge/constants/index.d.ts.map +0 -1
- package/dist/bridge/constants/tokens.d.ts +0 -212
- package/dist/bridge/constants/tokens.d.ts.map +0 -1
- package/dist/bridge/index.d.ts +0 -24
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/public-types.d.ts +0 -2
- package/dist/bridge/public-types.d.ts.map +0 -1
- package/dist/bridge/strategies/BridgeStrategy.d.ts +0 -204
- package/dist/bridge/strategies/BridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts +0 -178
- package/dist/bridge/strategies/EthereumBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts +0 -236
- package/dist/bridge/strategies/SolanaBridgeStrategy.d.ts.map +0 -1
- package/dist/bridge/types/bridge.dto.d.ts +0 -772
- package/dist/bridge/types/bridge.dto.d.ts.map +0 -1
- package/dist/bridge/types/bridgeable-token.dto.d.ts +0 -209
- package/dist/bridge/types/bridgeable-token.dto.d.ts.map +0 -1
- package/dist/bridge/types/eip712.d.ts +0 -66
- package/dist/bridge/types/eip712.d.ts.map +0 -1
- package/dist/bridge/types/index.d.ts +0 -8
- package/dist/bridge/types/index.d.ts.map +0 -1
- package/dist/bridge/utils/RateLimiter.d.ts +0 -34
- package/dist/bridge/utils/RateLimiter.d.ts.map +0 -1
- package/dist/bridge/utils/address-formatter.d.ts +0 -25
- package/dist/bridge/utils/address-formatter.d.ts.map +0 -1
- package/dist/bridge/utils/addressValidation.d.ts +0 -200
- package/dist/bridge/utils/addressValidation.d.ts.map +0 -1
- package/dist/bridge/utils/balanceHelpers.d.ts +0 -215
- package/dist/bridge/utils/balanceHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeErrors.d.ts +0 -98
- package/dist/bridge/utils/bridgeErrors.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeOutHelpers.d.ts +0 -68
- package/dist/bridge/utils/bridgeOutHelpers.d.ts.map +0 -1
- package/dist/bridge/utils/bridgePayload.d.ts +0 -98
- package/dist/bridge/utils/bridgePayload.d.ts.map +0 -1
- package/dist/bridge/utils/bridgeStatusParser.d.ts +0 -76
- package/dist/bridge/utils/bridgeStatusParser.d.ts.map +0 -1
- package/dist/bridge/utils/eip712Helpers.d.ts +0 -66
- package/dist/bridge/utils/eip712Helpers.d.ts.map +0 -1
- package/dist/bridge/utils/index.d.ts +0 -19
- package/dist/bridge/utils/index.d.ts.map +0 -1
- package/dist/bridge/utils/retry.d.ts +0 -112
- package/dist/bridge/utils/retry.d.ts.map +0 -1
- package/dist/bridge/utils/strategyDelegation.d.ts +0 -126
- package/dist/bridge/utils/strategyDelegation.d.ts.map +0 -1
- package/dist/bridge/utils/tokenIdUtils.d.ts +0 -86
- package/dist/bridge/utils/tokenIdUtils.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMath.d.ts +0 -39
- package/dist/bridge/utils/tokenMath.d.ts.map +0 -1
- package/dist/bridge/utils/tokenMetadataResolver.d.ts +0 -97
- package/dist/bridge/utils/tokenMetadataResolver.d.ts.map +0 -1
- package/dist/helpers/wallet.d.ts +0 -151
- package/dist/helpers/wallet.d.ts.map +0 -1
- package/dist/react/WalletContext.d.ts +0 -60
- package/dist/react/WalletContext.d.ts.map +0 -1
- package/dist/react/index.d.ts +0 -65
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/types.d.ts +0 -76
- package/dist/react/types.d.ts.map +0 -1
- package/dist/react/useWallet.d.ts +0 -123
- package/dist/react/useWallet.d.ts.map +0 -1
- package/dist/react/useWalletConnection.d.ts +0 -89
- package/dist/react/useWalletConnection.d.ts.map +0 -1
- package/dist/react/useWalletDetection.d.ts +0 -81
- package/dist/react/useWalletDetection.d.ts.map +0 -1
- package/dist/react.cjs +0 -1
- package/dist/react.esm.js +0 -1
- package/dist/services/AbstractTokenFetchService.d.ts +0 -150
- package/dist/services/AbstractTokenFetchService.d.ts.map +0 -1
- package/dist/services/BatchedCacheService.d.ts +0 -133
- package/dist/services/BatchedCacheService.d.ts.map +0 -1
- package/dist/services/BridgeableTokenCache.d.ts +0 -120
- package/dist/services/BridgeableTokenCache.d.ts.map +0 -1
- package/dist/services/BridgeableTokenService.d.ts +0 -218
- package/dist/services/BridgeableTokenService.d.ts.map +0 -1
- package/dist/services/DexService.d.ts +0 -440
- package/dist/services/DexService.d.ts.map +0 -1
- package/dist/services/NetworkKeyedCacheService.d.ts +0 -185
- package/dist/services/NetworkKeyedCacheService.d.ts.map +0 -1
- package/dist/services/PriceHistoryService.d.ts +0 -209
- package/dist/services/PriceHistoryService.d.ts.map +0 -1
- package/dist/services/WrapService.d.ts +0 -171
- package/dist/services/WrapService.d.ts.map +0 -1
- package/dist/services/WrappableTokenCache.d.ts +0 -100
- package/dist/services/WrappableTokenCache.d.ts.map +0 -1
- package/dist/services/WrappableTokenService.d.ts +0 -130
- package/dist/services/WrappableTokenService.d.ts.map +0 -1
- package/dist/setup.d.ts +0 -8
- package/dist/setup.d.ts.map +0 -1
- package/dist/tokens/transfers.d.ts +0 -95
- package/dist/tokens/transfers.d.ts.map +0 -1
- package/dist/types/galachain-api.types.d.ts +0 -297
- package/dist/types/galachain-api.types.d.ts.map +0 -1
- package/dist/types/priceHistory.dto.d.ts +0 -134
- package/dist/types/priceHistory.dto.d.ts.map +0 -1
- package/dist/types/token.types.d.ts +0 -359
- package/dist/types/token.types.d.ts.map +0 -1
- package/dist/types/wrappable-token.dto.d.ts +0 -305
- package/dist/types/wrappable-token.dto.d.ts.map +0 -1
- package/dist/utils/crypto-compat.d.ts +0 -40
- package/dist/utils/crypto-compat.d.ts.map +0 -1
- package/dist/utils/load-env.d.ts +0 -31
- package/dist/utils/load-env.d.ts.map +0 -1
- package/dist/utils/token-instance-key.d.ts +0 -57
- package/dist/utils/token-instance-key.d.ts.map +0 -1
- package/dist/utils/wallet.d.ts +0 -166
- package/dist/utils/wallet.d.ts.map +0 -1
- package/dist/wallet/ExternalWalletProvider.d.ts +0 -90
- package/dist/wallet/ExternalWalletProvider.d.ts.map +0 -1
- package/dist/wallet/GalaWalletProvider.d.ts +0 -122
- package/dist/wallet/GalaWalletProvider.d.ts.map +0 -1
- package/dist/wallet/PrivateKeyProvider.d.ts +0 -90
- package/dist/wallet/PrivateKeyProvider.d.ts.map +0 -1
- package/dist/wallet/detection.d.ts +0 -107
- package/dist/wallet/detection.d.ts.map +0 -1
- package/dist/wallet/event-handlers.d.ts +0 -50
- package/dist/wallet/event-handlers.d.ts.map +0 -1
- package/dist/wallet/index.d.ts +0 -51
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/signing-operation.d.ts +0 -19
- package/dist/wallet/signing-operation.d.ts.map +0 -1
- package/dist/wallet/typed-data-helpers.d.ts +0 -68
- package/dist/wallet/typed-data-helpers.d.ts.map +0 -1
- package/dist/wallet/types.d.ts +0 -267
- package/dist/wallet/types.d.ts.map +0 -1
- package/dist/wallet/utils.d.ts +0 -117
- package/dist/wallet/utils.d.ts.map +0 -1
- package/dist/wallet.cjs +0 -1
- package/dist/wallet.esm.js +0 -1
package/dist/schemas/user.d.ts
CHANGED
|
@@ -54,20 +54,6 @@ export declare const uploadProfileImageOptionsSchema: z.ZodObject<{
|
|
|
54
54
|
address: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
55
55
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
56
56
|
}, z.core.$strip>;
|
|
57
|
-
/**
|
|
58
|
-
* Token hold schema representing a lock on tokens
|
|
59
|
-
* Matches the GalaChain FetchBalances response structure for inUseHolds and lockedHolds
|
|
60
|
-
*/
|
|
61
|
-
export declare const tokenHoldSchema: z.ZodObject<{
|
|
62
|
-
created: z.ZodNumber;
|
|
63
|
-
createdBy: z.ZodString;
|
|
64
|
-
expires: z.ZodNumber;
|
|
65
|
-
instanceId: z.ZodString;
|
|
66
|
-
lockAuthority: z.ZodString;
|
|
67
|
-
name: z.ZodString;
|
|
68
|
-
quantity: z.ZodString;
|
|
69
|
-
vestingPeriodStart: z.ZodNumber;
|
|
70
|
-
}, z.core.$strip>;
|
|
71
57
|
/**
|
|
72
58
|
* Fetch token balance options schema
|
|
73
59
|
* Supports flexible token identification via tokenId, tokenClassKey, or tokenName
|
|
@@ -95,5 +81,4 @@ export type FetchGalaBalanceOptions = z.infer<typeof fetchGalaBalanceOptionsSche
|
|
|
95
81
|
export type UpdateProfileData = z.infer<typeof updateProfileDataSchema>;
|
|
96
82
|
export type UploadProfileImageOptions = z.infer<typeof uploadProfileImageOptionsSchema>;
|
|
97
83
|
export type FetchTokenBalanceOptions = z.infer<typeof fetchTokenBalanceOptionsSchema>;
|
|
98
|
-
export type TokenHold = z.infer<typeof tokenHoldSchema>;
|
|
99
84
|
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/schemas/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;EAAsC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAKjC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;iBAO1C,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/schemas/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;EAAsC,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAKjC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;iBAO1C,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;iBAwB1C,CAAC;AAMF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Abstract Cache Service Base Class
|
|
3
3
|
*
|
|
4
4
|
* Provides generic cache management functionality for all cache implementations.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* The base of TokenMetadataCache: a common interface and lifecycle management (the bridgeable and
|
|
6
|
+
* wrappable token caches moved to `@gala-chain/gala-core-sdk/bridge`, inside its token services).
|
|
7
7
|
*
|
|
8
8
|
* ## Architecture
|
|
9
9
|
* - **Generic K/V types**: Supports any key/value structure
|
|
@@ -1,72 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GalaChain Balance Service
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - Generic token balance queries
|
|
10
|
-
* - Hold filtering (locked, in-use)
|
|
11
|
-
* - Available quantity calculation
|
|
4
|
+
* Token balances from GalaChain. The read itself (the `FetchBalances` request, the answer's checks,
|
|
5
|
+
* the holds in force and their totals) is `@gala-chain/gala-core-sdk`'s `GatewayReads`; this
|
|
6
|
+
* service keeps the launchpad result shape (`TokenBalanceResult`, `null` for "not held") and error
|
|
7
|
+
* contract on top of it, and sends the read through the SDK's gateway `HttpClient` (its
|
|
8
|
+
* interceptors and `Sign` header) exactly as before.
|
|
12
9
|
*
|
|
13
10
|
* @example
|
|
14
11
|
* ```typescript
|
|
15
12
|
* const balanceService = new GalaChainBalanceService(http, debug);
|
|
16
13
|
*
|
|
17
|
-
* // Get GALA balance
|
|
18
14
|
* const galaBalance = await balanceService.fetchGalaBalance({
|
|
19
15
|
* owner: "eth|1234567890abcdef1234567890abcdef12345678",
|
|
20
16
|
* collection: "GALA",
|
|
21
17
|
* category: "Unit",
|
|
22
18
|
* additionalKey: "none",
|
|
23
19
|
* type: "none",
|
|
24
|
-
* instance: "0"
|
|
25
20
|
* });
|
|
26
21
|
*
|
|
27
|
-
* //
|
|
22
|
+
* // Any token, with expired holds kept
|
|
28
23
|
* const tokenBalance = await balanceService.fetchTokenBalance({
|
|
29
24
|
* owner: "eth|...",
|
|
30
25
|
* collection: "ANIME",
|
|
31
26
|
* category: "Unit",
|
|
32
27
|
* additionalKey: "none",
|
|
33
28
|
* type: "none",
|
|
34
|
-
*
|
|
35
|
-
* }, true); // include expired holds
|
|
29
|
+
* }, true);
|
|
36
30
|
* ```
|
|
37
31
|
*
|
|
38
32
|
* @category Services
|
|
39
33
|
* @since 5.15.0
|
|
40
34
|
*/
|
|
41
|
-
import type { TokenBalanceResult
|
|
35
|
+
import type { TokenBalanceResult } from '../types/user.dto';
|
|
42
36
|
import type { HttpClient } from '../utils/http';
|
|
43
37
|
import { BaseService } from './BaseService';
|
|
44
38
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @param holds Array of token holds
|
|
48
|
-
* @returns Total quantity as decimal string
|
|
49
|
-
*/
|
|
50
|
-
declare function sumHoldQuantities(holds: TokenHold[]): string;
|
|
51
|
-
/**
|
|
52
|
-
* Filter out expired holds based on current timestamp
|
|
53
|
-
*
|
|
54
|
-
* @param holds Array of token holds
|
|
55
|
-
* @param withExpired If true, return all holds including expired
|
|
56
|
-
* @returns Filtered array of holds
|
|
57
|
-
*/
|
|
58
|
-
declare function filterHolds(holds: TokenHold[], withExpired: boolean): TokenHold[];
|
|
59
|
-
/**
|
|
60
|
-
* Calculate available (unlocked, not in-use) quantity
|
|
61
|
-
*
|
|
62
|
-
* @param total Total quantity held
|
|
63
|
-
* @param locked Quantity locked (from lockedHolds)
|
|
64
|
-
* @param inUse Quantity in use (from inUseHolds)
|
|
65
|
-
* @returns Available quantity as decimal string
|
|
66
|
-
*/
|
|
67
|
-
declare function calculateAvailableQuantity(total: string, locked?: string, inUse?: string): string;
|
|
68
|
-
/**
|
|
69
|
-
* Balance query request parameters
|
|
39
|
+
* Balance query request parameters: the owner and the token class. (The chain's `FetchBalances`
|
|
40
|
+
* takes no instance: a body that names one is refused.)
|
|
70
41
|
*/
|
|
71
42
|
export interface BalanceQueryParams {
|
|
72
43
|
owner: string;
|
|
@@ -74,7 +45,6 @@ export interface BalanceQueryParams {
|
|
|
74
45
|
category: string;
|
|
75
46
|
additionalKey: string;
|
|
76
47
|
type: string;
|
|
77
|
-
instance: string;
|
|
78
48
|
}
|
|
79
49
|
/**
|
|
80
50
|
* GalaChain Balance Service
|
|
@@ -89,67 +59,25 @@ export declare class GalaChainBalanceService extends BaseService {
|
|
|
89
59
|
* @param debug - Enable debug logging (default: false)
|
|
90
60
|
*/
|
|
91
61
|
constructor(http: HttpClient, debug?: boolean);
|
|
92
|
-
/**
|
|
93
|
-
* Determines the GalaChain channel for a given token collection.
|
|
94
|
-
* Most tokens are on the asset channel, but some tokens like MUSIC
|
|
95
|
-
* are on their own dedicated channels.
|
|
96
|
-
*
|
|
97
|
-
* @param collection - Token collection name (e.g., "$GMUSIC", "$MUSIC", "ANIME")
|
|
98
|
-
* @returns Channel name: 'asset', 'music', etc.
|
|
99
|
-
*/
|
|
100
|
-
private getChannelForCollection;
|
|
101
62
|
/**
|
|
102
63
|
* Fetches GALA balance for a user from GalaChain
|
|
103
64
|
*
|
|
104
|
-
* Uses the GalaChain FetchBalances endpoint with GALA token parameters.
|
|
105
|
-
*
|
|
106
65
|
* @param requestBody Balance query parameters
|
|
107
66
|
* @returns Promise<TokenBalanceResult | null> Clean balance information or null if not held
|
|
108
|
-
* @throws
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ```typescript
|
|
112
|
-
* const balance = await balanceService.fetchGalaBalance({
|
|
113
|
-
* owner: "eth|1234567890abcdef1234567890abcdef12345678",
|
|
114
|
-
* collection: "GALA",
|
|
115
|
-
* category: "Unit",
|
|
116
|
-
* additionalKey: "none",
|
|
117
|
-
* type: "none",
|
|
118
|
-
* instance: "0"
|
|
119
|
-
* });
|
|
120
|
-
* ```
|
|
67
|
+
* @throws NetworkError if balance fetch fails
|
|
121
68
|
*/
|
|
122
69
|
fetchGalaBalance(requestBody: BalanceQueryParams): Promise<TokenBalanceResult | null>;
|
|
123
70
|
/**
|
|
124
|
-
* Fetches token balance for any token from GalaChain
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
* Returns balance information including locked/in-use holds and computed available quantity.
|
|
71
|
+
* Fetches token balance for any token from GalaChain (`FetchBalances`), with the holds in force
|
|
72
|
+
* (locked, in use) and the quantity they leave available. MUSIC (`$MUSIC`) is read on the
|
|
73
|
+
* gateway's music channel, every other token on the asset channel.
|
|
128
74
|
*
|
|
129
75
|
* @param requestBody Balance query parameters
|
|
130
76
|
* @param withExpired If true, include expired holds in results (default: false)
|
|
131
|
-
* @returns Promise<TokenBalanceResult | null>
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* ```typescript
|
|
136
|
-
* const balance = await balanceService.fetchTokenBalance({
|
|
137
|
-
* owner: "eth|1234567890abcdef1234567890abcdef12345678",
|
|
138
|
-
* collection: "ANIME",
|
|
139
|
-
* category: "Unit",
|
|
140
|
-
* additionalKey: "none",
|
|
141
|
-
* type: "none",
|
|
142
|
-
* instance: "0"
|
|
143
|
-
* });
|
|
144
|
-
*
|
|
145
|
-
* // Check lock details
|
|
146
|
-
* if (balance?.lockedHolds?.length) {
|
|
147
|
-
* console.log('Locked:', balance.lockedQuantity);
|
|
148
|
-
* console.log('Available:', balance.availableQuantity);
|
|
149
|
-
* }
|
|
150
|
-
* ```
|
|
77
|
+
* @returns Promise<TokenBalanceResult | null> The balance, or null when it is not held (no record,
|
|
78
|
+
* a zero quantity, or a gateway answer that is not a usable balance list)
|
|
79
|
+
* @throws NetworkError if the request fails (HTTP error, network) or the owner is not a GalaChain user
|
|
151
80
|
*/
|
|
152
81
|
fetchTokenBalance(requestBody: BalanceQueryParams, withExpired?: boolean): Promise<TokenBalanceResult | null>;
|
|
153
82
|
}
|
|
154
|
-
export { calculateAvailableQuantity, filterHolds, sumHoldQuantities };
|
|
155
83
|
//# sourceMappingURL=GalaChainBalanceService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainBalanceService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainBalanceService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GalaChainBalanceService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainBalanceService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAgCD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACtD;;;;;OAKG;gBACS,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,OAAe;IAIpD;;;;;;OAMG;IACG,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAI3F;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAsBtC"}
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Service responsible for token locking and unlocking operations on GalaChain.
|
|
5
5
|
* Extracted from GalaChainService for single responsibility.
|
|
6
6
|
*
|
|
7
|
+
* The writes themselves are `@gala-chain/gala-core-sdk`'s `GatewayWrites` (DTO, signature, the
|
|
8
|
+
* POST and the reading of GalaChain's answer); this service keeps the launchpad API on top of it:
|
|
9
|
+
* its input checks, launchpad token-name resolution, its result shapes and its error classes.
|
|
10
|
+
*
|
|
7
11
|
* Features:
|
|
8
12
|
* - Batch token locking (staking, escrow, vesting)
|
|
9
13
|
* - Batch token unlocking
|
|
@@ -32,29 +36,14 @@
|
|
|
32
36
|
* @since 5.15.0
|
|
33
37
|
*/
|
|
34
38
|
import '../utils/errors';
|
|
35
|
-
import type { Wallet } from 'ethers';
|
|
36
39
|
import type { LockTokensData, LockTokensResult, UnlockTokensData, UnlockTokensResult } from '../types/lock.dto';
|
|
37
|
-
import
|
|
38
|
-
import { BaseService } from './BaseService';
|
|
39
|
-
import type { TokenResolverService } from './TokenResolverService';
|
|
40
|
+
import { GatewayWriteService } from './gateway-writes';
|
|
40
41
|
/**
|
|
41
42
|
* GalaChain Lock Service
|
|
42
43
|
*
|
|
43
44
|
* Handles all token locking and unlocking operations on GalaChain.
|
|
44
45
|
*/
|
|
45
|
-
export declare class GalaChainLockService extends
|
|
46
|
-
private readonly wallet;
|
|
47
|
-
private readonly tokenResolver;
|
|
48
|
-
private readonly nativeSigner;
|
|
49
|
-
/**
|
|
50
|
-
* Initialize GalaChain Lock Service
|
|
51
|
-
*
|
|
52
|
-
* @param http - HTTP client configured for GalaChain gateway
|
|
53
|
-
* @param wallet - Ethers wallet for signing transactions (optional for read-only operations)
|
|
54
|
-
* @param tokenResolver - Token resolver service for vault address resolution
|
|
55
|
-
* @param debug - Enable debug logging (default: false)
|
|
56
|
-
*/
|
|
57
|
-
constructor(http: HttpClient, wallet: Wallet | undefined, tokenResolver: TokenResolverService, debug?: boolean);
|
|
46
|
+
export declare class GalaChainLockService extends GatewayWriteService {
|
|
58
47
|
/**
|
|
59
48
|
* Lock tokens on GalaChain (batch operation)
|
|
60
49
|
*
|
|
@@ -64,7 +53,7 @@ export declare class GalaChainLockService extends BaseService {
|
|
|
64
53
|
* or other hold scenarios.
|
|
65
54
|
*
|
|
66
55
|
* @param data - Lock parameters containing array of tokens to lock
|
|
67
|
-
* @returns LockTokensResult with transaction ID and locked token details
|
|
56
|
+
* @returns LockTokensResult with transaction ID, block (when the gateway sends it) and locked token details
|
|
68
57
|
*
|
|
69
58
|
* @example
|
|
70
59
|
* ```typescript
|
|
@@ -94,7 +83,7 @@ export declare class GalaChainLockService extends BaseService {
|
|
|
94
83
|
* or was designated as lock authority).
|
|
95
84
|
*
|
|
96
85
|
* @param data - Unlock parameters containing array of tokens to unlock
|
|
97
|
-
* @returns UnlockTokensResult with transaction ID and unlocked token details
|
|
86
|
+
* @returns UnlockTokensResult with transaction ID, block (when the gateway sends it) and unlocked token details
|
|
98
87
|
*
|
|
99
88
|
* @example
|
|
100
89
|
* ```typescript
|
|
@@ -115,6 +104,12 @@ export declare class GalaChainLockService extends BaseService {
|
|
|
115
104
|
* @throws {LockError} When validation fails or unlock operation is rejected
|
|
116
105
|
*/
|
|
117
106
|
unlockTokens(data: UnlockTokensData): Promise<UnlockTokensResult>;
|
|
107
|
+
/**
|
|
108
|
+
* GalaChain's answer to a lock or unlock must carry `Status: 1`. Called with every answer, the
|
|
109
|
+
* ones core accepted and the ones it refused, so a refused answer is reported exactly as this
|
|
110
|
+
* service always reported it.
|
|
111
|
+
*/
|
|
112
|
+
private assertLockAnswer;
|
|
118
113
|
private validateSharedTokenEntry;
|
|
119
114
|
/**
|
|
120
115
|
* Validate lock tokens data (batch operation)
|
|
@@ -124,6 +119,11 @@ export declare class GalaChainLockService extends BaseService {
|
|
|
124
119
|
* Validate unlock tokens data (batch operation)
|
|
125
120
|
*/
|
|
126
121
|
private validateUnlockTokensData;
|
|
122
|
+
/**
|
|
123
|
+
* The transaction id of a lock or unlock: the gateway's `x-transaction-id` (core's receipt),
|
|
124
|
+
* else the first `Data` item's id.
|
|
125
|
+
*/
|
|
126
|
+
private transactionIdOf;
|
|
127
127
|
/**
|
|
128
128
|
* Extract lock result from GalaChain response
|
|
129
129
|
*/
|
|
@@ -142,6 +142,5 @@ export declare class GalaChainLockService extends BaseService {
|
|
|
142
142
|
*/
|
|
143
143
|
private resolveTokenInstance;
|
|
144
144
|
private resolveTokenEntry;
|
|
145
|
-
private createTokenOperationContext;
|
|
146
145
|
}
|
|
147
146
|
//# sourceMappingURL=GalaChainLockService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainLockService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainLockService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GalaChainLockService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainLockService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAGV,cAAc,EACd,gBAAgB,EAIhB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAoB3B,OAAO,EAEL,mBAAmB,EAIpB,MAAM,kBAAkB,CAAC;AAY1B;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;IAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+EjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkEvE;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,wBAAwB;IAiChC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwDvB;;;OAGG;YACW,oBAAoB;YAqBpB,iBAAiB;CAchC"}
|
|
@@ -29,8 +29,7 @@
|
|
|
29
29
|
* collection: "GALA",
|
|
30
30
|
* category: "Unit",
|
|
31
31
|
* additionalKey: "none",
|
|
32
|
-
* type: "none"
|
|
33
|
-
* instance: "0"
|
|
32
|
+
* type: "none"
|
|
34
33
|
* });
|
|
35
34
|
*
|
|
36
35
|
* // Transfer tokens
|
|
@@ -43,18 +42,18 @@
|
|
|
43
42
|
* });
|
|
44
43
|
* ```
|
|
45
44
|
*/
|
|
46
|
-
import type
|
|
45
|
+
import { type GalaChainTokenClass, type GalaChainTokenClassKey, type GalaChainTokenDetails } from '@gala-chain/gala-core-sdk';
|
|
47
46
|
import type { AxiosInstance } from 'axios';
|
|
48
47
|
import type { Wallet } from 'ethers';
|
|
49
48
|
import type { BurnTokensData, BurnTokensResult } from '../types/burn.dto';
|
|
50
|
-
import type {
|
|
51
|
-
import type { TokenClassWithSupply } from '../types/launchpad.dto';
|
|
49
|
+
import type { TokenId } from '../types/common';
|
|
52
50
|
import type { LockTokensData, LockTokensResult, UnlockTokensData, UnlockTokensResult } from '../types/lock.dto';
|
|
53
51
|
import type { GalaChainTransferReceipt, TransferGalaData, TransferTokenData } from '../types/transfer.dto';
|
|
54
52
|
import type { TokenBalanceResult } from '../types/user.dto';
|
|
55
53
|
import type { HttpClient } from '../utils/http';
|
|
56
54
|
import { BaseService } from './BaseService';
|
|
57
55
|
import type { BalanceQueryParams } from './GalaChainBalanceService';
|
|
56
|
+
import type { GatewayWriter } from './gateway-writes';
|
|
58
57
|
import type { TokenResolverService } from './TokenResolverService';
|
|
59
58
|
/**
|
|
60
59
|
* GalaChain Service for blockchain operations (Facade Pattern)
|
|
@@ -75,8 +74,9 @@ export declare class GalaChainService extends BaseService {
|
|
|
75
74
|
* @param tokenResolver - Token resolver service for vault address resolution
|
|
76
75
|
* @param debug - Enable debug logging (default: false)
|
|
77
76
|
* @param publicAxios - Unauthenticated axios instance for public token queries
|
|
77
|
+
* @param writer - For an SDK with no wallet: the signer and declared identity of its token writes
|
|
78
78
|
*/
|
|
79
|
-
constructor(http: HttpClient, wallet: Wallet | undefined, tokenResolver: TokenResolverService, debug?: boolean, publicAxios?: AxiosInstance);
|
|
79
|
+
constructor(http: HttpClient, wallet: Wallet | undefined, tokenResolver: TokenResolverService, debug?: boolean, publicAxios?: AxiosInstance, writer?: GatewayWriter);
|
|
80
80
|
/**
|
|
81
81
|
* Fetches GALA balance for a user from GalaChain
|
|
82
82
|
*
|
|
@@ -93,8 +93,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
93
93
|
* collection: "GALA",
|
|
94
94
|
* category: "Unit",
|
|
95
95
|
* additionalKey: "none",
|
|
96
|
-
* type: "none"
|
|
97
|
-
* instance: "0"
|
|
96
|
+
* type: "none"
|
|
98
97
|
* });
|
|
99
98
|
* ```
|
|
100
99
|
*/
|
|
@@ -117,8 +116,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
117
116
|
* collection: "ANIME",
|
|
118
117
|
* category: "Unit",
|
|
119
118
|
* additionalKey: "none",
|
|
120
|
-
* type: "none"
|
|
121
|
-
* instance: "0"
|
|
119
|
+
* type: "none"
|
|
122
120
|
* });
|
|
123
121
|
*
|
|
124
122
|
* // Check lock details
|
|
@@ -139,7 +137,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
139
137
|
* Supports both native tokens (GALA, etc.) and wrapped DEX tokens.
|
|
140
138
|
*
|
|
141
139
|
* @param tokenId Token identifier (string or TokenClassKey format)
|
|
142
|
-
* @returns Promise<
|
|
140
|
+
* @returns Promise<GalaChainTokenClass> Complete token metadata from GalaChain
|
|
143
141
|
* @throws ValidationError if tokenId validation fails
|
|
144
142
|
* @throws Error if token fetch fails or token not found
|
|
145
143
|
*
|
|
@@ -160,7 +158,22 @@ export declare class GalaChainService extends BaseService {
|
|
|
160
158
|
* console.log(`Symbol: ${gusdc.symbol}`); // "GUSDC"
|
|
161
159
|
* ```
|
|
162
160
|
*/
|
|
163
|
-
fetchTokenClassFromChain(tokenId: string |
|
|
161
|
+
fetchTokenClassFromChain(tokenId: string | GalaChainTokenClassKey): Promise<GalaChainTokenClass>;
|
|
162
|
+
/**
|
|
163
|
+
* A token's details (symbol, decimals, name, image, description, network, contract address) from
|
|
164
|
+
* its GalaChain token class, as gala-core-sdk's `tokenDetailsOf` maps them.
|
|
165
|
+
*
|
|
166
|
+
* @param tokenId Token identifier (pipe string, class key or instance key)
|
|
167
|
+
* @returns The token's details
|
|
168
|
+
* @throws NetworkError if the read fails or the token class is not found
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const details = await galaChainService.fetchTokenDetails('GUSDC|Unit|none|none');
|
|
173
|
+
* console.log(details.symbol, details.decimals);
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
fetchTokenDetails(tokenId: TokenId): Promise<GalaChainTokenDetails>;
|
|
164
177
|
/**
|
|
165
178
|
* Fetch supply information for one or more token classes from GalaChain
|
|
166
179
|
*
|
|
@@ -171,7 +184,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
171
184
|
* - Token metadata (symbol, decimals, name)
|
|
172
185
|
*
|
|
173
186
|
* @param tokenClasses - Array of token class keys to query
|
|
174
|
-
* @returns Promise<
|
|
187
|
+
* @returns Promise<GalaChainTokenClass[]> Array of token classes with supply information
|
|
175
188
|
* @throws {ValidationError} if tokenClasses array is empty
|
|
176
189
|
* @throws {Error} if network request fails or GalaChain returns error status
|
|
177
190
|
*
|
|
@@ -185,7 +198,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
185
198
|
* console.log(`${supplies[0].symbol}: ${supplies[0].totalSupply}`);
|
|
186
199
|
* ```
|
|
187
200
|
*/
|
|
188
|
-
fetchTokenClassesWithSupply(tokenClasses:
|
|
201
|
+
fetchTokenClassesWithSupply(tokenClasses: GalaChainTokenClassKey[]): Promise<GalaChainTokenClass[]>;
|
|
189
202
|
/**
|
|
190
203
|
* Transfer GALA tokens between wallets
|
|
191
204
|
*
|
|
@@ -256,7 +269,7 @@ export declare class GalaChainService extends BaseService {
|
|
|
256
269
|
*
|
|
257
270
|
* @throws {TransferError} When token name cannot be resolved
|
|
258
271
|
*/
|
|
259
|
-
resolveTokenClassKey(tokenName: string): Promise<
|
|
272
|
+
resolveTokenClassKey(tokenName: string): Promise<GalaChainTokenClassKey>;
|
|
260
273
|
/**
|
|
261
274
|
* Lock tokens on GalaChain (batch operation)
|
|
262
275
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GalaChainService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GalaChain Token Service
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - Token supply information queries
|
|
10
|
-
* - Support for both native and wrapped tokens
|
|
4
|
+
* Token classes from GalaChain (metadata and supply). The reads themselves (`FetchTokenClasses`,
|
|
5
|
+
* `FetchTokenClassesWithSupply`, the answer's checks) are `@gala-chain/gala-core-sdk`'s
|
|
6
|
+
* `GatewayReads`; this service keeps launchpad's token-id spellings, results and error contract on
|
|
7
|
+
* top of it, and sends the reads through the SDK's unauthenticated gateway axios instance exactly
|
|
8
|
+
* as before.
|
|
11
9
|
*
|
|
12
10
|
* @example
|
|
13
11
|
* ```typescript
|
|
14
12
|
* const tokenService = new GalaChainTokenService(http, debug, publicAxios);
|
|
15
13
|
*
|
|
16
|
-
* // Fetch native GALA token metadata
|
|
17
14
|
* const gala = await tokenService.fetchTokenClassFromChain('GALA|Unit|none|none');
|
|
18
15
|
* console.log(`Symbol: ${gala.symbol}`); // "GALA"
|
|
19
16
|
*
|
|
20
|
-
* // Fetch token supply information
|
|
21
17
|
* const supplies = await tokenService.fetchTokenClassesWithSupply([
|
|
22
18
|
* { collection: 'GALA', category: 'Unit', type: 'none', additionalKey: 'none' }
|
|
23
19
|
* ]);
|
|
@@ -26,10 +22,8 @@
|
|
|
26
22
|
* @category Services
|
|
27
23
|
* @since 5.15.0
|
|
28
24
|
*/
|
|
29
|
-
import type
|
|
25
|
+
import { type GalaChainTokenClass, type GalaChainTokenClassKey } from '@gala-chain/gala-core-sdk';
|
|
30
26
|
import type { AxiosInstance } from 'axios';
|
|
31
|
-
import type { TokenClassKey } from '../types/common';
|
|
32
|
-
import type { TokenClassWithSupply } from '../types/launchpad.dto';
|
|
33
27
|
import type { HttpClient } from '../utils/http';
|
|
34
28
|
import { BaseService } from './BaseService';
|
|
35
29
|
/**
|
|
@@ -48,62 +42,40 @@ export declare class GalaChainTokenService extends BaseService {
|
|
|
48
42
|
*/
|
|
49
43
|
constructor(http: HttpClient, debug?: boolean, publicAxios?: AxiosInstance | undefined);
|
|
50
44
|
/**
|
|
51
|
-
* Fetch token
|
|
52
|
-
*
|
|
53
|
-
* Queries the authoritative GalaChain token registry for complete token metadata
|
|
54
|
-
* including symbol, decimals, name, image, and description. This is the source
|
|
55
|
-
* of truth for all tokens on GalaChain (both native and wrapped).
|
|
56
|
-
*
|
|
57
|
-
* Supports both native tokens (GALA, etc.) and wrapped DEX tokens.
|
|
45
|
+
* Fetch a token class from GalaChain (`FetchTokenClasses`): the authoritative registry of every
|
|
46
|
+
* token (native and wrapped), with its symbol, decimals, name, image and description.
|
|
58
47
|
*
|
|
59
|
-
* @param tokenId Token identifier (string or TokenClassKey
|
|
60
|
-
* @returns Promise<
|
|
48
|
+
* @param tokenId Token identifier (pipe string, 4 or 5 parts, or TokenClassKey object)
|
|
49
|
+
* @returns Promise<GalaChainTokenClass> The token class
|
|
61
50
|
* @throws ValidationError if tokenId validation fails
|
|
62
|
-
* @throws
|
|
51
|
+
* @throws NetworkError if the token is not found (404) or the fetch fails
|
|
63
52
|
*
|
|
64
53
|
* @example
|
|
65
54
|
* ```typescript
|
|
66
|
-
* // Fetch native GALA token metadata
|
|
67
55
|
* const gala = await tokenService.fetchTokenClassFromChain('GALA|Unit|none|none');
|
|
68
56
|
* console.log(`Symbol: ${gala.symbol}`); // "GALA"
|
|
69
57
|
* console.log(`Decimals: ${gala.decimals}`); // 8
|
|
70
|
-
*
|
|
71
|
-
* // Fetch wrapped token metadata
|
|
72
|
-
* const gusdc = await tokenService.fetchTokenClassFromChain({
|
|
73
|
-
* collection: 'GUSDC',
|
|
74
|
-
* category: 'Unit',
|
|
75
|
-
* type: 'none',
|
|
76
|
-
* additionalKey: 'none'
|
|
77
|
-
* });
|
|
78
|
-
* console.log(`Symbol: ${gusdc.symbol}`); // "GUSDC"
|
|
79
58
|
* ```
|
|
80
59
|
*/
|
|
81
|
-
fetchTokenClassFromChain(tokenId: string |
|
|
60
|
+
fetchTokenClassFromChain(tokenId: string | GalaChainTokenClassKey): Promise<GalaChainTokenClass>;
|
|
82
61
|
/**
|
|
83
62
|
* Fetch supply information for one or more token classes from GalaChain
|
|
63
|
+
* (`FetchTokenClassesWithSupply`): total and maximum supply, burned amount, known mint supplies
|
|
64
|
+
* and the class metadata, one class per key in the order asked.
|
|
84
65
|
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* - Total burned amount
|
|
88
|
-
* - Mint-related supply metrics
|
|
89
|
-
* - Token metadata (symbol, decimals, name)
|
|
90
|
-
*
|
|
91
|
-
* @param tokenClasses - Array of token class keys to query
|
|
92
|
-
* @returns Promise<TokenClassWithSupply[]> Array of token classes with supply information
|
|
66
|
+
* @param tokenClasses - Array of token class keys to query (1 to 1000)
|
|
67
|
+
* @returns Promise<GalaChainTokenClass[]> The token classes with their supply figures
|
|
93
68
|
* @throws {ValidationError} if tokenClasses array is empty
|
|
94
|
-
* @throws {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* console.log(`${supplies[0].symbol}: ${supplies[0].totalSupply}`);
|
|
104
|
-
* ```
|
|
69
|
+
* @throws {NetworkError} if a class is not found, the request fails or GalaChain refuses it
|
|
70
|
+
*/
|
|
71
|
+
fetchTokenClassesWithSupply(tokenClasses: GalaChainTokenClassKey[]): Promise<GalaChainTokenClass[]>;
|
|
72
|
+
/**
|
|
73
|
+
* Runs a core read through the public gateway axios instance. When core refuses the gateway's
|
|
74
|
+
* 2xx answer, `legacyChecks` re-reads that same answer and throws launchpad's own error for it
|
|
75
|
+
* (the error launchpad has always thrown); should it not, `notFound` (for a missing class) or
|
|
76
|
+
* core's error stands (fail closed: an answer core refused is never returned).
|
|
105
77
|
*/
|
|
106
|
-
|
|
78
|
+
private readPublic;
|
|
107
79
|
private handleTokenServiceError;
|
|
108
80
|
}
|
|
109
81
|
//# sourceMappingURL=GalaChainTokenService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalaChainTokenService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainTokenService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GalaChainTokenService.d.ts","sourceRoot":"","sources":["../../src/services/GalaChainTokenService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgB5C;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IAWlD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAV/B;;;;;;OAMG;gBAED,IAAI,EAAE,UAAU,EAChB,KAAK,GAAE,OAAe,EACL,WAAW,CAAC,EAAE,aAAa,YAAA;IAK9C;;;;;;;;;;;;;;;OAeG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsBtG;;;;;;;;;OASG;IACG,2BAA2B,CAC/B,YAAY,EAAE,sBAAsB,EAAE,GACrC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoBjC;;;;;OAKG;YACW,UAAU;IAwBxB,OAAO,CAAC,uBAAuB;CAuBhC"}
|