@agent-shield/mcp 0.4.4 → 0.4.8

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 (75) hide show
  1. package/dist/config.d.ts +38 -3
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +95 -7
  4. package/dist/config.js.map +1 -1
  5. package/dist/errors.d.ts +1 -1
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +108 -72
  8. package/dist/errors.js.map +1 -1
  9. package/dist/index.js +71 -36
  10. package/dist/index.js.map +1 -1
  11. package/dist/resources/activity.d.ts.map +1 -1
  12. package/dist/resources/activity.js +10 -14
  13. package/dist/resources/activity.js.map +1 -1
  14. package/dist/resources/policy.d.ts.map +1 -1
  15. package/dist/resources/policy.js +6 -4
  16. package/dist/resources/policy.js.map +1 -1
  17. package/dist/resources/spending.d.ts.map +1 -1
  18. package/dist/resources/spending.js +17 -12
  19. package/dist/resources/spending.js.map +1 -1
  20. package/dist/tools/agent-transfer.d.ts.map +1 -1
  21. package/dist/tools/agent-transfer.js +1 -0
  22. package/dist/tools/agent-transfer.js.map +1 -1
  23. package/dist/tools/check-pending-policy.d.ts.map +1 -1
  24. package/dist/tools/check-pending-policy.js +6 -10
  25. package/dist/tools/check-pending-policy.js.map +1 -1
  26. package/dist/tools/check-spending.d.ts.map +1 -1
  27. package/dist/tools/check-spending.js +15 -21
  28. package/dist/tools/check-spending.js.map +1 -1
  29. package/dist/tools/check-vault.d.ts.map +1 -1
  30. package/dist/tools/check-vault.js +6 -4
  31. package/dist/tools/check-vault.js.map +1 -1
  32. package/dist/tools/close-position.d.ts +2 -2
  33. package/dist/tools/close-position.d.ts.map +1 -1
  34. package/dist/tools/close-position.js +14 -6
  35. package/dist/tools/close-position.js.map +1 -1
  36. package/dist/tools/configure-from-file.d.ts +1 -1
  37. package/dist/tools/configure-from-file.d.ts.map +1 -1
  38. package/dist/tools/configure-from-file.js +10 -6
  39. package/dist/tools/configure-from-file.js.map +1 -1
  40. package/dist/tools/configure.d.ts +6 -4
  41. package/dist/tools/configure.d.ts.map +1 -1
  42. package/dist/tools/configure.js +104 -42
  43. package/dist/tools/configure.js.map +1 -1
  44. package/dist/tools/create-vault.d.ts +4 -4
  45. package/dist/tools/create-vault.d.ts.map +1 -1
  46. package/dist/tools/create-vault.js +13 -15
  47. package/dist/tools/create-vault.js.map +1 -1
  48. package/dist/tools/execute-swap.d.ts +2 -2
  49. package/dist/tools/execute-swap.d.ts.map +1 -1
  50. package/dist/tools/execute-swap.js +16 -4
  51. package/dist/tools/execute-swap.js.map +1 -1
  52. package/dist/tools/open-position.d.ts +2 -2
  53. package/dist/tools/open-position.d.ts.map +1 -1
  54. package/dist/tools/open-position.js +14 -6
  55. package/dist/tools/open-position.js.map +1 -1
  56. package/dist/tools/provision.d.ts +4 -2
  57. package/dist/tools/provision.d.ts.map +1 -1
  58. package/dist/tools/provision.js +6 -2
  59. package/dist/tools/provision.js.map +1 -1
  60. package/dist/tools/queue-policy-update.d.ts +4 -4
  61. package/dist/tools/queue-policy-update.d.ts.map +1 -1
  62. package/dist/tools/queue-policy-update.js +9 -16
  63. package/dist/tools/queue-policy-update.js.map +1 -1
  64. package/dist/tools/setup-status.d.ts.map +1 -1
  65. package/dist/tools/setup-status.js +4 -2
  66. package/dist/tools/setup-status.js.map +1 -1
  67. package/dist/tools/update-policy.d.ts +4 -4
  68. package/dist/tools/update-policy.d.ts.map +1 -1
  69. package/dist/tools/update-policy.js +9 -16
  70. package/dist/tools/update-policy.js.map +1 -1
  71. package/dist/tools/x402-fetch.d.ts +2 -2
  72. package/dist/tools/x402-fetch.d.ts.map +1 -1
  73. package/dist/tools/x402-fetch.js +41 -27
  74. package/dist/tools/x402-fetch.js.map +1 -1
  75. package/package.json +10 -10
