@temporalabs/treasury 0.1.2 → 0.1.4
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/README.md +45 -13
- package/THIRD_PARTY_NOTICES.connect-page.md +494 -24
- package/THIRD_PARTY_NOTICES.md +579 -6
- package/dist/cli.js +28 -5
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +50 -209
- package/dist/client.js +66 -11
- package/dist/client.js.map +1 -1
- package/dist/config/earn.d.ts +16 -1
- package/dist/config/earn.js +16 -1
- package/dist/config/earn.js.map +1 -1
- package/dist/connect/ack.d.ts +88 -1
- package/dist/connect/ack.js +177 -6
- package/dist/connect/ack.js.map +1 -1
- package/dist/connect/commands.d.ts +30 -0
- package/dist/connect/commands.js +846 -88
- package/dist/connect/commands.js.map +1 -1
- package/dist/connect/config.d.ts +7 -5
- package/dist/connect/config.js +8 -6
- package/dist/connect/config.js.map +1 -1
- package/dist/connect/gate-solana.d.ts +8 -0
- package/dist/connect/gate-solana.js +147 -0
- package/dist/connect/gate-solana.js.map +1 -0
- package/dist/connect/http.d.ts +17 -2
- package/dist/connect/http.js +45 -13
- package/dist/connect/http.js.map +1 -1
- package/dist/connect/page.d.ts +1 -1
- package/dist/connect/page.js +2 -2
- package/dist/connect/page.js.map +1 -1
- package/dist/connect/session.d.ts +40 -1
- package/dist/connect/session.js +243 -2
- package/dist/connect/session.js.map +1 -1
- package/dist/connect/solana.d.ts +112 -0
- package/dist/connect/solana.js +370 -0
- package/dist/connect/solana.js.map +1 -0
- package/dist/connect-page.js +835 -671
- package/dist/disclosures.d.ts +7 -4
- package/dist/disclosures.js +7 -4
- package/dist/disclosures.js.map +1 -1
- package/dist/earn/commands.js +127 -54
- package/dist/earn/commands.js.map +1 -1
- package/dist/earn/solana.d.ts +278 -0
- package/dist/earn/solana.js +316 -0
- package/dist/earn/solana.js.map +1 -0
- package/dist/guide.d.ts +15 -0
- package/dist/guide.js +50 -0
- package/dist/guide.js.map +1 -0
- package/dist/links.js +2 -0
- package/dist/links.js.map +1 -1
- package/dist/position.d.ts +3 -2
- package/dist/position.js +6 -3
- package/dist/position.js.map +1 -1
- package/dist/quote.js +2 -2
- package/dist/quote.js.map +1 -1
- package/dist/redact.js +7 -1
- package/dist/redact.js.map +1 -1
- package/dist/registry-schema.d.ts +79 -2
- package/dist/registry-schema.js +77 -1
- package/dist/registry-schema.js.map +1 -1
- package/dist/registry.d.ts +21 -1
- package/dist/registry.js +48 -10
- package/dist/registry.js.map +1 -1
- package/dist/solana/constants.d.ts +49 -0
- package/dist/solana/constants.js +50 -0
- package/dist/solana/constants.js.map +1 -0
- package/dist/solana/kvault.d.ts +99 -0
- package/dist/solana/kvault.js +192 -0
- package/dist/solana/kvault.js.map +1 -0
- package/dist/solana/layout.d.ts +143 -0
- package/dist/solana/layout.js +209 -0
- package/dist/solana/layout.js.map +1 -0
- package/dist/solana/rpc.d.ts +24 -0
- package/dist/solana/rpc.js +66 -0
- package/dist/solana/rpc.js.map +1 -0
- package/dist/solana/vault.d.ts +153 -0
- package/dist/solana/vault.js +322 -0
- package/dist/solana/vault.js.map +1 -0
- package/dist/treasury.mjs +37410 -27965
- package/dist/version.js +5 -10
- package/dist/version.js.map +1 -1
- package/llms.txt +637 -0
- package/package.json +14 -8
- package/registry/vaults.json +113 -0
package/dist/connect/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/connect/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/connect/http.ts"],"names":[],"mappings":"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"}
|
package/dist/connect/page.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Privy's own hosts: its auth and embedded-wallet iframe, its RPC, and the Cloudflare check it uses. */
|
|
1
|
+
/** Privy's own hosts: its auth and embedded-wallet iframe, its RPC (HTTPS, and WebSocket for Solana), and the Cloudflare check it uses. */
|
|
2
2
|
export declare const PAGE_CSP: string;
|
|
3
3
|
export declare function readPageBundle(): Buffer;
|
|
4
4
|
/** The HTML shell. `secret` authorises every request the page makes back to this process. */
|
package/dist/connect/page.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { readFileSync, realpathSync } from "node:fs";
|
|
12
12
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
13
|
-
/** Privy's own hosts: its auth and embedded-wallet iframe, its RPC, and the Cloudflare check it uses. */
|
|
13
|
+
/** Privy's own hosts: its auth and embedded-wallet iframe, its RPC (HTTPS, and WebSocket for Solana), and the Cloudflare check it uses. */
|
|
14
14
|
export const PAGE_CSP = [
|
|
15
15
|
"default-src 'self'",
|
|
16
16
|
"script-src 'self' https://challenges.cloudflare.com",
|
|
@@ -23,7 +23,7 @@ export const PAGE_CSP = [
|
|
|
23
23
|
"frame-ancestors 'none'",
|
|
24
24
|
"child-src https://auth.privy.io",
|
|
25
25
|
"frame-src https://auth.privy.io https://challenges.cloudflare.com",
|
|
26
|
-
"connect-src 'self' https://auth.privy.io https://*.rpc.privy.systems",
|
|
26
|
+
"connect-src 'self' https://auth.privy.io https://*.rpc.privy.systems wss://*.rpc.privy.systems",
|
|
27
27
|
"worker-src 'self'",
|
|
28
28
|
"manifest-src 'self'",
|
|
29
29
|
].join("; ");
|
package/dist/connect/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/connect/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/connect/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,2IAA2I;AAC3I,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB;IACpB,qDAAqD;IACrD,kCAAkC;IAClC,mCAAmC;IACnC,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;IACxB,iCAAiC;IACjC,mEAAmE;IACnE,gGAAgG;IAChG,mBAAmB;IACnB,qBAAqB;CACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,UAAU,cAAc;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;AACtI,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,KAAa;IACjD,OAAO;;;;;SAKA,KAAK;;;;;;;;;;;;;;;yBAeW,MAAM;;;CAG9B,CAAC;AACF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PendingAck } from "./ack.js";
|
|
1
|
+
import type { PendingAck, PendingPlan } from "./ack.js";
|
|
2
2
|
export interface Session {
|
|
3
3
|
account: string;
|
|
4
4
|
/** `external`: a browser wallet the operator controls. `embedded`: a Privy wallet opened by email or a social login. */
|
|
@@ -9,8 +9,47 @@ export declare const sessionPath: () => string;
|
|
|
9
9
|
export declare function readSession(): Session | undefined;
|
|
10
10
|
export declare function writeSession(s: Session): void;
|
|
11
11
|
export declare function clearSession(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The connected SOLANA account, kept apart from the EVM one: an operator can be connected on both at once,
|
|
14
|
+
* with different wallets, and a command for a vault on one chain family reads only that family's session.
|
|
15
|
+
*/
|
|
16
|
+
export declare const solanaSessionPath: () => string;
|
|
17
|
+
export declare function readSolanaSession(): Session | undefined;
|
|
18
|
+
export declare function writeSolanaSession(s: Session): void;
|
|
19
|
+
export declare function clearSolanaSession(): boolean;
|
|
12
20
|
/** The one acknowledgement waiting for `--ack` (`ack.ts`). Issuing another replaces it. */
|
|
13
21
|
export declare const pendingAckPath: () => string;
|
|
14
22
|
export declare function writePendingAck(a: PendingAck): void;
|
|
15
23
|
export declare function readPendingAck(): PendingAck | undefined;
|
|
16
24
|
export declare function clearPendingAck(): void;
|
|
25
|
+
/** The one plan (`connect plan`, `ack.ts`) and its legs' progress. Issuing another replaces it. */
|
|
26
|
+
export declare const planPath: () => string;
|
|
27
|
+
export declare function writePlan(p: PendingPlan): void;
|
|
28
|
+
export declare function readPlan(): PendingPlan | undefined;
|
|
29
|
+
export declare function clearPlan(): void;
|
|
30
|
+
/**
|
|
31
|
+
* One sign-in or confirmation page at a time. The page can fall back to another port when its first
|
|
32
|
+
* is taken, so the port no longer keeps a second page from opening; this file does. It names the
|
|
33
|
+
* process that holds it and when its page expires; a file whose process has gone, or whose page has
|
|
34
|
+
* expired, is left over from a run that never closed it, and is replaced.
|
|
35
|
+
*/
|
|
36
|
+
export declare const pageLockPath: () => string;
|
|
37
|
+
/**
|
|
38
|
+
* Removes the lock file only if it still holds `seen`, the stale content this run judged. Two runs can judge the same
|
|
39
|
+
* stale file at once; a plain remove would let the second delete the lock the first has just made, and both pages
|
|
40
|
+
* would open. A rename is atomic, so each run moves aside whatever is there and checks it: a lock that is not the stale
|
|
41
|
+
* one is put back (a hard link never replaces a file another run has made meanwhile). Returns whether it removed it.
|
|
42
|
+
*/
|
|
43
|
+
export declare function replaceStale(path: string, seen: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Claims the page lock until `ttlMs` from now. Returns `setPort` (records which port the page took)
|
|
46
|
+
* and `release` (removes the file, only while it is still this claim's). Rejects when a live page holds it.
|
|
47
|
+
* While held, the file is touched every `beatMs`; a suspect lock is given `waitMs` to show it is still being touched.
|
|
48
|
+
*/
|
|
49
|
+
export declare function claimPageLock(ttlMs: number, { beatMs, waitMs }?: {
|
|
50
|
+
beatMs?: number;
|
|
51
|
+
waitMs?: number;
|
|
52
|
+
}): Promise<{
|
|
53
|
+
setPort: (port: number) => void;
|
|
54
|
+
release: () => void;
|
|
55
|
+
}>;
|
package/dist/connect/session.js
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
* by itself — every transaction is still confirmed by the operator in the browser and in their
|
|
7
7
|
* wallet — it only fixes WHICH account the confirm page will accept and pay.
|
|
8
8
|
*/
|
|
9
|
-
import { chmodSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
9
|
+
import { chmodSync, closeSync, linkSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, statSync, utimesSync, writeFileSync, writeSync } from "node:fs";
|
|
10
10
|
import { homedir } from "node:os";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import { getAddress, isAddress } from "viem";
|
|
13
|
+
import { isAddress as isSolanaAddress } from "@solana/kit";
|
|
13
14
|
import { connectHome } from "./config.js";
|
|
14
15
|
const dir = () => connectHome() ?? join(homedir(), ".config", "treasury");
|
|
15
16
|
export const sessionPath = () => join(dir(), "connect-session.json");
|
|
@@ -42,13 +43,45 @@ function writeOwnerOnly(path, value) {
|
|
|
42
43
|
}
|
|
43
44
|
export function writeSession(s) {
|
|
44
45
|
writeOwnerOnly(sessionPath(), s);
|
|
45
|
-
// A new connection voids any acknowledgement given for the one before it.
|
|
46
|
+
// A new connection voids any acknowledgement, or plan, given for the one before it.
|
|
46
47
|
clearPendingAck();
|
|
48
|
+
clearPlan();
|
|
47
49
|
}
|
|
48
50
|
export function clearSession() {
|
|
49
51
|
const had = readSession() !== undefined;
|
|
50
52
|
rmSync(sessionPath(), { force: true });
|
|
51
53
|
clearPendingAck();
|
|
54
|
+
clearPlan();
|
|
55
|
+
return had;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The connected SOLANA account, kept apart from the EVM one: an operator can be connected on both at once,
|
|
59
|
+
* with different wallets, and a command for a vault on one chain family reads only that family's session.
|
|
60
|
+
*/
|
|
61
|
+
export const solanaSessionPath = () => join(dir(), "connect-session-solana.json");
|
|
62
|
+
export function readSolanaSession() {
|
|
63
|
+
try {
|
|
64
|
+
const v = JSON.parse(readFileSync(solanaSessionPath(), "utf8"));
|
|
65
|
+
if (typeof v.account !== "string" || !isSolanaAddress(v.account))
|
|
66
|
+
return undefined;
|
|
67
|
+
if (v.walletType !== "external" && v.walletType !== "embedded")
|
|
68
|
+
return undefined;
|
|
69
|
+
return { account: v.account, walletType: v.walletType, connectedAtIso: String(v.connectedAtIso ?? "") };
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export function writeSolanaSession(s) {
|
|
76
|
+
writeOwnerOnly(solanaSessionPath(), s);
|
|
77
|
+
clearPendingAck();
|
|
78
|
+
clearPlan();
|
|
79
|
+
}
|
|
80
|
+
export function clearSolanaSession() {
|
|
81
|
+
const had = readSolanaSession() !== undefined;
|
|
82
|
+
rmSync(solanaSessionPath(), { force: true });
|
|
83
|
+
clearPendingAck();
|
|
84
|
+
clearPlan();
|
|
52
85
|
return had;
|
|
53
86
|
}
|
|
54
87
|
/** The one acknowledgement waiting for `--ack` (`ack.ts`). Issuing another replaces it. */
|
|
@@ -70,4 +103,212 @@ export function readPendingAck() {
|
|
|
70
103
|
export function clearPendingAck() {
|
|
71
104
|
rmSync(pendingAckPath(), { force: true });
|
|
72
105
|
}
|
|
106
|
+
/** The one plan (`connect plan`, `ack.ts`) and its legs' progress. Issuing another replaces it. */
|
|
107
|
+
export const planPath = () => join(dir(), "connect-plan.json");
|
|
108
|
+
export function writePlan(p) {
|
|
109
|
+
writeOwnerOnly(planPath(), p);
|
|
110
|
+
}
|
|
111
|
+
export function readPlan() {
|
|
112
|
+
try {
|
|
113
|
+
const v = JSON.parse(readFileSync(planPath(), "utf8"));
|
|
114
|
+
if (typeof v.code !== "string" || typeof v.issuedAtIso !== "string" || typeof v.expiresAtIso !== "string" || typeof v.acknowledged !== "boolean" || !Array.isArray(v.legs))
|
|
115
|
+
return undefined;
|
|
116
|
+
// A leg that does not read back whole makes the plan unreadable, never a plan with that leg skipped.
|
|
117
|
+
for (const l of v.legs)
|
|
118
|
+
if (!l || typeof l.leg !== "number" || typeof l.digest !== "string" || typeof l.status !== "string")
|
|
119
|
+
return undefined;
|
|
120
|
+
return v;
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export function clearPlan() {
|
|
127
|
+
rmSync(planPath(), { force: true });
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* One sign-in or confirmation page at a time. The page can fall back to another port when its first
|
|
131
|
+
* is taken, so the port no longer keeps a second page from opening; this file does. It names the
|
|
132
|
+
* process that holds it and when its page expires; a file whose process has gone, or whose page has
|
|
133
|
+
* expired, is left over from a run that never closed it, and is replaced.
|
|
134
|
+
*/
|
|
135
|
+
export const pageLockPath = () => join(dir(), "connect-page.lock");
|
|
136
|
+
/** A lock file this young that does not parse yet is still being written by the process that made it. */
|
|
137
|
+
const LOCK_WRITE_GRACE_MS = 2_000;
|
|
138
|
+
/**
|
|
139
|
+
* The holder touches its lock file this often, so the file's age says whether the page's process is still running:
|
|
140
|
+
* a process ID alone can be reused, by another program or by this same one, after the holder has gone.
|
|
141
|
+
*/
|
|
142
|
+
const LOCK_BEAT_MS = 5_000;
|
|
143
|
+
/**
|
|
144
|
+
* A lock not touched for this long is suspect; it is replaced only if it is still not touched two beats later (a
|
|
145
|
+
* holder's interval timer can land a beat late after the machine wakes).
|
|
146
|
+
*/
|
|
147
|
+
const LOCK_BEAT_STALE_MS = 30_000;
|
|
148
|
+
const alive = (pid) => {
|
|
149
|
+
try {
|
|
150
|
+
process.kill(pid, 0);
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
// EPERM: the process exists and belongs to someone else.
|
|
155
|
+
return e.code === "EPERM";
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const mtimeOf = (path) => {
|
|
159
|
+
try {
|
|
160
|
+
return statSync(path).mtimeMs;
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
/** Whether the lock file at `path` is a live page's, read once; `raw` is the content judged, for `replaceStale`. */
|
|
167
|
+
function heldBy(path) {
|
|
168
|
+
let raw;
|
|
169
|
+
try {
|
|
170
|
+
raw = readFileSync(path, "utf8");
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return { held: false, raw: undefined };
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const v = JSON.parse(raw);
|
|
177
|
+
if (typeof v.pid !== "number" || typeof v.expiresAt !== "number")
|
|
178
|
+
return { held: false, raw };
|
|
179
|
+
if (v.expiresAt < Date.now() || !alive(v.pid))
|
|
180
|
+
return { held: false, raw };
|
|
181
|
+
const port = typeof v.port === "number" ? { port: v.port } : {};
|
|
182
|
+
// A lock from a version that does not beat is judged by its process ID alone, as before.
|
|
183
|
+
const mtimeMs = mtimeOf(path);
|
|
184
|
+
if (v.beat === true && mtimeMs !== undefined && Date.now() - mtimeMs > LOCK_BEAT_STALE_MS)
|
|
185
|
+
return { held: "unless-beating", raw, mtimeMs, pid: v.pid, ...port };
|
|
186
|
+
return { held: true, pid: v.pid, ...port };
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
const mtimeMs = mtimeOf(path);
|
|
190
|
+
return mtimeMs !== undefined && Date.now() - mtimeMs < LOCK_WRITE_GRACE_MS ? { held: true, pid: 0 } : { held: false, raw };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Removes the lock file only if it still holds `seen`, the stale content this run judged. Two runs can judge the same
|
|
195
|
+
* stale file at once; a plain remove would let the second delete the lock the first has just made, and both pages
|
|
196
|
+
* would open. A rename is atomic, so each run moves aside whatever is there and checks it: a lock that is not the stale
|
|
197
|
+
* one is put back (a hard link never replaces a file another run has made meanwhile). Returns whether it removed it.
|
|
198
|
+
*/
|
|
199
|
+
export function replaceStale(path, seen) {
|
|
200
|
+
const aside = `${path}.${process.pid}.${Math.random().toString(36).slice(2)}`;
|
|
201
|
+
try {
|
|
202
|
+
renameSync(path, aside);
|
|
203
|
+
}
|
|
204
|
+
catch (e) {
|
|
205
|
+
const code = e.code;
|
|
206
|
+
if (code === "ENOENT")
|
|
207
|
+
return true;
|
|
208
|
+
// Windows refuses to rename a file another process holds open: treat it as held, never as an error.
|
|
209
|
+
if (code === "EPERM" || code === "EBUSY" || code === "EACCES")
|
|
210
|
+
return false;
|
|
211
|
+
throw e;
|
|
212
|
+
}
|
|
213
|
+
let moved;
|
|
214
|
+
try {
|
|
215
|
+
moved = readFileSync(aside, "utf8");
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
moved = undefined;
|
|
219
|
+
}
|
|
220
|
+
if (moved !== seen) {
|
|
221
|
+
try {
|
|
222
|
+
linkSync(aside, path);
|
|
223
|
+
}
|
|
224
|
+
catch (e) {
|
|
225
|
+
// EEXIST: another run has claimed the lock in between; its claim stands. Anything else (a filesystem without
|
|
226
|
+
// hard links): rename it back, and keep it aside rather than delete a live lock if even that fails.
|
|
227
|
+
if (e.code !== "EEXIST") {
|
|
228
|
+
try {
|
|
229
|
+
renameSync(aside, path);
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
// Left aside.
|
|
233
|
+
}
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
rmSync(aside, { force: true });
|
|
239
|
+
return moved === seen;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Claims the page lock until `ttlMs` from now. Returns `setPort` (records which port the page took)
|
|
243
|
+
* and `release` (removes the file, only while it is still this claim's). Rejects when a live page holds it.
|
|
244
|
+
* While held, the file is touched every `beatMs`; a suspect lock is given `waitMs` to show it is still being touched.
|
|
245
|
+
*/
|
|
246
|
+
export async function claimPageLock(ttlMs, { beatMs = LOCK_BEAT_MS, waitMs = 2 * LOCK_BEAT_MS + 1_000 } = {}) {
|
|
247
|
+
mkdirSync(dir(), { recursive: true, mode: 0o700 });
|
|
248
|
+
const path = pageLockPath();
|
|
249
|
+
// Tells this claim from a later one in the same file; not a secret.
|
|
250
|
+
const token = `${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2)}`;
|
|
251
|
+
const expiresAt = Date.now() + ttlMs;
|
|
252
|
+
const body = (port) => JSON.stringify({ pid: process.pid, expiresAt, token, beat: true, ...(port ? { port } : {}) });
|
|
253
|
+
const write = (port) => writeFileSync(path, body(port), { mode: 0o600 });
|
|
254
|
+
const refuse = (port) => new Error(`another sign-in or confirmation page is still open${port ? ` on port ${port}` : ""}; finish or close it, then retry`);
|
|
255
|
+
for (let attempt = 0;; attempt++) {
|
|
256
|
+
try {
|
|
257
|
+
const fd = openSync(path, "wx", 0o600);
|
|
258
|
+
try {
|
|
259
|
+
writeSync(fd, body());
|
|
260
|
+
}
|
|
261
|
+
finally {
|
|
262
|
+
closeSync(fd);
|
|
263
|
+
}
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
catch (e) {
|
|
267
|
+
if (e.code !== "EEXIST")
|
|
268
|
+
throw e;
|
|
269
|
+
let h = heldBy(path);
|
|
270
|
+
if (h.held === "unless-beating") {
|
|
271
|
+
const { mtimeMs, port, raw } = h;
|
|
272
|
+
await new Promise((r) => setTimeout(r, waitMs));
|
|
273
|
+
// Touched meanwhile: its holder is running (a laptop that slept, say). Otherwise the process ID was reused.
|
|
274
|
+
h = mtimeOf(path) !== mtimeMs ? { held: true, pid: h.pid, ...(port ? { port } : {}) } : { held: false, raw };
|
|
275
|
+
}
|
|
276
|
+
if (h.held === true)
|
|
277
|
+
throw refuse(h.port);
|
|
278
|
+
if (attempt > 2 || (h.raw !== undefined && !replaceStale(path, h.raw)))
|
|
279
|
+
throw refuse();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
const ours = () => {
|
|
283
|
+
try {
|
|
284
|
+
return JSON.parse(readFileSync(path, "utf8")).token === token;
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
const beat = setInterval(() => {
|
|
291
|
+
if (!ours())
|
|
292
|
+
return;
|
|
293
|
+
try {
|
|
294
|
+
const t = new Date();
|
|
295
|
+
utimesSync(path, t, t);
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
// Gone between the check and the touch; nothing to keep alive.
|
|
299
|
+
}
|
|
300
|
+
}, beatMs);
|
|
301
|
+
beat.unref();
|
|
302
|
+
return {
|
|
303
|
+
setPort: (port) => {
|
|
304
|
+
if (ours())
|
|
305
|
+
write(port);
|
|
306
|
+
},
|
|
307
|
+
release: () => {
|
|
308
|
+
clearInterval(beat);
|
|
309
|
+
if (ours())
|
|
310
|
+
rmSync(path, { force: true });
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}
|
|
73
314
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/connect/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/connect/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { SolanaVaultEntry } from "../registry-schema.js";
|
|
2
|
+
import { type SolanaRpc } from "../solana/rpc.js";
|
|
3
|
+
import { type Settled } from "./http.js";
|
|
4
|
+
import type { Session } from "./session.js";
|
|
5
|
+
import type { Verdict } from "./verify.js";
|
|
6
|
+
export declare function solanaSignInMessage(a: {
|
|
7
|
+
address: string;
|
|
8
|
+
origin: string;
|
|
9
|
+
nonce: string;
|
|
10
|
+
issuedAt: string;
|
|
11
|
+
}): string;
|
|
12
|
+
/** Checks an ed25519 signature (base64) over `message` against the Solana address that claims it. */
|
|
13
|
+
export declare function verifySolanaSignIn(address: string, message: string, signatureBase64: string): Promise<boolean>;
|
|
14
|
+
export interface SolanaFlowDeps {
|
|
15
|
+
open: (url: string) => boolean;
|
|
16
|
+
ttlMs: number;
|
|
17
|
+
cancelGraceMs?: number;
|
|
18
|
+
/** The confirm flow's chain reads, injectable for tests. */
|
|
19
|
+
rpc?: SolanaRpc;
|
|
20
|
+
verifyOpts?: {
|
|
21
|
+
attempts?: number;
|
|
22
|
+
delayMs?: number;
|
|
23
|
+
};
|
|
24
|
+
/** Run as a plan's leg: a signature already on record for another leg of that plan is never this one's. */
|
|
25
|
+
recordedElsewhere?: (signature: string) => boolean;
|
|
26
|
+
html: (secret: string, title: string) => string;
|
|
27
|
+
csp: string;
|
|
28
|
+
assets: Record<string, {
|
|
29
|
+
type: string;
|
|
30
|
+
body: string | Buffer;
|
|
31
|
+
}>;
|
|
32
|
+
ports: readonly number[];
|
|
33
|
+
appId: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function runConnectSolana(deps: SolanaFlowDeps): Promise<{
|
|
36
|
+
result: Settled<Session>;
|
|
37
|
+
url: string;
|
|
38
|
+
opened: boolean;
|
|
39
|
+
}>;
|
|
40
|
+
/** What the operator acknowledged: the action, the vault, and its raw amount (base units in, or shares burned). */
|
|
41
|
+
export interface SolanaIntent {
|
|
42
|
+
kind: "deposit" | "withdraw";
|
|
43
|
+
vault: SolanaVaultEntry;
|
|
44
|
+
raw: bigint;
|
|
45
|
+
/** A withdrawal by amount: the asset's base units the operator acknowledged (`raw` is the shares worth them). */
|
|
46
|
+
assets?: bigint;
|
|
47
|
+
}
|
|
48
|
+
export interface SolanaTxOutcome extends Verdict {
|
|
49
|
+
step: 1;
|
|
50
|
+
description: string;
|
|
51
|
+
hash: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Did the transaction land, and do the account's own balances say it did what was acknowledged? Read from the
|
|
55
|
+
* signature's status and the transaction's token-balance records — not from the wallet's word, and not from
|
|
56
|
+
* a blockhash-expiry wait: a wallet can report "block height exceeded" for a transaction that in fact landed.
|
|
57
|
+
*/
|
|
58
|
+
export declare function verifySolanaLanded(rpc: SolanaRpc, signature: string, intent: SolanaIntent, account: string, opts: {
|
|
59
|
+
attempts?: number;
|
|
60
|
+
delayMs?: number;
|
|
61
|
+
deadline: number;
|
|
62
|
+
built: ReadonlySet<string>;
|
|
63
|
+
simulated?: ReadonlyMap<string, bigint>;
|
|
64
|
+
}): Promise<Verdict>;
|
|
65
|
+
/** Builds the intent's transaction now, holds it to the intent through the gate, and simulates it. */
|
|
66
|
+
export declare function buildForIntent(rpc: SolanaRpc, intent: SolanaIntent, account: string): Promise<{
|
|
67
|
+
wire: string;
|
|
68
|
+
expiresAfterBlockHeight: string;
|
|
69
|
+
blockhash: string;
|
|
70
|
+
received?: bigint;
|
|
71
|
+
}>;
|
|
72
|
+
/** One Solana intent's confirm core: the build at the operator's press, and the verdict on what landed, without the page around it. */
|
|
73
|
+
export interface SolanaConfirmCore {
|
|
74
|
+
done: SolanaTxOutcome[];
|
|
75
|
+
stopReason: () => string | undefined;
|
|
76
|
+
info: () => Record<string, unknown>;
|
|
77
|
+
/** Builds the transaction now (a fresh blockhash), held to the intent by the gate and simulated: what the page hands the wallet. */
|
|
78
|
+
build: () => Promise<{
|
|
79
|
+
ok: false;
|
|
80
|
+
reason: string;
|
|
81
|
+
} | {
|
|
82
|
+
ok: true;
|
|
83
|
+
reply: Record<string, unknown>;
|
|
84
|
+
}>;
|
|
85
|
+
/** Records the signature, reads what landed, and says whether it matched. */
|
|
86
|
+
accept: (signature: unknown) => Promise<{
|
|
87
|
+
ok: false;
|
|
88
|
+
reason: string;
|
|
89
|
+
} | {
|
|
90
|
+
ok: true;
|
|
91
|
+
kind: "finished" | "stop";
|
|
92
|
+
reply: Record<string, unknown>;
|
|
93
|
+
}>;
|
|
94
|
+
/** Puts a signature the page could not hand over on record. */
|
|
95
|
+
onReject: (body: Record<string, unknown>) => void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The confirm flow on Solana without its page. The caller runs the gate first (`buildForIntent`), before any page
|
|
99
|
+
* opens or leg starts; the transaction the wallet gets is built again at the operator's press (`build`), and only a
|
|
100
|
+
* signature for a transaction built here, for this intent, can verify. `deadline`: when every chain read stops waiting.
|
|
101
|
+
*/
|
|
102
|
+
export declare function prepareConfirmSolana(intent: SolanaIntent, session: Session, rpc: SolanaRpc, verifyOpts: SolanaFlowDeps["verifyOpts"], deadline: number,
|
|
103
|
+
/** A plan's earlier steps: a signature already on record for one of them is never this step's transaction. */
|
|
104
|
+
recordedElsewhere?: (signature: string) => boolean): Promise<SolanaConfirmCore>;
|
|
105
|
+
export declare function runConfirmSolana(intent: SolanaIntent, session: Session, deps: SolanaFlowDeps): Promise<{
|
|
106
|
+
result: Settled<SolanaTxOutcome[]>;
|
|
107
|
+
url: string;
|
|
108
|
+
opened: boolean;
|
|
109
|
+
done: SolanaTxOutcome[];
|
|
110
|
+
total: number;
|
|
111
|
+
stopReason?: string;
|
|
112
|
+
}>;
|