@flayerlabs/gamemode-client 0.4.3 → 0.5.1

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/mock.js CHANGED
@@ -1,11 +1,10 @@
1
1
  import { Round } from '@flayerlabs/gamemode-spec/round';
2
2
  import { isRefusal } from '@flayerlabs/gamemode-spec';
3
- import { isReactionId, } from '@flayerlabs/gamemode-spec/live';
3
+ import { ETH_SPEND_TOKEN, isReactionId, } from '@flayerlabs/gamemode-spec/live';
4
4
  import { Signal } from './signal.js';
5
5
  import { CachedIdentityResolver } from './identity.js';
6
6
  /** How often the mock looks for a deadline that has fallen due. */
7
7
  const TICK_MS = 100;
8
- const WEI_PER_ETH = 1000000000000000000n;
9
8
  /** Long enough to see a spinner, short enough not to be annoying while building. */
10
9
  const FAKE_SIGN_MS = 150;
11
10
  const FAKE_PENDING_MS = 250;
@@ -15,13 +14,13 @@ export class MockRoom {
15
14
  game;
16
15
  round;
17
16
  player;
18
- weiPerPoint;
17
+ unitsPerPoint;
19
18
  allowedReactions;
20
19
  listeners = new Set();
21
20
  reactionListeners = new Set();
22
21
  timer;
23
- spentWei = 0n;
24
- heldWei = 0n;
22
+ spent = 0n;
23
+ held = 0n;
25
24
  /** Mirrors the gate's five-minute hold, so a game can build the countdown against the mock. */
26
25
  holdExpiresAt = null;
27
26
  buyProgress = null;
@@ -36,7 +35,7 @@ export class MockRoom {
36
35
  this.game = game;
37
36
  const opensAt = Date.now() + (options.lobbyMs ?? 3_000);
38
37
  this.player = options.player ?? '0xyou';
39
- this.weiPerPoint = options.weiPerPoint ?? 10000000000000n;
38
+ this.unitsPerPoint = options.unitsPerPoint ?? 10000000000000n;
40
39
  this.allowedReactions = new Set(options.reactionIds ?? []);
41
40
  if ([...this.allowedReactions].some((id) => !isReactionId(id))) {
42
41
  throw new RangeError('reactionIds must contain only valid reaction identifiers');
@@ -61,10 +60,10 @@ export class MockRoom {
61
60
  // may spend. Defaulting the cap to exactly that payout, and refusing anything under it, keeps
62
61
  // the mock from letting a game pass locally on numbers the gate would reject.
63
62
  const maxPointsPerPlayer = game.rewardBounds(options.config).maxPointsPerPlayer;
64
- const flawlessRoundWei = BigInt(maxPointsPerPlayer) * this.weiPerPoint;
65
- const walletCapWei = options.walletCapWei ?? flawlessRoundWei;
66
- if (walletCapWei < flawlessRoundWei) {
67
- throw new RangeError('walletCapWei must cover a flawless round, or the gate would refuse this launch');
63
+ const flawlessRoundWei = BigInt(maxPointsPerPlayer) * this.unitsPerPoint;
64
+ const walletCap = options.walletCap ?? flawlessRoundWei;
65
+ if (walletCap < flawlessRoundWei) {
66
+ throw new RangeError('walletCap must cover a flawless round, or the gate would refuse this launch');
68
67
  }
69
68
  // The gate derives its rate from these two, so the mock runs the identity backwards from
70
69
  // whatever rate it was given. Reporting three numbers that do not agree would let a menu built
@@ -73,16 +72,32 @@ export class MockRoom {
73
72
  if (!Number.isFinite(pointsPerDollar) || pointsPerDollar <= 0) {
74
73
  throw new RangeError('pointsPerDollar must be a positive finite number');
75
74
  }
76
- const pointsPerEth = WEI_PER_ETH / this.weiPerPoint;
77
- if (pointsPerEth <= 0n || pointsPerEth > BigInt(Number.MAX_SAFE_INTEGER)) {
78
- throw new RangeError('weiPerPoint does not produce representable round terms');
75
+ // In the spend token's own base units — wei unless a token was given. The gate's identity is
76
+ // `unitsPerPoint = units / round(usdPerSpendToken × pointsPerDollar)`, so the mock runs it
77
+ // backwards and reports exactly the three numbers a live round would agree on.
78
+ const spendToken = options.spendToken ?? ETH_SPEND_TOKEN;
79
+ const decimals = spendToken.decimals;
80
+ if (!Number.isSafeInteger(decimals) || decimals < 0 || decimals > 36) {
81
+ throw new RangeError('spendToken.decimals must be an integer between 0 and 36');
79
82
  }
80
- const usdPerEth = Number(pointsPerEth) / pointsPerDollar;
81
- const roundTrip = WEI_PER_ETH / BigInt(Math.round(usdPerEth * pointsPerDollar));
82
- if (roundTrip !== this.weiPerPoint) {
83
- throw new RangeError('weiPerPoint must round-trip through gate pricing terms');
83
+ const units = 10n ** BigInt(decimals);
84
+ const pointsPerToken = units / this.unitsPerPoint;
85
+ if (pointsPerToken <= 0n || pointsPerToken > BigInt(Number.MAX_SAFE_INTEGER)) {
86
+ throw new RangeError('unitsPerPoint does not produce representable round terms');
84
87
  }
85
- this.termsSignal = new Signal(Object.freeze({ maxPointsPerPlayer, walletCapWei, weiPerPoint: this.weiPerPoint, pointsPerDollar, usdPerEth }));
88
+ const usdPerSpendToken = Number(pointsPerToken) / pointsPerDollar;
89
+ const roundTrip = units / BigInt(Math.round(usdPerSpendToken * pointsPerDollar));
90
+ if (roundTrip !== this.unitsPerPoint) {
91
+ throw new RangeError('unitsPerPoint must round-trip through gate pricing terms');
92
+ }
93
+ this.termsSignal = new Signal(Object.freeze({
94
+ maxPointsPerPlayer,
95
+ walletCap,
96
+ unitsPerPoint: this.unitsPerPoint,
97
+ pointsPerDollar,
98
+ usdPerSpendToken,
99
+ spendToken: Object.freeze({ ...spendToken }),
100
+ }));
86
101
  this.marketSignal = new Signal(options.platform?.market?.current() ?? { status: 'unavailable', prices: [], trades: [], marketCapUsd: null });
87
102
  this.stopMarket = options.platform?.market?.subscribe((state) => this.marketSignal.set(state)) ?? (() => { });
88
103
  this.identity = new CachedIdentityResolver(options.platform?.identity);
@@ -147,24 +162,24 @@ export class MockRoom {
147
162
  subscribe: (listener) => this.presenceSignal.subscribe(listener),
148
163
  };
149
164
  economyState() {
150
- const earnedWei = BigInt(this.round.pointsFor(this.player)) * this.weiPerPoint;
151
- const availableWei = earnedWei - this.spentWei - this.heldWei;
165
+ const earned = BigInt(this.round.pointsFor(this.player)) * this.unitsPerPoint;
166
+ const available = earned - this.spent - this.held;
152
167
  return {
153
- weiPerPoint: this.weiPerPoint,
154
- earnedWei,
155
- heldWei: this.heldWei,
156
- spentWei: this.spentWei,
157
- availableWei: availableWei > 0n ? availableWei : 0n,
158
- holdExpiresAt: this.heldWei > 0n ? this.holdExpiresAt : null,
168
+ unitsPerPoint: this.unitsPerPoint,
169
+ earned,
170
+ held: this.held,
171
+ spent: this.spent,
172
+ available: available > 0n ? available : 0n,
173
+ holdExpiresAt: this.held > 0n ? this.holdExpiresAt : null,
159
174
  buy: this.buyProgress,
160
175
  };
161
176
  }
162
177
  economySignal = new Signal({
163
- weiPerPoint: 0n,
164
- earnedWei: 0n,
165
- heldWei: 0n,
166
- spentWei: 0n,
167
- availableWei: 0n,
178
+ unitsPerPoint: 0n,
179
+ earned: 0n,
180
+ held: 0n,
181
+ spent: 0n,
182
+ available: 0n,
168
183
  holdExpiresAt: null,
169
184
  buy: null,
170
185
  });
@@ -174,7 +189,7 @@ export class MockRoom {
174
189
  economy = {
175
190
  current: () => this.economyState(),
176
191
  subscribe: (listener) => this.economySignal.subscribe(listener),
177
- available: () => this.economyState().availableWei,
192
+ available: () => this.economyState().available,
178
193
  buy: async (maxSpendWei) => {
179
194
  if (maxSpendWei <= 0n) {
180
195
  this.buyProgress = { state: 'failed', reason: 'nothing-to-spend' };
@@ -191,31 +206,31 @@ export class MockRoom {
191
206
  return { bought: false, reason: 'try-again' };
192
207
  }
193
208
  const spend = maxSpendWei < available ? maxSpendWei : available;
194
- this.heldWei += spend;
209
+ this.held += spend;
195
210
  this.holdExpiresAt = Date.now() + MOCK_HOLD_MS;
196
- this.buyProgress = { state: 'signing', spendWei: spend };
211
+ this.buyProgress = { state: 'signing', spend: spend };
197
212
  this.publishEconomy();
198
213
  await new Promise((resolve) => setTimeout(resolve, FAKE_SIGN_MS));
199
214
  if (this.disposed) {
200
- this.heldWei -= spend;
215
+ this.held -= spend;
201
216
  this.buyProgress = { state: 'failed', reason: 'try-again' };
202
217
  this.publishEconomy();
203
218
  return { bought: false, reason: 'try-again' };
204
219
  }
205
- this.buyProgress = { state: 'pending', spendWei: spend };
220
+ this.buyProgress = { state: 'pending', spend: spend };
206
221
  this.publishEconomy();
207
222
  await new Promise((resolve) => setTimeout(resolve, FAKE_PENDING_MS));
208
223
  if (this.disposed) {
209
- this.heldWei -= spend;
224
+ this.held -= spend;
210
225
  this.buyProgress = { state: 'failed', reason: 'try-again' };
211
226
  this.publishEconomy();
212
227
  return { bought: false, reason: 'try-again' };
213
228
  }
214
- this.heldWei -= spend;
215
- this.spentWei += spend;
216
- this.buyProgress = { state: 'confirmed', spentWei: spend };
229
+ this.held -= spend;
230
+ this.spent += spend;
231
+ this.buyProgress = { state: 'confirmed', spent: spend };
217
232
  this.emit();
218
- return { bought: true, spentWei: spend };
233
+ return { bought: true, spent: spend };
219
234
  },
220
235
  };
221
236
  social = {
package/dist/mock.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export interface MarketFixture {
28
28
  afterMs: number;
29
29
  player: string | null;
30
30
  side: 'buy' | 'sell';
31
- spendWei: bigint;
31
+ spend: bigint;
32
32
  priceEth: number | null;
33
33
  }[];
34
34
  marketCapUsd?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"replay-market.d.ts","sourceRoot":"","sources":["../src/replay-market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,MAAM,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,0DAA0D;IAC1D,MAAM,EAAE,SAAS;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,EAAE,CAAC;IACJ,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,WAAW,CAAC;IACzD,2FAA2F;IAC3F,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,YAAY,CAqE/F;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,aAmBzB,CAAC"}
1
+ {"version":3,"file":"replay-market.d.ts","sourceRoot":"","sources":["../src/replay-market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,MAAM,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,0DAA0D;IAC1D,MAAM,EAAE,SAAS;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,EAAE,CAAC;IACJ,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,WAAW,CAAC;IACzD,2FAA2F;IAC3F,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,YAAY,CAqE/F;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,aAmBzB,CAAC"}
@@ -44,7 +44,7 @@ export function replayMarket(fixture, now = Date.now) {
44
44
  at: startedAt + trade.afterMs,
45
45
  player: trade.player,
46
46
  side: trade.side,
47
- spendWei: trade.spendWei,
47
+ spend: trade.spend,
48
48
  priceEth: trade.priceEth,
49
49
  }));
50
50
  return {
@@ -89,11 +89,11 @@ export const BUSY_LAUNCH = {
89
89
  { afterMs: 18_000, priceEth: 0.000_049 },
90
90
  ],
91
91
  trades: [
92
- { afterMs: 1_500, player: '0x1111111111111111111111111111111111111111', side: 'buy', spendWei: 12000000000000000n, priceEth: 0.000_013 },
93
- { afterMs: 5_200, player: '0x2222222222222222222222222222222222222222', side: 'buy', spendWei: 40000000000000000n, priceEth: 0.000_021 },
94
- { afterMs: 6_100, player: null, side: 'buy', spendWei: 8000000000000000n, priceEth: 0.000_041 },
95
- { afterMs: 9_400, player: '0x3333333333333333333333333333333333333333', side: 'sell', spendWei: 5000000000000000n, priceEth: 0.000_039 },
96
- { afterMs: 12_800, player: '0x1111111111111111111111111111111111111111', side: 'buy', spendWei: 25000000000000000n, priceEth: 0.000_050 },
92
+ { afterMs: 1_500, player: '0x1111111111111111111111111111111111111111', side: 'buy', spend: 12000000000000000n, priceEth: 0.000_013 },
93
+ { afterMs: 5_200, player: '0x2222222222222222222222222222222222222222', side: 'buy', spend: 40000000000000000n, priceEth: 0.000_021 },
94
+ { afterMs: 6_100, player: null, side: 'buy', spend: 8000000000000000n, priceEth: 0.000_041 },
95
+ { afterMs: 9_400, player: '0x3333333333333333333333333333333333333333', side: 'sell', spend: 5000000000000000n, priceEth: 0.000_039 },
96
+ { afterMs: 12_800, player: '0x1111111111111111111111111111111111111111', side: 'buy', spend: 25000000000000000n, priceEth: 0.000_050 },
97
97
  ],
98
98
  };
99
99
  //# sourceMappingURL=replay-market.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay-market.js","sourceRoot":"","sources":["../src/replay-market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay-market.js","sourceRoot":"","sources":["../src/replay-market.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flayerlabs/gamemode-client",
3
- "version": "0.4.3",
3
+ "version": "0.5.1",
4
4
  "description": "Browser and mock-room client for Flaunch Game Modes",
5
5
  "license": "MIT",
6
6
  "author": "Flayer Labs",
@@ -33,7 +33,7 @@
33
33
  "ws": "^8.21.3"
34
34
  },
35
35
  "dependencies": {
36
- "@flayerlabs/gamemode-spec": "^0.4.3"
36
+ "@flayerlabs/gamemode-spec": "^0.5.1"
37
37
  },
38
38
  "types": "./dist/index.d.ts",
39
39
  "exports": {
package/src/embed.ts CHANGED
@@ -96,7 +96,7 @@ type Pending =
96
96
  | { kind: 'signIn'; resolve: (signature: `0x${string}`) => void; reject: (error: Error) => void }
97
97
  | {
98
98
  kind: 'buy';
99
- resolve: (outcome: { spentWei: bigint } | { failed: BuyResult }) => void;
99
+ resolve: (outcome: { spent: bigint } | { failed: BuyResult }) => void;
100
100
  progress: ((event: HostBuyProgress) => void) | undefined;
101
101
  };
102
102
 
@@ -185,8 +185,8 @@ export async function connectHost(options: ConnectHostOptions = {}): Promise<Emb
185
185
  request.resolve({ failed: { bought: false, reason: failureFor(frame.error.code) } });
186
186
  } else if (frame.result.method !== 'buy') {
187
187
  request.resolve({ failed: { bought: false, reason: 'try-again' } });
188
- } else if ('spentWei' in frame.result.outcome) {
189
- request.resolve({ spentWei: BigInt(frame.result.outcome.spentWei) });
188
+ } else if ('spent' in frame.result.outcome) {
189
+ request.resolve({ spent: BigInt(frame.result.outcome.spent) });
190
190
  } else {
191
191
  request.resolve({ failed: frame.result.outcome.failed });
192
192
  }
@@ -226,7 +226,7 @@ export async function connectHost(options: ConnectHostOptions = {}): Promise<Emb
226
226
  }),
227
227
 
228
228
  buy: (authorisation, progress) =>
229
- new Promise<{ spentWei: bigint } | { failed: BuyResult }>((resolve) => {
229
+ new Promise<{ spent: bigint } | { failed: BuyResult }>((resolve) => {
230
230
  if (disposed) return resolve({ failed: { bought: false, reason: 'try-again' } });
231
231
  const id = requestId();
232
232
  pending.set(id, { kind: 'buy', resolve, progress });
package/src/host.ts CHANGED
@@ -162,13 +162,13 @@ export function attachGameHost(options: AttachGameHostOptions): () => void {
162
162
  : { state: 'pending' },
163
163
  });
164
164
  });
165
- if ('spentWei' in outcome) {
165
+ if ('spent' in outcome) {
166
166
  send({
167
167
  v: FRAME_PROTOCOL_VERSION,
168
168
  type: 'gm:res',
169
169
  id,
170
170
  ok: true,
171
- result: { method: 'buy', outcome: { spentWei: outcome.spentWei.toString() } },
171
+ result: { method: 'buy', outcome: { spent: outcome.spent.toString() } },
172
172
  });
173
173
  } else if (outcome.failed.bought === false) {
174
174
  send({
@@ -186,7 +186,7 @@ export function attachGameHost(options: AttachGameHostOptions): () => void {
186
186
  type: 'gm:res',
187
187
  id,
188
188
  ok: true,
189
- result: { method: 'buy', outcome: { spentWei: outcome.failed.spentWei.toString() } },
189
+ result: { method: 'buy', outcome: { spent: outcome.failed.spent.toString() } },
190
190
  });
191
191
  }
192
192
  } catch (error) {
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ import type {
10
10
  PresenceState,
11
11
  Reaction,
12
12
  RoundTerms,
13
+ SpendToken,
13
14
  } from '@flayerlabs/gamemode-spec/live';
14
15
  import { MockRoom } from './mock.js';
15
16
 
@@ -26,7 +27,9 @@ export type {
26
27
  PresenceState,
27
28
  Reaction,
28
29
  RoundTerms,
30
+ SpendToken,
29
31
  } from '@flayerlabs/gamemode-spec/live';
32
+ export { ETH_SPEND_TOKEN, spendTokenOf } from '@flayerlabs/gamemode-spec/live';
30
33
 
31
34
  export { joinEconomy, joinRoom, NoWallet } from './live.js';
32
35
  export { BUSY_LAUNCH, replayMarket } from './replay-market.js';
@@ -126,13 +129,13 @@ export interface EconomyState extends EconomyBalance {
126
129
  }
127
130
 
128
131
  export type BuyProgress =
129
- | { state: 'signing'; spendWei: bigint }
130
- | { state: 'pending'; spendWei: bigint; transactionHash?: string }
131
- | { state: 'confirmed'; spentWei: bigint; transactionHash?: string }
132
+ | { state: 'signing'; spend: bigint }
133
+ | { state: 'pending'; spend: bigint; transactionHash?: string }
134
+ | { state: 'confirmed'; spent: bigint; transactionHash?: string }
132
135
  | { state: 'failed'; reason: BuyFailure; refuse?: string };
133
136
 
134
137
  export type BuyResult =
135
- | { bought: true; spentWei: bigint }
138
+ | { bought: true; spent: bigint }
136
139
  | {
137
140
  bought: false;
138
141
  reason: BuyFailure;
@@ -196,11 +199,17 @@ export interface MockOptions<Config> {
196
199
  /** Who you are. A made-up address unless you say otherwise. */
197
200
  player?: PlayerId;
198
201
  /** Points-to-wei, only so the buy button has something to show. */
199
- weiPerPoint?: bigint;
202
+ unitsPerPoint?: bigint;
200
203
  /** The launch's per-wallet ceiling. Defaults to exactly what a flawless round would earn. */
201
- walletCapWei?: bigint;
202
- /** The creator's one economic knob. The mock derives a matching ETH price from `weiPerPoint`. */
204
+ walletCap?: bigint;
205
+ /** The creator's one economic knob. The mock derives a matching token price from `unitsPerPoint`. */
203
206
  pointsPerDollar?: number;
207
+ /**
208
+ * The token the mock round spends in. Omitted, ETH — and the terms then carry exactly the fields
209
+ * a pre-0.5 gate sends. Given, `unitsPerPoint` is read in this token's base units and the terms
210
+ * carry `spendToken` and `usdPerSpendToken`, as a live paired-token round does.
211
+ */
212
+ spendToken?: SpendToken;
204
213
  launch?: LaunchContext;
205
214
  platform?: ClientPlatform;
206
215
  /** The same cosmetic catalogue as live. Omitted disables reactions. */