@ironwallet/mcp-server 1.1.0 → 1.2.1

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 (113) hide show
  1. package/README.md +11 -4
  2. package/dist/api/balances.d.ts +1 -0
  3. package/dist/api/balances.js +1 -1
  4. package/dist/api/balances.js.map +1 -1
  5. package/dist/api/history/index.d.ts +49 -0
  6. package/dist/api/history/index.js +209 -0
  7. package/dist/api/history/index.js.map +1 -0
  8. package/dist/api/history/merge.d.ts +63 -0
  9. package/dist/api/history/merge.js +208 -0
  10. package/dist/api/history/merge.js.map +1 -0
  11. package/dist/api/history/normalize.d.ts +37 -0
  12. package/dist/api/history/normalize.js +149 -0
  13. package/dist/api/history/normalize.js.map +1 -0
  14. package/dist/api/history/pace.d.ts +21 -0
  15. package/dist/api/history/pace.js +40 -0
  16. package/dist/api/history/pace.js.map +1 -0
  17. package/dist/api/history/providers/blockcypher.d.ts +24 -0
  18. package/dist/api/history/providers/blockcypher.js +70 -0
  19. package/dist/api/history/providers/blockcypher.js.map +1 -0
  20. package/dist/api/history/providers/esplora.d.ts +41 -0
  21. package/dist/api/history/providers/esplora.js +100 -0
  22. package/dist/api/history/providers/esplora.js.map +1 -0
  23. package/dist/api/history/providers/etherscan.d.ts +36 -0
  24. package/dist/api/history/providers/etherscan.js +118 -0
  25. package/dist/api/history/providers/etherscan.js.map +1 -0
  26. package/dist/api/history/providers/nodereal.d.ts +27 -0
  27. package/dist/api/history/providers/nodereal.js +93 -0
  28. package/dist/api/history/providers/nodereal.js.map +1 -0
  29. package/dist/api/history/providers/solana.d.ts +47 -0
  30. package/dist/api/history/providers/solana.js +211 -0
  31. package/dist/api/history/providers/solana.js.map +1 -0
  32. package/dist/api/history/providers/ton-shared.d.ts +18 -0
  33. package/dist/api/history/providers/ton-shared.js +38 -0
  34. package/dist/api/history/providers/ton-shared.js.map +1 -0
  35. package/dist/api/history/providers/tonapi.d.ts +52 -0
  36. package/dist/api/history/providers/tonapi.js +183 -0
  37. package/dist/api/history/providers/tonapi.js.map +1 -0
  38. package/dist/api/history/providers/toncenter.d.ts +55 -0
  39. package/dist/api/history/providers/toncenter.js +191 -0
  40. package/dist/api/history/providers/toncenter.js.map +1 -0
  41. package/dist/api/history/providers/trongrid.d.ts +48 -0
  42. package/dist/api/history/providers/trongrid.js +144 -0
  43. package/dist/api/history/providers/trongrid.js.map +1 -0
  44. package/dist/api/history/providers/tronscan.d.ts +55 -0
  45. package/dist/api/history/providers/tronscan.js +153 -0
  46. package/dist/api/history/providers/tronscan.js.map +1 -0
  47. package/dist/api/history/providers/xrp.d.ts +39 -0
  48. package/dist/api/history/providers/xrp.js +150 -0
  49. package/dist/api/history/providers/xrp.js.map +1 -0
  50. package/dist/api/history/types.d.ts +112 -0
  51. package/dist/api/history/types.js +27 -0
  52. package/dist/api/history/types.js.map +1 -0
  53. package/dist/api/swap.d.ts +2 -0
  54. package/dist/api/swap.js +24 -10
  55. package/dist/api/swap.js.map +1 -1
  56. package/dist/config.d.ts +12 -3
  57. package/dist/config.js +83 -7
  58. package/dist/config.js.map +1 -1
  59. package/dist/consent/copy.d.ts +2 -2
  60. package/dist/consent/copy.js +2 -1
  61. package/dist/consent/copy.js.map +1 -1
  62. package/dist/generated/env-config.js +96 -1
  63. package/dist/generated/env-config.js.map +1 -1
  64. package/dist/generated/env-profile.d.ts +7 -0
  65. package/dist/keystore/store.js +33 -4
  66. package/dist/keystore/store.js.map +1 -1
  67. package/dist/local-secrets.d.ts +23 -1
  68. package/dist/local-secrets.js +36 -2
  69. package/dist/local-secrets.js.map +1 -1
  70. package/dist/networks.d.ts +3 -0
  71. package/dist/networks.js +20 -0
  72. package/dist/networks.js.map +1 -1
  73. package/dist/npm-registry.d.ts +45 -0
  74. package/dist/npm-registry.js +175 -0
  75. package/dist/npm-registry.js.map +1 -0
  76. package/dist/policy.d.ts +31 -0
  77. package/dist/policy.js +95 -0
  78. package/dist/policy.js.map +1 -1
  79. package/dist/qr/deposit-qr.d.ts +21 -1
  80. package/dist/qr/deposit-qr.js +100 -21
  81. package/dist/qr/deposit-qr.js.map +1 -1
  82. package/dist/qr/font.js +3 -0
  83. package/dist/qr/font.js.map +1 -1
  84. package/dist/server.js +3 -0
  85. package/dist/server.js.map +1 -1
  86. package/dist/tools/definitions.d.ts +23 -1
  87. package/dist/tools/definitions.js +87 -29
  88. package/dist/tools/definitions.js.map +1 -1
  89. package/dist/tools/helpers.d.ts +10 -0
  90. package/dist/tools/helpers.js +26 -0
  91. package/dist/tools/helpers.js.map +1 -1
  92. package/dist/tools/history.d.ts +7 -0
  93. package/dist/tools/history.js +70 -0
  94. package/dist/tools/history.js.map +1 -0
  95. package/dist/tools/index.js +4 -0
  96. package/dist/tools/index.js.map +1 -1
  97. package/dist/tools/runtime.d.ts +8 -0
  98. package/dist/tools/runtime.js +110 -0
  99. package/dist/tools/runtime.js.map +1 -0
  100. package/dist/tools/swap.d.ts +9 -1
  101. package/dist/tools/swap.js +41 -7
  102. package/dist/tools/swap.js.map +1 -1
  103. package/dist/tools/transfer.d.ts +1 -1
  104. package/dist/tools/transfer.js +5 -2
  105. package/dist/tools/transfer.js.map +1 -1
  106. package/dist/tools/wallets.js +31 -13
  107. package/dist/tools/wallets.js.map +1 -1
  108. package/dist/web/manager.d.ts +6 -0
  109. package/dist/web/manager.js +149 -8
  110. package/dist/web/manager.js.map +1 -1
  111. package/package.json +2 -2
  112. package/server.json +19 -3
  113. package/tools.json +99 -20
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Transaction history: one normalized shape for every chain.
3
+ *
4
+ * Every provider (Blockscout, NodeReal, TronScan, Esplora, …) is exposed as one
5
+ * or more `HistorySource`s — newest-first paged streams of `SourceItem`s. The
6
+ * merge engine (merge.ts) interleaves the sources of a network by timestamp and
7
+ * keeps an opaque cursor so the agent can page further without duplicates.
8
+ *
9
+ * Strings copied from indexers (token symbols, addresses) are untrusted input;
10
+ * providers must pass them through normalize.ts before they reach the agent.
11
+ */
12
+ import type { NetworkId } from "../../networks.js";
13
+ export type HistoryDirection = "in" | "out" | "self";
14
+ /**
15
+ * transfer — native coin moved (ETH, BNB, TRX, BTC, …)
16
+ * token_transfer — fungible token moved (ERC-20 / TRC-20 / SPL / jetton / IOU)
17
+ * contract_call — the wallet called a contract; no recognised value transfer
18
+ * other — anything else the indexer returned for this address
19
+ */
20
+ export type HistoryKind = "transfer" | "token_transfer" | "contract_call" | "other";
21
+ export type HistoryStatus = "confirmed" | "failed" | "pending";
22
+ export interface HistoryAsset {
23
+ symbol: string;
24
+ /** Token contract / mint / jetton master. Null for the native coin. */
25
+ contractAddress: string | null;
26
+ decimals: number;
27
+ /**
28
+ * Set when the symbol looks like an unsolicited / spam token (contains a
29
+ * link, unusual characters, or mimics another ticker). Indexer data only —
30
+ * never a guarantee either way.
31
+ */
32
+ warning?: string;
33
+ }
34
+ export interface HistoryAmount {
35
+ /** Smallest unit as a decimal string (wei, sun, satoshi, lamports, …). */
36
+ raw: string;
37
+ /** Human readable, formatted with `asset.decimals`. */
38
+ formatted: string;
39
+ }
40
+ export interface HistoryFee extends HistoryAmount {
41
+ /** Native coin symbol the fee was paid in. */
42
+ symbol: string;
43
+ }
44
+ export interface HistoryItem {
45
+ /** Transaction hash / signature. */
46
+ hash: string;
47
+ /** ISO 8601 timestamp; null when the indexer did not return one (pending). */
48
+ timestamp: string | null;
49
+ /** Block height / slot / ledger index; null when pending or unknown. */
50
+ block: number | null;
51
+ kind: HistoryKind;
52
+ direction: HistoryDirection;
53
+ status: HistoryStatus;
54
+ from: string | null;
55
+ to: string | null;
56
+ asset: HistoryAsset;
57
+ amount: HistoryAmount;
58
+ /** Fee paid by this wallet; null when the counterparty paid it or it is unknown. */
59
+ fee: HistoryFee | null;
60
+ }
61
+ /** A normalized item plus the millisecond sort key the merge engine orders by. */
62
+ export interface SourceItem {
63
+ /** Milliseconds since epoch. Pending items use Date.now() so they sort first. */
64
+ ts: number;
65
+ item: HistoryItem;
66
+ }
67
+ export interface SourcePage {
68
+ /** Newest first. */
69
+ items: SourceItem[];
70
+ /** Opaque cursor for the following page; null when this was the last page. */
71
+ next: string | null;
72
+ }
73
+ export interface SourceContext {
74
+ correlationId: string;
75
+ /**
76
+ * Base options for every indexer call: correlation id plus a tighter
77
+ * timeout / retry budget than the general HTTP defaults, so a dead primary
78
+ * hands over to the fallback provider quickly.
79
+ */
80
+ http: {
81
+ correlationId: string;
82
+ timeoutMs: number;
83
+ retries: number;
84
+ };
85
+ }
86
+ /** One newest-first paged stream for a wallet address. */
87
+ export interface HistorySource {
88
+ /** Stable id used inside cursors, e.g. "native", "erc20". */
89
+ name: string;
90
+ fetchPage(pageCursor: string | null, pageSize: number, ctx: SourceContext): Promise<SourcePage>;
91
+ }
92
+ /** A provider bundles the sources of one indexer for one network/address. */
93
+ export interface HistoryProvider {
94
+ /** Label reported to the agent, e.g. "blockscout", "tronscan", "trongrid". */
95
+ label: string;
96
+ sources: HistorySource[];
97
+ }
98
+ export type HistoryApiKind = "etherscan" | "nodereal" | "tronscan" | "trongrid" | "esplora" | "blockcypher" | "solana-rpc" | "toncenter" | "tonapi" | "xrp-rpc";
99
+ /** One entry of the per-network provider chain in the baked profile. */
100
+ export interface HistoryApiSpec {
101
+ kind: HistoryApiKind;
102
+ /**
103
+ * API base URL. Omit to reuse the network's existing endpoint from the
104
+ * profile (tronApiUrl, bitcoinApiUrl, solanaRpcUrl, tonApiUrl, xrpRpcUrl, …).
105
+ */
106
+ url?: string;
107
+ }
108
+ export type HistoryApis = Partial<Record<NetworkId, HistoryApiSpec[]>>;
109
+ /** Rows per page: the default is also the cap — one page is one screen of history. */
110
+ export declare const HISTORY_MAX_LIMIT = 20;
111
+ export declare const HISTORY_DEFAULT_LIMIT = 20;
112
+ export declare const HISTORY_API_KINDS: readonly HistoryApiKind[];
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Transaction history: one normalized shape for every chain.
3
+ *
4
+ * Every provider (Blockscout, NodeReal, TronScan, Esplora, …) is exposed as one
5
+ * or more `HistorySource`s — newest-first paged streams of `SourceItem`s. The
6
+ * merge engine (merge.ts) interleaves the sources of a network by timestamp and
7
+ * keeps an opaque cursor so the agent can page further without duplicates.
8
+ *
9
+ * Strings copied from indexers (token symbols, addresses) are untrusted input;
10
+ * providers must pass them through normalize.ts before they reach the agent.
11
+ */
12
+ /** Rows per page: the default is also the cap — one page is one screen of history. */
13
+ export const HISTORY_MAX_LIMIT = 20;
14
+ export const HISTORY_DEFAULT_LIMIT = 20;
15
+ export const HISTORY_API_KINDS = [
16
+ "etherscan",
17
+ "nodereal",
18
+ "tronscan",
19
+ "trongrid",
20
+ "esplora",
21
+ "blockcypher",
22
+ "solana-rpc",
23
+ "toncenter",
24
+ "tonapi",
25
+ "xrp-rpc",
26
+ ];
27
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/history/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAyHH,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,aAAa;IACb,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,SAAS;CACV,CAAC"}
@@ -75,6 +75,8 @@ export declare function estimateSwap(token: string, params: {
75
75
  to: SwapSide;
76
76
  maxMode?: boolean;
77
77
  }, opts?: SwapCallOpts): Promise<SwapEstimateResult>;
