@temporalabs/treasury 0.1.3 → 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/dist/client.d.ts CHANGED
@@ -1,312 +1,11 @@
1
1
  import { type HttpTransport, type PublicClient } from "viem";
2
+ import { arbitrum, base, mainnet, monad, robinhood } from "viem/chains";
2
3
  export declare const chains: {
3
- readonly 8453: {
4
- blockExplorers: {
5
- readonly default: {
6
- readonly name: "Basescan";
7
- readonly url: "https://basescan.org";
8
- readonly apiUrl: "https://api.basescan.org/api";
9
- };
10
- };
11
- blockTime: 2000;
12
- contracts: {
13
- readonly disputeGameFactory: {
14
- readonly 1: {
15
- readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
16
- };
17
- };
18
- readonly l2OutputOracle: {
19
- readonly 1: {
20
- readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
21
- };
22
- };
23
- readonly multicall3: {
24
- readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
25
- readonly blockCreated: 5022;
26
- };
27
- readonly portal: {
28
- readonly 1: {
29
- readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
30
- readonly blockCreated: 17482143;
31
- };
32
- };
33
- readonly l1StandardBridge: {
34
- readonly 1: {
35
- readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
36
- readonly blockCreated: 17482143;
37
- };
38
- };
39
- readonly gasPriceOracle: {
40
- readonly address: "0x420000000000000000000000000000000000000F";
41
- };
42
- readonly l1Block: {
43
- readonly address: "0x4200000000000000000000000000000000000015";
44
- };
45
- readonly l2CrossDomainMessenger: {
46
- readonly address: "0x4200000000000000000000000000000000000007";
47
- };
48
- readonly l2Erc721Bridge: {
49
- readonly address: "0x4200000000000000000000000000000000000014";
50
- };
51
- readonly l2StandardBridge: {
52
- readonly address: "0x4200000000000000000000000000000000000010";
53
- };
54
- readonly l2ToL1MessagePasser: {
55
- readonly address: "0x4200000000000000000000000000000000000016";
56
- };
57
- };
58
- ensTlds?: readonly string[] | undefined;
59
- id: 8453;
60
- name: "Base";
61
- nativeCurrency: {
62
- readonly name: "Ether";
63
- readonly symbol: "ETH";
64
- readonly decimals: 18;
65
- };
66
- experimental_preconfirmationTime?: number | undefined | undefined;
67
- rpcUrls: {
68
- readonly default: {
69
- readonly http: readonly ["https://mainnet.base.org"];
70
- };
71
- };
72
- sourceId: 1;
73
- supportsTransactionReplacementDetection?: boolean | undefined | undefined;
74
- testnet?: boolean | undefined | undefined;
75
- custom?: Record<string, unknown> | undefined;
76
- extendSchema?: Record<string, unknown> | undefined;
77
- fees?: import("viem").ChainFees<undefined> | undefined;
78
- formatters: {
79
- readonly block: {
80
- exclude: [] | undefined;
81
- format: (args: import("viem/chains").OpStackRpcBlock, action?: string | undefined) => import("viem/chains").OpStackBlock;
82
- type: "block";
83
- };
84
- readonly transaction: {
85
- exclude: [] | undefined;
86
- format: (args: import("viem/chains").OpStackRpcTransaction, action?: string | undefined) => import("viem/chains").OpStackTransaction;
87
- type: "transaction";
88
- };
89
- readonly transactionReceipt: {
90
- exclude: [] | undefined;
91
- format: (args: import("viem/chains").OpStackRpcTransactionReceipt, action?: string | undefined) => import("viem/chains").OpStackTransactionReceipt;
92
- type: "transactionReceipt";
93
- };
94
- };
95
- prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
96
- client: import("viem").Client;
97
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
98
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
99
- client: import("viem").Client;
100
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
101
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
102
- runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
103
- }] | undefined;
104
- serializers: {
105
- readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
106
- };
107
- verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
108
- };
109
- readonly 42161: {
110
- blockExplorers: {
111
- readonly default: {
112
- readonly name: "Arbiscan";
113
- readonly url: "https://arbiscan.io";
114
- readonly apiUrl: "https://api.arbiscan.io/api";
115
- };
116
- };
117
- blockTime: 250;
118
- contracts: {
119
- readonly multicall3: {
120
- readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
121
- readonly blockCreated: 7654707;
122
- };
123
- };
124
- ensTlds?: readonly string[] | undefined;
125
- id: 42161;
126
- name: "Arbitrum One";
127
- nativeCurrency: {
128
- readonly name: "Ether";
129
- readonly symbol: "ETH";
130
- readonly decimals: 18;
131
- };
132
- experimental_preconfirmationTime?: number | undefined | undefined;
133
- rpcUrls: {
134
- readonly default: {
135
- readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
136
- };
137
- };
138
- sourceId?: number | undefined | undefined;
139
- supportsTransactionReplacementDetection?: boolean | undefined | undefined;
140
- testnet?: boolean | undefined | undefined;
141
- custom?: Record<string, unknown> | undefined;
142
- extendSchema?: Record<string, unknown> | undefined;
143
- fees?: import("viem").ChainFees<undefined> | undefined;
144
- formatters?: undefined;
145
- prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
146
- client: import("viem").Client;
147
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
148
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
149
- client: import("viem").Client;
150
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
151
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
152
- runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
153
- }] | undefined;
154
- serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
155
- verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
156
- };
157
- readonly 4663: {
158
- blockExplorers: {
159
- readonly default: {
160
- readonly name: "Blockscout";
161
- readonly url: "https://robinhoodchain.blockscout.com";
162
- readonly apiUrl: "https://robinhoodchain.blockscout.com/api";
163
- };
164
- };
165
- blockTime: 100;
166
- contracts: {
167
- readonly multicall3: {
168
- readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
169
- };
170
- };
171
- ensTlds?: readonly string[] | undefined;
172
- id: 4663;
173
- name: "Robinhood Chain";
174
- nativeCurrency: {
175
- readonly name: "Ether";
176
- readonly symbol: "ETH";
177
- readonly decimals: 18;
178
- };
179
- experimental_preconfirmationTime?: number | undefined | undefined;
180
- rpcUrls: {
181
- readonly default: {
182
- readonly http: readonly ["https://rpc.mainnet.chain.robinhood.com", "https://rpc.ordofi.network"];
183
- readonly webSocket: readonly ["wss://rpc.ordofi.network"];
184
- };
185
- };
186
- sourceId?: number | undefined | undefined;
187
- supportsTransactionReplacementDetection?: boolean | undefined | undefined;
188
- testnet?: boolean | undefined | undefined;
189
- custom?: Record<string, unknown> | undefined;
190
- extendSchema?: Record<string, unknown> | undefined;
191
- fees?: import("viem").ChainFees<undefined> | undefined;
192
- formatters?: undefined;
193
- prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
194
- client: import("viem").Client;
195
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
196
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
197
- client: import("viem").Client;
198
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
199
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
200
- runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
201
- }] | undefined;
202
- serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
203
- verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
204
- };
205
- readonly 1: {
206
- blockExplorers: {
207
- readonly default: {
208
- readonly name: "Etherscan";
209
- readonly url: "https://etherscan.io";
210
- readonly apiUrl: "https://api.etherscan.io/api";
211
- };
212
- };
213
- blockTime: 12000;
214
- contracts: {
215
- readonly ensUniversalResolver: {
216
- readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
217
- readonly blockCreated: 23085558;
218
- };
219
- readonly multicall3: {
220
- readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
221
- readonly blockCreated: 14353601;
222
- };
223
- };
224
- ensTlds?: readonly string[] | undefined;
225
- id: 1;
226
- name: "Ethereum";
227
- nativeCurrency: {
228
- readonly name: "Ether";
229
- readonly symbol: "ETH";
230
- readonly decimals: 18;
231
- };
232
- experimental_preconfirmationTime?: number | undefined | undefined;
233
- rpcUrls: {
234
- readonly default: {
235
- readonly http: readonly ["https://ethereum.reth.rs/rpc"];
236
- };
237
- };
238
- sourceId?: number | undefined | undefined;
239
- supportsTransactionReplacementDetection?: boolean | undefined | undefined;
240
- testnet?: boolean | undefined | undefined;
241
- custom?: Record<string, unknown> | undefined;
242
- extendSchema?: Record<string, unknown> | undefined;
243
- fees?: import("viem").ChainFees<undefined> | undefined;
244
- formatters?: undefined;
245
- prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
246
- client: import("viem").Client;
247
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
248
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
249
- client: import("viem").Client;
250
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
251
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
252
- runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
253
- }] | undefined;
254
- serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
255
- verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
256
- };
257
- readonly 143: {
258
- blockExplorers: {
259
- readonly default: {
260
- readonly name: "Monadscan";
261
- readonly url: "https://monadscan.com";
262
- readonly apiUrl: "https://api.etherscan.io/v2/api?chainid=143";
263
- };
264
- readonly monadvision: {
265
- readonly name: "MonadVision";
266
- readonly url: "https://monadvision.com";
267
- };
268
- };
269
- blockTime: 400;
270
- contracts: {
271
- readonly multicall3: {
272
- readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
273
- readonly blockCreated: 9248132;
274
- };
275
- };
276
- ensTlds?: readonly string[] | undefined;
277
- id: 143;
278
- name: "Monad";
279
- nativeCurrency: {
280
- readonly name: "Monad";
281
- readonly symbol: "MON";
282
- readonly decimals: 18;
283
- };
284
- experimental_preconfirmationTime?: number | undefined | undefined;
285
- rpcUrls: {
286
- readonly default: {
287
- readonly http: readonly ["https://rpc.monad.xyz", "https://rpc1.monad.xyz"];
288
- readonly webSocket: readonly ["wss://rpc.monad.xyz", "wss://rpc1.monad.xyz"];
289
- };
290
- };
291
- sourceId?: number | undefined | undefined;
292
- supportsTransactionReplacementDetection?: boolean | undefined | undefined;
293
- testnet: false;
294
- custom?: Record<string, unknown> | undefined;
295
- extendSchema?: Record<string, unknown> | undefined;
296
- fees?: import("viem").ChainFees<undefined> | undefined;
297
- formatters?: undefined;
298
- prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
299
- client: import("viem").Client;
300
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
301
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
302
- client: import("viem").Client;
303
- phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
304
- }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
305
- runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
306
- }] | undefined;
307
- serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
308
- verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
309
- };
4
+ readonly 8453: typeof base;
5
+ readonly 42161: typeof arbitrum;
6
+ readonly 4663: typeof robinhood;
7
+ readonly 1: typeof mainnet;
8
+ readonly 143: typeof monad;
310
9
  };