package/dist/config.d.ts CHANGED
@@ -5,8 +5,10 @@ export type McpCustodyProvider = "crossmint" | "turnkey" | "privy";
5
5
  export interface ShieldLayerConfig {
6
6
  shield: {
7
7
  enabled: boolean;
8
- dailyCapUsd: number;
9
- allowedProtocols: string[];
8
+ dailySpendingCapUsd: number;
9
+ /** Protocol mode: 0=all allowed, 1=allowlist, 2=denylist */
10
+ protocolMode: number;
11
+ protocols: string[];
10
12
  maxLeverageBps: number;
11
13
  rateLimit: number;
12
14
  };
@@ -70,7 +72,7 @@ export interface McpConfig {
70
72
  crossmintLocator?: string;
71
73
  }
72
74
  export declare function loadConfig(): McpConfig;
73
- export declare function loadKeypair(path: string): Keypair;
75
+ export declare function loadKeypair(filePath: string): Keypair;
74
76
  export declare function createClient(config: McpConfig): AgentShieldClient;
75
77
  /**
76
78
  * Create a WalletLike from a TEE custody provider.
@@ -80,5 +82,38 @@ export declare function createCustodyWallet(config: McpConfig): Promise<{
80
82
  publicKey: import("@solana/web3.js").PublicKey;
81
83
  signTransaction: Function;
82
84
  }>;
85
+ /** Minimal interface for custody wallets (avoids hard dep on adapter types). */
86
+ export interface CustodyWalletLike {
87
+ publicKey: import("@solana/web3.js").PublicKey;
88
+ signTransaction: <T>(tx: T) => Promise<T>;
89
+ signAllTransactions?: <T>(txs: T[]) => Promise<T[]>;
90
+ }
91
+ /** RPC URL helper: env override or clusterApiUrl fallback. */
92
+ export declare function rpcUrlForNetwork(network: "devnet" | "mainnet-beta"): string;
93
+ /**
94
+ * Create an AgentShieldClient backed by a custody wallet.
95
+ * Duck-typed: CrossmintWallet has publicKey, signTransaction, signAllTransactions.
96
+ */
97
+ export declare function createCustodyClient(config: McpConfig): Promise<{
98
+ client: AgentShieldClient;
99
+ custodyWallet: CustodyWalletLike;
100
+ }>;
101
+ /**
102
+ * Resolve an AgentShieldClient from the best available config source.
103
+ *
104
+ * Priority:
105
+ * 1. File-based config (from shield_configure)
106
+ * - crossmint type → needs CROSSMINT_API_KEY + locator → createCustodyClient
107
+ * - keypair type → createClient
108
+ * 2. Env-var config (backwards compatible)
109
+ * - custodyProvider set → createCustodyClient
110
+ * - else → createClient (keypair)
111
+ * 3. null if nothing works
112
+ */
113
+ export declare function resolveClient(): Promise<{
114
+ client: AgentShieldClient;
115
+ config: McpConfig;
116
+ custodyWallet: CustodyWalletLike | null;
117
+ } | null>;
83
118
  export declare function loadAgentKeypair(config: McpConfig): Keypair;
84
119
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAKtD,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAInE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE,QAAQ,GAAG,cAAc,CAAC;IACnC,QAAQ,EAAE,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,kCAAkC;AAClC,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,GAAG,IAAI,CAgD3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAShE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAMpE;AAED,MAAM,WAAW,SAAS;IACxB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,UAAU,IAAI,SAAS,CAgCtC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CAWjE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IACpE,SAAS,EAAE,OAAO,iBAAiB,EAAE,SAAS,CAAC;IAC/C,eAAe,EAAE,QAAQ,CAAC;CAC3B,CAAC,CAuCD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAQ3D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -43,6 +43,9 @@ exports.loadConfig = loadConfig;
43
43
  exports.loadKeypair = loadKeypair;
44
44
  exports.createClient = createClient;
45
45
  exports.createCustodyWallet = createCustodyWallet;
46
+ exports.rpcUrlForNetwork = rpcUrlForNetwork;
47
+ exports.createCustodyClient = createCustodyClient;
48
+ exports.resolveClient = resolveClient;
46
49
  exports.loadAgentKeypair = loadAgentKeypair;
47
50
  const web3_js_1 = require("@solana/web3.js");
48
51
  const anchor_1 = require("@coral-xyz/anchor");
@@ -58,6 +61,18 @@ function getConfigDir() {
58
61
  function getConfigPath() {
59
62
  return path.join(getConfigDir(), "config.json");
60
63
  }
64
+ /** Runtime guard — rejects corrupted or incompatible config files. */
65
+ function isValidConfig(obj) {
66
+ return (typeof obj === "object" &&
67
+ obj !== null &&
68
+ obj.version === 1 &&
69
+ typeof obj.layers?.shield?.enabled === "boolean" &&
70
+ typeof obj.layers?.shield?.dailySpendingCapUsd === "number" &&
71
+ typeof obj.layers?.tee === "object" &&
72
+ typeof obj.layers?.vault === "object" &&
73
+ typeof obj.wallet?.publicKey === "string" &&
74
+ (obj.network === "devnet" || obj.network === "mainnet-beta"));
75
+ }
61
76
  /**
62
77
  * Load local shield config from ~/.agentshield/config.json.
63
78
  * Falls back to env vars for backwards compatibility with existing MCP installs.
@@ -69,7 +84,8 @@ function loadShieldConfig() {
69
84
  if (fs.existsSync(configPath)) {
70
85
  try {
71
86
  const raw = fs.readFileSync(configPath, "utf-8");
72
- return JSON.parse(raw);
87
+ const parsed = JSON.parse(raw);
88
+ return isValidConfig(parsed) ? parsed : null;
73
89
  }
74
90
  catch {
75
91
  return null;
@@ -85,8 +101,9 @@ function loadShieldConfig() {
85
101
  layers: {
86
102
  shield: {
87
103
  enabled: true,
88
- dailyCapUsd: 500,
89
- allowedProtocols: [],
104
+ dailySpendingCapUsd: 500,
105
+ protocolMode: 0,
106
+ protocols: [],
90
107
  maxLeverageBps: 0,
91
108
  rateLimit: 60,
92
109
  },
@@ -162,10 +179,10 @@ function loadConfig() {
162
179
  }
163
180
  return { walletPath, rpcUrl, agentKeypairPath };
164
181
  }
165
- function loadKeypair(path) {
166
- const resolved = path.startsWith("~")
167
- ? path.replace("~", process.env.HOME || "")
168
- : path;
182
+ function loadKeypair(filePath) {
183
+ const resolved = filePath.startsWith("~")
184
+ ? filePath.replace("~", os.homedir())
185
+ : filePath;
169
186
  const raw = fs.readFileSync(resolved, "utf-8");
170
187
  const secretKey = Uint8Array.from(JSON.parse(raw));
171
188
  return web3_js_1.Keypair.fromSecretKey(secretKey);
@@ -215,6 +232,77 @@ async function createCustodyWallet(config) {
215
232
  "Supported: crossmint, turnkey, privy.");
216
233
  }
217
234
  }
235
+ /** RPC URL helper: env override or clusterApiUrl fallback. */
236
+ function rpcUrlForNetwork(network) {
237
+ return process.env.AGENTSHIELD_RPC_URL || (0, web3_js_1.clusterApiUrl)(network);
238
+ }
239
+ /**
240
+ * Create an AgentShieldClient backed by a custody wallet.
241
+ * Duck-typed: CrossmintWallet has publicKey, signTransaction, signAllTransactions.
242
+ */
243
+ async function createCustodyClient(config) {
244
+ const custodyWallet = (await createCustodyWallet(config));
245
+ const connection = new web3_js_1.Connection(config.rpcUrl, "confirmed");
246
+ const client = new sdk_1.AgentShieldClient(connection, custodyWallet);
247
+ return { client, custodyWallet };
248
+ }
249
+ /**
250
+ * Resolve an AgentShieldClient from the best available config source.
251
+ *
252
+ * Priority:
253
+ * 1. File-based config (from shield_configure)
254
+ * - crossmint type → needs CROSSMINT_API_KEY + locator → createCustodyClient
255
+ * - keypair type → createClient
256
+ * 2. Env-var config (backwards compatible)
257
+ * - custodyProvider set → createCustodyClient
258
+ * - else → createClient (keypair)
259
+ * 3. null if nothing works
260
+ */
261
+ async function resolveClient() {
262
+ // Priority 1: File-based config
263
+ const fileConfig = loadShieldConfig();
264
+ if (fileConfig) {
265
+ if (fileConfig.wallet.type === "crossmint" &&
266
+ fileConfig.layers.tee.enabled) {
267
+ const apiKey = process.env.CROSSMINT_API_KEY;
268
+ if (!apiKey) {
269
+ throw new Error("Crossmint wallet configured but CROSSMINT_API_KEY is not set. " +
270
+ "Set CROSSMINT_API_KEY in your environment to use your custody wallet.");
271
+ }
272
+ const mcpConfig = {
273
+ rpcUrl: rpcUrlForNetwork(fileConfig.network),
274
+ custodyProvider: "crossmint",
275
+ crossmintApiKey: apiKey,
276
+ crossmintLocator: fileConfig.layers.tee.locator ?? undefined,
277
+ };
278
+ const { client, custodyWallet } = await createCustodyClient(mcpConfig);
279
+ return { client, config: mcpConfig, custodyWallet };
280
+ }
281
+ if (fileConfig.wallet.type === "keypair" && fileConfig.wallet.path) {
282
+ const mcpConfig = {
283
+ walletPath: fileConfig.wallet.path,
284
+ rpcUrl: rpcUrlForNetwork(fileConfig.network),
285
+ agentKeypairPath: fileConfig.wallet.path,
286
+ };
287
+ const client = createClient(mcpConfig);
288
+ return { client, config: mcpConfig, custodyWallet: null };
289
+ }
290
+ }
291
+ // Priority 2: Env-var config
292
+ try {
293
+ const envConfig = loadConfig();
294
+ if (envConfig.custodyProvider) {
295
+ const { client, custodyWallet } = await createCustodyClient(envConfig);
296
+ return { client, config: envConfig, custodyWallet };
297
+ }
298
+ const client = createClient(envConfig);
299
+ return { client, config: envConfig, custodyWallet: null };
300
+ }
301
+ catch {
302
+ // loadConfig throws when no wallet path — that's fine, fall through
303
+ }
304
+ return null;
305
+ }
218
306
  function loadAgentKeypair(config) {
219
307
  if (!config.agentKeypairPath) {
220
308
  throw new Error("AGENTSHIELD_AGENT_KEYPAIR_PATH is required for agent-signed operations. " +
@@ -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":"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"}
package/dist/errors.d.ts CHANGED
@@ -5,7 +5,7 @@ export interface ErrorInfo {
5
5
  suggestion: string;
6
6
  }
7
7
  /**
8
- * Maps all 40 AgentShield Anchor error codes (6000–6039) to
8
+ * Maps all 46 AgentShield Anchor error codes (6000–6045) to
9
9
  * human-readable messages with actionable suggestions for AI tools.
10
10
  */
11
11
  declare const ERROR_MAP: Record<number, ErrorInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAiRxC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CASnD;AA6BD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmClD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA4TxC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CASnD;AA6BD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmClD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
package/dist/errors.js CHANGED
@@ -4,7 +4,7 @@ exports.ERROR_MAP = void 0;
4
4
  exports.lookupError = lookupError;
5
5
  exports.formatError = formatError;
6
6
  /**
7
- * Maps all 40 AgentShield Anchor error codes (6000–6039) to
7
+ * Maps all 46 AgentShield Anchor error codes (6000–6045) to
8
8
  * human-readable messages with actionable suggestions for AI tools.
9
9
  */
10
10
  const ERROR_MAP = {
@@ -28,15 +28,15 @@ const ERROR_MAP = {
28
28
  },
29
29
  6003: {
30
30
  code: 6003,
31
- name: "TokenNotAllowed",
32
- message: "Token not in allowed list",
33
- suggestion: "Use shield_update_policy to add the token to allowedTokens, or use an allowed token.",
31
+ name: "TokenNotRegistered",
32
+ message: "Token not registered in oracle registry",
33
+ suggestion: "Register the token in the oracle registry before using it, or use a token that is already registered.",
34
34
  },
35
35
  6004: {
36
36
  code: 6004,
37
37
  name: "ProtocolNotAllowed",
38
- message: "Protocol not in allowed list",
39
- suggestion: "Use shield_update_policy to add the protocol to allowedProtocols.",
38
+ message: "Protocol not allowed by policy",
39
+ suggestion: "Use shield_update_policy to add the protocol to the allowlist, or switch protocolMode to allow-all (mode 0).",
40
40
  },
41
41
  6005: {
42
42
  code: 6005,
@@ -94,159 +94,195 @@ const ERROR_MAP = {
94
94
  },
95
95
  6014: {
96
96
  code: 6014,
97
- name: "TooManyAllowedTokens",
98
- message: "Policy configuration invalid: too many allowed tokens",
99
- suggestion: "Maximum 10 allowed tokens. Remove tokens you no longer need.",
100
- },
101
- 6015: {
102
- code: 6015,
103
97
  name: "TooManyAllowedProtocols",
104
98
  message: "Policy configuration invalid: too many allowed protocols",
105
99
  suggestion: "Maximum 10 allowed protocols. Remove protocols you no longer need.",
106
100
  },
107
- 6016: {
108
- code: 6016,
101
+ 6015: {
102
+ code: 6015,
109
103
  name: "AgentAlreadyRegistered",
110
104
  message: "Agent already registered for this vault",
111
105
  suggestion: "Use shield_revoke_agent first, then register the new agent.",
112
106
  },
113
- 6017: {
114
- code: 6017,
107
+ 6016: {
108
+ code: 6016,
115
109
  name: "NoAgentRegistered",
116
110
  message: "No agent registered for this vault",
117
111
  suggestion: "Use shield_register_agent to register an agent before executing trades.",
118
112
  },
119
- 6018: {
120
- code: 6018,
113
+ 6017: {
114
+ code: 6017,
121
115
  name: "VaultNotFrozen",
122
116
  message: "Vault is not frozen (expected frozen for reactivation)",
123
117
  suggestion: "Only frozen vaults can be reactivated. The vault may already be active.",
124
118
  },
125
- 6019: {
126
- code: 6019,
119
+ 6018: {
120
+ code: 6018,
127
121
  name: "VaultAlreadyClosed",
128
122
  message: "Vault is already closed",
129
123
  suggestion: "This vault has been permanently closed. Create a new vault instead.",
130
124
  },
131
- 6020: {
132
- code: 6020,
125
+ 6019: {
126
+ code: 6019,
133
127
  name: "InsufficientBalance",
134
128
  message: "Insufficient vault balance for withdrawal",
135
129
  suggestion: "Use shield_check_vault to verify balances. Deposit more funds or reduce the withdrawal amount.",
136
130
  },
137
- 6021: {
138
- code: 6021,
131
+ 6020: {
132
+ code: 6020,
139
133
  name: "DeveloperFeeTooHigh",
140
134
  message: "Developer fee rate exceeds maximum (500 / 1,000,000 = 5 BPS)",
141
135
  suggestion: "Set developerFeeRate to 500 or less (maximum 0.05%).",
142
136
  },
143
- 6022: {
144
- code: 6022,
137
+ 6021: {
138
+ code: 6021,
145
139
  name: "InvalidFeeDestination",
146
140
  message: "Fee destination account invalid",
147
141
  suggestion: "Provide a valid Solana public key for the fee destination.",
148
142
  },
149
- 6023: {
150
- code: 6023,
143
+ 6022: {
144
+ code: 6022,
151
145
  name: "InvalidProtocolTreasury",
152
146
  message: "Protocol treasury account does not match expected address",
153
147
  suggestion: "This is an internal error. The protocol treasury address is hardcoded.",
154
148
  },
155
- 6024: {
156
- code: 6024,
157
- name: "TooManySpendEntries",
158
- message: "Spend entry limit reached (too many active entries in rolling window)",
159
- suggestion: "Wait for older entries to expire from the 24h rolling window.",
160
- },
161
- 6025: {
162
- code: 6025,
149
+ 6023: {
150
+ code: 6023,
163
151
  name: "InvalidAgentKey",
164
152
  message: "Invalid agent: cannot be the zero address",
165
153
  suggestion: "Provide a valid Solana public key for the agent.",
166
154
  },
167
- 6026: {
168
- code: 6026,
155
+ 6024: {
156
+ code: 6024,
169
157
  name: "AgentIsOwner",
170
158
  message: "Invalid agent: agent cannot be the vault owner",
171
159
  suggestion: "The agent key must be different from the vault owner. Use a separate keypair.",
172
160
  },
173
- 6027: {
174
- code: 6027,
161
+ 6025: {
162
+ code: 6025,
175
163
  name: "Overflow",
176
164
  message: "Arithmetic overflow",
177
165
  suggestion: "The amount is too large. Reduce the value and try again.",
178
166
  },
179
- 6028: {
180
- code: 6028,
167
+ 6026: {
168
+ code: 6026,
181
169
  name: "DelegationFailed",
182
170
  message: "Token delegation approval failed",
183
171
  suggestion: "The vault may not have sufficient token balance. Check vault balance and try again.",
184
172
  },
185
- 6029: {
186
- code: 6029,
173
+ 6027: {
174
+ code: 6027,
187
175
  name: "RevocationFailed",
188
176
  message: "Token delegation revocation failed",
189
177
  suggestion: "The session may have already been finalized. Check session status.",
190
178
  },
191
- 6030: {
192
- code: 6030,
179
+ 6028: {
180
+ code: 6028,
193
181
  name: "OracleFeedStale",
194
182
  message: "Oracle feed value is too stale",
195
- suggestion: "The oracle price data is outdated. Wait for a fresh price update and retry.",
183
+ suggestion: "The oracle price data is outdated (exceeds 100-slot staleness window). Wait for a fresh price update and retry.",
196
184
  },
197
- 6031: {
198
- code: 6031,
185
+ 6029: {
186
+ code: 6029,
199
187
  name: "OracleFeedInvalid",
200
188
  message: "Cannot parse oracle feed data",
201
- suggestion: "The oracle feed account data is malformed or the account key doesn't match the policy. Verify the oracle configuration.",
189
+ suggestion: "The oracle feed account data is malformed. Verify the oracle configuration in the oracle registry.",
202
190
  },
203
- 6032: {
204
- code: 6032,
191
+ 6030: {
192
+ code: 6030,
205
193
  name: "TokenSpendBlocked",
206
194
  message: "Unpriced token cannot be spent (receive-only)",
207
- suggestion: "This token is configured as receive-only and cannot be used for spending.",
195
+ suggestion: "This token has no oracle price feed and is configured as receive-only. It cannot be used for spending.",
208
196
  },
209
- 6033: {
210
- code: 6033,
197
+ 6031: {
198
+ code: 6031,
211
199
  name: "InvalidTokenAccount",
212
200
  message: "Token account does not belong to vault or has wrong mint",
213
201
  suggestion: "Ensure the token account is owned by the vault PDA and matches the token mint.",
214
202
  },
215
- 6034: {
216
- code: 6034,
203
+ 6032: {
204
+ code: 6032,
217
205
  name: "OracleAccountMissing",
218
206
  message: "Oracle-priced token requires feed account in remaining_accounts",
219
207
  suggestion: "Pass the oracle feed account when transacting with oracle-priced tokens. The SDK resolves this automatically.",
220
208
  },
209
+ 6033: {
210
+ code: 6033,
211
+ name: "OracleConfidenceTooWide",
212
+ message: "Oracle price confidence interval too wide",
213
+ suggestion: "The oracle price has high uncertainty (>10% confidence interval). Wait for more stable market conditions and retry.",
214
+ },
215
+ 6034: {
216
+ code: 6034,
217
+ name: "OracleUnsupportedType",
218
+ message: "Oracle account owner is not a recognized oracle program",
219
+ suggestion: "The oracle feed account must be owned by either Pyth Receiver or Switchboard On-Demand program. Check the oracle registry.",
220
+ },
221
221
  6035: {
222
222
  code: 6035,
223
- name: "PerTokenCapExceeded",
224
- message: "Per-token daily spending cap would be exceeded",
225
- suggestion: "Wait for the 24h rolling window to reset, or use shield_update_policy to increase the per-token cap.",
223
+ name: "OracleNotVerified",
224
+ message: "Pyth price update not fully verified by Wormhole",
225
+ suggestion: "The Pyth price update has not been verified by Wormhole guardians. Use a fully verified price feed.",
226
226
  },
227
227
  6036: {
228
228
  code: 6036,
229
- name: "PerTokenTxLimitExceeded",
230
- message: "Per-token single transaction limit exceeded",
231
- suggestion: "Reduce the amount or use shield_update_policy to increase the per-token transaction limit.",
229
+ name: "TimelockNotExpired",
230
+ message: "Timelock period has not expired yet",
231
+ suggestion: "Wait for the timelock period to expire before applying the pending policy update.",
232
232
  },
233
233
  6037: {
234
234
  code: 6037,
235
- name: "OracleConfidenceTooWide",
236
- message: "Oracle price confidence interval too wide",
237
- suggestion: "The oracle price has high uncertainty (>10% confidence interval). Wait for more stable market conditions and retry.",
235
+ name: "TimelockActive",
236
+ message: "Vault has timelock active use queue_policy_update instead",
237
+ suggestion: "This vault has a timelock configured. Use shield_queue_policy_update to queue changes, then apply after the timelock expires.",
238
238
  },
239
239
  6038: {
240
240
  code: 6038,
241
- name: "OracleUnsupportedType",
242
- message: "Oracle account owner is not a recognized oracle program",
243
- suggestion: "The oracle feed account must be owned by either Pyth Receiver or Switchboard On-Demand program. Check the policy configuration.",
241
+ name: "NoTimelockConfigured",
242
+ message: "No timelock configured on this vault",
243
+ suggestion: "This vault does not have a timelock. Use shield_update_policy directly instead of queue_policy_update.",
244
244
  },
245
245
  6039: {
246
246
  code: 6039,
247
- name: "OracleNotVerified",
248
- message: "Pyth price update not fully verified by Wormhole",
249
- suggestion: "The Pyth price update has not been verified by Wormhole guardians. Use a fully verified price feed.",
247
+ name: "DestinationNotAllowed",
248
+ message: "Destination not in allowed list",
249
+ suggestion: "Use shield_update_policy to add the destination address to allowedDestinations.",
250
+ },
251
+ 6040: {
252
+ code: 6040,
253
+ name: "TooManyDestinations",
254
+ message: "Too many destinations (max 10)",
255
+ suggestion: "Maximum 10 allowed destinations. Remove destinations you no longer need before adding new ones.",
256
+ },
257
+ 6041: {
258
+ code: 6041,
259
+ name: "InvalidProtocolMode",
260
+ message: "Invalid protocol mode (must be 0, 1, or 2)",
261
+ suggestion: "Set protocolMode to 0 (allow all), 1 (allowlist), or 2 (denylist).",
262
+ },
263
+ 6042: {
264
+ code: 6042,
265
+ name: "OracleRegistryFull",
266
+ message: "Oracle registry is full (max 105 entries)",
267
+ suggestion: "The oracle registry has reached its maximum capacity of 105 token entries. Remove unused entries before adding new ones.",
268
+ },
269
+ 6043: {
270
+ code: 6043,
271
+ name: "UnauthorizedRegistryAdmin",
272
+ message: "Unauthorized: not the oracle registry authority",
273
+ suggestion: "Only the oracle registry authority can modify the registry. Verify you are using the correct admin wallet.",
274
+ },
275
+ 6044: {
276
+ code: 6044,
277
+ name: "OraclePriceDivergence",
278
+ message: "Primary and fallback oracle prices diverge beyond threshold",
279
+ suggestion: "The primary and fallback oracle feeds report prices that differ too much. Wait for price convergence or verify oracle feed configuration.",
280
+ },
281
+ 6045: {
282
+ code: 6045,
283
+ name: "OracleBothFeedsFailed",
284
+ message: "Both primary and fallback oracle feeds failed",
285
+ suggestion: "Neither oracle feed returned a valid price. Check that the oracle accounts are valid and not stale.",
250
286
  },
251
287
  };
252
288
  exports.ERROR_MAP = ERROR_MAP;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}