@flayerlabs/gamemode-gate 0.5.2 → 0.5.3
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 +24 -0
- package/README.md +4 -0
- package/dist/chain/signer.d.ts +3 -0
- package/dist/chain/signer.d.ts.map +1 -1
- package/dist/chain/signer.js +9 -1
- package/dist/chain/signer.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +3 -0
- package/dist/main.js.map +1 -1
- package/dist/readiness.d.ts +17 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +18 -0
- package/dist/readiness.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +35 -0
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
- package/src/chain/signer.ts +10 -1
- package/src/index.ts +3 -0
- package/src/main.ts +3 -0
- package/src/readiness.ts +27 -0
- package/src/server.ts +29 -0
package/DEPLOY.md
CHANGED
|
@@ -97,3 +97,27 @@ your game at `flaunch.gg/game-mode/create` — with the gate option enabled. A g
|
|
|
97
97
|
it is hosted as a passive game: its security policy allows no gate connection at all, so a launch
|
|
98
98
|
through it can never open a room. The origin must be public https (no localhost, no IPs, no
|
|
99
99
|
wildcards), because the game's browser policy only permits the origin you submitted.
|
|
100
|
+
|
|
101
|
+
## Register networks and prove readiness
|
|
102
|
+
|
|
103
|
+
Run one gate process per game and chain. Use distinct deployment configuration and database
|
|
104
|
+
namespaces for each network. One ZIP can serve those networks when its reviewed hosting policy
|
|
105
|
+
includes every gate origin. Adding an origin requires another upload; it does not change a live
|
|
106
|
+
coin's immutable chain-and-coin registration.
|
|
107
|
+
|
|
108
|
+
`startGate()` exposes `GET /ready?nonce=0x<64 hex characters>` automatically. Custom
|
|
109
|
+
`createGate()` and `createGameServerGate()` deployments must pass `readiness: createGateReadiness({
|
|
110
|
+
origin, chainId, positionManager, signer, pool, client })`. Import `createGateReadiness` from
|
|
111
|
+
`@flayerlabs/gamemode-gate`. Use the actual claim signer and the same database and RPC client
|
|
112
|
+
as gameplay. The origin must be the public exact HTTPS origin.
|
|
113
|
+
|
|
114
|
+
The endpoint checks the database and RPC chain and head, then signs a 30-second EIP-712 proof in
|
|
115
|
+
the `FlaunchGateReadiness` domain. It cannot produce spend authorisations. Requests are bounded
|
|
116
|
+
to one in flight and 30 per minute per process. Configure dependency connection timeouts too.
|
|
117
|
+
`/health` remains process liveness; it does not prove that the signer can serve a launch.
|
|
118
|
+
|
|
119
|
+
Submit a Gate URL for each network in the Flaunch developer dashboard. Staff review the build,
|
|
120
|
+
origin, chain, signer and contracts together. A replacement remains pending while the previous
|
|
121
|
+
approved revision serves new launches. The library hides failed or stale network deployments,
|
|
122
|
+
restores them after two successful checks, and never overrides a staff pause. A changed signer
|
|
123
|
+
or contract identity requires a new review. Existing launched coins retain their pinned revision.
|
package/README.md
CHANGED
|
@@ -192,3 +192,7 @@ The registry is a central Flaunch service. Do not run it inside a creator gate.
|
|
|
192
192
|
|
|
193
193
|
Read the current request and response behaviour in the
|
|
194
194
|
[game registry source](https://github.com/flayerlabs/gamemode-sdk/blob/main/packages/gate/src/game-registry.ts).
|
|
195
|
+
|
|
196
|
+
For custom gate assembly, pass `readiness: createGateReadiness({ origin, chainId,
|
|
197
|
+
positionManager, signer, pool, client })` using the gameplay dependencies. `startGate` wires this
|
|
198
|
+
automatically. See [readiness setup](https://github.com/flayerlabs/gamemode-sdk/blob/main/docs/guides/run-a-gate.md#register-networks-and-prove-readiness).
|
package/dist/chain/signer.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type GateReadiness } from '@flayerlabs/gamemode-spec/embed';
|
|
1
2
|
/**
|
|
2
3
|
* Issues the signed authorizations SpendGatedSignerFeeCalculator.trackSwap verifies.
|
|
3
4
|
*
|
|
@@ -34,6 +35,8 @@ export declare class PayloadSigner {
|
|
|
34
35
|
*/
|
|
35
36
|
constructor(privateKey: `0x${string}`, chainId: number, verifyingContract: `0x${string}`);
|
|
36
37
|
get address(): `0x${string}`;
|
|
38
|
+
/** Fixed non-spend payload. The caller cannot choose a domain, type or deadline. */
|
|
39
|
+
readiness(origin: string, positionManager: `0x${string}`, nonce: `0x${string}`): Promise<GateReadiness>;
|
|
37
40
|
/** The digest the calculator reconstructs; mirrors its `hashSpendAuthorization`. */
|
|
38
41
|
messageHash(buyer: `0x${string}`, poolId: `0x${string}`, deadline: bigint, maxSpendWei: bigint, nonce: bigint): `0x${string}`;
|
|
39
42
|
sign(buyer: `0x${string}`, poolId: `0x${string}`, deadline: bigint, maxSpendWei: bigint, nonce: bigint): Promise<SignedPayload>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/chain/signer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/chain/signer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiD,KAAK,aAAa,EAA+B,MAAM,iCAAiC,CAAC;AAEjJ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,aAAa;IAUtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAVpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C;;;;OAIG;gBAED,UAAU,EAAE,KAAK,MAAM,EAAE,EACR,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,KAAK,MAAM,EAAE;IAKnD,IAAI,OAAO,IAAI,KAAK,MAAM,EAAE,CAE3B;IAED,oFAAoF;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ7G,oFAAoF;IACpF,WAAW,CACT,KAAK,EAAE,KAAK,MAAM,EAAE,EACpB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,KAAK,MAAM,EAAE;IAUV,IAAI,CACR,KAAK,EAAE,KAAK,MAAM,EAAE,EACpB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC;CAU1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,MAAM,EAAE,CA4BpE"}
|
package/dist/chain/signer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { encodeAbiParameters, hashTypedData, zeroAddress } from 'viem';
|
|
2
2
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
-
import { spendAuthorisationTypedData } from '@flayerlabs/gamemode-spec/embed';
|
|
3
|
+
import { gateReadinessTypedData, READINESS_TTL_SECONDS, spendAuthorisationTypedData } from '@flayerlabs/gamemode-spec/embed';
|
|
4
4
|
export class PayloadSigner {
|
|
5
5
|
chainId;
|
|
6
6
|
verifyingContract;
|
|
@@ -18,6 +18,14 @@ export class PayloadSigner {
|
|
|
18
18
|
get address() {
|
|
19
19
|
return this.account.address;
|
|
20
20
|
}
|
|
21
|
+
/** Fixed non-spend payload. The caller cannot choose a domain, type or deadline. */
|
|
22
|
+
async readiness(origin, positionManager, nonce) {
|
|
23
|
+
const issuedAt = Math.floor(Date.now() / 1000);
|
|
24
|
+
const proof = { version: 1, origin, chainId: this.chainId, positionManager,
|
|
25
|
+
spendGatedCalculator: this.verifyingContract, nonce, issuedAt,
|
|
26
|
+
expiresAt: issuedAt + READINESS_TTL_SECONDS };
|
|
27
|
+
return { ...proof, signature: await this.account.signTypedData(gateReadinessTypedData(proof)) };
|
|
28
|
+
}
|
|
21
29
|
/** The digest the calculator reconstructs; mirrors its `hashSpendAuthorization`. */
|
|
22
30
|
messageHash(buyer, poolId, deadline, maxSpendWei, nonce) {
|
|
23
31
|
return hashTypedData(spendAuthorisationTypedData({ buyer, poolId, deadline, maxSpendWei, nonce }, this.chainId, this.verifyingContract));
|
package/dist/chain/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/chain/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAA0B,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/chain/signer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,4 +35,6 @@ export { NotSignedIn } from './sessions.js';
|
|
|
35
35
|
export { DEPLOYMENTS, PAIRED_DEPLOYMENTS, deploymentFor } from './chain/chains.js';
|
|
36
36
|
export type { FlaunchVariant, GateDeployment } from './chain/chains.js';
|
|
37
37
|
export { POSITION_MANAGER_ROLE, assertSecureConfig } from './chain/secure.js';
|
|
38
|
+
export { createGateReadiness } from './readiness.js';
|
|
39
|
+
export type { GateReadinessOptions } from './readiness.js';
|
|
38
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EACL,MAAM,EACN,0BAA0B,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,YAAY,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAElG;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxG,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,4 +21,5 @@ export { startGate, resolveGateEnv } from './main.js';
|
|
|
21
21
|
export { NotSignedIn } from './sessions.js';
|
|
22
22
|
export { DEPLOYMENTS, PAIRED_DEPLOYMENTS, deploymentFor } from './chain/chains.js';
|
|
23
23
|
export { POSITION_MANAGER_ROLE, assertSecureConfig } from './chain/secure.js';
|
|
24
|
+
export { createGateReadiness } from './readiness.js';
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EACL,MAAM,EACN,0BAA0B,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAarB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUxD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAG7F;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EACL,MAAM,EACN,0BAA0B,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAarB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUxD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAG7F;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAiD,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAA+D,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AASzG,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;;;;;;;;;;;GAYG;AAEH,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACpD,oGAAoG;IACpG,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB;AAuED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,kBAAkB,CAgF3D;AA4BD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,qEAAqE;IACrE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAClF,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EACtE,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,kBAAuB,GACjC,OAAO,CAAC,WAAW,CAAC,CAoHtB"}
|
package/dist/main.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createGateReadiness } from './readiness.js';
|
|
1
2
|
import pg from 'pg';
|
|
2
3
|
import { createPublicClient, http, isAddress, parseAbi } from 'viem';
|
|
3
4
|
import { createGate } from './server.js';
|
|
@@ -312,6 +313,8 @@ export async function startGate(game, gameConfig, overrides = {}) {
|
|
|
312
313
|
settlement: new Settlement(pool, ledger, client, config.deployment.spendGatedCalculator),
|
|
313
314
|
allowedOrigins: config.allowedOrigins,
|
|
314
315
|
announce,
|
|
316
|
+
readiness: createGateReadiness({ origin: config.gateOrigin, chainId: config.chainId,
|
|
317
|
+
positionManager: config.deployment.positionManager, signer, pool, client }),
|
|
315
318
|
});
|
|
316
319
|
if (overrides.listen !== false) {
|
|
317
320
|
await app.listen({ port: config.port, host: '0.0.0.0' });
|
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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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Pool } from 'pg';
|
|
2
|
+
import type { PayloadSigner } from './chain/signer.js';
|
|
3
|
+
import type { GateReadiness } from '@flayerlabs/gamemode-spec/embed';
|
|
4
|
+
export interface GateReadinessOptions {
|
|
5
|
+
origin: string;
|
|
6
|
+
chainId: number;
|
|
7
|
+
positionManager: `0x${string}`;
|
|
8
|
+
signer: PayloadSigner;
|
|
9
|
+
pool: Pool;
|
|
10
|
+
client: {
|
|
11
|
+
getChainId(): Promise<number>;
|
|
12
|
+
getBlockNumber(): Promise<bigint>;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Both gate entry points use this adapter; legacy custom gates remain unverified until wired. */
|
|
16
|
+
export declare function createGateReadiness(options: GateReadinessOptions): (nonce: `0x${string}`) => Promise<GateReadiness>;
|
|
17
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE;QAAE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CAC9E;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAYnH"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Both gate entry points use this adapter; legacy custom gates remain unverified until wired. */
|
|
2
|
+
export function createGateReadiness(options) {
|
|
3
|
+
const { origin, chainId, positionManager, signer, pool, client } = options;
|
|
4
|
+
if (new URL(origin).origin !== origin || !origin.startsWith('https://'))
|
|
5
|
+
throw new Error('readiness requires an exact HTTPS origin');
|
|
6
|
+
return async (nonce) => {
|
|
7
|
+
const [, rpcChain] = await Promise.all([
|
|
8
|
+
pool.query('SELECT 1'), client.getChainId(), client.getBlockNumber(),
|
|
9
|
+
]);
|
|
10
|
+
if (rpcChain !== chainId)
|
|
11
|
+
throw new Error('readiness RPC chain mismatch');
|
|
12
|
+
const proof = await signer.readiness(origin, positionManager, nonce);
|
|
13
|
+
if (proof.chainId !== chainId)
|
|
14
|
+
throw new Error('readiness signer chain mismatch');
|
|
15
|
+
return proof;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAaA,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3E,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACrI,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE;SACrE,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -57,6 +57,8 @@ interface GateBaseOptions {
|
|
|
57
57
|
* public by definition, since a launch publishes it on chain.
|
|
58
58
|
*/
|
|
59
59
|
announce?: () => GateAnnouncement;
|
|
60
|
+
/** Fixed signed proof, after database and RPC checks. */
|
|
61
|
+
readiness?: (nonce: `0x${string}`) => Promise<import('@flayerlabs/gamemode-spec/embed').GateReadiness>;
|
|
60
62
|
/**
|
|
61
63
|
* Decide whether a caller may open a session or spend a request, or refuse them.
|
|
62
64
|
*
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -284,6 +284,41 @@ function createGateRuntime(options, scoreAuthority, awardEndpoint) {
|
|
|
284
284
|
});
|
|
285
285
|
app.after(() => {
|
|
286
286
|
app.get('/health', () => ({ ok: true }));
|
|
287
|
+
// One bounded global budget also bounds memory and work under rotating source IPs.
|
|
288
|
+
let readinessWindow = 0;
|
|
289
|
+
let readinessCount = 0;
|
|
290
|
+
let readinessBusy = false;
|
|
291
|
+
app.get('/ready', async (request, reply) => {
|
|
292
|
+
void reply.header('cache-control', 'no-store');
|
|
293
|
+
const nonce = request.query.nonce;
|
|
294
|
+
if (!nonce || !/^0x[0-9a-fA-F]{64}$/.test(nonce) || Object.keys(request.query).length !== 1) {
|
|
295
|
+
return reply.code(400).send({ message: 'a 32-byte nonce is required' });
|
|
296
|
+
}
|
|
297
|
+
if (!options.readiness)
|
|
298
|
+
return reply.code(503).send({ message: 'readiness is not configured' });
|
|
299
|
+
const now = Date.now();
|
|
300
|
+
if (now - readinessWindow >= 60_000) {
|
|
301
|
+
readinessWindow = now;
|
|
302
|
+
readinessCount = 0;
|
|
303
|
+
}
|
|
304
|
+
if (readinessBusy || ++readinessCount > 30)
|
|
305
|
+
return reply.code(429).send({ message: 'retry later' });
|
|
306
|
+
readinessBusy = true;
|
|
307
|
+
// Keep the concurrency slot until dependency work actually finishes, even after timeout.
|
|
308
|
+
const work = options.readiness(nonce).finally(() => { readinessBusy = false; });
|
|
309
|
+
let timer;
|
|
310
|
+
try {
|
|
311
|
+
return await Promise.race([work, new Promise((_, reject) => {
|
|
312
|
+
timer = setTimeout(() => reject(new Error('readiness timeout')), 4500);
|
|
313
|
+
})]);
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
return reply.code(503).send({ message: 'gate dependencies are not ready' });
|
|
317
|
+
}
|
|
318
|
+
finally {
|
|
319
|
+
clearTimeout(timer);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
287
322
|
/**
|
|
288
323
|
* Lifetime usage totals, for the platform's developer dashboard.
|
|
289
324
|
*
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flayerlabs/gamemode-gate",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "Server-authoritative rooms, economy, admission and registry for Flaunch Game Modes",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Flayer Labs",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@fastify/cors": "^11.3.0",
|
|
47
47
|
"@fastify/websocket": "^11.3.0",
|
|
48
|
-
"@flayerlabs/gamemode-spec": "^0.5.
|
|
48
|
+
"@flayerlabs/gamemode-spec": "^0.5.3",
|
|
49
49
|
"@types/node": "^22.10.2",
|
|
50
50
|
"@types/pg": "^8.21.0",
|
|
51
51
|
"fastify": "^5.11.3",
|
package/src/chain/signer.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { encodeAbiParameters, hashTypedData, zeroAddress } from 'viem';
|
|
2
2
|
import { privateKeyToAccount, type PrivateKeyAccount } from 'viem/accounts';
|
|
3
|
-
import { spendAuthorisationTypedData } from '@flayerlabs/gamemode-spec/embed';
|
|
3
|
+
import { gateReadinessTypedData, READINESS_TTL_SECONDS, type GateReadiness, spendAuthorisationTypedData } from '@flayerlabs/gamemode-spec/embed';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Issues the signed authorizations SpendGatedSignerFeeCalculator.trackSwap verifies.
|
|
@@ -48,6 +48,15 @@ export class PayloadSigner {
|
|
|
48
48
|
return this.account.address;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
/** Fixed non-spend payload. The caller cannot choose a domain, type or deadline. */
|
|
52
|
+
async readiness(origin: string, positionManager: `0x${string}`, nonce: `0x${string}`): Promise<GateReadiness> {
|
|
53
|
+
const issuedAt = Math.floor(Date.now() / 1000);
|
|
54
|
+
const proof = { version: 1 as const, origin, chainId: this.chainId, positionManager,
|
|
55
|
+
spendGatedCalculator: this.verifyingContract, nonce, issuedAt,
|
|
56
|
+
expiresAt: issuedAt + READINESS_TTL_SECONDS };
|
|
57
|
+
return { ...proof, signature: await this.account.signTypedData(gateReadinessTypedData(proof)) };
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
/** The digest the calculator reconstructs; mirrors its `hashSpendAuthorization`. */
|
|
52
61
|
messageHash(
|
|
53
62
|
buyer: `0x${string}`,
|
package/src/index.ts
CHANGED
|
@@ -71,3 +71,6 @@ export { NotSignedIn } from './sessions.js';
|
|
|
71
71
|
export { DEPLOYMENTS, PAIRED_DEPLOYMENTS, deploymentFor } from './chain/chains.js';
|
|
72
72
|
export type { FlaunchVariant, GateDeployment } from './chain/chains.js';
|
|
73
73
|
export { POSITION_MANAGER_ROLE, assertSecureConfig } from './chain/secure.js';
|
|
74
|
+
|
|
75
|
+
export { createGateReadiness } from './readiness.js';
|
|
76
|
+
export type { GateReadinessOptions } from './readiness.js';
|
package/src/main.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createGateReadiness } from './readiness.js';
|
|
1
2
|
import pg from 'pg';
|
|
2
3
|
import { createPublicClient, http, isAddress, parseAbi, type PublicClient } from 'viem';
|
|
3
4
|
import type { FastifyInstance } from 'fastify';
|
|
@@ -409,6 +410,8 @@ export async function startGate<Config, State, Event, Action, PublicView, Player
|
|
|
409
410
|
settlement: new Settlement(pool, ledger, client, config.deployment.spendGatedCalculator),
|
|
410
411
|
allowedOrigins: config.allowedOrigins,
|
|
411
412
|
announce,
|
|
413
|
+
readiness: createGateReadiness({ origin: config.gateOrigin, chainId: config.chainId,
|
|
414
|
+
positionManager: config.deployment.positionManager, signer, pool, client }),
|
|
412
415
|
});
|
|
413
416
|
|
|
414
417
|
if (overrides.listen !== false) {
|
package/src/readiness.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Pool } from 'pg';
|
|
2
|
+
import type { PayloadSigner } from './chain/signer.js';
|
|
3
|
+
import type { GateReadiness } from '@flayerlabs/gamemode-spec/embed';
|
|
4
|
+
|
|
5
|
+
export interface GateReadinessOptions {
|
|
6
|
+
origin: string;
|
|
7
|
+
chainId: number;
|
|
8
|
+
positionManager: `0x${string}`;
|
|
9
|
+
signer: PayloadSigner;
|
|
10
|
+
pool: Pool;
|
|
11
|
+
client: { getChainId(): Promise<number>; getBlockNumber(): Promise<bigint> };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Both gate entry points use this adapter; legacy custom gates remain unverified until wired. */
|
|
15
|
+
export function createGateReadiness(options: GateReadinessOptions): (nonce: `0x${string}`) => Promise<GateReadiness> {
|
|
16
|
+
const { origin, chainId, positionManager, signer, pool, client } = options;
|
|
17
|
+
if (new URL(origin).origin !== origin || !origin.startsWith('https://')) throw new Error('readiness requires an exact HTTPS origin');
|
|
18
|
+
return async (nonce) => {
|
|
19
|
+
const [, rpcChain] = await Promise.all([
|
|
20
|
+
pool.query('SELECT 1'), client.getChainId(), client.getBlockNumber(),
|
|
21
|
+
]);
|
|
22
|
+
if (rpcChain !== chainId) throw new Error('readiness RPC chain mismatch');
|
|
23
|
+
const proof = await signer.readiness(origin, positionManager, nonce);
|
|
24
|
+
if (proof.chainId !== chainId) throw new Error('readiness signer chain mismatch');
|
|
25
|
+
return proof;
|
|
26
|
+
};
|
|
27
|
+
}
|
package/src/server.ts
CHANGED
|
@@ -79,6 +79,8 @@ interface GateBaseOptions {
|
|
|
79
79
|
* public by definition, since a launch publishes it on chain.
|
|
80
80
|
*/
|
|
81
81
|
announce?: () => GateAnnouncement;
|
|
82
|
+
/** Fixed signed proof, after database and RPC checks. */
|
|
83
|
+
readiness?: (nonce: `0x${string}`) => Promise<import('@flayerlabs/gamemode-spec/embed').GateReadiness>;
|
|
82
84
|
/**
|
|
83
85
|
* Decide whether a caller may open a session or spend a request, or refuse them.
|
|
84
86
|
*
|
|
@@ -548,6 +550,33 @@ function createGateRuntime<Config, State, Event, Action, PublicView, PlayerView>
|
|
|
548
550
|
app.after(() => {
|
|
549
551
|
app.get('/health', () => ({ ok: true }));
|
|
550
552
|
|
|
553
|
+
// One bounded global budget also bounds memory and work under rotating source IPs.
|
|
554
|
+
let readinessWindow = 0;
|
|
555
|
+
let readinessCount = 0;
|
|
556
|
+
let readinessBusy = false;
|
|
557
|
+
app.get<{ Querystring: { nonce?: string } }>('/ready', async (request, reply) => {
|
|
558
|
+
void reply.header('cache-control', 'no-store');
|
|
559
|
+
const nonce = request.query.nonce;
|
|
560
|
+
if (!nonce || !/^0x[0-9a-fA-F]{64}$/.test(nonce) || Object.keys(request.query).length !== 1) {
|
|
561
|
+
return reply.code(400).send({ message: 'a 32-byte nonce is required' });
|
|
562
|
+
}
|
|
563
|
+
if (!options.readiness) return reply.code(503).send({ message: 'readiness is not configured' });
|
|
564
|
+
const now = Date.now();
|
|
565
|
+
if (now - readinessWindow >= 60_000) { readinessWindow = now; readinessCount = 0; }
|
|
566
|
+
if (readinessBusy || ++readinessCount > 30) return reply.code(429).send({ message: 'retry later' });
|
|
567
|
+
readinessBusy = true;
|
|
568
|
+
// Keep the concurrency slot until dependency work actually finishes, even after timeout.
|
|
569
|
+
const work = options.readiness(nonce as `0x${string}`).finally(() => { readinessBusy = false; });
|
|
570
|
+
let timer: ReturnType<typeof setTimeout> | undefined;
|
|
571
|
+
try {
|
|
572
|
+
return await Promise.race([work, new Promise<never>((_, reject) => {
|
|
573
|
+
timer = setTimeout(() => reject(new Error('readiness timeout')), 4500);
|
|
574
|
+
})]);
|
|
575
|
+
} catch {
|
|
576
|
+
return reply.code(503).send({ message: 'gate dependencies are not ready' });
|
|
577
|
+
} finally { clearTimeout(timer); }
|
|
578
|
+
});
|
|
579
|
+
|
|
551
580
|
/**
|
|
552
581
|
* Lifetime usage totals, for the platform's developer dashboard.
|
|
553
582
|
*
|