@intent-engine/cli 0.1.41 → 0.1.43

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.
Files changed (184) hide show
  1. package/dist/src/accounts.d.ts +4 -2
  2. package/dist/src/accounts.js +5 -4
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/add-to.js +2 -2
  5. package/dist/src/add-to.js.map +1 -1
  6. package/dist/src/admin-commands.d.ts +22 -1
  7. package/dist/src/admin-commands.js +44 -12
  8. package/dist/src/admin-commands.js.map +1 -1
  9. package/dist/src/agent/actions.d.ts +1 -0
  10. package/dist/src/agent/actions.js +15 -1
  11. package/dist/src/agent/actions.js.map +1 -1
  12. package/dist/src/agent/budget.d.ts +5 -5
  13. package/dist/src/agent/budget.js +26 -6
  14. package/dist/src/agent/budget.js.map +1 -1
  15. package/dist/src/agent/claims.d.ts +2 -1
  16. package/dist/src/agent/claims.js +1 -1
  17. package/dist/src/agent/claims.js.map +1 -1
  18. package/dist/src/agent/create.d.ts +16 -7
  19. package/dist/src/agent/create.js +25 -3
  20. package/dist/src/agent/create.js.map +1 -1
  21. package/dist/src/agent/jobs.js +11 -4
  22. package/dist/src/agent/jobs.js.map +1 -1
  23. package/dist/src/agent/mandate-agent.js +3 -2
  24. package/dist/src/agent/mandate-agent.js.map +1 -1
  25. package/dist/src/agent/mandate-revoke.js +1 -1
  26. package/dist/src/agent/mandate-revoke.js.map +1 -1
  27. package/dist/src/agent/owner.js +4 -2
  28. package/dist/src/agent/owner.js.map +1 -1
  29. package/dist/src/agent/prepare.d.ts +1 -1
  30. package/dist/src/agent/prepare.js +9 -2
  31. package/dist/src/agent/prepare.js.map +1 -1
  32. package/dist/src/agent/problems.d.ts +22 -0
  33. package/dist/src/agent/problems.js +33 -5
  34. package/dist/src/agent/problems.js.map +1 -1
  35. package/dist/src/agent/profile.d.ts +1 -0
  36. package/dist/src/agent/profile.js +30 -5
  37. package/dist/src/agent/profile.js.map +1 -1
  38. package/dist/src/agent/read.js +3 -4
  39. package/dist/src/agent/read.js.map +1 -1
  40. package/dist/src/agent/reputation.js +16 -7
  41. package/dist/src/agent/reputation.js.map +1 -1
  42. package/dist/src/agent/sales.js +17 -23
  43. package/dist/src/agent/sales.js.map +1 -1
  44. package/dist/src/agent/settle.js +1 -0
  45. package/dist/src/agent/settle.js.map +1 -1
  46. package/dist/src/agent/signed-prepare.js +3 -2
  47. package/dist/src/agent/signed-prepare.js.map +1 -1
  48. package/dist/src/agent/signed-relay.d.ts +1 -1
  49. package/dist/src/agent/signed-relay.js +2 -1
  50. package/dist/src/agent/signed-relay.js.map +1 -1
  51. package/dist/src/agent/signed-submit.js +7 -5
  52. package/dist/src/agent/signed-submit.js.map +1 -1
  53. package/dist/src/agent/signed-terms.d.ts +1 -5
  54. package/dist/src/agent/spec.js +16 -4
  55. package/dist/src/agent/spec.js.map +1 -1
  56. package/dist/src/agent/wallet/account.js +2 -1
  57. package/dist/src/agent/wallet/account.js.map +1 -1
  58. package/dist/src/agent/wallet/attest.d.ts +2 -0
  59. package/dist/src/agent/wallet/attest.js +46 -24
  60. package/dist/src/agent/wallet/attest.js.map +1 -1
  61. package/dist/src/agent/wallet/committee.js +29 -17
  62. package/dist/src/agent/wallet/committee.js.map +1 -1
  63. package/dist/src/agent/wallet/delivery.d.ts +4 -1
  64. package/dist/src/agent/wallet/delivery.js +80 -23
  65. package/dist/src/agent/wallet/delivery.js.map +1 -1
  66. package/dist/src/agent/wallet/escrow.js +9 -4
  67. package/dist/src/agent/wallet/escrow.js.map +1 -1
  68. package/dist/src/agent/wallet/fills.js +4 -3
  69. package/dist/src/agent/wallet/fills.js.map +1 -1
  70. package/dist/src/agent/wallet/guard.d.ts +32 -0
  71. package/dist/src/agent/wallet/guard.js +131 -9
  72. package/dist/src/agent/wallet/guard.js.map +1 -1
  73. package/dist/src/agent/wallet/history.js +2 -2
  74. package/dist/src/agent/wallet/history.js.map +1 -1
  75. package/dist/src/agent/wallet/offer.d.ts +18 -0
  76. package/dist/src/agent/wallet/offer.js +2 -1
  77. package/dist/src/agent/wallet/offer.js.map +1 -1
  78. package/dist/src/agent/wallet/openings.d.ts +37 -0
  79. package/dist/src/agent/wallet/openings.js +73 -0
  80. package/dist/src/agent/wallet/openings.js.map +1 -0
  81. package/dist/src/agent/wallet/receipt.d.ts +6 -0
  82. package/dist/src/agent/wallet/receipt.js +21 -3
  83. package/dist/src/agent/wallet/receipt.js.map +1 -1
  84. package/dist/src/agent/wallet/record.d.ts +3 -2
  85. package/dist/src/agent/wallet/record.js +16 -10
  86. package/dist/src/agent/wallet/record.js.map +1 -1
  87. package/dist/src/agent/wallet/split.d.ts +1 -0
  88. package/dist/src/agent/wallet/split.js +84 -57
  89. package/dist/src/agent/wallet/split.js.map +1 -1
  90. package/dist/src/agent/wallet/trade.js +2 -1
  91. package/dist/src/agent/wallet/trade.js.map +1 -1
  92. package/dist/src/agent/wallet/unwrap.js +2 -1
  93. package/dist/src/agent/wallet/unwrap.js.map +1 -1
  94. package/dist/src/agent/work-claims.js +16 -6
  95. package/dist/src/agent/work-claims.js.map +1 -1
  96. package/dist/src/arg-admin.d.ts +1 -1
  97. package/dist/src/arg-admin.js +4 -0
  98. package/dist/src/arg-admin.js.map +1 -1
  99. package/dist/src/arg-options.d.ts +70 -2
  100. package/dist/src/arg-options.js +39 -10
  101. package/dist/src/arg-options.js.map +1 -1
  102. package/dist/src/arg-solve.d.ts +6 -0
  103. package/dist/src/arg-solve.js +46 -1
  104. package/dist/src/arg-solve.js.map +1 -1
  105. package/dist/src/arg-usage.d.ts +2 -2
  106. package/dist/src/arg-usage.js +14 -10
  107. package/dist/src/arg-usage.js.map +1 -1
  108. package/dist/src/arg-values.d.ts +20 -1
  109. package/dist/src/arg-values.js +72 -2
  110. package/dist/src/arg-values.js.map +1 -1
  111. package/dist/src/args.d.ts +4 -1
  112. package/dist/src/args.js +39 -9
  113. package/dist/src/args.js.map +1 -1
  114. package/dist/src/claim-commands.d.ts +6 -2
  115. package/dist/src/claim-commands.js +115 -6
  116. package/dist/src/claim-commands.js.map +1 -1
  117. package/dist/src/clusters.d.ts +1 -0
  118. package/dist/src/clusters.js +1 -0
  119. package/dist/src/clusters.js.map +1 -1
  120. package/dist/src/command-types.d.ts +65 -1
  121. package/dist/src/commands.js +40 -8
  122. package/dist/src/commands.js.map +1 -1
  123. package/dist/src/committee-commands.d.ts +13 -2
  124. package/dist/src/committee-commands.js +58 -11
  125. package/dist/src/committee-commands.js.map +1 -1
  126. package/dist/src/crank.d.ts +3 -3
  127. package/dist/src/crank.js +11 -9
  128. package/dist/src/crank.js.map +1 -1
  129. package/dist/src/float-commands.d.ts +17 -0
  130. package/dist/src/float-commands.js +94 -0
  131. package/dist/src/float-commands.js.map +1 -0
  132. package/dist/src/flow-commands.js +2 -2
  133. package/dist/src/flow-commands.js.map +1 -1
  134. package/dist/src/flows.d.ts +2 -2
  135. package/dist/src/flows.js +8 -2
  136. package/dist/src/flows.js.map +1 -1
  137. package/dist/src/job-args.js +16 -3
  138. package/dist/src/job-args.js.map +1 -1
  139. package/dist/src/job-commands.js +40 -10
  140. package/dist/src/job-commands.js.map +1 -1
  141. package/dist/src/job-filters.d.ts +15 -3
  142. package/dist/src/job-filters.js +31 -6
  143. package/dist/src/job-filters.js.map +1 -1
  144. package/dist/src/judge-digest.d.ts +7 -0
  145. package/dist/src/judge-digest.js +27 -0
  146. package/dist/src/judge-digest.js.map +1 -0
  147. package/dist/src/judge-watch.js +16 -6
  148. package/dist/src/judge-watch.js.map +1 -1
  149. package/dist/src/judge.d.ts +18 -1
  150. package/dist/src/judge.js +87 -17
  151. package/dist/src/judge.js.map +1 -1
  152. package/dist/src/ledger-keys.d.ts +4 -1
  153. package/dist/src/ledger-keys.js +21 -5
  154. package/dist/src/ledger-keys.js.map +1 -1
  155. package/dist/src/legacy-commands.d.ts +8 -0
  156. package/dist/src/legacy-commands.js +94 -0
  157. package/dist/src/legacy-commands.js.map +1 -0
  158. package/dist/src/main.d.ts +3 -0
  159. package/dist/src/main.js +5 -0
  160. package/dist/src/main.js.map +1 -1
  161. package/dist/src/migrate-commands.d.ts +10 -0
  162. package/dist/src/migrate-commands.js +127 -0
  163. package/dist/src/migrate-commands.js.map +1 -0
  164. package/dist/src/monitor.d.ts +5 -1
  165. package/dist/src/monitor.js +31 -4
  166. package/dist/src/monitor.js.map +1 -1
  167. package/dist/src/release-simulation.d.ts +3 -2
  168. package/dist/src/release-simulation.js +1 -0
  169. package/dist/src/release-simulation.js.map +1 -1
  170. package/dist/src/sealed-commands.d.ts +6 -0
  171. package/dist/src/sealed-commands.js +19 -1
  172. package/dist/src/sealed-commands.js.map +1 -1
  173. package/dist/src/solve-commands.d.ts +3 -1
  174. package/dist/src/solve-commands.js +31 -4
  175. package/dist/src/solve-commands.js.map +1 -1
  176. package/dist/src/trust-args.d.ts +5 -3
  177. package/dist/src/trust-args.js +48 -9
  178. package/dist/src/trust-args.js.map +1 -1
  179. package/dist/src/version.d.ts +1 -1
  180. package/dist/src/version.js +1 -1
  181. package/dist/src/wallet.d.ts +8 -2
  182. package/dist/src/wallet.js +44 -7
  183. package/dist/src/wallet.js.map +1 -1
  184. package/package.json +5 -4