311
10
  export type SupportedChainId = keyof typeof chains;
312
11
  export declare function isSupportedChainId(id: number): id is SupportedChainId;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -74,3 +74,73 @@ export declare function summarize(action: "deposit" | "withdraw", calls: Unsigne
74
74
  export declare function summarizeSolana(action: "deposit" | "withdraw", v: SolanaVaultEntry, amountText: string, account: string): AckSummary;
75
75
  /** The text the operator reads. Generated, never paraphrased: the same calls always produce the same words. */
76
76
  export declare function acknowledgementText(s: AckSummary): string;
77
+ /**
78
+ * A plan: one acknowledgement for several deposits and withdrawals, across vaults and chains (`connect plan`).
79
+ *
80
+ * Each leg is bound to the same digest its own `--ack` would be (`callsDigest`, `solanaIntentDigest`), so a
81
+ * leg run rebuilds its calls exactly as a single acknowledgement does and is held to them. The plan's code
82
+ * is spent leg by leg, in order: a leg that does not complete ends the plan, and the legs after it never run.
83
+ */
84
+ export declare const PLAN_TTL_MS: number;
85
+ /** Past this many legs, the operator is better served by more than one plan. */
86
+ export declare const PLAN_MAX_LEGS = 8;
87
+ export type PlanLegStatus = "pending" | "running" | "completed" | "stopped" | "not_reported";
88
+ export interface PlanLeg {
89
+ leg: number;
90
+ action: "deposit" | "withdraw";
91
+ vault: string;
92
+ chain: string;
93
+ amount: string;
94
+ digest: string;
95
+ /** The exact command that runs this leg once the plan is acknowledged. */
96
+ command: string;
97
+ /** What that command builds the leg's calls from: how `connect plan --run` rebuilds them for its one page. */
98
+ args?: PlanLegArgs;
99
+ status: PlanLegStatus;
100
+ txs?: PlanTx[];
101
+ reason?: string;
102
+ }
103
+ /** A leg's transaction as the plan keeps it: its hash, its verdict, and anything else the wallet moved with it. */
104
+ export interface PlanTx {
105
+ hash: string;
106
+ verified: string;
107
+ alsoMoved?: {
108
+ to: string;
109
+ amountRaw: string;
110
+ }[];
111
+ }
112
+ export interface PlanLegArgs {
113
+ vault: string;
114
+ receiver: string;
115
+ amount_usdc?: string;
116
+ all?: boolean;
117
+ shares_exact?: string;
118
+ }
119
+ export interface PendingPlan {
120
+ code: string;
121
+ issuedAtIso: string;
122
+ expiresAtIso: string;
123
+ acknowledged: boolean;
124
+ legs: PlanLeg[];
125
+ /**
126
+ * The one page `connect plan --run` serves for this plan: its secret and port, kept so a run that stops at the
127
+ * shell's time limit and the run after it serve the same page, and the operator's open tab carries on.
128
+ */
129
+ page?: {
130
+ secret: string;
131
+ port: number;
132
+ };
133
+ }
134
+ /** What a plan IS: its legs' digests, in order. Reordering, adding or dropping a leg changes it. */
135
+ export declare function planDigest(digests: string[]): string;
136
+ export declare function issuePlan(legs: Omit<PlanLeg, "status">[], now: Date): PendingPlan;
137
+ export declare const planExpired: (p: PendingPlan, now: Date) => boolean;
138
+ /** Throws unless `code` names the pending plan, it is unexpired and not yet acknowledged, and its legs are exactly `digests`. */
139
+ export declare function checkPlanAck(code: string, plan: PendingPlan | undefined, digests: string[], now: Date): void;
140
+ /**
141
+ * Throws unless leg `leg` of the acknowledged plan `code` may run now, for exactly `digest`: the plan is
142
+ * acknowledged and unexpired, every earlier leg completed, and this leg has not run. Returns its index.
143
+ */
144
+ export declare function checkPlanLeg(code: string, leg: number, plan: PendingPlan | undefined, digest: string, now: Date): number;
145
+ /** The text the operator reads for a plan: every leg, then each warning and the disclosures once. */
146
+ export declare function planAcknowledgementText(legs: AckSummary[], totals: string[]): string;
@@ -144,4 +144,139 @@ export function acknowledgementText(s) {
144
144
  `Do you acknowledge and want the signing page opened for exactly this ${s.action}? Reply yes or no.`,
145
145
  ].join("\n");
146
146
  }
