@flayerlabs/gamemode-spec 0.4.2 → 0.5.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/dist/embed.d.ts +8 -0
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +2 -0
- package/dist/embed.js.map +1 -1
- package/dist/frame.d.ts +20 -5
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +17 -3
- package/dist/frame.js.map +1 -1
- package/dist/live.d.ts +93 -28
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +30 -2
- package/dist/live.js.map +1 -1
- package/package.json +1 -1
- package/src/embed.ts +10 -0
- package/src/frame.ts +36 -3
- package/src/live.ts +115 -30
package/dist/embed.d.ts
CHANGED
|
@@ -28,6 +28,14 @@ export interface SpendAuthorisation {
|
|
|
28
28
|
buyer: string;
|
|
29
29
|
poolId: string;
|
|
30
30
|
deadline: string;
|
|
31
|
+
/**
|
|
32
|
+
* The ceiling this signature authorises, in base units of the round's spend token.
|
|
33
|
+
*
|
|
34
|
+
* The one field in this SDK still named for wei, and deliberately: the name is hashed into the
|
|
35
|
+
* EIP-712 typehash that the deployed spend-gate calculator verifies, so renaming it would
|
|
36
|
+
* invalidate every signature. Despite the name it is not ETH on a paired round — a six-decimal
|
|
37
|
+
* stablecoin round authorises 10^-6 units of that token.
|
|
38
|
+
*/
|
|
31
39
|
maxSpendWei: string;
|
|
32
40
|
nonce: string;
|
|
33
41
|
signature: string;
|
package/dist/embed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,aAAa,EAAG,mBAA4B,CAAC;AAC1D,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AASjD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACvC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CA0B/E;AAED,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CA6C7E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
|
package/dist/embed.js
CHANGED
|
@@ -79,6 +79,8 @@ export function parseGameRegistration(input) {
|
|
|
79
79
|
...(gameServerOrigins.length === 0 ? {} : { gameServerOrigins }),
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
+
// Field names here are part of the EIP-712 typehash the deployed calculator checks. They are
|
|
83
|
+
// contract vocabulary, not ours, and must not be renamed to match this SDK's own naming.
|
|
82
84
|
const SPEND_AUTHORIZATION_TYPES = {
|
|
83
85
|
SpendAuthorization: [
|
|
84
86
|
{ name: 'buyer', type: 'address' },
|
package/dist/embed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
|
package/dist/frame.d.ts
CHANGED
|
@@ -45,6 +45,10 @@ export interface WireAuthorisation {
|
|
|
45
45
|
buyer: string;
|
|
46
46
|
poolId: string;
|
|
47
47
|
deadline: string;
|
|
48
|
+
/**
|
|
49
|
+
* Base units of the round's spend token. Keeps the contract's own field name, which is hashed
|
|
50
|
+
* into the EIP-712 typehash the calculator verifies — see `SpendAuthorisation` in this package.
|
|
51
|
+
*/
|
|
48
52
|
maxSpendWei: string;
|
|
49
53
|
nonce: string;
|
|
50
54
|
signature: string;
|
|
@@ -75,6 +79,20 @@ export type GameToHostFrame = {
|
|
|
75
79
|
* `not-allowed` is a call the page refuses to service; `failed` is everything else.
|
|
76
80
|
*/
|
|
77
81
|
export type HostErrorCode = 'declined' | 'no-wallet' | 'not-allowed' | 'failed';
|
|
82
|
+
/**
|
|
83
|
+
* Why a buy failed, in two registers.
|
|
84
|
+
*
|
|
85
|
+
* `reason` is for the player and is one of five words. `detail` and `transactionHash` are for
|
|
86
|
+
* whoever has to explain it afterwards — `try-again` is the answer to several different
|
|
87
|
+
* situations, and a developer reading a log cannot otherwise tell them apart. Diagnostics: never
|
|
88
|
+
* rendered, and free to change between versions.
|
|
89
|
+
*/
|
|
90
|
+
export interface WireBuyFailure {
|
|
91
|
+
bought: false;
|
|
92
|
+
reason: BuyFailure;
|
|
93
|
+
detail?: string;
|
|
94
|
+
transactionHash?: string;
|
|
95
|
+
}
|
|
78
96
|
export type WireHostResult = {
|
|
79
97
|
method: 'address';
|
|
80
98
|
address: string | null;
|
|
@@ -84,12 +102,9 @@ export type WireHostResult = {
|
|
|
84
102
|
} | {
|
|
85
103
|
method: 'buy';
|
|
86
104
|
outcome: {
|
|
87
|
-
|
|
105
|
+
spent: string;
|
|
88
106
|
} | {
|
|
89
|
-
failed:
|
|
90
|
-
bought: false;
|
|
91
|
-
reason: BuyFailure;
|
|
92
|
-
};
|
|
107
|
+
failed: WireBuyFailure;
|
|
93
108
|
};
|
|
94
109
|
};
|
|
95
110
|
export type HostToGameFrame = {
|
package/dist/frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAExF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AAEjD;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,eAAe,GACvB;IAAE,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEhF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE;QAAE,
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"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"}
|
package/dist/frame.js
CHANGED
|
@@ -115,11 +115,25 @@ function resultFrom(value) {
|
|
|
115
115
|
const outcome = value.outcome;
|
|
116
116
|
if (!isRecord(outcome))
|
|
117
117
|
return null;
|
|
118
|
-
if (isNonEmptyString(outcome.
|
|
119
|
-
return { method: 'buy', outcome: {
|
|
118
|
+
if (isNonEmptyString(outcome.spent))
|
|
119
|
+
return { method: 'buy', outcome: { spent: outcome.spent } };
|
|
120
120
|
const failed = outcome.failed;
|
|
121
121
|
if (isRecord(failed) && failed.bought === false && BUY_FAILURES.includes(failed.reason)) {
|
|
122
|
-
|
|
122
|
+
// Bounded because they are strings from another origin that end up in a log, and an
|
|
123
|
+
// unbounded one is a log nobody can read.
|
|
124
|
+
const detail = typeof failed.detail === 'string' ? failed.detail.slice(0, 256) : undefined;
|
|
125
|
+
const hash = typeof failed.transactionHash === 'string' ? failed.transactionHash.slice(0, 128) : undefined;
|
|
126
|
+
return {
|
|
127
|
+
method: 'buy',
|
|
128
|
+
outcome: {
|
|
129
|
+
failed: {
|
|
130
|
+
bought: false,
|
|
131
|
+
reason: failed.reason,
|
|
132
|
+
...(detail !== undefined ? { detail } : {}),
|
|
133
|
+
...(hash !== undefined ? { transactionHash: hash } : {}),
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
};
|
|
123
137
|
}
|
|
124
138
|
return null;
|
|
125
139
|
}
|
package/dist/frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,WAAW,CAAC;AAExF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"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"}
|
package/dist/live.d.ts
CHANGED
|
@@ -48,8 +48,20 @@ export interface Reaction {
|
|
|
48
48
|
}
|
|
49
49
|
export interface MarketPrice {
|
|
50
50
|
at: number;
|
|
51
|
-
/** Display price of one whole coin in ETH. Market data never participates in scoring. */
|
|
52
51
|
priceEth: number;
|
|
52
|
+
/**
|
|
53
|
+
* The same moment in USD, and the coin's market cap there.
|
|
54
|
+
*
|
|
55
|
+
* Optional because they are the platform's to supply and it may not have them: a page with only
|
|
56
|
+
* an ETH feed sends neither, and a game plotting market cap should fall back rather than assume.
|
|
57
|
+
*
|
|
58
|
+
* Market cap belongs here rather than being left to the game. It is price times supply, and
|
|
59
|
+
* supply is the platform's business — a launch may carry a supply override, or count circulating
|
|
60
|
+
* against total — so a game deriving it from price alone drifts away from the figure the
|
|
61
|
+
* platform itself displays. Every game that tried would drift differently.
|
|
62
|
+
*/
|
|
63
|
+
priceUsd?: number;
|
|
64
|
+
marketCapUsd?: number;
|
|
53
65
|
}
|
|
54
66
|
export interface MarketTrade {
|
|
55
67
|
/** Stable across reconnects, normally transaction hash plus log index. */
|
|
@@ -57,8 +69,19 @@ export interface MarketTrade {
|
|
|
57
69
|
at: number;
|
|
58
70
|
player: PlayerId | null;
|
|
59
71
|
side: 'buy' | 'sell';
|
|
60
|
-
|
|
72
|
+
/** What the trade cost, in base units of the round's spend token. */
|
|
73
|
+
spend: bigint;
|
|
74
|
+
/**
|
|
75
|
+
* How much of the coin the trade moved, in the coin's own base units — always eighteen decimals.
|
|
76
|
+
*
|
|
77
|
+
* Sent so a game can say "bought 12,000 COIN" without dividing spend by price: that division
|
|
78
|
+
* needs the spend token's decimals and a non-null price, and gets the rounding subtly wrong.
|
|
79
|
+
* Optional because a source may report only the money side.
|
|
80
|
+
*/
|
|
81
|
+
coinAmount?: bigint;
|
|
61
82
|
priceEth: number | null;
|
|
83
|
+
/** The trade's price in USD, when known — same rule as {@link MarketPrice.priceUsd}. */
|
|
84
|
+
priceUsd?: number;
|
|
62
85
|
transactionHash?: string;
|
|
63
86
|
}
|
|
64
87
|
export interface MarketState {
|
|
@@ -67,8 +90,9 @@ export interface MarketState {
|
|
|
67
90
|
trades: readonly MarketTrade[];
|
|
68
91
|
marketCapUsd: number | null;
|
|
69
92
|
}
|
|
70
|
-
export interface WireMarketTrade extends Omit<MarketTrade, '
|
|
71
|
-
|
|
93
|
+
export interface WireMarketTrade extends Omit<MarketTrade, 'spend' | 'coinAmount'> {
|
|
94
|
+
spend: string;
|
|
95
|
+
coinAmount?: string;
|
|
72
96
|
}
|
|
73
97
|
export interface WireMarketState extends Omit<MarketState, 'trades'> {
|
|
74
98
|
trades: readonly WireMarketTrade[];
|
|
@@ -82,14 +106,19 @@ export interface WireMarketState extends Omit<MarketState, 'trades'> {
|
|
|
82
106
|
* point as much as the field checks: this parses attacker-reachable input in a game's hot path.
|
|
83
107
|
*/
|
|
84
108
|
export declare function isWireMarketState(input: unknown): input is WireMarketState;
|
|
85
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Authoritative ledger state. A signed but unsettled authorisation remains held.
|
|
111
|
+
*
|
|
112
|
+
* Every amount is in base units of the round's spend token (see {@link SpendToken}) — wei for an
|
|
113
|
+
* ETH round, 10^-6 of a six-decimal stablecoin for a round played in one.
|
|
114
|
+
*/
|
|
86
115
|
export interface EconomyBalance {
|
|
87
|
-
/** Immutable entitlement rate for this round
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
116
|
+
/** Immutable entitlement rate for this round, in base units. Not a live dollar quote. */
|
|
117
|
+
unitsPerPoint: bigint;
|
|
118
|
+
earned: bigint;
|
|
119
|
+
held: bigint;
|
|
120
|
+
spent: bigint;
|
|
121
|
+
available: bigint;
|
|
93
122
|
/**
|
|
94
123
|
* When the earliest outstanding hold expires, in epoch ms, or null when nothing is held.
|
|
95
124
|
*
|
|
@@ -106,7 +135,7 @@ export type BuyFailure = 'nothing-to-spend' | 'declined' | 'not-enough-for-fees'
|
|
|
106
135
|
/**
|
|
107
136
|
* JSON-safe form used on the wire.
|
|
108
137
|
*
|
|
109
|
-
* The
|
|
138
|
+
* The base-unit amounts cross as decimal strings because JSON has no bigint. `holdExpiresAt` is an
|
|
110
139
|
* ordinary millisecond number and stays one.
|
|
111
140
|
*/
|
|
112
141
|
export type WireEconomyBalance = {
|
|
@@ -114,45 +143,81 @@ export type WireEconomyBalance = {
|
|
|
114
143
|
} & {
|
|
115
144
|
holdExpiresAt: number | null;
|
|
116
145
|
};
|
|
146
|
+
/**
|
|
147
|
+
* The token a round's spending is measured in: the coin's paired token.
|
|
148
|
+
*
|
|
149
|
+
* Every amount on the wire is in this token's base units. It was always ETH (wei) until
|
|
150
|
+
* paired-token launches; a round on a six-decimal stablecoin measures spend in 10^-6 of it.
|
|
151
|
+
*/
|
|
152
|
+
export interface SpendToken {
|
|
153
|
+
/** The token's address; the zero address for native ETH. */
|
|
154
|
+
readonly address: string;
|
|
155
|
+
readonly symbol: string;
|
|
156
|
+
readonly decimals: number;
|
|
157
|
+
/** True for native ETH only — an ETH wrapper such as flETH is a token with eighteen decimals. */
|
|
158
|
+
readonly isNative: boolean;
|
|
159
|
+
}
|
|
160
|
+
/** Native ETH, the spend token of every flETH- and ETH-paired round. */
|
|
161
|
+
export declare const ETH_SPEND_TOKEN: SpendToken;
|
|
162
|
+
/**
|
|
163
|
+
* The round's spend token, tolerating terms that are not loaded yet.
|
|
164
|
+
*
|
|
165
|
+
* The one call a display needs: `formatUnits(balance.available, spendTokenOf(terms).decimals)` is
|
|
166
|
+
* right for every round, where `/ 1e18` is right only for ETH. Terms always carry the token; the
|
|
167
|
+
* ETH fallback is for the moment before a snapshot has arrived, not for a gate that omits it.
|
|
168
|
+
*/
|
|
169
|
+
export declare function spendTokenOf(terms: Pick<RoundTerms, 'spendToken'> | null | undefined): SpendToken;
|
|
117
170
|
/**
|
|
118
171
|
* The immutable economic terms of one round.
|
|
119
172
|
*
|
|
120
173
|
* Fixed when the gate adopted the launch, and never recomputed. A game's menu, its own server and
|
|
121
|
-
* its browser all read the same numbers from here rather than each deriving them from a live
|
|
122
|
-
*
|
|
174
|
+
* its browser all read the same numbers from here rather than each deriving them from a live price,
|
|
175
|
+
* which is the bug class `resolveEconomy` exists to prevent.
|
|
123
176
|
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
177
|
+
* Every amount here is in base units of {@link RoundTerms.spendToken}. `pointsPerDollar` and
|
|
178
|
+
* `usdPerSpendToken` are frozen provenance from adoption time: they explain how the gate arrived at
|
|
179
|
+
* `unitsPerPoint`, they are not live process settings, and they must not be recomputed.
|
|
126
180
|
*/
|
|
127
181
|
export interface RoundTerms {
|
|
128
182
|
/** The most one wallet can earn here. The gate refuses an award that would pass it. */
|
|
129
183
|
readonly maxPointsPerPlayer: number;
|
|
130
|
-
/** The pool's on-chain per-wallet spending ceiling. The chain enforces this whatever we do. */
|
|
131
|
-
readonly walletCapWei: bigint;
|
|
132
184
|
/**
|
|
133
|
-
*
|
|
185
|
+
* The pool's on-chain per-wallet spending ceiling, in base units of {@link RoundTerms.spendToken}.
|
|
186
|
+
* The chain enforces this whatever we do.
|
|
187
|
+
*/
|
|
188
|
+
readonly walletCap: bigint;
|
|
189
|
+
/**
|
|
190
|
+
* Base units of the spend token per point, for this round.
|
|
134
191
|
*
|
|
135
192
|
* The same number {@link EconomyBalance} carries. It is repeated there because a balance has to
|
|
136
193
|
* be readable on its own, and it is here because a main menu needs the rate before any player
|
|
137
194
|
* has a balance at all.
|
|
138
195
|
*/
|
|
139
|
-
readonly
|
|
196
|
+
readonly unitsPerPoint: bigint;
|
|
140
197
|
/**
|
|
141
198
|
* The creator's one knob, as it stood when this round was adopted. 100 means a dollar buys 100
|
|
142
199
|
* points.
|
|
143
200
|
*
|
|
144
201
|
* Recorded so a round can explain its own rate, not so anyone can recompute it. Both this and
|
|
145
|
-
* `
|
|
146
|
-
* moves `
|
|
202
|
+
* `usdPerSpendToken` are gate-process settings that an operator may change between rounds, and
|
|
203
|
+
* neither moves `unitsPerPoint` once a round exists.
|
|
147
204
|
*/
|
|
148
205
|
readonly pointsPerDollar: number;
|
|
149
|
-
/**
|
|
150
|
-
|
|
206
|
+
/**
|
|
207
|
+
* The market price of one whole spend token in dollars, fixed at adoption.
|
|
208
|
+
*
|
|
209
|
+
* A quote that was true then, not a live one. Dollars for an amount of spend are
|
|
210
|
+
* `formatUnits(amount, spendToken.decimals) * usdPerSpendToken` — the only correct conversion,
|
|
211
|
+
* whatever the token's decimals.
|
|
212
|
+
*/
|
|
213
|
+
readonly usdPerSpendToken: number;
|
|
214
|
+
/** The token spend is measured in. Every amount in these terms is in its base units. */
|
|
215
|
+
readonly spendToken: SpendToken;
|
|
151
216
|
}
|
|
152
|
-
/** JSON-safe form. The
|
|
153
|
-
export type WireRoundTerms = Omit<RoundTerms, '
|
|
154
|
-
|
|
155
|
-
|
|
217
|
+
/** JSON-safe form. The base-unit amounts cross as decimal strings, as {@link WireEconomyBalance}. */
|
|
218
|
+
export type WireRoundTerms = Omit<RoundTerms, 'walletCap' | 'unitsPerPoint'> & {
|
|
219
|
+
walletCap: string;
|
|
220
|
+
unitsPerPoint: string;
|
|
156
221
|
};
|
|
157
222
|
/** Keep cosmetic reaction identifiers bounded and safe to use as asset keys. */
|
|
158
223
|
export declare function isReactionId(id: string): boolean;
|
package/dist/live.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAU5E;AAID,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAsBtE;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,QAAQ,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
|
package/dist/live.js
CHANGED
|
@@ -62,6 +62,14 @@ export function isWireMarketState(input) {
|
|
|
62
62
|
const price = input;
|
|
63
63
|
if (!finite(price.at) || !finite(price.priceEth) || price.priceEth <= 0)
|
|
64
64
|
return false;
|
|
65
|
+
// Optional, but not free-form: a present-and-broken figure is worse than an absent one,
|
|
66
|
+
// because a chart will plot it. A zero market cap is a real state (an unpriced coin), so
|
|
67
|
+
// only negatives and non-numbers are refused.
|
|
68
|
+
if (price.priceUsd !== undefined && (!finite(price.priceUsd) || price.priceUsd <= 0))
|
|
69
|
+
return false;
|
|
70
|
+
if (price.marketCapUsd !== undefined && (!finite(price.marketCapUsd) || price.marketCapUsd < 0)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
65
73
|
}
|
|
66
74
|
for (const input of value.trades) {
|
|
67
75
|
if (typeof input !== 'object' || input === null)
|
|
@@ -71,15 +79,35 @@ export function isWireMarketState(input) {
|
|
|
71
79
|
!finite(trade.at) ||
|
|
72
80
|
(trade.player !== null && !bounded(trade.player, 128)) ||
|
|
73
81
|
(trade.side !== 'buy' && trade.side !== 'sell') ||
|
|
74
|
-
typeof trade.
|
|
75
|
-
!MARKET_DECIMAL.test(trade.
|
|
82
|
+
typeof trade.spend !== 'string' ||
|
|
83
|
+
!MARKET_DECIMAL.test(trade.spend) ||
|
|
84
|
+
(trade.coinAmount !== undefined &&
|
|
85
|
+
(typeof trade.coinAmount !== 'string' || !MARKET_DECIMAL.test(trade.coinAmount))) ||
|
|
76
86
|
(trade.priceEth !== null && !finite(trade.priceEth)) ||
|
|
87
|
+
(trade.priceUsd !== undefined && (!finite(trade.priceUsd) || trade.priceUsd <= 0)) ||
|
|
77
88
|
(trade.transactionHash !== undefined && !bounded(trade.transactionHash, 128))) {
|
|
78
89
|
return false;
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
return true;
|
|
82
93
|
}
|
|
94
|
+
/** Native ETH, the spend token of every flETH- and ETH-paired round. */
|
|
95
|
+
export const ETH_SPEND_TOKEN = Object.freeze({
|
|
96
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
97
|
+
symbol: 'ETH',
|
|
98
|
+
decimals: 18,
|
|
99
|
+
isNative: true,
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* The round's spend token, tolerating terms that are not loaded yet.
|
|
103
|
+
*
|
|
104
|
+
* The one call a display needs: `formatUnits(balance.available, spendTokenOf(terms).decimals)` is
|
|
105
|
+
* right for every round, where `/ 1e18` is right only for ETH. Terms always carry the token; the
|
|
106
|
+
* ETH fallback is for the moment before a snapshot has arrived, not for a gate that omits it.
|
|
107
|
+
*/
|
|
108
|
+
export function spendTokenOf(terms) {
|
|
109
|
+
return terms?.spendToken ?? ETH_SPEND_TOKEN;
|
|
110
|
+
}
|
|
83
111
|
/** Keep cosmetic reaction identifiers bounded and safe to use as asset keys. */
|
|
84
112
|
export function isReactionId(id) {
|
|
85
113
|
return /^[A-Za-z0-9._:-]{1,64}$/.test(id);
|
package/dist/live.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO,CACL,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK;QAC5B,wCAAwC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;QACpC,KAAK,CAAC,SAAoB,GAAG,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO,CACL,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG;QAC3B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG;QAC1B,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1G,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG;QACxB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;QACzB,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QACnG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,OAAkB,GAAI,KAAK,CAAC,QAAmB;QACrD,KAAK,CAAC,QAAmB,IAAK,KAAK,CAAC,YAAuB,CAC7D,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/embed.ts
CHANGED
|
@@ -120,6 +120,14 @@ export interface SpendAuthorisation {
|
|
|
120
120
|
buyer: string;
|
|
121
121
|
poolId: string;
|
|
122
122
|
deadline: string;
|
|
123
|
+
/**
|
|
124
|
+
* The ceiling this signature authorises, in base units of the round's spend token.
|
|
125
|
+
*
|
|
126
|
+
* The one field in this SDK still named for wei, and deliberately: the name is hashed into the
|
|
127
|
+
* EIP-712 typehash that the deployed spend-gate calculator verifies, so renaming it would
|
|
128
|
+
* invalidate every signature. Despite the name it is not ETH on a paired round — a six-decimal
|
|
129
|
+
* stablecoin round authorises 10^-6 units of that token.
|
|
130
|
+
*/
|
|
123
131
|
maxSpendWei: string;
|
|
124
132
|
nonce: string;
|
|
125
133
|
signature: string;
|
|
@@ -136,6 +144,8 @@ export interface SpendAuthorisationFields {
|
|
|
136
144
|
nonce: string | bigint;
|
|
137
145
|
}
|
|
138
146
|
|
|
147
|
+
// Field names here are part of the EIP-712 typehash the deployed calculator checks. They are
|
|
148
|
+
// contract vocabulary, not ours, and must not be renamed to match this SDK's own naming.
|
|
139
149
|
const SPEND_AUTHORIZATION_TYPES = {
|
|
140
150
|
SpendAuthorization: [
|
|
141
151
|
{ name: 'buyer', type: 'address' },
|
package/src/frame.ts
CHANGED
|
@@ -51,6 +51,10 @@ export interface WireAuthorisation {
|
|
|
51
51
|
buyer: string;
|
|
52
52
|
poolId: string;
|
|
53
53
|
deadline: string;
|
|
54
|
+
/**
|
|
55
|
+
* Base units of the round's spend token. Keeps the contract's own field name, which is hashed
|
|
56
|
+
* into the EIP-712 typehash the calculator verifies — see `SpendAuthorisation` in this package.
|
|
57
|
+
*/
|
|
54
58
|
maxSpendWei: string;
|
|
55
59
|
nonce: string;
|
|
56
60
|
signature: string;
|
|
@@ -74,10 +78,25 @@ export type GameToHostFrame =
|
|
|
74
78
|
*/
|
|
75
79
|
export type HostErrorCode = 'declined' | 'no-wallet' | 'not-allowed' | 'failed';
|
|
76
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Why a buy failed, in two registers.
|
|
83
|
+
*
|
|
84
|
+
* `reason` is for the player and is one of five words. `detail` and `transactionHash` are for
|
|
85
|
+
* whoever has to explain it afterwards — `try-again` is the answer to several different
|
|
86
|
+
* situations, and a developer reading a log cannot otherwise tell them apart. Diagnostics: never
|
|
87
|
+
* rendered, and free to change between versions.
|
|
88
|
+
*/
|
|
89
|
+
export interface WireBuyFailure {
|
|
90
|
+
bought: false;
|
|
91
|
+
reason: BuyFailure;
|
|
92
|
+
detail?: string;
|
|
93
|
+
transactionHash?: string;
|
|
94
|
+
}
|
|
95
|
+
|
|
77
96
|
export type WireHostResult =
|
|
78
97
|
| { method: 'address'; address: string | null }
|
|
79
98
|
| { method: 'signIn'; signature: `0x${string}` }
|
|
80
|
-
| { method: 'buy'; outcome: {
|
|
99
|
+
| { method: 'buy'; outcome: { spent: string } | { failed: WireBuyFailure } };
|
|
81
100
|
|
|
82
101
|
export type HostToGameFrame =
|
|
83
102
|
| { v: typeof FRAME_PROTOCOL_VERSION; type: 'gm:context'; context: EmbedContext }
|
|
@@ -199,10 +218,24 @@ function resultFrom(value: unknown): WireHostResult | null {
|
|
|
199
218
|
if (value.method === 'buy') {
|
|
200
219
|
const outcome = value.outcome;
|
|
201
220
|
if (!isRecord(outcome)) return null;
|
|
202
|
-
if (isNonEmptyString(outcome.
|
|
221
|
+
if (isNonEmptyString(outcome.spent)) return { method: 'buy', outcome: { spent: outcome.spent } };
|
|
203
222
|
const failed = outcome.failed;
|
|
204
223
|
if (isRecord(failed) && failed.bought === false && BUY_FAILURES.includes(failed.reason as BuyFailure)) {
|
|
205
|
-
|
|
224
|
+
// Bounded because they are strings from another origin that end up in a log, and an
|
|
225
|
+
// unbounded one is a log nobody can read.
|
|
226
|
+
const detail = typeof failed.detail === 'string' ? failed.detail.slice(0, 256) : undefined;
|
|
227
|
+
const hash = typeof failed.transactionHash === 'string' ? failed.transactionHash.slice(0, 128) : undefined;
|
|
228
|
+
return {
|
|
229
|
+
method: 'buy',
|
|
230
|
+
outcome: {
|
|
231
|
+
failed: {
|
|
232
|
+
bought: false,
|
|
233
|
+
reason: failed.reason as BuyFailure,
|
|
234
|
+
...(detail !== undefined ? { detail } : {}),
|
|
235
|
+
...(hash !== undefined ? { transactionHash: hash } : {}),
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
};
|
|
206
239
|
}
|
|
207
240
|
return null;
|
|
208
241
|
}
|
package/src/live.ts
CHANGED
|
@@ -91,8 +91,20 @@ export interface Reaction {
|
|
|
91
91
|
|
|
92
92
|
export interface MarketPrice {
|
|
93
93
|
at: number;
|
|
94
|
-
/** Display price of one whole coin in ETH. Market data never participates in scoring. */
|
|
95
94
|
priceEth: number;
|
|
95
|
+
/**
|
|
96
|
+
* The same moment in USD, and the coin's market cap there.
|
|
97
|
+
*
|
|
98
|
+
* Optional because they are the platform's to supply and it may not have them: a page with only
|
|
99
|
+
* an ETH feed sends neither, and a game plotting market cap should fall back rather than assume.
|
|
100
|
+
*
|
|
101
|
+
* Market cap belongs here rather than being left to the game. It is price times supply, and
|
|
102
|
+
* supply is the platform's business — a launch may carry a supply override, or count circulating
|
|
103
|
+
* against total — so a game deriving it from price alone drifts away from the figure the
|
|
104
|
+
* platform itself displays. Every game that tried would drift differently.
|
|
105
|
+
*/
|
|
106
|
+
priceUsd?: number;
|
|
107
|
+
marketCapUsd?: number;
|
|
96
108
|
}
|
|
97
109
|
|
|
98
110
|
export interface MarketTrade {
|
|
@@ -101,8 +113,19 @@ export interface MarketTrade {
|
|
|
101
113
|
at: number;
|
|
102
114
|
player: PlayerId | null;
|
|
103
115
|
side: 'buy' | 'sell';
|
|
104
|
-
|
|
116
|
+
/** What the trade cost, in base units of the round's spend token. */
|
|
117
|
+
spend: bigint;
|
|
118
|
+
/**
|
|
119
|
+
* How much of the coin the trade moved, in the coin's own base units — always eighteen decimals.
|
|
120
|
+
*
|
|
121
|
+
* Sent so a game can say "bought 12,000 COIN" without dividing spend by price: that division
|
|
122
|
+
* needs the spend token's decimals and a non-null price, and gets the rounding subtly wrong.
|
|
123
|
+
* Optional because a source may report only the money side.
|
|
124
|
+
*/
|
|
125
|
+
coinAmount?: bigint;
|
|
105
126
|
priceEth: number | null;
|
|
127
|
+
/** The trade's price in USD, when known — same rule as {@link MarketPrice.priceUsd}. */
|
|
128
|
+
priceUsd?: number;
|
|
106
129
|
transactionHash?: string;
|
|
107
130
|
}
|
|
108
131
|
|
|
@@ -113,8 +136,9 @@ export interface MarketState {
|
|
|
113
136
|
marketCapUsd: number | null;
|
|
114
137
|
}
|
|
115
138
|
|
|
116
|
-
export interface WireMarketTrade extends Omit<MarketTrade, '
|
|
117
|
-
|
|
139
|
+
export interface WireMarketTrade extends Omit<MarketTrade, 'spend' | 'coinAmount'> {
|
|
140
|
+
spend: string;
|
|
141
|
+
coinAmount?: string;
|
|
118
142
|
}
|
|
119
143
|
|
|
120
144
|
export interface WireMarketState extends Omit<MarketState, 'trades'> {
|
|
@@ -154,6 +178,13 @@ export function isWireMarketState(input: unknown): input is WireMarketState {
|
|
|
154
178
|
if (typeof input !== 'object' || input === null) return false;
|
|
155
179
|
const price = input as Record<string, unknown>;
|
|
156
180
|
if (!finite(price.at) || !finite(price.priceEth) || price.priceEth <= 0) return false;
|
|
181
|
+
// Optional, but not free-form: a present-and-broken figure is worse than an absent one,
|
|
182
|
+
// because a chart will plot it. A zero market cap is a real state (an unpriced coin), so
|
|
183
|
+
// only negatives and non-numbers are refused.
|
|
184
|
+
if (price.priceUsd !== undefined && (!finite(price.priceUsd) || price.priceUsd <= 0)) return false;
|
|
185
|
+
if (price.marketCapUsd !== undefined && (!finite(price.marketCapUsd) || price.marketCapUsd < 0)) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
157
188
|
}
|
|
158
189
|
|
|
159
190
|
for (const input of value.trades) {
|
|
@@ -164,9 +195,12 @@ export function isWireMarketState(input: unknown): input is WireMarketState {
|
|
|
164
195
|
!finite(trade.at) ||
|
|
165
196
|
(trade.player !== null && !bounded(trade.player, 128)) ||
|
|
166
197
|
(trade.side !== 'buy' && trade.side !== 'sell') ||
|
|
167
|
-
typeof trade.
|
|
168
|
-
!MARKET_DECIMAL.test(trade.
|
|
198
|
+
typeof trade.spend !== 'string' ||
|
|
199
|
+
!MARKET_DECIMAL.test(trade.spend) ||
|
|
200
|
+
(trade.coinAmount !== undefined &&
|
|
201
|
+
(typeof trade.coinAmount !== 'string' || !MARKET_DECIMAL.test(trade.coinAmount))) ||
|
|
169
202
|
(trade.priceEth !== null && !finite(trade.priceEth)) ||
|
|
203
|
+
(trade.priceUsd !== undefined && (!finite(trade.priceUsd) || trade.priceUsd <= 0)) ||
|
|
170
204
|
(trade.transactionHash !== undefined && !bounded(trade.transactionHash, 128))
|
|
171
205
|
) {
|
|
172
206
|
return false;
|
|
@@ -176,14 +210,19 @@ export function isWireMarketState(input: unknown): input is WireMarketState {
|
|
|
176
210
|
return true;
|
|
177
211
|
}
|
|
178
212
|
|
|
179
|
-
/**
|
|
213
|
+
/**
|
|
214
|
+
* Authoritative ledger state. A signed but unsettled authorisation remains held.
|
|
215
|
+
*
|
|
216
|
+
* Every amount is in base units of the round's spend token (see {@link SpendToken}) — wei for an
|
|
217
|
+
* ETH round, 10^-6 of a six-decimal stablecoin for a round played in one.
|
|
218
|
+
*/
|
|
180
219
|
export interface EconomyBalance {
|
|
181
|
-
/** Immutable entitlement rate for this round
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
220
|
+
/** Immutable entitlement rate for this round, in base units. Not a live dollar quote. */
|
|
221
|
+
unitsPerPoint: bigint;
|
|
222
|
+
earned: bigint;
|
|
223
|
+
held: bigint;
|
|
224
|
+
spent: bigint;
|
|
225
|
+
available: bigint;
|
|
187
226
|
/**
|
|
188
227
|
* When the earliest outstanding hold expires, in epoch ms, or null when nothing is held.
|
|
189
228
|
*
|
|
@@ -207,53 +246,99 @@ export type BuyFailure =
|
|
|
207
246
|
/**
|
|
208
247
|
* JSON-safe form used on the wire.
|
|
209
248
|
*
|
|
210
|
-
* The
|
|
249
|
+
* The base-unit amounts cross as decimal strings because JSON has no bigint. `holdExpiresAt` is an
|
|
211
250
|
* ordinary millisecond number and stays one.
|
|
212
251
|
*/
|
|
213
252
|
export type WireEconomyBalance = {
|
|
214
253
|
[Key in keyof Omit<EconomyBalance, 'holdExpiresAt'>]: string;
|
|
215
254
|
} & { holdExpiresAt: number | null };
|
|
216
255
|
|
|
256
|
+
/**
|
|
257
|
+
* The token a round's spending is measured in: the coin's paired token.
|
|
258
|
+
*
|
|
259
|
+
* Every amount on the wire is in this token's base units. It was always ETH (wei) until
|
|
260
|
+
* paired-token launches; a round on a six-decimal stablecoin measures spend in 10^-6 of it.
|
|
261
|
+
*/
|
|
262
|
+
export interface SpendToken {
|
|
263
|
+
/** The token's address; the zero address for native ETH. */
|
|
264
|
+
readonly address: string;
|
|
265
|
+
readonly symbol: string;
|
|
266
|
+
readonly decimals: number;
|
|
267
|
+
/** True for native ETH only — an ETH wrapper such as flETH is a token with eighteen decimals. */
|
|
268
|
+
readonly isNative: boolean;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/** Native ETH, the spend token of every flETH- and ETH-paired round. */
|
|
272
|
+
export const ETH_SPEND_TOKEN: SpendToken = Object.freeze({
|
|
273
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
274
|
+
symbol: 'ETH',
|
|
275
|
+
decimals: 18,
|
|
276
|
+
isNative: true,
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* The round's spend token, tolerating terms that are not loaded yet.
|
|
281
|
+
*
|
|
282
|
+
* The one call a display needs: `formatUnits(balance.available, spendTokenOf(terms).decimals)` is
|
|
283
|
+
* right for every round, where `/ 1e18` is right only for ETH. Terms always carry the token; the
|
|
284
|
+
* ETH fallback is for the moment before a snapshot has arrived, not for a gate that omits it.
|
|
285
|
+
*/
|
|
286
|
+
export function spendTokenOf(terms: Pick<RoundTerms, 'spendToken'> | null | undefined): SpendToken {
|
|
287
|
+
return terms?.spendToken ?? ETH_SPEND_TOKEN;
|
|
288
|
+
}
|
|
289
|
+
|
|
217
290
|
/**
|
|
218
291
|
* The immutable economic terms of one round.
|
|
219
292
|
*
|
|
220
293
|
* Fixed when the gate adopted the launch, and never recomputed. A game's menu, its own server and
|
|
221
|
-
* its browser all read the same numbers from here rather than each deriving them from a live
|
|
222
|
-
*
|
|
294
|
+
* its browser all read the same numbers from here rather than each deriving them from a live price,
|
|
295
|
+
* which is the bug class `resolveEconomy` exists to prevent.
|
|
223
296
|
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
297
|
+
* Every amount here is in base units of {@link RoundTerms.spendToken}. `pointsPerDollar` and
|
|
298
|
+
* `usdPerSpendToken` are frozen provenance from adoption time: they explain how the gate arrived at
|
|
299
|
+
* `unitsPerPoint`, they are not live process settings, and they must not be recomputed.
|
|
226
300
|
*/
|
|
227
301
|
export interface RoundTerms {
|
|
228
302
|
/** The most one wallet can earn here. The gate refuses an award that would pass it. */
|
|
229
303
|
readonly maxPointsPerPlayer: number;
|
|
230
|
-
/** The pool's on-chain per-wallet spending ceiling. The chain enforces this whatever we do. */
|
|
231
|
-
readonly walletCapWei: bigint;
|
|
232
304
|
/**
|
|
233
|
-
*
|
|
305
|
+
* The pool's on-chain per-wallet spending ceiling, in base units of {@link RoundTerms.spendToken}.
|
|
306
|
+
* The chain enforces this whatever we do.
|
|
307
|
+
*/
|
|
308
|
+
readonly walletCap: bigint;
|
|
309
|
+
/**
|
|
310
|
+
* Base units of the spend token per point, for this round.
|
|
234
311
|
*
|
|
235
312
|
* The same number {@link EconomyBalance} carries. It is repeated there because a balance has to
|
|
236
313
|
* be readable on its own, and it is here because a main menu needs the rate before any player
|
|
237
314
|
* has a balance at all.
|
|
238
315
|
*/
|
|
239
|
-
readonly
|
|
316
|
+
readonly unitsPerPoint: bigint;
|
|
240
317
|
/**
|
|
241
318
|
* The creator's one knob, as it stood when this round was adopted. 100 means a dollar buys 100
|
|
242
319
|
* points.
|
|
243
320
|
*
|
|
244
321
|
* Recorded so a round can explain its own rate, not so anyone can recompute it. Both this and
|
|
245
|
-
* `
|
|
246
|
-
* moves `
|
|
322
|
+
* `usdPerSpendToken` are gate-process settings that an operator may change between rounds, and
|
|
323
|
+
* neither moves `unitsPerPoint` once a round exists.
|
|
247
324
|
*/
|
|
248
325
|
readonly pointsPerDollar: number;
|
|
249
|
-
/**
|
|
250
|
-
|
|
326
|
+
/**
|
|
327
|
+
* The market price of one whole spend token in dollars, fixed at adoption.
|
|
328
|
+
*
|
|
329
|
+
* A quote that was true then, not a live one. Dollars for an amount of spend are
|
|
330
|
+
* `formatUnits(amount, spendToken.decimals) * usdPerSpendToken` — the only correct conversion,
|
|
331
|
+
* whatever the token's decimals.
|
|
332
|
+
*/
|
|
333
|
+
readonly usdPerSpendToken: number;
|
|
334
|
+
/** The token spend is measured in. Every amount in these terms is in its base units. */
|
|
335
|
+
readonly spendToken: SpendToken;
|
|
251
336
|
}
|
|
252
337
|
|
|
253
|
-
/** JSON-safe form. The
|
|
254
|
-
export type WireRoundTerms = Omit<RoundTerms, '
|
|
255
|
-
|
|
256
|
-
|
|
338
|
+
/** JSON-safe form. The base-unit amounts cross as decimal strings, as {@link WireEconomyBalance}. */
|
|
339
|
+
export type WireRoundTerms = Omit<RoundTerms, 'walletCap' | 'unitsPerPoint'> & {
|
|
340
|
+
walletCap: string;
|
|
341
|
+
unitsPerPoint: string;
|
|
257
342
|
};
|
|
258
343
|
|
|
259
344
|
/** Keep cosmetic reaction identifiers bounded and safe to use as asset keys. */
|