@@ -18,7 +18,7 @@ export async function recentFills(transport, inputMint, outputMint) {
18
18
  .filter((f) => f.amountIn > 0n && created.get(f.intent)?.inputMint === inputMint && created.get(f.intent)?.outputMint === outputMint)
19
19
  .slice(0, ESTIMATE_FILLS);
20
20
  }
21
- const byRate = (fills) => [...fills].sort((a, b) => (a.delivered * b.amountIn < b.delivered * a.amountIn ? -1 : a.delivered * b.amountIn > b.delivered * a.amountIn ? 1 : 0));
21
+ const byRate = (fills) => [...fills].sort((a, b) => Number(a.delivered * b.amountIn - b.delivered * a.amountIn));
22
22
  export const bestOf = (fills) => byRate(fills).at(-1);
23
23
  export const medianOf = (fills) => byRate(fills)[Math.floor((fills.length - 1) / 2)];
24
24
  export function openingAsk(fills, amount, floor) {
@@ -26,8 +26,9 @@ export function openingAsk(fills, amount, floor) {
26
26
  const blind = (floor * (10000n + SWAP_BLIND_BPS)) / 10000n;
27
27
  const seen = typical === undefined ? 0n : (amount * typical.delivered * (10000n + SWAP_HEADROOM_BPS)) / (typical.amountIn * 10000n);
28
28
  const cap = (floor * SWAP_CAP_BPS) / 10000n;
29
- const ask = seen > blind ? seen : blind;
30
- return ask < cap ? ask : cap;
29
+ const [ask = blind] = [seen, blind].sort((a, b) => Number(b - a));
30
+ const [capped = cap] = [ask, cap].sort((a, b) => Number(a - b));
31
+ return capped;
31
32
  }
32
33
  async function engineHistory(transport, limit) {
33
34
  return historyIn(await transport.engineTransactions(limit));
@@ -1 +1 @@
1
- {"version":3,"file":"fills.js","sourceRoot":"","sources":["../../../../src/agent/wallet/fills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fills.js","sourceRoot":"","sources":["../../../../src/agent/wallet/fills.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type Address, type KeyPairSigner, type MessagePartialSigner, type SignatureBytes, type TransactionPartialSigner } from "@solana/kit";
2
+ import { type DeliveryOpener } from "@intent-engine/core";
3
+ import { type DeviceSigner } from "@intent-engine/client";
2
4
  import { type Env, type WalletLimits } from "../../args.js";
3
5
  import { type Files } from "../../wallet.js";
4
6
  import type { AgentContext } from "../actions.js";
@@ -16,6 +18,8 @@ export type WalletAccess = {
16
18
  sleep(seconds: number): Promise<boolean>;
17
19
  now(): bigint;
18
20
  limits: WalletGuard;
21
+ feePayer?: string;
22
+ encryptionKeypairs?: readonly string[];
19
23
  };
20
24
  export type Clock = Pick<WalletAccess, "sleep" | "now">;
21
25
  export declare const SALE_WINDOW = 3600n;
@@ -39,11 +43,29 @@ export declare function access(ctx: AgentContext): WalletAccess;
39
43
  export declare function testCluster(ctx: AgentContext): Promise<WalletAccess>;
40
44
  export declare function savedKeypair(wallet: WalletAccess): Promise<string | undefined>;
41
45
  export declare function walletKeypair(ctx: AgentContext): Promise<Uint8Array | undefined>;
46
+ export declare function walletOpeners(ctx: AgentContext): Promise<DeliveryOpener[]>;
42
47
  export type WalletSigner = TransactionPartialSigner & MessagePartialSigner & {
43
48
  signBytes(bytes: Uint8Array): Promise<SignatureBytes>;
49
+ readonly device?: string;
44
50
  };
45
51
  export declare function guardedSigner(ctx: AgentContext, key: KeyPairSigner): WalletSigner;
52
+ export declare function deviceSigner(ctx: AgentContext, device: DeviceSigner): WalletSigner;
46
53
  export declare function signerOf(ctx: AgentContext): Promise<WalletSigner>;
54
+ export declare const NO_FEE_PAYER = "this wallet is a Ledger, which signs only the release message, never the release transaction; a fee-payer key must sign and pay it: the user restarts the server with mcp --wallet --fee-payer <key file>";
55
+ export declare function feePayerOf(ctx: AgentContext): Promise<WalletSigner>;
56
+ export declare const ONE_AT_A_TIME = "this wallet is a Ledger, which signs only a transaction whose message_hash a preview showed, one at a time; send each piece with its own preview and send";
57
+ export declare function oneAtATime(signer: WalletSigner): void;
58
+ export declare const deviceOutput: {
59
+ message_hash: {
60
+ optional: import("../schema.js").Schema<string>;
61
+ };
62
+ as_previewed: {
63
+ optional: import("../schema.js").Schema<boolean>;
64
+ };
65
+ };
66
+ export declare const DEVICE_COMPARE = "the Ledger shows message_hash when it signs: show it to the user, who approves on the device only if its screen shows the same hash";
67
+ export declare const DEVICE_UNPREVIEWED = "nothing was signed: a Ledger wallet signs only the transaction a preview showed by message_hash, and no preview with these exact arguments is kept; preview it, show message_hash, then send with the same arguments";
68
+ export declare const DEVICE_EXPIRED = "nothing was signed: the transaction this preview showed has expired; preview it again, show the new message_hash, then send with the same arguments";
47
69
  export declare function mintNamed(text: string, url: string, path: string): Address;
48
70
  export declare function raw(tokens: string, decimals: number, path: string): bigint;
49
71
  export declare const nameOf: (mint: Address) => string;
@@ -64,6 +86,16 @@ export declare function sent(ctx: AgentContext, signer: WalletSigner, view: Reco
64
86
  sent: boolean;
65
87
  signature: string;
66
88
  next?: string;
89
+ } | {
90
+ message_hash: string;
91
+ sent: boolean;
92
+ next: string;
93
+ } | {
94
+ message_hash: string;
95
+ as_previewed: boolean;
96
+ sent: boolean;
97
+ signature: string;
98
+ next?: string;
67
99
  }>;
68
100
  export declare function sha256Of(text: string, path: string): string;
69
101
  export declare function rpcRefused(error: unknown): boolean;
@@ -1,14 +1,14 @@
1
1
  import { resolve } from "node:path";
2
- import { isAddress, isSolanaError, signBytes, SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR, } from "@solana/kit";
3
- import { formatAmount, parseAmount } from "@intent-engine/core";
4
- import { Charged, neverLanded } from "@intent-engine/client";
2
+ import { getBase64Encoder, getTransactionDecoder, isAddress, isSolanaError, signBytes, SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR, } from "@solana/kit";
3
+ import { EncryptionKeyError, formatAmount, parseAmount, readEncryptionKeyFile } from "@intent-engine/core";
4
+ import { Charged, isLedgerPath, LedgerError, ledgerSigner, messageHash, neverLanded, openUsb } from "@intent-engine/client";
5
5
  import { ENV_KEYPAIR, WALLET_NOT_MAINNET } from "../../args.js";
6
6
  import { execute } from "../../flows.js";
7
7
  import { TOKEN_NAMES, tokenNamed } from "../../tokens.js";
8
- import { expandHome, faucetLink, PUBLIC_FAUCET, withSettings } from "../../wallet.js";
8
+ import { expandHome, faucetLink, ledgerBook, PUBLIC_FAUCET, withSettings } from "../../wallet.js";
9
9
  import { tool } from "../names.js";
10
10
  import { AgentRefusal } from "../problems.js";
11
- import { InvalidInput } from "../schema.js";
11
+ import { flag, InvalidInput, optional, text } from "../schema.js";
12
12
  import { fileSales, salesPath } from "../sales.js";
13
13
  export const walletGuard = (limits, book = fileSales()) => ({ limits, book });
14
14
  export const SALE_WINDOW = 3600n;
@@ -67,7 +67,7 @@ export async function walletKeypair(ctx) {
67
67
  return undefined;
68
68
  }
69
69
  const path = await savedKeypair(ctx.wallet);
70
- if (path === undefined) {
70
+ if (path === undefined || isLedgerPath(path)) {
71
71
  return undefined;
72
72
  }
73
73
  try {
@@ -77,6 +77,20 @@ export async function walletKeypair(ctx) {
77
77
  return undefined;
78
78
  }
79
79
  }
80
+ async function encryptionKeyAt(files, path) {
81
+ try {
82
+ return await readEncryptionKeyFile(await files.readText(expandHome(path, files.home)));
83
+ }
84
+ catch (error) {
85
+ throw error instanceof EncryptionKeyError ? new AgentRefusal("EncryptionKeyInvalid", `${path}: ${error.message}`) : error;
86
+ }
87
+ }
88
+ export async function walletOpeners(ctx) {
89
+ const own = await walletKeypair(ctx);
90
+ const files = ctx.wallet?.files;
91
+ const sealed = files === undefined ? [] : await Promise.all((ctx.wallet?.encryptionKeypairs ?? []).map((path) => encryptionKeyAt(files, path)));
92
+ return [...(own === undefined ? [] : [own]), ...sealed];
93
+ }
80
94
  async function notMainnet(ctx) {
81
95
  if ((await ctx.transport.genesisHash()) === MAINNET_GENESIS) {
82
96
  throw new AgentRefusal("WalletNotMainnet", WALLET_NOT_MAINNET);
@@ -94,21 +108,103 @@ export function guardedSigner(ctx, key) {
94
108
  signBytes: (bytes) => checked(() => signBytes(key.keyPair.privateKey, bytes)),
95
109
  });
96
110
  }
111
+ export function deviceSigner(ctx, device) {
112
+ const checked = async (sign) => {
113
+ await notMainnet(ctx);
114
+ return sign();
115
+ };
116
+ const signMessages = (messages, config) => checked(() => device.signMessages(messages, config));
117
+ return Object.freeze({
118
+ address: device.address,
119
+ device: device.device,
120
+ signMessages,
121
+ signTransactions: (transactions, config) => checked(() => device.signTransactions(transactions, config)),
122
+ signBytes: async (bytes) => {
123
+ const [signed] = await signMessages([{ content: bytes, signatures: {} }]);
124
+ const signature = signed?.[device.address];
125
+ if (signature === undefined) {
126
+ throw new LedgerError(`the Ledger returned no signature for ${device.address}; nothing was sent`);
127
+ }
128
+ return signature;
129
+ },
130
+ });
131
+ }
132
+ const devices = new WeakMap();
133
+ function deviceAt(wallet, path) {
134
+ const known = devices.get(wallet.files) ?? new Map();
135
+ devices.set(wallet.files, known);
136
+ const found = known.get(path);
137
+ if (found !== undefined) {
138
+ return found;
139
+ }
140
+ const opening = ledgerSigner(path, wallet.files.ledger ?? openUsb);
141
+ known.set(path, opening);
142
+ opening.catch(() => {
143
+ if (known.get(path) === opening) {
144
+ known.delete(path);
145
+ }
146
+ });
147
+ return opening;
148
+ }
149
+ const keyFile = (wallet, path) => wallet.files.loadSigner(path);
97
150
  export async function signerOf(ctx) {
98
151
  const wallet = await testCluster(ctx);
99
152
  const path = await savedKeypair(wallet);
100
153
  if (path === undefined) {
101
154
  throw new AgentRefusal("NoWallet", NO_WALLET);
102
155
  }
156
+ if (isLedgerPath(path)) {
157
+ return deviceSigner(ctx, await deviceAt(wallet, path));
158
+ }
103
159
  let key;
104
160
  try {
105
- key = await wallet.files.loadSigner(path);
161
+ key = await keyFile(wallet, path);
106
162
  }
107
163
  catch {
108
164
  throw new AgentRefusal("NoWallet", NO_WALLET);
109
165
  }
110
166
  return guardedSigner(ctx, key);
111
167
  }
168
+ export const NO_FEE_PAYER = "this wallet is a Ledger, which signs only the release message, never the release transaction; a fee-payer key must sign and pay it: the user restarts the server with mcp --wallet --fee-payer <key file>";
169
+ export async function feePayerOf(ctx) {
170
+ const wallet = access(ctx);
171
+ if (wallet.feePayer === undefined) {
172
+ throw new AgentRefusal("NoFeePayer", NO_FEE_PAYER);
173
+ }
174
+ return guardedSigner(ctx, await keyFile(wallet, wallet.feePayer));
175
+ }
176
+ export const ONE_AT_A_TIME = "this wallet is a Ledger, which signs only a transaction whose message_hash a preview showed, one at a time; send each piece with its own preview and send";
177
+ export function oneAtATime(signer) {
178
+ if (signer.device !== undefined) {
179
+ throw new AgentRefusal("DeviceUnpreviewed", ONE_AT_A_TIME);
180
+ }
181
+ }
182
+ export const deviceOutput = {
183
+ message_hash: optional(text("on a Ledger wallet, the hash the device shows when it signs this transaction: compare the two before approving")),
184
+ as_previewed: optional(flag("true on a Ledger wallet's send, which signs the transaction its preview kept: every figure in this output is as of that preview, not re-read at send")),
185
+ };
186
+ export const DEVICE_COMPARE = "the Ledger shows message_hash when it signs: show it to the user, who approves on the device only if its screen shows the same hash";
187
+ export const DEVICE_UNPREVIEWED = "nothing was signed: a Ledger wallet signs only the transaction a preview showed by message_hash, and no preview with these exact arguments is kept; preview it, show message_hash, then send with the same arguments";
188
+ export const DEVICE_EXPIRED = "nothing was signed: the transaction this preview showed has expired; preview it again, show the new message_hash, then send with the same arguments";
189
+ const BLOCKHASH_WINDOW = 150n;
190
+ const KEPT_TRANSACTIONS = 16;
191
+ const messageOf = (view) => new Uint8Array(getTransactionDecoder().decode(getBase64Encoder().encode(view.transaction)).messageBytes);
192
+ const keptViews = new WeakMap();
193
+ function keptOf(wallet) {
194
+ const kept = keptViews.get(wallet) ?? new Map();
195
+ keptViews.set(wallet, kept);
196
+ return kept;
197
+ }
198
+ function keep(kept, key, view) {
199
+ kept.delete(key);
200
+ kept.set(key, view);
201
+ for (const old of kept.keys()) {
202
+ if (kept.size <= KEPT_TRANSACTIONS) {
203
+ break;
204
+ }
205
+ kept.delete(old);
206
+ }
207
+ }
112
208
  export function mintNamed(text, url, path) {
113
209
  const mint = tokenNamed(text.trim(), url);
114
210
  if (mint instanceof Error) {
@@ -156,7 +252,10 @@ function capOf(text, decimals, mint) {
156
252
  }
157
253
  export async function bookOf(wallet) {
158
254
  const path = await savedKeypair(wallet);
159
- return path === undefined ? undefined : salesPath(resolve(expandHome(path, wallet.files.home)));
255
+ if (path === undefined) {
256
+ return undefined;
257
+ }
258
+ return isLedgerPath(path) ? ledgerBook(wallet.files.home, path) : salesPath(resolve(expandHome(path, wallet.files.home)));
160
259
  }
161
260
  export const live = (sales, now) => sales.filter((s) => s.at > now - SALE_WINDOW);
162
261
  export async function salesOf(wallet, now) {
@@ -201,6 +300,9 @@ export async function sent(ctx, signer, view, send, call, next) {
201
300
  undo();
202
301
  }
203
302
  const { prepared, ...shown } = view;
303
+ if (signer.device !== undefined && prepared !== undefined) {
304
+ return sentOnDevice(ctx, signer, shown, prepared, send, call, next);
305
+ }
204
306
  if (send !== true) {
205
307
  return { ...shown, sent: false, next: next?.preview ?? PREVIEW_ONLY };
206
308
  }
@@ -208,6 +310,26 @@ export async function sent(ctx, signer, view, send, call, next) {
208
310
  const signature = await execute(ctx.transport, prepared, signer);
209
311
  return { ...shown, sent: true, signature, ...(next?.done === undefined ? {} : { next: next.done }) };
210
312
  }
313
+ async function sentOnDevice(ctx, signer, shown, prepared, send, call, next) {
314
+ const kept = keptOf(access(ctx));
315
+ const key = call.asked ?? "";
316
+ if (send !== true) {
317
+ keep(kept, key, { view: prepared, shown });
318
+ return { ...shown, message_hash: messageHash(messageOf(prepared)), sent: false, next: `${next?.preview ?? PREVIEW_ONLY}; ${DEVICE_COMPARE}` };
319
+ }
320
+ const previewed = call.asked === undefined ? undefined : kept.get(key);
321
+ if (previewed === undefined) {
322
+ throw new AgentRefusal("DeviceUnpreviewed", DEVICE_UNPREVIEWED);
323
+ }
324
+ kept.delete(key);
325
+ const latest = await ctx.transport.latestBlockhash();
326
+ if (latest.lastValidBlockHeight - BLOCKHASH_WINDOW > BigInt(previewed.view.last_valid_block_height)) {
327
+ throw new AgentRefusal("DeviceUnpreviewed", DEVICE_EXPIRED);
328
+ }
329
+ await notMainnet(ctx);
330
+ const signature = await execute(ctx.transport, previewed.view, signer);
331
+ return { ...previewed.shown, message_hash: messageHash(messageOf(previewed.view)), as_previewed: true, sent: true, signature, ...(next?.done === undefined ? {} : { next: next.done }) };
332
+ }
211
333
  export function sha256Of(text, path) {
212
334
  const hex = text.trim().toLowerCase();
213
335
  if (!/^[0-9a-f]{64}$/.test(hex)) {
@@ -237,5 +359,5 @@ export function rpcRefused(error) {
237
359
  }
238
360
  return false;
239
361
  }
240
- export const refusedBeforeSending = (error) => neverLanded(error) || error instanceof AgentRefusal || error instanceof InvalidInput || rpcRefused(error);
362
+ export const refusedBeforeSending = (error) => neverLanded(error) || error instanceof LedgerError || error instanceof AgentRefusal || error instanceof InvalidInput || rpcRefused(error);
241
363
  //# sourceMappingURL=guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../../src/agent/wallet/guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAEL,SAAS,EACT,aAAa,EAIb,SAAS,EACT,uCAAuC,GAExC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAY,kBAAkB,EAAqB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAqB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAc,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGlG,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAA4B,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAoB,EAAE,IAAI,GAAa,SAAS,EAAE,EAAe,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAanH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAM,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,8CAA8C,CAAC;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,+EAA+E;IAC/E,qEAAqE;IACrE,kEAAkE;IAClE,gEAAgE;IAChE,oEAAoE;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,8DAA8D,CAAC;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,gFAAgF,CAAC;AAEjH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,oBAAoB,IAAI,CAAC,cAAc,CAAC,iCAAiC,OAAO,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;AAE/G,MAAM,CAAC,MAAM,SAAS,GAAG,uCAAuC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC7F,MAAM,CAAC,MAAM,UAAU,GAAG,8EAA8E,CAAC;AACzG,MAAM,CAAC,MAAM,YAAY,GAAG,wEAAwE,CAAC;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,gFAAgF,CAAC;AAEtH,MAAM,UAAU,MAAM,CAAC,GAAiB;IACtC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,OAAO,EAAiC,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAiB;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC;QACf,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAoB;IACrD,OAAO,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAiB;IACnD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAOD,KAAK,UAAU,UAAU,CAAC,GAAiB;IACzC,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,eAAe,EAAE,CAAC;QAC5D,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAiB,EAAE,GAAkB;IACjE,MAAM,OAAO,GAAG,KAAK,EAAK,IAAsB,EAAc,EAAE;QAC9D,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrF,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrG,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KACvD,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAiB;IAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,GAAkB,CAAC;IACvB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,GAAW,EAAE,IAAY;IAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;IAChE,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAU,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;AAEnH,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,2EAA2E;QAC3E,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,IAAI,GAAG;gBACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC;YACF,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;QACF,yGAAyG;KAC1G,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAa;IAC1D,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,0BAA0B,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,sEAAsE,CAC3J,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC;AAEnH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAoB,EAAE,GAAW;IAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,IAAa,EAAE,QAAgB,EAAE,MAAc,EAAE,GAAW,EAAE,KAAsB;IAChI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,IAAI,YAAY,CAAC,uBAAuB,EAAE,0BAA0B,OAAO,SAAS,IAAI,uCAAuC,CAAC,CAAC;IACzI,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,6BAA6B,KAAK,IAAI,IAAI,6BAA6B,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,+EAA+E,CACrL,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,IAAa,EAAE,QAAgB,EAAE,MAAc,EAAE,GAAW,EAAE,KAAsB;IAChI,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,iBAAiB,EACjB,6BAA6B,IAAI,IAAI,IAAI,qBAAqB,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,qBAAqB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CACxK,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,GAAiB,EACjB,MAAoB,EACpB,IAA6B,EAC7B,IAAyB,EACzB,IAAU,EACV,IAAkE;IAElE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC;IACT,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,IAA4D,CAAC;IAC5F,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,YAAY,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAyB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAE5F,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC;AAC/B,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC;AAE9B,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,GAAY,KAAK,CAAC;IAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,IAAI,IAAI,YAAY,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjG,IAAI,aAAa,CAAC,IAAI,EAAE,uCAAuC,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;QACzE,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;YACzG,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAE,IAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9D,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,YAAY,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../../src/agent/wallet/guard.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export const walletHistory = define({
45
45
  const client = createClient({ url: ctx.url ?? "http://cluster", transport: ctx.transport });
46
46
  const next = await client.nextNonce(wallet);
47
47
  const limit = BigInt(input.limit ?? HISTORY_DEFAULT);
48
- const oldest = next > limit ? next - limit : 0n;
48
+ const oldest = next - limit;
49
49
  const decimals = new Map();
50
50
  const tokens = async (mint, raw) => {
51
51
  if (!decimals.has(mint)) {
@@ -54,7 +54,7 @@ export const walletHistory = define({
54
54
  return formatAmount(raw, decimals.get(mint) ?? 0);
55
55
  };
56
56
  const activity = [];
57
- for (let nonce = next - 1n; nonce >= oldest; nonce -= 1n) {
57
+ for (let nonce = next - 1n; nonce >= oldest && nonce >= 0n; nonce -= 1n) {
58
58
  const [intent] = await findIntentPda({ owner: wallet, nonce });
59
59
  const events = await client.history(intent, EVENTS_PER_INTENT);
60
60
  const created = fields(events.find((e) => e.name === "IntentCreated"));
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/agent/wallet/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/agent/wallet/history.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ import type { Call } from "../claims.js";
5
5
  import { type Schema } from "../schema.js";
6
6
  import { orderSchema } from "../shapes.js";
7
7
  export declare const offerFields: {
8
+ message_hash: {
9
+ optional: Schema<string>;
10
+ };
11
+ as_previewed: {
12
+ optional: Schema<boolean>;
13
+ };
8
14
  intent: Schema<Address>;
9
15
  nonce: Schema<bigint>;
10
16
  summary: Schema<string[]>;
@@ -24,6 +30,8 @@ export declare const offerOutput: Schema<{
24
30
  warnings: string[];
25
31
  sent: boolean;
26
32
  } & {
33
+ message_hash?: string;
34
+ as_previewed?: boolean;
27
35
  signature?: string;
28
36
  next?: string;
29
37
  }>;
@@ -46,6 +54,16 @@ export declare function offered(ctx: AgentContext, call: Call, input: {
46
54
  sent: boolean;
47
55
  signature: string;
48
56
  next?: string;
57
+ } | {
58
+ message_hash: string;
59
+ sent: boolean;
60
+ next: string;
61
+ } | {
62
+ message_hash: string;
63
+ as_previewed: boolean;
64
+ sent: boolean;
65
+ signature: string;
66
+ next?: string;
49
67
  }>;
50
68
  export declare function nonceTaken(error: unknown): boolean;
51
69
  export {};
@@ -4,12 +4,13 @@ import { prepareCreate } from "../create.js";
4
4
  import { AgentRefusal, problemOf } from "../problems.js";
5
5
  import { account, amount, flag, list, object, optional, text } from "../schema.js";
6
6
  import { orderSchema } from "../shapes.js";
7
- import { walletEmpty, access, signerOf, mintNamed, limited, bookOf, live, salesOf, checkSale, sent, refusedBeforeSending } from "./guard.js";
7
+ import { walletEmpty, access, signerOf, mintNamed, limited, bookOf, live, salesOf, checkSale, sent, refusedBeforeSending, deviceOutput } from "./guard.js";
8
8
  export const offerFields = {
9
9
  intent: account(),
10
10
  nonce: amount(),
11
11
  summary: list(text(), 24),
12
12
  warnings: list(text(), 16),
13
+ ...deviceOutput,
13
14
  sent: flag(),
14
15
  signature: optional(text()),
15
16
  next: optional(text()),
@@ -1 +1 @@
1
- {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/agent/wallet/offer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offer.js","sourceRoot":"","sources":["../../../../src/agent/wallet/offer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Address, TransactionPartialSigner } from "@solana/kit";
2
+ import { type DeliveryOpener, type JudgeOpening } from "@intent-engine/core";
3
+ import { type Delivery, type DeliveryRecord } from "@intent-engine/client";
4
+ import type { AgentContext } from "../actions.js";
5
+ export declare const openingOutput: {
6
+ opening_signatures: {
7
+ optional: import("../schema.js").Schema<string[]>;
8
+ };
9
+ opening_memos: {
10
+ optional: import("../schema.js").Schema<string[]>;
11
+ };
12
+ skipped: {
13
+ optional: import("../schema.js").Schema<string[]>;
14
+ };
15
+ };
16
+ export declare const openingFailed: (hint: string) => string;
17
+ export type Sealed = {
18
+ judge: Address;
19
+ intent: Address;
20
+ device: boolean;
21
+ recipients: readonly Address[];
22
+ record: DeliveryRecord;
23
+ first: Delivery | null;
24
+ openers: readonly DeliveryOpener[];
25
+ };
26
+ export declare const GIVE_KEY_SETTING = "start the server with mcp --encryption-keypair naming the encryption key file of that key";
27
+ export declare function skippedOf(ctx: AgentContext, { judge, intent, device, recipients, record, first, openers }: Sealed): Promise<{
28
+ skipped?: string[];
29
+ }>;
30
+ export declare const OPENINGS_NEED_FEE_PAYER = "this wallet is a Ledger, which signs no opening transaction, and the earlier announcements' salts must be published after the release; start the server with --fee-payer <key file>, which signs and pays the openings; nothing was signed";
31
+ export declare function openingPayerOf(ctx: AgentContext): Promise<TransactionPartialSigner>;
32
+ export declare const openingsFor: (record: DeliveryRecord, first: Delivery | null) => JudgeOpening[];
33
+ export declare function sendOpenings(ctx: AgentContext, signer: TransactionPartialSigner, attestor: Address, openings: readonly JudgeOpening[]): Promise<{
34
+ opening_signatures?: string[];
35
+ opening_memos?: string[];
36
+ next?: string;
37
+ }>;
@@ -0,0 +1,73 @@
1
+ import { openingMemo } from "@intent-engine/core";
2
+ import { ConfirmMismatch, deviceJudgeReady, judgeOpenings, missingKey, NoKeyAtCreation, openingInstructions, ProfileHistoryIncomplete, skippedNote, unopenedOf, } from "@intent-engine/client";
3
+ import { execute } from "../../flows.js";
4
+ import { tool } from "../names.js";
5
+ import { AgentRefusal, problemOf } from "../problems.js";
6
+ import { list, optional, text } from "../schema.js";
7
+ import { preparedView } from "../shapes.js";
8
+ import { prepare } from "../prepare.js";
9
+ import { SALTS_SEALED } from "./record.js";
10
+ import { feePayerOf } from "./guard.js";
11
+ const MAX_OPENINGS = 64;
12
+ export const openingOutput = {
13
+ opening_signatures: optional(list(text(), MAX_OPENINGS, "the transactions that published the salts of the announcements earlier than the payee's, in order")),
14
+ opening_memos: optional(list(text(), MAX_OPENINGS, "the opening memos with the salts of the earlier announcements that were not sent")),
15
+ skipped: optional(list(text(), MAX_OPENINGS, "announcements this wallet could not open that are sealed to no key it holds or published, so they were passed over as no delivery to it")),
16
+ };
17
+ export const openingFailed = (hint) => `released, but the opening of the earlier announcements was not sent (${hint}); readers can still check the release against the payee's salt`;
18
+ export const GIVE_KEY_SETTING = "start the server with mcp --encryption-keypair naming the encryption key file of that key";
19
+ const refusedHistory = (error) => {
20
+ if (error instanceof ProfileHistoryIncomplete) {
21
+ throw new AgentRefusal("HistoryTooLong", error.message);
22
+ }
23
+ if (error instanceof NoKeyAtCreation) {
24
+ throw new AgentRefusal("SealedSalts", error.message);
25
+ }
26
+ throw error;
27
+ };
28
+ export async function skippedOf(ctx, { judge, intent, device, recipients, record, first, openers }) {
29
+ if (device) {
30
+ await deviceJudgeReady(ctx.transport, judge, intent).catch(refusedHistory);
31
+ }
32
+ const { missing, skipped } = await unopenedOf(ctx.transport, { judge, recipients, deliveries: record.deliveries, first, openers, confirm: ctx.confirm }).catch((error) => {
33
+ if (error instanceof ProfileHistoryIncomplete) {
34
+ throw new AgentRefusal("HistoryTooLong", error.message);
35
+ }
36
+ if (error instanceof ConfirmMismatch) {
37
+ throw new AgentRefusal("ConfirmMismatch", error.message);
38
+ }
39
+ throw error;
40
+ });
41
+ if (missing !== null) {
42
+ throw new AgentRefusal("SealedSalts", missing.key.kind === "wallet" ? SALTS_SEALED : missingKey(missing, GIVE_KEY_SETTING));
43
+ }
44
+ return skipped.length === 0 ? {} : { skipped: skipped.map(skippedNote) };
45
+ }
46
+ export const OPENINGS_NEED_FEE_PAYER = "this wallet is a Ledger, which signs no opening transaction, and the earlier announcements' salts must be published after the release; start the server with --fee-payer <key file>, which signs and pays the openings; nothing was signed";
47
+ export async function openingPayerOf(ctx) {
48
+ try {
49
+ return await feePayerOf(ctx);
50
+ }
51
+ catch (error) {
52
+ throw error instanceof AgentRefusal ? new AgentRefusal("NoFeePayer", OPENINGS_NEED_FEE_PAYER) : error;
53
+ }
54
+ }
55
+ export const openingsFor = (record, first) => (first === null ? [] : judgeOpenings(record.deliveries, first));
56
+ export async function sendOpenings(ctx, signer, attestor, openings) {
57
+ const signatures = [];
58
+ for (const [at, opening] of openings.entries()) {
59
+ try {
60
+ const prepared = preparedView(await prepare(ctx.transport, openingInstructions(signer, attestor, opening), signer.address));
61
+ signatures.push(await execute(ctx.transport, prepared, signer));
62
+ }
63
+ catch (error) {
64
+ return {
65
+ ...(signatures.length === 0 ? {} : { opening_signatures: signatures }),
66
+ opening_memos: openings.slice(at).map(openingMemo),
67
+ next: `${openingFailed(problemOf(error).hint)}; ${tool("wallet_receipt")} shows it`,
68
+ };
69
+ }
70
+ }
71
+ return signatures.length === 0 ? {} : { opening_signatures: signatures };
72
+ }
73
+ //# sourceMappingURL=openings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openings.js","sourceRoot":"","sources":["../../../../src/agent/wallet/openings.ts"],"names":[],"mappings":"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"}