147
+ /**
148
+ * A plan: one acknowledgement for several deposits and withdrawals, across vaults and chains (`connect plan`).
149
+ *
150
+ * Each leg is bound to the same digest its own `--ack` would be (`callsDigest`, `solanaIntentDigest`), so a
151
+ * leg run rebuilds its calls exactly as a single acknowledgement does and is held to them. The plan's code
152
+ * is spent leg by leg, in order: a leg that does not complete ends the plan, and the legs after it never run.
153
+ */
154
+ export const PLAN_TTL_MS = 60 * 60_000;
155
+ /** Past this many legs, the operator is better served by more than one plan. */
156
+ export const PLAN_MAX_LEGS = 8;
157
+ /** What a plan IS: its legs' digests, in order. Reordering, adding or dropping a leg changes it. */
158
+ export function planDigest(digests) {
159
+ return keccak256(stringToHex(JSON.stringify(["plan", digests])));
160
+ }
161
+ export function issuePlan(legs, now) {
162
+ const a = issueAckForDigest(planDigest(legs.map((l) => l.digest)), now);
163
+ return {
164
+ code: a.code,
165
+ issuedAtIso: a.issuedAtIso,
166
+ expiresAtIso: new Date(now.getTime() + PLAN_TTL_MS).toISOString(),
167
+ acknowledged: false,
168
+ legs: legs.map((l) => ({ ...l, status: "pending" })),
169
+ };
170
+ }
171
+ export const planExpired = (p, now) => {
172
+ const expires = Date.parse(p.expiresAtIso);
173
+ // A missing or unreadable expiry counts as expired, never as no expiry.
174
+ return !Number.isFinite(expires) || now.getTime() > expires;
175
+ };
176
+ /** Throws unless `code` names the pending plan, it is unexpired and not yet acknowledged, and its legs are exactly `digests`. */
177
+ export function checkPlanAck(code, plan, digests, now) {
178
+ const again = "run the same `connect plan` without --ack, post its `acknowledgement` to the operator, and wait for their yes";
179
+ if (!plan)
180
+ throw new Error(`refused: no plan is pending; ${again}`);
181
+ if (code.trim().toLowerCase() !== plan.code)
182
+ throw new Error(`refused: --ack ${code} is not the pending plan's code; ${again}`);
183
+ if (planExpired(plan, now))
184
+ throw new Error(`refused: the plan expired at ${plan.expiresAtIso}; ${again}`);
185
+ if (plan.acknowledged)
186
+ throw new Error(`refused: this plan was already acknowledged; run its legs (\`connect plan --status\` lists them)`);
187
+ if (planDigest(digests) !== planDigest(plan.legs.map((l) => l.digest))) {
188
+ throw new Error(`refused: these legs are not the ones the operator acknowledged (a leg, its order, amount, vault, or a share balance changed); ${again}`);
189
+ }
190
+ }
191
+ /**
192
+ * Throws unless leg `leg` of the acknowledged plan `code` may run now, for exactly `digest`: the plan is
193
+ * acknowledged and unexpired, every earlier leg completed, and this leg has not run. Returns its index.
194
+ */
195
+ export function checkPlanLeg(code, leg, plan, digest, now) {
196
+ const again = "acknowledge a new plan with `connect plan`";
197
+ if (!plan)
198
+ throw new Error(`refused: no plan is pending; ${again}`);
199
+ if (code.trim().toLowerCase() !== plan.code)
200
+ throw new Error(`refused: --plan ${code} is not the pending plan's code; ${again}`);
201
+ if (!plan.acknowledged)
202
+ throw new Error(`refused: plan ${plan.code} has not been acknowledged; post its acknowledgement and, on the operator's yes, run \`connect plan\` with --ack ${plan.code}`);
203
+ if (planExpired(plan, now))
204
+ throw new Error(`refused: the plan expired at ${plan.expiresAtIso}; legs that have not started do not run; ${again}`);
205
+ const i = plan.legs.findIndex((l) => l.leg === leg);
206
+ if (i < 0)
207
+ throw new Error(`refused: plan ${plan.code} has no leg ${leg}; it has legs 1 to ${plan.legs.length}`);
208
+ const ended = plan.legs.find((l) => l.status !== "pending" && l.status !== "completed");
209
+ if (ended && ended.leg !== leg) {
210
+ throw new Error(ended.status === "running"
211
+ ? `refused: leg ${ended.leg} is still running, or its run never finished; no later leg runs until it has completed`
212
+ : `refused: the plan ended at leg ${ended.leg} (${ended.status}), so no later leg runs; ${again}`);
213
+ }
214
+ if (plan.legs[i].status !== "pending")
215
+ throw new Error(`refused: leg ${leg} has already run (${plan.legs[i].status})`);
216
+ const before = plan.legs.slice(0, i).find((l) => l.status !== "completed");
217
+ if (before)
218
+ throw new Error(`refused: legs run in order, and leg ${before.leg} has not completed; run it first`);
219
+ if (digest !== plan.legs[i].digest) {
220
+ throw new Error(`refused: these calls are not leg ${leg} as the operator acknowledged it (the amount, vault, chain, receiver or connected account changed); ${again}`);
221
+ }
222
+ return i;
223
+ }
224
+ /** The text the operator reads for a plan: every leg, then each warning and the disclosures once. */
225
+ export function planAcknowledgementText(legs, totals) {
226
+ const n = legs.length;
227
+ // One warning per text, naming every vault it covers. A withdrawal's warning is the deposit's without its advice on
228
+ // how much to deposit (`operatorWarning`), so the two are one warning, with that advice named for the deposits only.
229
+ const advice = (w) => w.match(/Deposit only .*?\.(?=\s|$)/g)?.join(" ") ?? "";
230
+ const warnings = [];
231
+ for (const s of legs) {
232
+ const base = operatorWarning(s.warning, "withdraw");
233
+ const w = warnings.find((x) => x.text === base) ?? warnings[warnings.push({ text: base, vaults: [], advice: "", depositVaults: [] }) - 1];
234
+ if (!w.vaults.includes(s.vault.symbol))
235
+ w.vaults.push(s.vault.symbol);
236
+ if (s.action === "deposit" && advice(s.warning)) {
237
+ w.advice = advice(s.warning);
238
+ if (!w.depositVaults.includes(s.vault.symbol))
239
+ w.depositVaults.push(s.vault.symbol);
240
+ }
241
+ }
242
+ const several = new Set(legs.map((s) => s.vault.symbol)).size > 1;
243
+ const fees = DISCLOSURES.plain.deposit.find((d) => d.startsWith("Tempora Labs runs this vault"));
244
+ const disclosures = [...new Set(legs.flatMap((s) => s.disclosures))].map((d) => (several && d === fees ? DISCLOSURES.plain.feesSeveral : d));
245
+ const minutes = Math.round(PLAN_TTL_MS / 60_000);
246
+ const legLines = legs.flatMap((s, i) => {
247
+ const lands = s.action === "deposit" ? "Shares go to" : `${s.asset} goes to`;
248
+ const prompts = s.prompts ??
249
+ (s.action === "deposit"
250
+ ? `Your wallet will ask you twice: first to approve ${s.amount} to the vault, then to make the deposit.`
251
+ : `Your wallet will ask you once, to make the withdrawal.`);
252
+ return [
253
+ ` ${i + 1}. ${s.action === "deposit" ? "Deposit" : "Withdraw"}: ${s.amount}`,
254
+ s.chainId === null ? ` Chain: ${s.chain} (mainnet-beta)` : ` Chain: ${s.chain} (chainId ${s.chainId})`,
255
+ ` Vault: ${s.vault.name} (${s.vault.symbol})`,
256
+ ` ${s.vault.explorer}`,
257
+ ` ${lands}: ${s.receiver} (the connected wallet)`,
258
+ ` ${prompts}`,
259
+ ``,
260
+ ];
261
+ });
262
+ return [
263
+ `Confirm before any signing page opens. Nothing has been sent.`,
264
+ ``,
265
+ `This plan has ${n} ${n === 1 ? "leg" : "legs"}, run in this order on one signing page, where your wallet asks you to confirm each transaction. If a leg does not complete, the legs after it do not run.`,
266
+ `The plan lasts ${minutes} minutes: a leg not started by then does not run, and connecting a wallet again cancels it. To stop partway, reject a transaction in your wallet, or stop the plan on the signing page; the legs after it then do not run.`,
267
+ ``,
268
+ ...legLines,
269
+ ...(totals.length ? [`In total: ${totals.join("; ")}.`, ``] : []),
270
+ ...warnings.flatMap((w) => [
271
+ `WARNING (${w.vaults.join(", ")}): ${w.text}`,
272
+ ...(w.advice ? [` For the ${w.depositVaults.length === 1 ? "deposit" : "deposits"} (${w.depositVaults.join(", ")}): ${w.advice}`] : []),
273
+ ]),
274
+ ``,
275
+ `Before you agree:`,
276
+ ...disclosures.map((d) => ` - ${d}`),
277
+ ` ${DISCLOSURES.plain.fullTerms}`,
278
+ ``,
279
+ `Do you acknowledge and want the signing page opened for exactly these ${n} ${n === 1 ? "leg" : "legs"}, run one leg at a time? Reply yes or no.`,
280
+ ].join("\n");
281
+ }
147
282
  //# sourceMappingURL=ack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ack.js","sourceRoot":"","sources":["../../src/connect/ack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ack.js","sourceRoot":"","sources":["../../src/connect/ack.ts"],"names":[],"mappings":"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"}