@ironwallet/mcp-server 1.2.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.
- package/README.md +5 -2
- package/dist/api/history/index.js +3 -0
- package/dist/api/history/index.js.map +1 -1
- package/dist/api/history/pace.d.ts +13 -0
- package/dist/api/history/pace.js +23 -0
- package/dist/api/history/pace.js.map +1 -1
- package/dist/api/history/providers/ton-shared.d.ts +18 -0
- package/dist/api/history/providers/ton-shared.js +38 -0
- package/dist/api/history/providers/ton-shared.js.map +1 -0
- package/dist/api/history/providers/tonapi.d.ts +52 -0
- package/dist/api/history/providers/tonapi.js +183 -0
- package/dist/api/history/providers/tonapi.js.map +1 -0
- package/dist/api/history/providers/toncenter.d.ts +2 -3
- package/dist/api/history/providers/toncenter.js +24 -36
- package/dist/api/history/providers/toncenter.js.map +1 -1
- package/dist/api/history/types.d.ts +1 -1
- package/dist/api/history/types.js +1 -0
- package/dist/api/history/types.js.map +1 -1
- package/dist/config.d.ts +6 -3
- package/dist/config.js +17 -7
- package/dist/config.js.map +1 -1
- package/dist/generated/env-config.js +4 -0
- package/dist/generated/env-config.js.map +1 -1
- package/dist/local-secrets.d.ts +23 -1
- package/dist/local-secrets.js +36 -2
- package/dist/local-secrets.js.map +1 -1
- package/dist/networks.d.ts +3 -0
- package/dist/networks.js +20 -0
- package/dist/networks.js.map +1 -1
- package/dist/policy.d.ts +31 -0
- package/dist/policy.js +95 -0
- package/dist/policy.js.map +1 -1
- package/dist/qr/deposit-qr.d.ts +21 -1
- package/dist/qr/deposit-qr.js +100 -21
- package/dist/qr/deposit-qr.js.map +1 -1
- package/dist/qr/font.js +3 -0
- package/dist/qr/font.js.map +1 -1
- package/dist/tools/definitions.js +15 -9
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/helpers.d.ts +10 -0
- package/dist/tools/helpers.js +26 -0
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/swap.d.ts +9 -1
- package/dist/tools/swap.js +41 -7
- package/dist/tools/swap.js.map +1 -1
- package/dist/tools/transfer.d.ts +1 -1
- package/dist/tools/transfer.js +5 -2
- package/dist/tools/transfer.js.map +1 -1
- package/dist/tools/wallets.js +31 -13
- package/dist/tools/wallets.js.map +1 -1
- package/dist/web/manager.js +7 -4
- package/dist/web/manager.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
- package/tools.json +11 -10
package/dist/config.d.ts
CHANGED
|
@@ -47,15 +47,18 @@ export interface Config {
|
|
|
47
47
|
relayApiKey: string;
|
|
48
48
|
/** App version string sent as x-iwt-cli / X-App-Version. */
|
|
49
49
|
appVersion: string;
|
|
50
|
-
/** Device id sent as X-Device-Id
|
|
50
|
+
/** Device id sent as X-Device-Id: `web:<uuid>`. UUID file under the keystore dir unless overridden. */
|
|
51
51
|
deviceId: string;
|
|
52
52
|
/** Machine fingerprint sent as X-Device-Fingerprint. OS install id + platform, or device-id if that id is missing. */
|
|
53
53
|
deviceFingerprint: string;
|
|
54
|
+
/** X-Installation-ID, `<uuid>:<unix ns>`. File under the keystore dir. */
|
|
55
|
+
installationId: string;
|
|
54
56
|
/** X-Device-Locale value, format: TimeZone=..;Language=..;Region=..; */
|
|
55
57
|
deviceLocale: string;
|
|
56
58
|
/**
|
|
57
|
-
* JSON for `X-Device-Info
|
|
58
|
-
*
|
|
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).
|
|
59
62
|
*/
|
|
60
63
|
deviceInfo: string;
|
|
61
64
|
/** Directory holding the encrypted keystore. */
|
package/dist/config.js
CHANGED
|
@@ -12,7 +12,7 @@ import { BAKED_ENV } from "./generated/env-config.js";
|
|
|
12
12
|
import { ALL_NETWORKS, EVM_NETWORKS } from "./networks.js";
|
|
13
13
|
import { HISTORY_API_KINDS, } from "./api/history/types.js";
|
|
14
14
|
import { resolveDeviceFingerprint } from "./device-fingerprint.js";
|
|
15
|
-
import {
|
|
15
|
+
import { formatDeviceId, resolveKeystoreDir, resolveInstallationId, resolveKeystorePassphrase, resolveRawDeviceId, resolveRelayApiKey, } from "./local-secrets.js";
|
|
16
16
|
/** `package.json` version of this package (works from `src/` and compiled `dist/`). */
|
|
17
17
|
export function packageVersion() {
|
|
18
18
|
try {
|
|
@@ -209,7 +209,9 @@ export function getConfig() {
|
|
|
209
209
|
if (cached)
|
|
210
210
|
return cached;
|
|
211
211
|
resolveKeystorePassphrase();
|
|
212
|
-
|
|
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();
|
|
213
215
|
const profile = BAKED_ENV;
|
|
214
216
|
cached = {
|
|
215
217
|
authUrl: envOr("IW_AUTH_URL", profile.authUrl),
|
|
@@ -220,11 +222,15 @@ export function getConfig() {
|
|
|
220
222
|
ratesApiUrl: envOr("IW_RATES_API_URL", profile.ratesApiUrl ?? ""),
|
|
221
223
|
staticResourcesUrl: envOr("IW_STATIC_RESOURCES_URL", profile.staticResourcesUrl ?? ""),
|
|
222
224
|
relayApiKey: resolveRelayApiKey(),
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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(),
|
|
228
234
|
keystoreDir: resolveKeystoreDir(),
|
|
229
235
|
evmRpcUrls: resolveEvmRpcUrls(profile.evmRpcUrls),
|
|
230
236
|
tronApiUrl: envOr("IW_TRON_API", profile.tronApiUrl),
|
|
@@ -263,7 +269,11 @@ export function commonHeaders(cfg) {
|
|
|
263
269
|
// Backend validates the format: TimeZone=..;Language=..;Region=..;
|
|
264
270
|
"X-Device-Locale": cfg.deviceLocale,
|
|
265
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.
|
|
266
274
|
"X-Device-Info": cfg.deviceInfo,
|
|
275
|
+
"X-Device-Info-Base64": Buffer.from(cfg.deviceInfo, "utf8").toString("base64"),
|
|
276
|
+
"X-Installation-ID": cfg.installationId,
|
|
267
277
|
"Content-Language": "en",
|
|
268
278
|
};
|
|
269
279
|
if (cfg.relayApiKey)
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/generated/env-config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,SAAS,EAAE,0BAA0B;IACrC,UAAU,EAAE,6BAA6B;IACzC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE;QACZ,UAAU,EAAE,qCAAqC;QACjD,KAAK,EAAE,gCAAgC;QACvC,SAAS,EAAE,wCAAwC;QACnD,MAAM,EAAE,iCAAiC;QACzC,UAAU,EAAE,yCAAyC;QACrD,UAAU,EAAE,qCAAqC;QACjD,WAAW,EAAE,8CAA8C;KAC5D;IACD,YAAY,EAAE,yBAAyB;IACvC,eAAe,EAAE,8BAA8B;IAC/C,gBAAgB,EAAE,+BAA+B;IACjD,YAAY,EAAE,0CAA0C;IACxD,cAAc,EAAE,qCAAqC;IACrD,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,yBAAyB;IACtC,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,qBAAqB;IACpC,oBAAoB,EAAE,gCAAgC;IACtD,aAAa,EAAE;QACb,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,gCAAgC;aACxC;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,0CAA0C;aAClD;SACF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,oCAAoC;aAC5C;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,iCAAiC;aACzC;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qCAAqC;aAC7C;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qCAAqC;aAC7C;SACF;QACD,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qEAAqE;aAC7E;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,kCAAkC;aAC1C;YACD;gBACE,MAAM,EAAE,UAAU;aACnB;SACF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,SAAS;aAClB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,2BAA2B;aACnC;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,SAAS;aAClB;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,aAAa;aACtB;SACF;QACD,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,mCAAmC;aAC3C;YACD;gBACE,MAAM,EAAE,YAAY;aACrB;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,WAAW;aACpB;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,SAAS;aAClB;SACF;KACF;CACO,CAAC"}
|
|
1
|
+
{"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/generated/env-config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,SAAS,EAAE,0BAA0B;IACrC,UAAU,EAAE,6BAA6B;IACzC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE;QACZ,UAAU,EAAE,qCAAqC;QACjD,KAAK,EAAE,gCAAgC;QACvC,SAAS,EAAE,wCAAwC;QACnD,MAAM,EAAE,iCAAiC;QACzC,UAAU,EAAE,yCAAyC;QACrD,UAAU,EAAE,qCAAqC;QACjD,WAAW,EAAE,8CAA8C;KAC5D;IACD,YAAY,EAAE,yBAAyB;IACvC,eAAe,EAAE,8BAA8B;IAC/C,gBAAgB,EAAE,+BAA+B;IACjD,YAAY,EAAE,0CAA0C;IACxD,cAAc,EAAE,qCAAqC;IACrD,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,yBAAyB;IACtC,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,qBAAqB;IACpC,oBAAoB,EAAE,gCAAgC;IACtD,aAAa,EAAE;QACb,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,gCAAgC;aACxC;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,0CAA0C;aAClD;SACF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,oCAAoC;aAC5C;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,iCAAiC;aACzC;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qCAAqC;aAC7C;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qCAAqC;aAC7C;SACF;QACD,WAAW,EAAE;YACX;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,qEAAqE;aAC7E;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,kCAAkC;aAC1C;YACD;gBACE,MAAM,EAAE,UAAU;aACnB;SACF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,SAAS;aAClB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,2BAA2B;aACnC;SACF;QACD,UAAU,EAAE;YACV;gBACE,MAAM,EAAE,SAAS;aAClB;SACF;QACD,MAAM,EAAE;YACN;gBACE,MAAM,EAAE,aAAa;aACtB;SACF;QACD,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,mCAAmC;aAC3C;YACD;gBACE,MAAM,EAAE,YAAY;aACrB;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,WAAW;aACpB;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,sBAAsB;aAC9B;SACF;QACD,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,SAAS;aAClB;SACF;KACF;CACO,CAAC"}
|
package/dist/local-secrets.d.ts
CHANGED
|
@@ -12,5 +12,27 @@ export declare function isUnsetSecret(value: string | undefined): boolean;
|
|
|
12
12
|
export declare function resolveRelayApiKey(): string;
|
|
13
13
|
/** Keystore wrapping secret. Not the recovery phrase. */
|
|
14
14
|
export declare function resolveKeystorePassphrase(): string;
|
|
15
|
-
/**
|
|
15
|
+
/** Platform tag the backend expects in front of the device UUID. */
|
|
16
|
+
export declare const DEVICE_ID_PLATFORM = "web";
|
|
17
|
+
/**
|
|
18
|
+
* Bare UUID as stored in `device-id` (or `IW_DEVICE_ID`). Stable per keystore
|
|
19
|
+
* directory. Used as fingerprint fallback material; the wire value is
|
|
20
|
+
* `formatDeviceId()` of this.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveRawDeviceId(): string;
|
|
23
|
+
/**
|
|
24
|
+
* `web:<uuid>` for X-Device-Id. A bare UUID (existing installs, env override)
|
|
25
|
+
* gets the `web:` prefix so the identity part stays the same. A value that
|
|
26
|
+
* already carries a `platform:` prefix is sent as is.
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatDeviceId(raw: string): string;
|
|
29
|
+
/** X-Device-Id, `web:<uuid>`. */
|
|
16
30
|
export declare function resolveDeviceId(): string;
|
|
31
|
+
/**
|
|
32
|
+
* `<uuid>:<unix nanoseconds>` — the X-Installation-ID format the backend
|
|
33
|
+
* expects. Minted once per keystore directory and kept, so a new id means a
|
|
34
|
+
* fresh install (or a wiped keystore).
|
|
35
|
+
*/
|
|
36
|
+
export declare function newInstallationId(now?: number): string;
|
|
37
|
+
/** X-Installation-ID. Stable per keystore directory; no env override on purpose. */
|
|
38
|
+
export declare function resolveInstallationId(): string;
|
package/dist/local-secrets.js
CHANGED
|
@@ -13,6 +13,7 @@ import { restrictPrivateFile } from "./restrict-private-file.js";
|
|
|
13
13
|
const RELAY_KEY_FILE = "relay-api-key";
|
|
14
14
|
const PASSPHRASE_FILE = "keystore-passphrase";
|
|
15
15
|
const DEVICE_ID_FILE = "device-id";
|
|
16
|
+
const INSTALLATION_ID_FILE = "installation-id";
|
|
16
17
|
export function resolveKeystoreDir() {
|
|
17
18
|
if (process.env.IW_KEYSTORE_DIR)
|
|
18
19
|
return process.env.IW_KEYSTORE_DIR;
|
|
@@ -59,11 +60,44 @@ export function resolveKeystorePassphrase() {
|
|
|
59
60
|
return fromEnv.trim();
|
|
60
61
|
return readOrCreate(PASSPHRASE_FILE, () => randomBytes(24).toString("base64url"));
|
|
61
62
|
}
|
|
62
|
-
/**
|
|
63
|
-
export
|
|
63
|
+
/** Platform tag the backend expects in front of the device UUID. */
|
|
64
|
+
export const DEVICE_ID_PLATFORM = "web";
|
|
65
|
+
/**
|
|
66
|
+
* Bare UUID as stored in `device-id` (or `IW_DEVICE_ID`). Stable per keystore
|
|
67
|
+
* directory. Used as fingerprint fallback material; the wire value is
|
|
68
|
+
* `formatDeviceId()` of this.
|
|
69
|
+
*/
|
|
70
|
+
export function resolveRawDeviceId() {
|
|
64
71
|
const fromEnv = process.env.IW_DEVICE_ID;
|
|
65
72
|
if (!isUnsetSecret(fromEnv))
|
|
66
73
|
return fromEnv.trim();
|
|
67
74
|
return readOrCreate(DEVICE_ID_FILE, () => randomUUID());
|
|
68
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* `web:<uuid>` for X-Device-Id. A bare UUID (existing installs, env override)
|
|
78
|
+
* gets the `web:` prefix so the identity part stays the same. A value that
|
|
79
|
+
* already carries a `platform:` prefix is sent as is.
|
|
80
|
+
*/
|
|
81
|
+
export function formatDeviceId(raw) {
|
|
82
|
+
const value = raw.trim();
|
|
83
|
+
if (/^[A-Za-z][A-Za-z0-9_-]*:/.test(value))
|
|
84
|
+
return value;
|
|
85
|
+
return `${DEVICE_ID_PLATFORM}:${value}`;
|
|
86
|
+
}
|
|
87
|
+
/** X-Device-Id, `web:<uuid>`. */
|
|
88
|
+
export function resolveDeviceId() {
|
|
89
|
+
return formatDeviceId(resolveRawDeviceId());
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* `<uuid>:<unix nanoseconds>` — the X-Installation-ID format the backend
|
|
93
|
+
* expects. Minted once per keystore directory and kept, so a new id means a
|
|
94
|
+
* fresh install (or a wiped keystore).
|
|
95
|
+
*/
|
|
96
|
+
export function newInstallationId(now = Date.now()) {
|
|
97
|
+
return `${randomUUID()}:${BigInt(Math.trunc(now)) * 1000000n}`;
|
|
98
|
+
}
|
|
99
|
+
/** X-Installation-ID. Stable per keystore directory; no env override on purpose. */
|
|
100
|
+
export function resolveInstallationId() {
|
|
101
|
+
return readOrCreate(INSTALLATION_ID_FILE, () => newInstallationId());
|
|
102
|
+
}
|
|
69
103
|
//# sourceMappingURL=local-secrets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-secrets.js","sourceRoot":"","sources":["../src/local-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,cAAc,GAAG,eAAe,CAAC;AACvC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,cAAc,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"local-secrets.js","sourceRoot":"","sources":["../src/local-secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,cAAc,GAAG,eAAe,CAAC;AACvC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACpE,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,IAAI;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,OAAO,CAAC,GAAG,CAAC,QAAQ;QACpB,GAAG,CAAC;IACN,OAAO,GAAG,IAAI,kBAAkB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,QAAsB;IAC5D,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,aAAa,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,OAAQ,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,OAAQ,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,YAAY,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACzC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,OAAQ,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,GAAG,kBAAkB,IAAI,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,OAAO,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACxD,OAAO,GAAG,UAAU,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,QAAU,EAAE,CAAC;AACnE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACvE,CAAC"}
|
package/dist/networks.d.ts
CHANGED
|
@@ -3,3 +3,6 @@ export declare const EVM_NETWORKS: readonly ["ethereum", "bsc", "polygon", "base
|
|
|
3
3
|
export declare const NON_EVM_NETWORKS: readonly ["tron", "bitcoin", "litecoin", "doge", "solana", "ton", "xrp"];
|
|
4
4
|
export declare const ALL_NETWORKS: readonly ["ethereum", "bsc", "polygon", "base", "arbitrum", "optimism", "avalanche", "tron", "bitcoin", "litecoin", "doge", "solana", "ton", "xrp"];
|
|
5
5
|
export type NetworkId = (typeof ALL_NETWORKS)[number];
|
|
6
|
+
/** Human-readable network names for captions (deposit QR, manager). */
|
|
7
|
+
export declare const NETWORK_LABEL: Record<NetworkId, string>;
|
|
8
|
+
export declare function networkLabel(network: string): string;
|
package/dist/networks.js
CHANGED
|
@@ -18,4 +18,24 @@ export const NON_EVM_NETWORKS = [
|
|
|
18
18
|
"xrp",
|
|
19
19
|
];
|
|
20
20
|
export const ALL_NETWORKS = [...EVM_NETWORKS, ...NON_EVM_NETWORKS];
|
|
21
|
+
/** Human-readable network names for captions (deposit QR, manager). */
|
|
22
|
+
export const NETWORK_LABEL = {
|
|
23
|
+
ethereum: "Ethereum",
|
|
24
|
+
bsc: "BSC",
|
|
25
|
+
polygon: "Polygon",
|
|
26
|
+
base: "Base",
|
|
27
|
+
arbitrum: "Arbitrum",
|
|
28
|
+
optimism: "Optimism",
|
|
29
|
+
avalanche: "Avalanche",
|
|
30
|
+
tron: "Tron",
|
|
31
|
+
bitcoin: "Bitcoin",
|
|
32
|
+
litecoin: "Litecoin",
|
|
33
|
+
doge: "Dogecoin",
|
|
34
|
+
solana: "Solana",
|
|
35
|
+
ton: "TON",
|
|
36
|
+
xrp: "XRP",
|
|
37
|
+
};
|
|
38
|
+
export function networkLabel(network) {
|
|
39
|
+
return NETWORK_LABEL[network] ?? network;
|
|
40
|
+
}
|
|
21
41
|
//# sourceMappingURL=networks.js.map
|
package/dist/networks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU;IACV,KAAK;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,WAAW;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU;IACV,KAAK;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,WAAW;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAU,CAAC;AAI5E,uEAAuE;AACvE,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,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,UAAU;IAChB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,aAAa,CAAC,OAAoB,CAAC,IAAI,OAAO,CAAC;AACxD,CAAC"}
|
package/dist/policy.d.ts
CHANGED
|
@@ -34,6 +34,37 @@ export declare function numberToDecimalString(n: number): string;
|
|
|
34
34
|
export declare function multiplyDecimalAmounts(a: string, b: string): string;
|
|
35
35
|
/** Always-present policy for `list_wallets` (`enabled: false` when unset). */
|
|
36
36
|
export declare function listWalletPolicy(policy: WalletPolicy | undefined): WalletPolicy;
|
|
37
|
+
/** Restriction fields a policy can carry. */
|
|
38
|
+
export type PolicyRestriction = "readOnly" | "maxPerTxUsd" | "allowedRecipients";
|
|
39
|
+
export interface PolicyFieldChange<T> {
|
|
40
|
+
from: T;
|
|
41
|
+
to: T;
|
|
42
|
+
}
|
|
43
|
+
export interface PolicyDiff {
|
|
44
|
+
/** True when the effective restrictions did not change. */
|
|
45
|
+
unchanged: boolean;
|
|
46
|
+
/** Per-field before/after for fields whose effective value changed. */
|
|
47
|
+
changes: {
|
|
48
|
+
enabled?: PolicyFieldChange<boolean>;
|
|
49
|
+
readOnly?: PolicyFieldChange<boolean>;
|
|
50
|
+
maxPerTxUsd?: PolicyFieldChange<string | null>;
|
|
51
|
+
allowedRecipients?: PolicyFieldChange<string[] | null>;
|
|
52
|
+
};
|
|
53
|
+
/** Restrictions that were in force before and are gone now. */
|
|
54
|
+
removedRestrictions: PolicyRestriction[];
|
|
55
|
+
/**
|
|
56
|
+
* Human-readable alerts for every way the new policy is weaker than the old
|
|
57
|
+
* one. Empty when nothing was loosened.
|
|
58
|
+
*/
|
|
59
|
+
warnings: string[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Compare the restrictions in force before and after a `set_wallet_policy`
|
|
63
|
+
* write. The tool is a full replace, so an omitted field silently disappears;
|
|
64
|
+
* this diff is what makes that visible in the response instead of leaving the
|
|
65
|
+
* agent to compare `previous_policy` and `policy` by eye.
|
|
66
|
+
*/
|
|
67
|
+
export declare function diffWalletPolicy(previous: WalletPolicy | undefined, next: WalletPolicy | undefined): PolicyDiff;
|
|
37
68
|
/** Throws with a clear message if the operation violates the wallet policy. */
|
|
38
69
|
export declare function enforcePolicy(entry: WalletEntry, check: PolicyCheck): void;
|
|
39
70
|
/** Pure part of the USD check: amount × rate vs limit. Throws on violation. */
|
package/dist/policy.js
CHANGED
|
@@ -69,6 +69,101 @@ export function listWalletPolicy(policy) {
|
|
|
69
69
|
return { enabled: false };
|
|
70
70
|
return policy;
|
|
71
71
|
}
|
|
72
|
+
/** Restrictions actually in force: a disabled policy enforces nothing. */
|
|
73
|
+
function effectiveRestrictions(policy) {
|
|
74
|
+
if (!policy || !policy.enabled) {
|
|
75
|
+
return { readOnly: false, maxPerTxUsd: null, allowedRecipients: null };
|
|
76
|
+
}
|
|
77
|
+
const recipients = (policy.allowedRecipients ?? []).filter((a) => a.length > 0);
|
|
78
|
+
return {
|
|
79
|
+
readOnly: policy.readOnly === true,
|
|
80
|
+
maxPerTxUsd: policy.maxPerTxUsd ?? null,
|
|
81
|
+
allowedRecipients: recipients.length > 0 ? recipients : null,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function sameRecipients(a, b) {
|
|
85
|
+
if (a === null || b === null)
|
|
86
|
+
return a === b;
|
|
87
|
+
if (a.length !== b.length)
|
|
88
|
+
return false;
|
|
89
|
+
const sb = new Set(b);
|
|
90
|
+
return a.every((x) => sb.has(x));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Compare the restrictions in force before and after a `set_wallet_policy`
|
|
94
|
+
* write. The tool is a full replace, so an omitted field silently disappears;
|
|
95
|
+
* this diff is what makes that visible in the response instead of leaving the
|
|
96
|
+
* agent to compare `previous_policy` and `policy` by eye.
|
|
97
|
+
*/
|
|
98
|
+
export function diffWalletPolicy(previous, next) {
|
|
99
|
+
const before = effectiveRestrictions(previous);
|
|
100
|
+
const after = effectiveRestrictions(next);
|
|
101
|
+
const wasEnabled = previous?.enabled === true;
|
|
102
|
+
const isEnabled = next?.enabled === true;
|
|
103
|
+
const disabledNow = wasEnabled && !isEnabled;
|
|
104
|
+
// When the caller passed enabled=false the loss is intentional; the
|
|
105
|
+
// full-replace reminder only makes sense when a field was merely omitted.
|
|
106
|
+
const omittedHint = disabledNow
|
|
107
|
+
? ""
|
|
108
|
+
: " set_wallet_policy is a full replace — if you only meant to change another field, call again and include it.";
|
|
109
|
+
const diff = {
|
|
110
|
+
unchanged: true,
|
|
111
|
+
changes: {},
|
|
112
|
+
removedRestrictions: [],
|
|
113
|
+
warnings: [],
|
|
114
|
+
};
|
|
115
|
+
if (wasEnabled !== isEnabled) {
|
|
116
|
+
diff.changes.enabled = { from: wasEnabled, to: isEnabled };
|
|
117
|
+
}
|
|
118
|
+
if (before.readOnly !== after.readOnly) {
|
|
119
|
+
diff.changes.readOnly = { from: before.readOnly, to: after.readOnly };
|
|
120
|
+
if (before.readOnly) {
|
|
121
|
+
diff.removedRestrictions.push("readOnly");
|
|
122
|
+
diff.warnings.push(`readOnly was removed: the wallet can send and swap again.${omittedHint}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (before.maxPerTxUsd !== after.maxPerTxUsd) {
|
|
126
|
+
diff.changes.maxPerTxUsd = { from: before.maxPerTxUsd, to: after.maxPerTxUsd };
|
|
127
|
+
if (before.maxPerTxUsd !== null && after.maxPerTxUsd === null) {
|
|
128
|
+
diff.removedRestrictions.push("maxPerTxUsd");
|
|
129
|
+
diff.warnings.push(`maxPerTxUsd was removed (was ${before.maxPerTxUsd} USD): sends and swaps are no longer capped by USD value.${omittedHint}`);
|
|
130
|
+
}
|
|
131
|
+
else if (before.maxPerTxUsd !== null && after.maxPerTxUsd !== null) {
|
|
132
|
+
// The stored value may predate validation; a malformed old limit must
|
|
133
|
+
// not block the write that replaces it. Treat it as "unknown → changed".
|
|
134
|
+
let raised = false;
|
|
135
|
+
try {
|
|
136
|
+
raised = compareDecimalAmount(after.maxPerTxUsd, before.maxPerTxUsd) > 0;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
raised = false;
|
|
140
|
+
}
|
|
141
|
+
if (raised) {
|
|
142
|
+
diff.warnings.push(`maxPerTxUsd was raised from ${before.maxPerTxUsd} to ${after.maxPerTxUsd} USD.`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (!sameRecipients(before.allowedRecipients, after.allowedRecipients)) {
|
|
147
|
+
diff.changes.allowedRecipients = {
|
|
148
|
+
from: before.allowedRecipients,
|
|
149
|
+
to: after.allowedRecipients,
|
|
150
|
+
};
|
|
151
|
+
if (before.allowedRecipients !== null && after.allowedRecipients === null) {
|
|
152
|
+
const n = before.allowedRecipients.length;
|
|
153
|
+
diff.removedRestrictions.push("allowedRecipients");
|
|
154
|
+
diff.warnings.push(`allowedRecipients was removed (was ${n} address${n === 1 ? "" : "es"}): the wallet can now send to any address.${omittedHint}`);
|
|
155
|
+
}
|
|
156
|
+
else if (before.allowedRecipients !== null && after.allowedRecipients !== null) {
|
|
157
|
+
const prev = new Set(before.allowedRecipients);
|
|
158
|
+
const added = after.allowedRecipients.filter((a) => !prev.has(a));
|
|
159
|
+
if (added.length > 0) {
|
|
160
|
+
diff.warnings.push(`allowedRecipients gained ${added.length} address${added.length === 1 ? "" : "es"}: ${added.join(", ")}.`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
diff.unchanged = Object.keys(diff.changes).length === 0;
|
|
165
|
+
return diff;
|
|
166
|
+
}
|
|
72
167
|
/** Throws with a clear message if the operation violates the wallet policy. */
|
|
73
168
|
export function enforcePolicy(entry, check) {
|
|
74
169
|
const policy = entry.policy;
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/qr/deposit-qr.d.ts
CHANGED
|
@@ -5,7 +5,21 @@ import { type NetworkId } from "../config.js";
|
|
|
5
5
|
export interface DepositTarget {
|
|
6
6
|
network: NetworkId;
|
|
7
7
|
address: string;
|
|
8
|
+
/**
|
|
9
|
+
* Other networks in the wallet that use the same address (EVM chains). Set
|
|
10
|
+
* only when targets were collapsed by address, so the caption can say the
|
|
11
|
+
* one 0x… code works on all of them.
|
|
12
|
+
*/
|
|
13
|
+
sharedWith?: NetworkId[];
|
|
8
14
|
}
|
|
15
|
+
/** Text drawn on the PNG: network name above the code, address below. */
|
|
16
|
+
export interface DepositCaption {
|
|
17
|
+
title: string;
|
|
18
|
+
subtitle?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function depositCaption(target: DepositTarget): DepositCaption;
|
|
21
|
+
/** One line for JSON / chat: "Ethereum (same address on BSC, Polygon, …)". */
|
|
22
|
+
export declare function depositLabel(target: DepositTarget): string;
|
|
9
23
|
export declare function depositPayload(network: string, address: string): string;
|
|
10
24
|
/** Local manager PNG for one deposit target (`ensureManager()` base URL). */
|
|
11
25
|
export declare function depositQrUrl(baseUrl: string, network: string, address: string): string;
|
|
@@ -14,4 +28,10 @@ export declare function uniqueDepositTargets(addresses: Record<string, string>):
|
|
|
14
28
|
/** Targets for one QR (a named network) or one per unique address. */
|
|
15
29
|
export declare function selectDepositTargets(addresses: Record<string, string>, network?: NetworkId): DepositTarget[];
|
|
16
30
|
export declare function walletOwnsDeposit(addresses: Record<string, string>, network: string, address: string): boolean;
|
|
17
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Deposit PNG layout, top to bottom: network name (and the "same address on…"
|
|
33
|
+
* note for a collapsed EVM address), the QR with the IW mark, the address.
|
|
34
|
+
* The network has to be on the image itself — when several QRs land in a chat
|
|
35
|
+
* the JSON next to them is not what a person scanning the code is looking at.
|
|
36
|
+
*/
|
|
37
|
+
export declare function renderDepositQrPng(address: string, payload: string, caption: DepositCaption): Promise<Buffer>;
|