@gala-chain/launchpad-sdk 9.0.0-rc.4 → 9.0.0-rc.6
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 +23 -7
- package/EXAMPLES.md +31 -33
- package/README.md +10 -10
- package/dist/LaunchpadSDK.d.ts +11 -16
- package/dist/LaunchpadSDK.d.ts.map +1 -1
- package/dist/constants/version.generated.d.ts +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/native.cjs +1 -1
- package/dist/native.esm.js +1 -1
- package/dist/services/OverseerService.d.ts +1 -0
- package/dist/services/OverseerService.d.ts.map +1 -1
- package/dist/types/overseer.dto.d.ts +2 -0
- package/dist/types/overseer.dto.d.ts.map +1 -1
- package/package.json +15 -20
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.0.0-rc.6
|
|
4
|
+
|
|
5
|
+
Since 9.0.0-rc.5 (published). Core peer range is unchanged (`>=1.0.0-rc.7 <2`).
|
|
6
|
+
|
|
7
|
+
- **`OverseerSummaryResponse.graduatedPools`**: `getOverseerSummary()` / `OverseerService.getSummary()` now
|
|
8
|
+
carry the number of graduated pools (the pools `fetchPools({ isGraduated: true })` lists), next to
|
|
9
|
+
`totalPools`. It is a new field of the `/v1/overseer-summary` response, so it is present once the
|
|
10
|
+
launchpad backend that adds it is deployed; against an older backend it is `undefined` at runtime.
|
|
11
|
+
|
|
12
|
+
## 9.0.0-rc.5
|
|
13
|
+
|
|
14
|
+
No behaviour change. Since 9.0.0-rc.4 (published): the published declarations no longer name a
|
|
15
|
+
Gala-internal repo (two `@deprecated` notes say "the swap backend"), and the JSDoc examples match the
|
|
16
|
+
API (`creds.rtmpsUrl`, reaction options without a `tokenName`, chat events with a top-level
|
|
17
|
+
`content`). Core peer range is unchanged (`>=1.0.0-rc.7 <2`).
|
|
18
|
+
|
|
3
19
|
## 9.0.0-rc.4
|
|
4
20
|
|
|
5
21
|
Since 9.0.0-rc.3 (published). Core peer floor is now `>=1.0.0-rc.7 <2`.
|
|
@@ -180,7 +196,7 @@ built declarations of both versions (`pnpm docs:migration`).
|
|
|
180
196
|
|
|
181
197
|
### App-owned session (a browser app's httpOnly-cookie JWT session)
|
|
182
198
|
|
|
183
|
-
- **`session` in `LaunchpadSDKConfig`.** A browser app
|
|
199
|
+
- **`session` in `LaunchpadSDKConfig`.** A browser app keeps its own JWT
|
|
184
200
|
session: the refresh token is an httpOnly cookie the backend sets for `cookieSession: true`
|
|
185
201
|
logins, and the app is the one token authority. With `session: { accessToken, onUnauthorized,
|
|
186
202
|
credentials? }` every launchpad-backend request takes its bearer from `accessToken()` (awaited per
|
|
@@ -653,17 +669,17 @@ typed entry on it (`RealtimeEventPayloads`, read from the emit sites, not from t
|
|
|
653
669
|
their `EXECUTE_*` flag said) are plain boolean tests, and `tests/constant-boolean-null-check.test.ts`
|
|
654
670
|
refuses the shape.
|
|
655
671
|
|
|
656
|
-
### The `/bundle` signing schemes (unchanged bytes
|
|
672
|
+
### The `/bundle` signing schemes (unchanged bytes)
|
|
657
673
|
|
|
658
674
|
Two schemes post to the bundler's `/bundle`, and both have callers, so both stay:
|
|
659
675
|
`sdk.launchpad.buyWithNative / buyExactToken / sellWithNative / sellExactToken / createSale`
|
|
660
676
|
(`BundlerTransport`) signs EIP-712 typed data (`signTypedData`, the GalaChain domain; pinned by
|
|
661
|
-
`tests/golden/bundler-typed-data.golden.json`): what the live launchpad
|
|
662
|
-
(
|
|
677
|
+
`tests/golden/bundler-typed-data.golden.json`): what the live launchpad web app
|
|
678
|
+
(`signTypedData` / `eth_signTypedData`) and the MCP trading tools send.
|
|
663
679
|
`sdk.buy()` / `sdk.sell()` (`BundleService.buyToken / sellToken`) sign with the signer's
|
|
664
|
-
`signObject` (native for a private key, personal-sign for a browser wallet):
|
|
665
|
-
these (`src/sdk/facades/trade.ts`), as do the examples. Retiring `BundleService`'s trade
|
|
666
|
-
needs
|
|
680
|
+
`signObject` (native for a private key, personal-sign for a browser wallet): React Native apps
|
|
681
|
+
call these (`src/sdk/facades/trade.ts`), as do the examples. Retiring `BundleService`'s trade
|
|
682
|
+
methods needs those apps moved to `sdk.launchpad.*` first (which changes the bytes they send).
|
|
667
683
|
|
|
668
684
|
### What moved to gala-core-sdk (the extraction steps, from the 8.1.0 baseline)
|
|
669
685
|
|
package/EXAMPLES.md
CHANGED
|
@@ -4,7 +4,7 @@ Practical code examples for the launchpad SDK (9.0.0), organized by category. Fo
|
|
|
4
4
|
|
|
5
5
|
> **9.0 is launchpad-only.** The DEX (quotes, swaps, pools, liquidity, fees, market prices, leaderboards) is
|
|
6
6
|
> `@gala-chain/gswap-sdk`; its runnable demos are in
|
|
7
|
-
>
|
|
7
|
+
> `packages/gswap-sdk/examples/demos`. Gateway-generic pieces
|
|
8
8
|
> (signers, wallet providers, React hooks, the bridge) are `@gala-chain/gala-core-sdk`'s. See
|
|
9
9
|
> [MIGRATING-TO-9.0.md](./MIGRATING-TO-9.0.md) for where each removed export went.
|
|
10
10
|
|
|
@@ -26,7 +26,7 @@ Practical code examples for the launchpad SDK (9.0.0), organized by category. Fo
|
|
|
26
26
|
|
|
27
27
|
**Launchpad tokens are addressed by `tokenName`; standard GalaChain tokens by a token id (`collection|category|type|additionalKey`).**
|
|
28
28
|
|
|
29
|
-
```
|
|
29
|
+
```text
|
|
30
30
|
Q: What operation am I performing?
|
|
31
31
|
│
|
|
32
32
|
├── Buying/selling tokens on the bonding curve (pre-graduation)?
|
|
@@ -95,7 +95,7 @@ if (isGraduated) {
|
|
|
95
95
|
| `lockTokens()` | ✅ | ✅ | Both work |
|
|
96
96
|
| `fetchTokenBalance()` | ✅ | ✅ | Both work |
|
|
97
97
|
|
|
98
|
-
> **See Also:** For complete type definitions and utilities, see
|
|
98
|
+
> **See Also:** For complete type definitions and utilities, see `src/types/token.types.ts`
|
|
99
99
|
|
|
100
100
|
---
|
|
101
101
|
|
|
@@ -183,7 +183,7 @@ npm run demo:token-supply # Token supply metrics from GalaChain
|
|
|
183
183
|
### 5. The DEX
|
|
184
184
|
|
|
185
185
|
Swaps, liquidity, fees, pools and market data are `@gala-chain/gswap-sdk`'s. Its demos:
|
|
186
|
-
|
|
186
|
+
`packages/gswap-sdk/examples/demos/README.md`
|
|
187
187
|
(`npx tsx src/<dir>/<file>.ts`).
|
|
188
188
|
|
|
189
189
|
---
|
|
@@ -202,7 +202,7 @@ const sdk = createLaunchpadSDK({
|
|
|
202
202
|
});
|
|
203
203
|
|
|
204
204
|
// Query operations work without wallet
|
|
205
|
-
const pools = await sdk.fetchPools({ type: 'popular',
|
|
205
|
+
const pools = await sdk.fetchPools({ type: 'popular', pageSize: 10 });
|
|
206
206
|
const price = await sdk.fetchTokenPrice({ tokenName: 'anime' });
|
|
207
207
|
```
|
|
208
208
|
|
|
@@ -211,7 +211,7 @@ const price = await sdk.fetchTokenPrice({ tokenName: 'anime' });
|
|
|
211
211
|
```typescript
|
|
212
212
|
const sdk = createLaunchpadSDK({
|
|
213
213
|
env: 'prod',
|
|
214
|
-
privateKey: process.env.WALLET_PRIVATE_KEY
|
|
214
|
+
privateKey: process.env.WALLET_PRIVATE_KEY!
|
|
215
215
|
});
|
|
216
216
|
|
|
217
217
|
// Now you can submit trades
|
|
@@ -221,14 +221,16 @@ const result = await sdk.buy({ tokenName: 'anime', amount: '100', type: 'native'
|
|
|
221
221
|
**Dynamic Wallet Configuration:**
|
|
222
222
|
|
|
223
223
|
```typescript
|
|
224
|
+
import { Wallet } from 'ethers';
|
|
225
|
+
|
|
224
226
|
// Start in read-only mode
|
|
225
227
|
const sdk = createLaunchpadSDK({ env: 'prod' });
|
|
226
228
|
|
|
227
229
|
// Later, upgrade to full-access
|
|
228
|
-
sdk.setWallet(
|
|
230
|
+
sdk.setWallet(new Wallet(process.env.WALLET_PRIVATE_KEY!));
|
|
229
231
|
|
|
230
232
|
// Now signing operations work
|
|
231
|
-
const result = await sdk.buy({ tokenName: 'anime', amount: '100',
|
|
233
|
+
const result = await sdk.buy({ tokenName: 'anime', amount: '100', type: 'native', expectedAmount: '1' });
|
|
232
234
|
```
|
|
233
235
|
|
|
234
236
|
**Demos:**
|
|
@@ -247,7 +249,7 @@ Trade tokens that are still in bonding curve pools (pre-graduation).
|
|
|
247
249
|
```typescript
|
|
248
250
|
const sdk = createLaunchpadSDK({
|
|
249
251
|
env: 'prod',
|
|
250
|
-
privateKey: process.env.WALLET_PRIVATE_KEY
|
|
252
|
+
privateKey: process.env.WALLET_PRIVATE_KEY!
|
|
251
253
|
});
|
|
252
254
|
|
|
253
255
|
// Calculate purchase amounts
|
|
@@ -359,14 +361,14 @@ Live streaming and real-time chat features for token communities.
|
|
|
359
361
|
```typescript
|
|
360
362
|
const sdk = createLaunchpadSDK({
|
|
361
363
|
env: 'prod',
|
|
362
|
-
privateKey: process.env.WALLET_PRIVATE_KEY
|
|
364
|
+
privateKey: process.env.WALLET_PRIVATE_KEY!,
|
|
363
365
|
streamWebSocketUrl: 'wss://stream.example.com'
|
|
364
366
|
});
|
|
365
367
|
|
|
366
|
-
//
|
|
367
|
-
const
|
|
368
|
-
console.log(`
|
|
369
|
-
console.log(`
|
|
368
|
+
// Stream credentials (stream key, RTMP URL, playback id) of a token you own
|
|
369
|
+
const creds = await sdk.getStreamCredentials('mytoken');
|
|
370
|
+
console.log(`RTMPS URL: ${creds.rtmpsUrl}`);
|
|
371
|
+
console.log(`Playback ID: ${creds.playbackId}`);
|
|
370
372
|
|
|
371
373
|
// Check global streaming status
|
|
372
374
|
const globalStatus = await sdk.getGlobalStreamingStatus();
|
|
@@ -376,17 +378,12 @@ console.log(`Streaming enabled globally: ${globalStatus.enabled}`);
|
|
|
376
378
|
### Engagement Statistics
|
|
377
379
|
|
|
378
380
|
```typescript
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
console.log(
|
|
383
|
-
console.log(`
|
|
384
|
-
|
|
385
|
-
console.log(` Session Since: ${stats.chat.since || 'N/A'}`);
|
|
386
|
-
|
|
387
|
-
console.log('Comment Statistics (All-Time):');
|
|
388
|
-
console.log(` Total Comments: ${stats.comments.count}`);
|
|
389
|
-
console.log(` Unique Commenters: ${stats.comments.uniqueCommenters}`);
|
|
381
|
+
// Engagement metrics for analytics dashboards arrive on the token room about every 15 seconds
|
|
382
|
+
// while there is chat activity
|
|
383
|
+
const unsubscribe = sdk.onEngagementStatsUpdated((event) => {
|
|
384
|
+
console.log(`${event.tokenName}: ${event.chat.messageCount} chat messages`);
|
|
385
|
+
console.log(`Comments: ${event.comments.count} from ${event.comments.uniqueCommenters} users`);
|
|
386
|
+
});
|
|
390
387
|
```
|
|
391
388
|
|
|
392
389
|
### Real-Time Chat with WebSocket
|
|
@@ -397,13 +394,13 @@ await sdk.connectStreamWebSocket({
|
|
|
397
394
|
onTypingIndicator: (event) => {
|
|
398
395
|
const count = event.typingUsers.length;
|
|
399
396
|
if (count === 1) {
|
|
400
|
-
console.log(`${event.typingUsers[0]
|
|
397
|
+
console.log(`${event.typingUsers[0]?.fullName} is typing...`);
|
|
401
398
|
} else if (count > 1) {
|
|
402
399
|
console.log(`${count} people are typing...`);
|
|
403
400
|
}
|
|
404
401
|
},
|
|
405
402
|
onChatMessage: (event) => {
|
|
406
|
-
console.log(`[${event.
|
|
403
|
+
console.log(`[${event.user?.fullName}]: ${event.content}`);
|
|
407
404
|
}
|
|
408
405
|
});
|
|
409
406
|
|
|
@@ -474,7 +471,7 @@ const sdk = createLaunchpadSDK({ env: 'prod' });
|
|
|
474
471
|
|
|
475
472
|
// GALA balance
|
|
476
473
|
const galaBalance = await sdk.fetchGalaBalance('eth|...');
|
|
477
|
-
console.log(`GALA: ${galaBalance?.
|
|
474
|
+
console.log(`GALA: ${galaBalance?.quantity}`);
|
|
478
475
|
|
|
479
476
|
// Tokens you hold
|
|
480
477
|
const held = await sdk.fetchTokensHeld({
|
|
@@ -502,6 +499,7 @@ const supplies = await sdk.fetchTokenClassesWithSupply([
|
|
|
502
499
|
]);
|
|
503
500
|
|
|
504
501
|
const gala = supplies[0];
|
|
502
|
+
if (gala === undefined) throw new Error('GALA token class not returned');
|
|
505
503
|
console.log(`Token: ${gala.symbol} (${gala.name})`);
|
|
506
504
|
console.log(`Total Supply: ${gala.totalSupply}`);
|
|
507
505
|
console.log(`Max Supply: ${gala.maxSupply}`);
|
|
@@ -525,7 +523,7 @@ console.log(`Burned: ${burnPercent.toFixed(2)}% of total supply`);
|
|
|
525
523
|
```typescript
|
|
526
524
|
// Warm cache by fetching pools
|
|
527
525
|
console.log('Warming cache...');
|
|
528
|
-
await sdk.fetchPools({ type: 'popular',
|
|
526
|
+
await sdk.fetchPools({ type: 'popular', pageSize: 50 });
|
|
529
527
|
|
|
530
528
|
// Check cache statistics
|
|
531
529
|
const stats = sdk.getCacheInfo();
|
|
@@ -581,7 +579,7 @@ const sdk = createLaunchpadSDK({ env: 'prod' });
|
|
|
581
579
|
// No wallet configured
|
|
582
580
|
|
|
583
581
|
try {
|
|
584
|
-
await sdk.buy({ tokenName: 'anime', amount: '100',
|
|
582
|
+
await sdk.buy({ tokenName: 'anime', amount: '100', type: 'native', expectedAmount: '1' });
|
|
585
583
|
} catch (error) {
|
|
586
584
|
if (error instanceof ValidationError && error.code === 'WALLET_REQUIRED') {
|
|
587
585
|
console.log('This operation requires a wallet');
|
|
@@ -603,7 +601,7 @@ try {
|
|
|
603
601
|
slippageToleranceFactor: 0.01
|
|
604
602
|
});
|
|
605
603
|
} catch (error) {
|
|
606
|
-
if (error.message.includes('slippage')) {
|
|
604
|
+
if (error instanceof Error && error.message.includes('slippage')) {
|
|
607
605
|
console.log('Price moved beyond slippage tolerance');
|
|
608
606
|
console.log('Increase slippage or retry with a fresh quote');
|
|
609
607
|
}
|
|
@@ -616,6 +614,6 @@ try {
|
|
|
616
614
|
|
|
617
615
|
See the `examples/` directory for the working demos by category (`examples/README.md` lists them);
|
|
618
616
|
`npm run demo:list` browses them. DEX demos live in
|
|
619
|
-
|
|
617
|
+
`packages/gswap-sdk/examples/demos`.
|
|
620
618
|
|
|
621
|
-
For migration from old demo structure, see
|
|
619
|
+
For migration from old demo structure, see `docs/DEMO_MIGRATION_GUIDE.md` in the package.
|
package/README.md
CHANGED
|
@@ -21,10 +21,7 @@ For the DEX, install `@gala-chain/gswap-sdk` 2.0 (also under `next`) next to thi
|
|
|
21
21
|
```ts
|
|
22
22
|
import { createLaunchpadSDK } from '@gala-chain/launchpad-sdk';
|
|
23
23
|
|
|
24
|
-
const sdk = createLaunchpadSDK({
|
|
25
|
-
env: 'stage',
|
|
26
|
-
baseUrl: 'https://lpad-backend.stage.defi.ovh.gala.com',
|
|
27
|
-
});
|
|
24
|
+
const sdk = createLaunchpadSDK({ env: 'stage' });
|
|
28
25
|
|
|
29
26
|
const pools = await sdk.fetchPools({ pageSize: 10 });
|
|
30
27
|
console.log(pools);
|
|
@@ -79,6 +76,7 @@ clients from the same key (`sdk.dex` is gone, and so are `fetchAllDexSeasons`,
|
|
|
79
76
|
`gSwap.market.getVolumeSummary()` and `gSwap.pools.watchNewPools()`):
|
|
80
77
|
|
|
81
78
|
```ts
|
|
79
|
+
import BigNumber from 'bignumber.js';
|
|
82
80
|
import { PrivateKeySigner } from '@gala-chain/gala-core-sdk';
|
|
83
81
|
import { GSwap } from '@gala-chain/gswap-sdk';
|
|
84
82
|
|
|
@@ -97,8 +95,10 @@ const quote = await gSwap.quoting.quoteExactInput(
|
|
|
97
95
|
const swap = await gSwap.swaps.swap(
|
|
98
96
|
'GALA|Unit|none|none',
|
|
99
97
|
'GUSDC|Unit|none|none',
|
|
100
|
-
quote.
|
|
101
|
-
|
|
98
|
+
quote.feeTier,
|
|
99
|
+
// The least you accept: a swap is applied seconds after the quote, so a bound equal to the quote
|
|
100
|
+
// is rejected whenever the price moves in between.
|
|
101
|
+
{ exactIn: '100', amountOutMinimum: new BigNumber(quote.amountOut).multipliedBy('0.99').toFixed() },
|
|
102
102
|
);
|
|
103
103
|
// The swap is queued (swap.mode === 'queued'); confirm() resolves the applied trade
|
|
104
104
|
// or throws the chain's rejection.
|
|
@@ -114,12 +114,12 @@ Use `gSwap.pools`, `gSwap.positions`, `gSwap.symbols`, `gSwap.assets`, `gSwap.ma
|
|
|
114
114
|
|
|
115
115
|
## Hosts
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
`env: 'stage'` selects the Gala staging backends for launchpad reads and DEX reads, and `gateway-testnet.galachain.com` for gateway operations. Production host values are selected by `env: 'prod'`; `baseUrl` overrides the launchpad host.
|
|
118
118
|
|
|
119
119
|
## Further reading
|
|
120
120
|
|
|
121
121
|
- [Migrating to 9.0](./MIGRATING-TO-9.0.md)
|
|
122
|
-
-
|
|
122
|
+
- Changelog: `CHANGELOG.md` in the package root
|
|
123
123
|
- [API reference](./docs/API-REFERENCE.md)
|
|
124
|
-
- [Examples](./
|
|
125
|
-
- [gswap-sdk
|
|
124
|
+
- [Examples](./EXAMPLES.md)
|
|
125
|
+
- [gswap-sdk](../gswap-sdk/README.md): the DEX SDK, with its own runnable demos
|
package/dist/LaunchpadSDK.d.ts
CHANGED
|
@@ -2866,7 +2866,7 @@ export declare class LaunchpadSDK {
|
|
|
2866
2866
|
* ```typescript
|
|
2867
2867
|
* const creds = await sdk.getStreamCredentials('mytoken');
|
|
2868
2868
|
* console.log(`Stream Key: ${creds.streamKey}`);
|
|
2869
|
-
* console.log(`
|
|
2869
|
+
* console.log(`RTMPS URL: ${creds.rtmpsUrl}`);
|
|
2870
2870
|
* console.log(`Playback ID: ${creds.playbackId}`);
|
|
2871
2871
|
* ```
|
|
2872
2872
|
*/
|
|
@@ -4389,6 +4389,7 @@ export declare class LaunchpadSDK {
|
|
|
4389
4389
|
* console.log(`Total viewers: ${summary.totalViewers}`);
|
|
4390
4390
|
* console.log(`Pending flags: ${summary.pendingFlags}`);
|
|
4391
4391
|
* console.log(`Total pools: ${summary.totalPools}`);
|
|
4392
|
+
* console.log(`Graduated pools: ${summary.graduatedPools}`);
|
|
4392
4393
|
* ```
|
|
4393
4394
|
*/
|
|
4394
4395
|
getOverseerSummary(): Promise<OverseerSummaryResponse>;
|
|
@@ -5418,7 +5419,7 @@ export declare class LaunchpadSDK {
|
|
|
5418
5419
|
* Adding the same reaction type again is a no-op (idempotent).
|
|
5419
5420
|
* Users can have multiple different reaction types on the same message.
|
|
5420
5421
|
*
|
|
5421
|
-
* @param options - Options including
|
|
5422
|
+
* @param options - Options including messageId and reactionType
|
|
5422
5423
|
* @returns Updated reaction data and whether reaction was newly created
|
|
5423
5424
|
* @throws ValidationError if parameters are invalid
|
|
5424
5425
|
* @throws ConfigurationError if authentication is not configured
|
|
@@ -5429,7 +5430,6 @@ export declare class LaunchpadSDK {
|
|
|
5429
5430
|
* @example Add a heart reaction
|
|
5430
5431
|
* ```typescript
|
|
5431
5432
|
* const result = await sdk.addContentReaction({
|
|
5432
|
-
* tokenName: 'mytoken',
|
|
5433
5433
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5434
5434
|
* reactionType: 'heart'
|
|
5435
5435
|
* });
|
|
@@ -5444,7 +5444,7 @@ export declare class LaunchpadSDK {
|
|
|
5444
5444
|
* Requires JWT or API key authentication.
|
|
5445
5445
|
* Only the user who created the reaction can remove it.
|
|
5446
5446
|
*
|
|
5447
|
-
* @param options - Options including
|
|
5447
|
+
* @param options - Options including messageId and reactionType
|
|
5448
5448
|
* @returns Success indicator
|
|
5449
5449
|
* @throws ValidationError if parameters are invalid
|
|
5450
5450
|
* @throws ConfigurationError if authentication is not configured
|
|
@@ -5455,7 +5455,6 @@ export declare class LaunchpadSDK {
|
|
|
5455
5455
|
* @example Remove a heart reaction
|
|
5456
5456
|
* ```typescript
|
|
5457
5457
|
* await sdk.removeContentReaction({
|
|
5458
|
-
* tokenName: 'mytoken',
|
|
5459
5458
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5460
5459
|
* reactionType: 'heart'
|
|
5461
5460
|
* });
|
|
@@ -5467,7 +5466,7 @@ export declare class LaunchpadSDK {
|
|
|
5467
5466
|
*
|
|
5468
5467
|
* Convenience wrapper for addContentReaction specifically for chat messages.
|
|
5469
5468
|
*
|
|
5470
|
-
* @param options - Options including
|
|
5469
|
+
* @param options - Options including messageId and reactionType
|
|
5471
5470
|
* @returns Updated reaction data
|
|
5472
5471
|
*
|
|
5473
5472
|
* @since 5.12.0
|
|
@@ -5476,7 +5475,6 @@ export declare class LaunchpadSDK {
|
|
|
5476
5475
|
* @example Add a fire reaction to a chat message
|
|
5477
5476
|
* ```typescript
|
|
5478
5477
|
* await sdk.addReactionToChatMessage({
|
|
5479
|
-
* tokenName: 'mytoken',
|
|
5480
5478
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5481
5479
|
* reactionType: 'fire'
|
|
5482
5480
|
* });
|
|
@@ -5488,7 +5486,7 @@ export declare class LaunchpadSDK {
|
|
|
5488
5486
|
*
|
|
5489
5487
|
* Convenience wrapper for removeContentReaction specifically for chat messages.
|
|
5490
5488
|
*
|
|
5491
|
-
* @param options - Options including
|
|
5489
|
+
* @param options - Options including messageId and reactionType
|
|
5492
5490
|
* @returns Success indicator
|
|
5493
5491
|
*
|
|
5494
5492
|
* @since 5.12.0
|
|
@@ -5497,7 +5495,6 @@ export declare class LaunchpadSDK {
|
|
|
5497
5495
|
* @example Remove a fire reaction from a chat message
|
|
5498
5496
|
* ```typescript
|
|
5499
5497
|
* await sdk.removeReactionFromChatMessage({
|
|
5500
|
-
* tokenName: 'mytoken',
|
|
5501
5498
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5502
5499
|
* reactionType: 'fire'
|
|
5503
5500
|
* });
|
|
@@ -5509,7 +5506,7 @@ export declare class LaunchpadSDK {
|
|
|
5509
5506
|
*
|
|
5510
5507
|
* Convenience wrapper for addContentReaction specifically for comments.
|
|
5511
5508
|
*
|
|
5512
|
-
* @param options - Options including
|
|
5509
|
+
* @param options - Options including messageId and reactionType
|
|
5513
5510
|
* @returns Updated reaction data
|
|
5514
5511
|
*
|
|
5515
5512
|
* @since 5.12.0
|
|
@@ -5518,7 +5515,6 @@ export declare class LaunchpadSDK {
|
|
|
5518
5515
|
* @example Add a thumbs_up reaction to a comment
|
|
5519
5516
|
* ```typescript
|
|
5520
5517
|
* await sdk.addReactionToComment({
|
|
5521
|
-
* tokenName: 'mytoken',
|
|
5522
5518
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5523
5519
|
* reactionType: 'thumbs_up'
|
|
5524
5520
|
* });
|
|
@@ -5530,7 +5526,7 @@ export declare class LaunchpadSDK {
|
|
|
5530
5526
|
*
|
|
5531
5527
|
* Convenience wrapper for removeContentReaction specifically for comments.
|
|
5532
5528
|
*
|
|
5533
|
-
* @param options - Options including
|
|
5529
|
+
* @param options - Options including messageId and reactionType
|
|
5534
5530
|
* @returns Success indicator
|
|
5535
5531
|
*
|
|
5536
5532
|
* @since 5.12.0
|
|
@@ -5539,7 +5535,6 @@ export declare class LaunchpadSDK {
|
|
|
5539
5535
|
* @example Remove a thumbs_up reaction from a comment
|
|
5540
5536
|
* ```typescript
|
|
5541
5537
|
* await sdk.removeReactionFromComment({
|
|
5542
|
-
* tokenName: 'mytoken',
|
|
5543
5538
|
* messageId: 'msg-1703443200000-a1b2c3d4e5f6789012345678901234ab',
|
|
5544
5539
|
* reactionType: 'thumbs_up'
|
|
5545
5540
|
* });
|
|
@@ -6345,7 +6340,7 @@ export declare class LaunchpadSDK {
|
|
|
6345
6340
|
* console.log(`Viewers: ${event.viewerCount}`);
|
|
6346
6341
|
* },
|
|
6347
6342
|
* onChatMessage: (event) => {
|
|
6348
|
-
* console.log(`Chat: ${event.
|
|
6343
|
+
* console.log(`Chat: ${event.content}`);
|
|
6349
6344
|
* },
|
|
6350
6345
|
* });
|
|
6351
6346
|
* ```
|
|
@@ -7540,7 +7535,7 @@ export declare class LaunchpadSDK {
|
|
|
7540
7535
|
* Use when you want guaranteed accuracy but don't mind network latency.
|
|
7541
7536
|
*
|
|
7542
7537
|
* @deprecated Use `getTradeQuote()` instead — it uses the backend-proxy for instant
|
|
7543
|
-
* calculations without a direct GalaChain call. The
|
|
7538
|
+
* calculations without a direct GalaChain call. The swap backend has removed direct
|
|
7544
7539
|
* chain quote endpoints in favour of the backend-proxy approach.
|
|
7545
7540
|
*
|
|
7546
7541
|
* @param options Buy amount calculation options
|
|
@@ -7562,7 +7557,7 @@ export declare class LaunchpadSDK {
|
|
|
7562
7557
|
* Use when you want guaranteed accuracy but don't mind network latency.
|
|
7563
7558
|
*
|
|
7564
7559
|
* @deprecated Use `getTradeQuote()` instead — it uses the backend-proxy for instant
|
|
7565
|
-
* calculations without a direct GalaChain call. The
|
|
7560
|
+
* calculations without a direct GalaChain call. The swap backend has removed direct
|
|
7566
7561
|
* chain quote endpoints in favour of the backend-proxy approach.
|
|
7567
7562
|
*
|
|
7568
7563
|
* @param options Sell amount calculation options
|