78
+ export declare function slimSwapDetails(details: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
79
+ export declare function slimSwapPayload(json: Record<string, unknown>): Record<string, unknown>;
78
80
  export interface SwapTxToSign {
79
81
  txId?: string;
80
82
  txData?: string;
package/dist/api/swap.js CHANGED
@@ -255,8 +255,19 @@ function mapEstimate(json) {
255
255
  raw: json,
256
256
  };
257
257
  }
258
- /** Agent-facing swap fees: network / tokenFee / coinFee only. */
259
- const SWAP_FEE_KEYS = ["network", "tokenFee", "coinFee"];
258
+ /** Agent-facing swap fees: tokenFee / coinFee only (no network fee). */
259
+ const SWAP_FEE_KEYS = ["tokenFee", "coinFee"];
260
+ /** Provider extras that confuse agents and are not needed to execute a swap. */
261
+ const SWAP_DROP_KEYS = ["slippage", "slippagePercent", "slippageBps", "networkFee"];
262
+ function omitDroppedKeys(src) {
263
+ const out = {};
264
+ for (const [k, v] of Object.entries(src)) {
265
+ if (SWAP_DROP_KEYS.includes(k))
266
+ continue;
267
+ out[k] = v;
268
+ }
269
+ return out;
270
+ }
260
271
  function pickSwapFees(fees) {
261
272
  if (!fees || typeof fees !== "object" || Array.isArray(fees))
262
273
  return undefined;
@@ -268,17 +279,16 @@ function pickSwapFees(fees) {
268
279
  }
269
280
  return Object.keys(out).length > 0 ? out : undefined;
270
281
  }
271
- function slimSwapDetails(details) {
282
+ export function slimSwapDetails(details) {
272
283
  if (!details)
273
284
  return undefined;
274
- if (!("fees" in details))
275
- return details;
276
- const { fees, ...rest } = details;
285
+ const { fees, ...rest } = omitDroppedKeys(details);
277
286
  const slim = pickSwapFees(fees);
278
- return slim ? { ...rest, fees: slim } : rest;
287
+ const next = slim ? { ...rest, fees: slim } : rest;
288
+ return Object.keys(next).length > 0 ? next : undefined;
279
289
  }
280
- function slimSwapPayload(json) {
281
- const next = { ...json };
290
+ export function slimSwapPayload(json) {
291
+ const next = omitDroppedKeys(json);
282
292
  if ("fees" in next) {
283
293
  const slim = pickSwapFees(next.fees);
284
294
  if (slim)
@@ -287,7 +297,11 @@ function slimSwapPayload(json) {
287
297
  delete next.fees;
288
298
  }
289
299
  if (next.details && typeof next.details === "object" && !Array.isArray(next.details)) {
290
- next.details = slimSwapDetails(next.details);
300
+ const slim = slimSwapDetails(next.details);
301
+ if (slim)
302
+ next.details = slim;
303
+ else
304
+ delete next.details;
291
305
  }
292
306
  return next;
293
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/api/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/api/swap.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  * embeds one profile via the repo-root `npm run bake`.
6
6
  */
7
7
  import { type NetworkId } from "./networks.js";
8
+ import { type HistoryApiSpec } from "./api/history/types.js";
8
9
  /** `package.json` version of this package (works from `src/` and compiled `dist/`). */
9
10
  export declare function packageVersion(): string;
10
11
  export type { NetworkId } from "./networks.js";
@@ -46,15 +47,18 @@ export interface Config {
46
47
  relayApiKey: string;
47
48
  /** App version string sent as x-iwt-cli / X-App-Version. */
48
49
  appVersion: string;
49
- /** Device id sent as X-Device-Id. UUID file under the keystore dir unless overridden. */
50
+ /** Device id sent as X-Device-Id: `web:<uuid>`. UUID file under the keystore dir unless overridden. */
50
51
  deviceId: string;
51
52
  /** Machine fingerprint sent as X-Device-Fingerprint. OS install id + platform, or device-id if that id is missing. */
52
53
  deviceFingerprint: string;
54
+ /** X-Installation-ID, `<uuid>:<unix ns>`. File under the keystore dir. */
55
+ installationId: string;
53
56
  /** X-Device-Locale value, format: TimeZone=..;Language=..;Region=..; */
54
57
  deviceLocale: string;
55
58
  /**
56
- * JSON for `X-Device-Info`. The swap API keys routing off `systemName`
57
- * (`Web` here — this is a desktop MCP, not a phone).
59
+ * JSON for `X-Device-Info` (plain) and `X-Device-Info-Base64` (the form the
60
+ * swap gateway decodes first). The swap API keys routing off `systemName`
61
+ * (`Web` here — this is a desktop MCP).
58
62
  */
59
63
  deviceInfo: string;
60
64
  /** Directory holding the encrypted keystore. */
@@ -77,6 +81,11 @@ export interface Config {
77
81
  xrpRpcUrl: string;
78
82
  /** True when Bitcoin should use testnet (dev). */
79
83
  bitcoinTestnet: boolean;
84
+ /**
85
+ * Transaction-history indexer chain per network (first entry is primary).
86
+ * Empty array = history unsupported for that network in this build.
87
+ */
88
+ historyApis: Record<NetworkId, HistoryApiSpec[]>;
80
89
  /** Per-attempt HTTP/RPC timeout in milliseconds. */
81
90
  httpTimeoutMs: number;
82
91
  /**
package/dist/config.js CHANGED
@@ -10,8 +10,9 @@ import { dirname, join } from "node:path";
10
10
  import { fileURLToPath } from "node:url";
11
11
  import { BAKED_ENV } from "./generated/env-config.js";
12
12
  import { ALL_NETWORKS, EVM_NETWORKS } from "./networks.js";
13
+ import { HISTORY_API_KINDS, } from "./api/history/types.js";
13
14
  import { resolveDeviceFingerprint } from "./device-fingerprint.js";
14
- import { resolveDeviceId, resolveKeystoreDir, resolveKeystorePassphrase, resolveRelayApiKey, } from "./local-secrets.js";
15
+ import { formatDeviceId, resolveKeystoreDir, resolveInstallationId, resolveKeystorePassphrase, resolveRawDeviceId, resolveRelayApiKey, } from "./local-secrets.js";
15
16
  /** `package.json` version of this package (works from `src/` and compiled `dist/`). */
16
17
  export function packageVersion() {
17
18
  try {
@@ -139,12 +140,78 @@ function resolveEvmRpcUrls(profileUrls) {
139
140
  }
140
141
  return urls;
141
142
  }
143
+ /**
144
+ * Non-EVM chains can read history from the same endpoints that serve balances,
145
+ * so they work on every profile. EVM chains need an indexer (Blockscout /
146
+ * Routescan / NodeReal) that only the profile knows about.
147
+ */
148
+ const DEFAULT_HISTORY_APIS = {
149
+ ethereum: [],
150
+ bsc: [],
151
+ polygon: [],
152
+ base: [],
153
+ arbitrum: [],
154
+ optimism: [],
155
+ avalanche: [],
156
+ tron: [{ kind: "trongrid" }],
157
+ bitcoin: [{ kind: "esplora" }],
158
+ litecoin: [{ kind: "esplora" }],
159
+ doge: [{ kind: "blockcypher" }],
160
+ solana: [{ kind: "solana-rpc" }],
161
+ ton: [{ kind: "toncenter" }],
162
+ xrp: [{ kind: "xrp-rpc" }],
163
+ };
164
+ function isHistoryApiSpec(value) {
165
+ if (!value || typeof value !== "object")
166
+ return false;
167
+ const spec = value;
168
+ if (!HISTORY_API_KINDS.includes(spec.kind))
169
+ return false;
170
+ return spec.url === undefined || (typeof spec.url === "string" && spec.url.length > 0);
171
+ }
172
+ /** Validate a per-network chain from the profile or `IW_HISTORY_APIS`; bad entries are dropped. */
173
+ function sanitizeHistoryApis(raw, origin) {
174
+ const out = {};
175
+ if (!raw || typeof raw !== "object")
176
+ return out;
177
+ for (const [network, chain] of Object.entries(raw)) {
178
+ if (!ALL_NETWORKS.includes(network))
179
+ continue;
180
+ if (!Array.isArray(chain))
181
+ continue;
182
+ const specs = chain.filter(isHistoryApiSpec).map((s) => ({
183
+ kind: s.kind,
184
+ ...(s.url ? { url: s.url.replace(/\/+$/, "") } : {}),
185
+ }));
186
+ if (specs.length !== chain.length) {
187
+ process.stderr.write(`[ironwallet-mcp] ${origin}: ignored ${chain.length - specs.length} invalid history API entr(ies) for ${network}\n`);
188
+ }
189
+ out[network] = specs;
190
+ }
191
+ return out;
192
+ }
193
+ function resolveHistoryApis(profile) {
194
+ const merged = { ...DEFAULT_HISTORY_APIS };
195
+ Object.assign(merged, sanitizeHistoryApis(profile, "profile.historyApis"));
196
+ const envRaw = process.env.IW_HISTORY_APIS;
197
+ if (envRaw && envRaw.trim().length > 0) {
198
+ try {
199
+ Object.assign(merged, sanitizeHistoryApis(JSON.parse(envRaw), "IW_HISTORY_APIS"));
200
+ }
201
+ catch {
202
+ process.stderr.write("[ironwallet-mcp] IW_HISTORY_APIS is not valid JSON; ignored\n");
203
+ }
204
+ }
205
+ return merged;
206
+ }
142
207
  let cached = null;
143
208
  export function getConfig() {
144
209
  if (cached)
145
210
  return cached;
146
211
  resolveKeystorePassphrase();
147
- const deviceId = resolveDeviceId();
212
+ // Raw UUID stays the fingerprint fallback so existing installs keep the same
213
+ // X-Device-Fingerprint; only the header value gains the `web:` prefix.
214
+ const rawDeviceId = resolveRawDeviceId();
148
215
  const profile = BAKED_ENV;
149
216
  cached = {
150
217
  authUrl: envOr("IW_AUTH_URL", profile.authUrl),
@@ -155,11 +222,15 @@ export function getConfig() {
155
222
  ratesApiUrl: envOr("IW_RATES_API_URL", profile.ratesApiUrl ?? ""),
156
223
  staticResourcesUrl: envOr("IW_STATIC_RESOURCES_URL", profile.staticResourcesUrl ?? ""),
157
224
  relayApiKey: resolveRelayApiKey(),
158
- appVersion: envOr("IW_APP_VERSION", `ironwallet-mcp/${packageVersion()}`),
159
- deviceId,
160
- deviceFingerprint: resolveDeviceFingerprint(deviceId),
161
- deviceLocale: envOr("IW_DEVICE_LOCALE", defaultDeviceLocale()),
162
- deviceInfo: envOr("IW_DEVICE_INFO", defaultDeviceInfo()),
225
+ // Identity headers are not overridable: the backend routes swaps off
226
+ // deviceInfo.systemName and reads appVersion for client metrics, so a
227
+ // spoofed value only breaks support.
228
+ appVersion: `ironwallet-mcp/${packageVersion()}`,
229
+ deviceId: formatDeviceId(rawDeviceId),
230
+ deviceFingerprint: resolveDeviceFingerprint(rawDeviceId),
231
+ installationId: resolveInstallationId(),
232
+ deviceLocale: defaultDeviceLocale(),
233
+ deviceInfo: defaultDeviceInfo(),
163
234
  keystoreDir: resolveKeystoreDir(),
164
235
  evmRpcUrls: resolveEvmRpcUrls(profile.evmRpcUrls),
165
236
  tronApiUrl: envOr("IW_TRON_API", profile.tronApiUrl),
@@ -170,6 +241,7 @@ export function getConfig() {
170
241
  tonApiUrl: envOr("IW_TON_API_URL", profile.tonApiUrl),
171
242
  xrpRpcUrl: envOr("IW_XRP_RPC", profile.xrpRpcUrl),
172
243
  bitcoinTestnet: profile.bitcoinTestnet,
244
+ historyApis: resolveHistoryApis(profile.historyApis),
173
245
  httpTimeoutMs: envInt("IW_HTTP_TIMEOUT_MS", 15000, 1000, 120000),
174
246
  // Forward can take well over 15s on L2s when the relay waits for broadcast /
175
247
  // inclusion; default 60s. Cap raised to 5 min so slow envs can override.
@@ -197,7 +269,11 @@ export function commonHeaders(cfg) {
197
269
  // Backend validates the format: TimeZone=..;Language=..;Region=..;
198
270
  "X-Device-Locale": cfg.deviceLocale,
199
271
  // Swap routing reads UserData.XDeviceInfo.systemName (`Web` for this client).
272
+ // Plain JSON is what the MCP proxy reads for metrics; the swap gateway
273
+ // decodes the base64 form first. Same payload in both.
200
274
  "X-Device-Info": cfg.deviceInfo,
275
+ "X-Device-Info-Base64": Buffer.from(cfg.deviceInfo, "utf8").toString("base64"),
276
+ "X-Installation-ID": cfg.installationId,
201
277
  "Content-Language": "en",
202
278
  };
203
279
  if (cfg.relayApiKey)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,uFAAuF;AACvF,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,EACJ,cAAc,CACf,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC9E,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAGD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB,CAAC,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,GAAG,YAAY,CAAC,CAAC;AAEhE,MAAM,UAAU,OAAO,CAAC,OAAkB;IACxC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgB,YAAY,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,MAAM,CACxC,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,OAAkB;IACxC,OAAO,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,OAAQ,YAAqC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,aAAa,GAA8B;IAC/C,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAoED,SAAS,KAAK,CAAC,GAAW,EAAE,QAAgB;IAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,QAAiB;IAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,cAAc,EAAE;QAC/B,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,IAAI,EAAE;QACZ,EAAE,EAAE,MAAM,EAAE;QACZ,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,YAAY,QAAQ,aAAa,QAAQ,WAAW,MAAM,GAAG,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,SAAS,MAAM,CAAC,GAAW,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CACxB,WAAmC;IAEnC,MAAM,IAAI,GAA2B,EAAE,GAAG,WAAW,EAAE,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,oBAAoB,GAAwC;IAChE,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAChC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5B,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;CAC3B,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAA0C,CAAC;IACxD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAsB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,mGAAmG;AACnG,SAAS,mBAAmB,CAAC,GAAY,EAAE,MAAc;IACvD,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAE,YAAkC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC,CAAC;QACJ,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,MAAM,aAAa,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,sCAAsC,OAAO,IAAI,CACpH,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,OAAoB,CAAC,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgC;IAC1D,MAAM,MAAM,GAAwC,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAChF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC,MAAM,UAAU,SAAS;IACvB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,yBAAyB,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,GAAG;QACP,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;QAC9C,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;QACjD,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC;QAC9D,uEAAuE;QACvE,2DAA2D;QAC3D,WAAW,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QACjE,kBAAkB,EAAE,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACtF,WAAW,EAAE,kBAAkB,EAAE;QACjC,qEAAqE;QACrE,sEAAsE;QACtE,qCAAqC;QACrC,UAAU,EAAE,kBAAkB,cAAc,EAAE,EAAE;QAChD,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC;QACrC,iBAAiB,EAAE,wBAAwB,CAAC,WAAW,CAAC;QACxD,cAAc,EAAE,qBAAqB,EAAE;QACvC,YAAY,EAAE,mBAAmB,EAAE;QACnC,UAAU,EAAE,iBAAiB,EAAE;QAC/B,WAAW,EAAE,kBAAkB,EAAE;QACjC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC;QACpD,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC;QACzD,cAAc,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC;QAC3D,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC;QACpD,YAAY,EAAE,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC;QAC1D,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC;QACrD,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC;QACjD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;QAChE,6EAA6E;QAC7E,yEAAyE;QACzE,oBAAoB,EAAE,MAAM,CAAC,4BAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;QAC/E,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;KACzC,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ;QAAE,OAAO;IAClC,MAAM,IAAI,KAAK,CACb,MAAM,KAAK,MAAM;QACf,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,0DAA0D,CAC/D,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,OAAO,GAA2B;QACtC,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,eAAe,EAAE,GAAG,CAAC,UAAU;QAC/B,aAAa,EAAE,GAAG,CAAC,QAAQ;QAC3B,sBAAsB,EAAE,GAAG,CAAC,iBAAiB;QAC7C,mEAAmE;QACnE,iBAAiB,EAAE,GAAG,CAAC,YAAY;QACnC,8EAA8E;QAC9E,uEAAuE;QACvE,uDAAuD;QACvD,eAAe,EAAE,GAAG,CAAC,UAAU;QAC/B,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9E,mBAAmB,EAAE,GAAG,CAAC,cAAc;QACvC,kBAAkB,EAAE,IAAI;KACzB,CAAC;IACF,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -2,10 +2,10 @@
2
2
  * Canonical MCP consent copy (English). Chat, create_wallets, and the local
3
3
  * manager must show this text. Bump CONSENT_VERSION when the wording changes.
4
4
  */
5
- export declare const CONSENT_VERSION = "v1";
5
+ export declare const CONSENT_VERSION = "v2";
6
6
  export declare const CONSENT_TITLE = "Before connecting an AI agent to your wallet";
7
7
  export declare const CONSENT_LEAD = "Connecting MCP lets the AI agent view balances, transfer assets, and swap on behalf of this wallet.";
8
- export declare const CONSENT_BULLETS: readonly ["By default the agent can send funds and swap without extra confirmation on each operation.", "Use a dedicated wallet with a small balance, not your main or savings wallet.", "The recovery phrase stays encrypted on this device. Loss or compromise means permanent loss of access to the funds.", "IronWallet is not responsible for the AI agent's actions, misconfiguration, or loss of funds from using this feature.", "You can ask the agent to set limits in chat (read-only, a per-transaction USD limit, a transfer recipient allow-list)."];
8
+ export declare const CONSENT_BULLETS: readonly ["The experience depends on the AI host. Cursor offers the most complete support, Claude Code works well, and Claude Desktop chat is more limited. A paid agent plan is recommended for best results.", "By default the agent can send funds and swap without extra confirmation on each operation.", "Use a dedicated wallet with a small balance, not your main or savings wallet.", "The recovery phrase stays encrypted on this device. Loss or compromise means permanent loss of access to the funds.", "IronWallet is not responsible for the AI agent's actions, misconfiguration, or loss of funds from using this feature.", "You can ask the agent to set limits in chat (read-only, a per-transaction USD limit, a transfer recipient allow-list)."];
9
9
  export declare const CONSENT_CHECKBOX = "I understand the risks and want to continue";
10
10
  export declare const CONSENT_CHAT_INSTRUCTION = "Show this text in full in chat. Do not shorten it. After the user explicitly confirms, call accept_mcp_consent with accepted=true, or open the wallet manager so they can accept there.";
11
11
  export declare function consentDocument(): {
@@ -2,10 +2,11 @@
2
2
  * Canonical MCP consent copy (English). Chat, create_wallets, and the local
3
3
  * manager must show this text. Bump CONSENT_VERSION when the wording changes.
4
4
  */
5
- export const CONSENT_VERSION = "v1";
5
+ export const CONSENT_VERSION = "v2";
6
6
  export const CONSENT_TITLE = "Before connecting an AI agent to your wallet";
7
7
  export const CONSENT_LEAD = "Connecting MCP lets the AI agent view balances, transfer assets, and swap on behalf of this wallet.";
8
8
  export const CONSENT_BULLETS = [
9
+ "The experience depends on the AI host. Cursor offers the most complete support, Claude Code works well, and Claude Desktop chat is more limited. A paid agent plan is recommended for best results.",
9
10
  "By default the agent can send funds and swap without extra confirmation on each operation.",
10
11
  "Use a dedicated wallet with a small balance, not your main or savings wallet.",
11
12
  "The recovery phrase stays encrypted on this device. Loss or compromise means permanent loss of access to the funds.",
@@ -1 +1 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/consent/copy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAE5E,MAAM,CAAC,MAAM,YAAY,GACvB,qGAAqG,CAAC;AAExG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,4FAA4F;IAC5F,+EAA+E;IAC/E,qHAAqH;IACrH,uHAAuH;IACvH,wHAAwH;CAChH,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GACnC,yLAAyL,CAAC;AAE5L,MAAM,UAAU,eAAe;IAQ7B,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,wBAAwB;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/consent/copy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAE5E,MAAM,CAAC,MAAM,YAAY,GACvB,qGAAqG,CAAC;AAExG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qMAAqM;IACrM,4FAA4F;IAC5F,+EAA+E;IAC/E,qHAAqH;IACrH,uHAAuH;IACvH,wHAAwH;CAChH,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GACnC,yLAAyL,CAAC;AAE5L,MAAM,UAAU,eAAe;IAQ7B,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,wBAAwB;KACtC,CAAC;AACJ,CAAC"}