@flayerlabs/gamemode-gate 0.5.5 → 0.6.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/DEPLOY.md +37 -9
- package/README.md +7 -1
- package/dist/chain/chains.d.ts +14 -6
- package/dist/chain/chains.d.ts.map +1 -1
- package/dist/chain/chains.js +8 -4
- package/dist/chain/chains.js.map +1 -1
- package/dist/chain/discover.d.ts +61 -3
- package/dist/chain/discover.d.ts.map +1 -1
- package/dist/chain/discover.js +181 -21
- package/dist/chain/discover.js.map +1 -1
- package/dist/chain/registry-prices.d.ts +69 -0
- package/dist/chain/registry-prices.d.ts.map +1 -0
- package/dist/chain/registry-prices.js +157 -0
- package/dist/chain/registry-prices.js.map +1 -0
- package/dist/chain/secure.d.ts +28 -0
- package/dist/chain/secure.d.ts.map +1 -1
- package/dist/chain/secure.js +55 -20
- package/dist/chain/secure.js.map +1 -1
- package/dist/economy.d.ts.map +1 -1
- package/dist/economy.js +12 -3
- package/dist/economy.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +14 -3
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +44 -11
- package/dist/main.js.map +1 -1
- package/dist/room.d.ts +7 -0
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +15 -6
- package/dist/room.js.map +1 -1
- package/dist/server.d.ts +26 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -0
- package/dist/server.js.map +1 -1
- package/dist/store.d.ts +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +6 -0
- package/dist/store.js.map +1 -1
- package/dist/version.js +2 -2
- package/package.json +2 -2
- package/src/chain/chains.ts +14 -6
- package/src/chain/discover.ts +212 -21
- package/src/chain/registry-prices.ts +194 -0
- package/src/chain/secure.ts +75 -31
- package/src/economy.ts +13 -3
- package/src/index.ts +7 -4
- package/src/main.ts +50 -11
- package/src/room.ts +14 -3
- package/src/server.ts +49 -0
- package/src/store.ts +6 -0
- package/src/version.ts +2 -2
package/dist/main.js
CHANGED
|
@@ -12,6 +12,7 @@ import { migrate } from './store.js';
|
|
|
12
12
|
import { resolveEconomy } from './economy.js';
|
|
13
13
|
import { deploymentFor } from './chain/chains.js';
|
|
14
14
|
import { assertSecureConfig } from './chain/secure.js';
|
|
15
|
+
import { RegistryPrices } from './chain/registry-prices.js';
|
|
15
16
|
function required(env, name) {
|
|
16
17
|
const value = env[name];
|
|
17
18
|
if (!value)
|
|
@@ -103,9 +104,11 @@ function address(env, name) {
|
|
|
103
104
|
* POSITION_MANAGER optional; selects a recorded stack on the chain (the legacy one when
|
|
104
105
|
* unset), or overrides the address for a chain with no address book
|
|
105
106
|
* SPEND_GATED_CALCULATOR optional address-book override
|
|
106
|
-
* POOL_SWAP optional address-book override; required for a v1_3 stack
|
|
107
|
+
* POOL_SWAP optional address-book override; required for a v1_3 or any_v1_3 stack
|
|
107
108
|
* FLETH optional address-book override; the chain's flETH wrapper
|
|
108
|
-
* FLAUNCH_VARIANT optional; v1_2, multichain or
|
|
109
|
+
* FLAUNCH_VARIANT optional; v1_2, multichain, v1_3 or any_v1_3 — the PRIMARY manager's
|
|
110
|
+
* generation. Adoption is not limited to it: any manager wired to the
|
|
111
|
+
* calculator is served (see chain/discover.ts)
|
|
109
112
|
* SETTLER optional; defaults to the signing key's own address
|
|
110
113
|
* WALLET_CAP_WEI default 0.025 ETH; the cap for ETH-paired launches
|
|
111
114
|
* ROUND_MS default 90000
|
|
@@ -114,7 +117,10 @@ function address(env, name) {
|
|
|
114
117
|
* POINTS_PER_DOLLAR default 100
|
|
115
118
|
* USD_PER_ETH default 3000; fractional allowed
|
|
116
119
|
* SPEND_TOKENS optional JSON array of { address, usdPerToken, walletCap } — the non-ETH
|
|
117
|
-
* paired tokens this gate runs rounds on.
|
|
120
|
+
* paired tokens this gate runs rounds on. Pins a price the registry
|
|
121
|
+
* would otherwise quote; tokens neither here nor approved on the
|
|
122
|
+
* manager's PairedTokenRegistry are refused.
|
|
123
|
+
* PAIRED_TOKEN_CAP_HEADROOM_PERCENT default 25; headroom on caps sized for registry-priced pairings
|
|
118
124
|
*/
|
|
119
125
|
export function resolveGateEnv(env) {
|
|
120
126
|
const chainId = Number(required(env, 'CHAIN_ID'));
|
|
@@ -134,13 +140,15 @@ export function resolveGateEnv(env) {
|
|
|
134
140
|
if (variantOverride !== undefined &&
|
|
135
141
|
variantOverride !== 'v1_2' &&
|
|
136
142
|
variantOverride !== 'multichain' &&
|
|
137
|
-
variantOverride !== 'v1_3'
|
|
138
|
-
|
|
143
|
+
variantOverride !== 'v1_3' &&
|
|
144
|
+
variantOverride !== 'any_v1_3') {
|
|
145
|
+
throw new Error(`FLAUNCH_VARIANT must be v1_2, multichain, v1_3 or any_v1_3, not ${variantOverride}`);
|
|
139
146
|
}
|
|
140
147
|
const flaunchVariant = variantOverride ?? recorded?.flaunchVariant ?? 'v1_2';
|
|
141
148
|
const poolSwap = address(env, 'POOL_SWAP') ?? recorded?.poolSwap ?? null;
|
|
142
|
-
|
|
143
|
-
|
|
149
|
+
// Both V1_3 generations take paired buys through the approved router.
|
|
150
|
+
if ((flaunchVariant === 'v1_3' || flaunchVariant === 'any_v1_3') && !poolSwap) {
|
|
151
|
+
throw new Error(`a ${flaunchVariant} stack needs POOL_SWAP — the approved router a paired-token buy goes through`);
|
|
144
152
|
}
|
|
145
153
|
const fleth = address(env, 'FLETH') ?? recorded?.fleth ?? null;
|
|
146
154
|
const signerPrivateKey = required(env, 'SIGNER_PRIVATE_KEY');
|
|
@@ -186,6 +194,7 @@ export function resolveGateEnv(env) {
|
|
|
186
194
|
pointsPerDollar: integer(env, 'POINTS_PER_DOLLAR', 100),
|
|
187
195
|
usdPerEth: positiveNumber(env, 'USD_PER_ETH', 3_000),
|
|
188
196
|
spendTokens: spendTokens(env),
|
|
197
|
+
pairedTokenCapHeadroomPercent: integer(env, 'PAIRED_TOKEN_CAP_HEADROOM_PERCENT', 25),
|
|
189
198
|
settler: address(env, 'SETTLER'),
|
|
190
199
|
};
|
|
191
200
|
}
|
|
@@ -198,9 +207,11 @@ function isEthEquivalent(token, fleth) {
|
|
|
198
207
|
* The price list a running gate answers adoption with.
|
|
199
208
|
*
|
|
200
209
|
* An override (an oracle, a test) is asked first; the env map second; ETH and its wrapper are the
|
|
201
|
-
* operator's `USD_PER_ETH`;
|
|
210
|
+
* operator's `USD_PER_ETH`; then the manager's own PairedTokenRegistry, which prices every token the
|
|
211
|
+
* protocol has approved through the calculator it was registered with. Only a token none of them
|
|
212
|
+
* know is unpriced, and that launch is refused — it could not have been launched either.
|
|
202
213
|
*/
|
|
203
|
-
function priceList(config, override) {
|
|
214
|
+
function priceList(config, override, registry) {
|
|
204
215
|
return async (token) => {
|
|
205
216
|
if (override) {
|
|
206
217
|
const quoted = await override(token);
|
|
@@ -212,7 +223,7 @@ function priceList(config, override) {
|
|
|
212
223
|
return listed.usdPerToken;
|
|
213
224
|
if (isEthEquivalent(token, config.deployment.fleth))
|
|
214
225
|
return config.usdPerEth;
|
|
215
|
-
return
|
|
226
|
+
return registry.priceFor(token);
|
|
216
227
|
};
|
|
217
228
|
}
|
|
218
229
|
export async function startGate(game, gameConfig, overrides = {}) {
|
|
@@ -271,6 +282,15 @@ export async function startGate(game, gameConfig, overrides = {}) {
|
|
|
271
282
|
walletCap: pricing.walletCap.toString(),
|
|
272
283
|
});
|
|
273
284
|
}
|
|
285
|
+
// Every pairing the protocol approves, priced by the calculator it was registered with. The
|
|
286
|
+
// registry is read from the manager, so nothing is configured and nothing goes stale when a new
|
|
287
|
+
// token is approved: the next launch on it is adopted like any other.
|
|
288
|
+
const registryPrices = new RegistryPrices(client, {
|
|
289
|
+
positionManager: config.deployment.positionManager,
|
|
290
|
+
...(config.deployment.fleth ? { fleth: config.deployment.fleth } : {}),
|
|
291
|
+
usdPerEth: config.usdPerEth,
|
|
292
|
+
});
|
|
293
|
+
const pairedTokenRegistry = await registryPrices.registryAddress();
|
|
274
294
|
const pool = new pg.Pool({ connectionString: config.databaseUrl });
|
|
275
295
|
await migrate(pool);
|
|
276
296
|
const ledger = new Ledger(pool);
|
|
@@ -290,7 +310,9 @@ export async function startGate(game, gameConfig, overrides = {}) {
|
|
|
290
310
|
minLobbyLeadMs: config.minLobbyLeadMs,
|
|
291
311
|
gateEndsAtGraceS: config.gateEndsAtGraceS,
|
|
292
312
|
flaunchVariant: config.deployment.flaunchVariant,
|
|
313
|
+
positionManagerPolicy: 'wired-to-calculator',
|
|
293
314
|
...(announcedSpendTokens.length > 0 ? { spendTokens: announcedSpendTokens } : {}),
|
|
315
|
+
...(pairedTokenRegistry ? { pairedTokenRegistry } : {}),
|
|
294
316
|
requiresEoa: false,
|
|
295
317
|
accepting: true,
|
|
296
318
|
publicLaunchesOpen: true,
|
|
@@ -302,7 +324,18 @@ export async function startGate(game, gameConfig, overrides = {}) {
|
|
|
302
324
|
config: gameConfig,
|
|
303
325
|
pointsPerDollar: config.pointsPerDollar,
|
|
304
326
|
usdPerEth: config.usdPerEth,
|
|
305
|
-
priceFor: priceList(config, overrides.priceProvider),
|
|
327
|
+
priceFor: priceList(config, overrides.priceProvider, registryPrices),
|
|
328
|
+
announceSpendToken: async (address) => {
|
|
329
|
+
// An operator-pinned token is announced exactly as pinned; anything else is the registry's word.
|
|
330
|
+
const pinned = announcedSpendTokens.find((entry) => entry.address.toLowerCase() === address.toLowerCase());
|
|
331
|
+
if (pinned)
|
|
332
|
+
return pinned;
|
|
333
|
+
return registryPrices.announce(address, {
|
|
334
|
+
maxPointsPerPlayer,
|
|
335
|
+
pointsPerDollar: config.pointsPerDollar,
|
|
336
|
+
headroomPercent: config.pairedTokenCapHeadroomPercent,
|
|
337
|
+
});
|
|
338
|
+
},
|
|
306
339
|
sessions: new Sessions(config.sessionSecret, config.signInDomain, config.gateOrigin),
|
|
307
340
|
claims: new Claims(pool, ledger, signer),
|
|
308
341
|
discovery: new Discovery(client, {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/room.d.ts
CHANGED
|
@@ -32,6 +32,12 @@ export declare class Room<Config, State, Event, Action, PublicView, PlayerView>
|
|
|
32
32
|
readonly terms: RoundTerms;
|
|
33
33
|
readonly scoreAuthority: ScoreAuthority;
|
|
34
34
|
private seq;
|
|
35
|
+
/**
|
|
36
|
+
* The PositionManager the coin was launched on, as the gate resolved it at adoption. Null for
|
|
37
|
+
* rounds adopted before the gate recorded it (below 0.6.0), and for demo and mock rooms. Kept
|
|
38
|
+
* off `LaunchContext`, which is the wire type games receive.
|
|
39
|
+
*/
|
|
40
|
+
readonly positionManager: string | null;
|
|
35
41
|
/**
|
|
36
42
|
* HTTP actions and the server ticker can arrive together. Keep the one-writer promise true
|
|
37
43
|
* inside a process by running both through the same serial tail.
|
|
@@ -59,6 +65,7 @@ export declare class Room<Config, State, Event, Action, PublicView, PlayerView>
|
|
|
59
65
|
name?: string;
|
|
60
66
|
symbol?: string;
|
|
61
67
|
imageUrl?: string | null;
|
|
68
|
+
positionManager?: string | null;
|
|
62
69
|
};
|
|
63
70
|
}): Promise<Room<Config, State, Event, Action, PublicView, PlayerView>>;
|
|
64
71
|
/** Pick up a round that already exists. Returns null if there is no such round. */
|
package/dist/room.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,KAAK,EAAS,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAIvH;;;;;;GAMG;AACH,KAAK,aAAa,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,iBAAiB,CAAC;AAEzD;;;;;;;;;GASG;AACH,qBAAa,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAQlE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,OAAO,CAAC,KAAK;IACb,QAAQ,CAAC,MAAM,EAAE,WAAW;IAC5B,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,cAAc,EAAE,cAAc;IACvC,OAAO,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"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"}
|
package/dist/room.js
CHANGED
|
@@ -22,12 +22,19 @@ export class Room {
|
|
|
22
22
|
terms;
|
|
23
23
|
scoreAuthority;
|
|
24
24
|
seq;
|
|
25
|
+
positionManager;
|
|
25
26
|
/**
|
|
26
27
|
* HTTP actions and the server ticker can arrive together. Keep the one-writer promise true
|
|
27
28
|
* inside a process by running both through the same serial tail.
|
|
28
29
|
*/
|
|
29
30
|
pending = Promise.resolve();
|
|
30
|
-
constructor(pool, game, id, round, window, launch, terms, scoreAuthority, seq
|
|
31
|
+
constructor(pool, game, id, round, window, launch, terms, scoreAuthority, seq,
|
|
32
|
+
/**
|
|
33
|
+
* The PositionManager the coin was launched on, as the gate resolved it at adoption. Null for
|
|
34
|
+
* rounds adopted before the gate recorded it (below 0.6.0), and for demo and mock rooms. Kept
|
|
35
|
+
* off `LaunchContext`, which is the wire type games receive.
|
|
36
|
+
*/
|
|
37
|
+
positionManager = null) {
|
|
31
38
|
this.pool = pool;
|
|
32
39
|
this.game = game;
|
|
33
40
|
this.id = id;
|
|
@@ -37,6 +44,7 @@ export class Room {
|
|
|
37
44
|
this.terms = terms;
|
|
38
45
|
this.scoreAuthority = scoreAuthority;
|
|
39
46
|
this.seq = seq;
|
|
47
|
+
this.positionManager = positionManager;
|
|
40
48
|
}
|
|
41
49
|
static async create(pool, game, round) {
|
|
42
50
|
const booksCloseAt = round.booksCloseAt ?? round.window.closesAt;
|
|
@@ -76,8 +84,8 @@ export class Room {
|
|
|
76
84
|
spend_token, spend_symbol, spend_decimals, usd_per_spend_token,
|
|
77
85
|
max_points_per_player, score_authority,
|
|
78
86
|
pool_id, opens_at, closes_at, books_close_at,
|
|
79
|
-
coin_address, coin_name, coin_symbol, coin_image_url, state, seq
|
|
80
|
-
) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, 0)`, [
|
|
87
|
+
coin_address, coin_name, coin_symbol, coin_image_url, position_manager, state, seq
|
|
88
|
+
) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, 0)`, [
|
|
81
89
|
round.id,
|
|
82
90
|
game.id,
|
|
83
91
|
round.unitsPerPoint.toString(),
|
|
@@ -98,9 +106,10 @@ export class Room {
|
|
|
98
106
|
launch.name,
|
|
99
107
|
launch.symbol,
|
|
100
108
|
launch.imageUrl,
|
|
109
|
+
round.launch?.positionManager?.toLowerCase() ?? null,
|
|
101
110
|
serialise(game.id, started.snapshot()),
|
|
102
111
|
]);
|
|
103
|
-
return new Room(pool, game, round.id, started, round.window, launch, terms, round.scoreAuthority, 0);
|
|
112
|
+
return new Room(pool, game, round.id, started, round.window, launch, terms, round.scoreAuthority, 0, round.launch?.positionManager?.toLowerCase() ?? null);
|
|
104
113
|
}
|
|
105
114
|
/** Pick up a round that already exists. Returns null if there is no such round. */
|
|
106
115
|
static async load(pool, game, id) {
|
|
@@ -108,7 +117,7 @@ export class Room {
|
|
|
108
117
|
wallet_cap_wei, points_per_dollar, usd_per_eth,
|
|
109
118
|
spend_token, spend_symbol, spend_decimals, usd_per_spend_token,
|
|
110
119
|
max_points_per_player, score_authority, game_id,
|
|
111
|
-
coin_address, coin_name, coin_symbol, coin_image_url
|
|
120
|
+
coin_address, coin_name, coin_symbol, coin_image_url, position_manager
|
|
112
121
|
from rounds where id = $1`, [id]);
|
|
113
122
|
const row = result.rows[0];
|
|
114
123
|
if (!row)
|
|
@@ -141,7 +150,7 @@ export class Room {
|
|
|
141
150
|
// it holds that round's ETH price, which is exactly its spend token's price.
|
|
142
151
|
usdPerSpendToken: row.usd_per_spend_token === null ? Number(row.usd_per_eth) : Number(row.usd_per_spend_token),
|
|
143
152
|
});
|
|
144
|
-
return new Room(pool, game, id, Round.resume(game, row.state, window), window, launch, terms, row.score_authority, row.seq);
|
|
153
|
+
return new Room(pool, game, id, Round.resume(game, row.state, window), window, launch, terms, row.score_authority, row.seq, row.position_manager);
|
|
145
154
|
}
|
|
146
155
|
/**
|
|
147
156
|
* Apply one command and commit everything it caused.
|
package/dist/room.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.js","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,eAAe,EAAwD,MAAM,gCAAgC,CAAC;AACvH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAYrD;;;;;;;;;GASG;AACH,MAAM,OAAO,IAAI;IAQI;IACA;IACR;IACD;IACC;IACA;IACA;IACA;IACD;
|
|
1
|
+
{"version":3,"file":"room.js","sourceRoot":"","sources":["../src/room.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -34,6 +34,13 @@ interface GateBaseOptions {
|
|
|
34
34
|
* refused: a gate that guessed a price would be authorising real money on a made-up number.
|
|
35
35
|
*/
|
|
36
36
|
priceFor?: PriceFor;
|
|
37
|
+
/**
|
|
38
|
+
* Serves `GET /config/spend-tokens/:address`: the announced entry for one paired token — price,
|
|
39
|
+
* symbol, decimals and the per-wallet cap a launch on it should write — or null to answer 404 for
|
|
40
|
+
* a token this gate will not run rounds on. Lets launch tooling check any pairing before a coin
|
|
41
|
+
* is paid for, without the gate having listed it in `/config` up front.
|
|
42
|
+
*/
|
|
43
|
+
announceSpendToken?: (address: `0x${string}`) => Promise<AnnouncedSpendToken | null>;
|
|
37
44
|
/** Verifies from the chain that a coin really is a game launch. */
|
|
38
45
|
discovery?: Discovery;
|
|
39
46
|
/** Keeps the ledger's view of spending level with the chain's. */
|
|
@@ -111,6 +118,11 @@ export interface GameServerGateOptions extends GateBaseOptions {
|
|
|
111
118
|
/** Reviewed HTTPS origins that may receive player join tickets. The gate origin is always allowed. */
|
|
112
119
|
gameServerOrigins?: readonly string[];
|
|
113
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* How a gate decides which PositionManagers it adopts coins from. One value today; the type exists
|
|
123
|
+
* so a client can compare rather than test for presence, and so a later policy has a name.
|
|
124
|
+
*/
|
|
125
|
+
export type PositionManagerPolicy = 'wired-to-calculator';
|
|
114
126
|
/**
|
|
115
127
|
* The gate's public identity, in the exact shape the flaunch frontend's `GateServerConfig` already
|
|
116
128
|
* parses — served this way so the page that builds launches needs no second config type.
|
|
@@ -132,13 +144,27 @@ export interface GateAnnouncement {
|
|
|
132
144
|
roundDurationMs: number;
|
|
133
145
|
minLobbyLeadMs: number;
|
|
134
146
|
gateEndsAtGraceS: number;
|
|
147
|
+
/** The generation of the PRIMARY manager in `contracts.positionManager`; not a limit on adoption. */
|
|
135
148
|
flaunchVariant: FlaunchVariant;
|
|
149
|
+
/**
|
|
150
|
+
* How this gate decides which PositionManagers it adopts coins from. `'wired-to-calculator'`
|
|
151
|
+
* means any manager whose fee wiring routes to `contracts.spendGatedCalculator`, derived from the
|
|
152
|
+
* coin itself at adoption; `contracts.positionManager` is then the primary manager, not the only
|
|
153
|
+
* one. A gate that omits the field (below 0.6.0) adopts coins on `contracts.positionManager` only.
|
|
154
|
+
*/
|
|
155
|
+
positionManagerPolicy?: PositionManagerPolicy;
|
|
136
156
|
/**
|
|
137
157
|
* The non-ETH paired tokens this gate will run rounds on, each with the cap a launch on it should
|
|
138
158
|
* write. Absent or empty means ETH pairings only. Launch tooling refuses a pairing that is not
|
|
139
159
|
* listed here, which is the fail-closed answer for a gate that has not been told the token's price.
|
|
140
160
|
*/
|
|
141
161
|
spendTokens?: AnnouncedSpendToken[];
|
|
162
|
+
/**
|
|
163
|
+
* The manager's PairedTokenRegistry, when it has one. Its presence means this gate prices every
|
|
164
|
+
* token the registry approves, not only `spendTokens`: ask `/config/spend-tokens/:address` for the
|
|
165
|
+
* entry of any pairing before building a launch on it.
|
|
166
|
+
*/
|
|
167
|
+
pairedTokenRegistry?: `0x${string}`;
|
|
142
168
|
requiresEoa: boolean;
|
|
143
169
|
accepting: boolean;
|
|
144
170
|
/**
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAA0C,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Fastify, {} from 'fastify';
|
|
2
2
|
import websocket from '@fastify/websocket';
|
|
3
3
|
import cors from '@fastify/cors';
|
|
4
|
+
import { isAddress } from 'viem';
|
|
4
5
|
import { isRefusal } from '@flayerlabs/gamemode-spec';
|
|
5
6
|
import { ETH_SPEND_TOKEN, isReactionId, LIVE_PROTOCOL_VERSION } from '@flayerlabs/gamemode-spec/live';
|
|
6
7
|
import { Room } from './room.js';
|
|
@@ -232,6 +233,7 @@ function createGateRuntime(options, scoreAuthority, awardEndpoint) {
|
|
|
232
233
|
name: launch.name,
|
|
233
234
|
symbol: launch.symbol,
|
|
234
235
|
imageUrl: launch.imageUrl ?? null,
|
|
236
|
+
positionManager: launch.positionManager ?? null,
|
|
235
237
|
},
|
|
236
238
|
});
|
|
237
239
|
}
|
|
@@ -239,6 +241,8 @@ function createGateRuntime(options, scoreAuthority, awardEndpoint) {
|
|
|
239
241
|
app.log.error(error);
|
|
240
242
|
return { ok: false, status: 503, message: 'this game is still being prepared' };
|
|
241
243
|
}
|
|
244
|
+
app.log.info(`${launch.coinAddress}: adopted ${launch.symbol || 'coin'} on position manager ` +
|
|
245
|
+
`${launch.positionManager ?? 'primary'} (pool ${launch.poolId}, ${spendToken.symbol})`);
|
|
242
246
|
rooms.set(launch.poolId, room);
|
|
243
247
|
return { ok: true, room, created: true };
|
|
244
248
|
}
|
|
@@ -409,6 +413,23 @@ function createGateRuntime(options, scoreAuthority, awardEndpoint) {
|
|
|
409
413
|
const served = { ...announce(), gateVersion: GATE_VERSION };
|
|
410
414
|
return served;
|
|
411
415
|
});
|
|
416
|
+
if (options.announceSpendToken) {
|
|
417
|
+
const announceSpendToken = options.announceSpendToken;
|
|
418
|
+
app.get('/config/spend-tokens/:address', async (request, reply) => {
|
|
419
|
+
void reply.header('access-control-allow-origin', '*');
|
|
420
|
+
// A quote moves with the market and an approval can be revoked; nothing here may be cached
|
|
421
|
+
// past the response.
|
|
422
|
+
void reply.header('cache-control', 'no-store');
|
|
423
|
+
const { address } = request.params;
|
|
424
|
+
if (!isAddress(address, { strict: false })) {
|
|
425
|
+
return reply.code(400).send({ message: 'not a token address' });
|
|
426
|
+
}
|
|
427
|
+
const entry = await announceSpendToken(address);
|
|
428
|
+
if (!entry)
|
|
429
|
+
return reply.code(404).send({ message: 'this gate does not run rounds on that token' });
|
|
430
|
+
return entry;
|
|
431
|
+
});
|
|
432
|
+
}
|
|
412
433
|
}
|
|
413
434
|
app.post('/session/challenge', async (request) => {
|
|
414
435
|
const { address } = request.body;
|