@agent-shield/mcp 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +4 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -2
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +108 -72
- package/dist/errors.js.map +1 -1
- package/dist/index.js +35 -20
- package/dist/index.js.map +1 -1
- package/dist/resources/activity.d.ts.map +1 -1
- package/dist/resources/activity.js +10 -14
- package/dist/resources/activity.js.map +1 -1
- package/dist/resources/policy.d.ts.map +1 -1
- package/dist/resources/policy.js +6 -4
- package/dist/resources/policy.js.map +1 -1
- package/dist/resources/spending.d.ts.map +1 -1
- package/dist/resources/spending.js +17 -12
- package/dist/resources/spending.js.map +1 -1
- package/dist/tools/agent-transfer.d.ts.map +1 -1
- package/dist/tools/agent-transfer.js +1 -0
- package/dist/tools/agent-transfer.js.map +1 -1
- package/dist/tools/check-pending-policy.d.ts.map +1 -1
- package/dist/tools/check-pending-policy.js +6 -10
- package/dist/tools/check-pending-policy.js.map +1 -1
- package/dist/tools/check-spending.d.ts.map +1 -1
- package/dist/tools/check-spending.js +15 -21
- package/dist/tools/check-spending.js.map +1 -1
- package/dist/tools/check-vault.d.ts.map +1 -1
- package/dist/tools/check-vault.js +6 -4
- package/dist/tools/check-vault.js.map +1 -1
- package/dist/tools/configure-from-file.d.ts +1 -1
- package/dist/tools/configure-from-file.d.ts.map +1 -1
- package/dist/tools/configure-from-file.js +10 -6
- package/dist/tools/configure-from-file.js.map +1 -1
- package/dist/tools/configure.d.ts +6 -4
- package/dist/tools/configure.d.ts.map +1 -1
- package/dist/tools/configure.js +27 -19
- package/dist/tools/configure.js.map +1 -1
- package/dist/tools/create-vault.d.ts +4 -4
- package/dist/tools/create-vault.d.ts.map +1 -1
- package/dist/tools/create-vault.js +13 -15
- package/dist/tools/create-vault.js.map +1 -1
- package/dist/tools/provision.d.ts +4 -2
- package/dist/tools/provision.d.ts.map +1 -1
- package/dist/tools/provision.js +6 -2
- package/dist/tools/provision.js.map +1 -1
- package/dist/tools/queue-policy-update.d.ts +4 -4
- package/dist/tools/queue-policy-update.d.ts.map +1 -1
- package/dist/tools/queue-policy-update.js +9 -16
- package/dist/tools/queue-policy-update.js.map +1 -1
- package/dist/tools/setup-status.d.ts.map +1 -1
- package/dist/tools/setup-status.js +4 -2
- package/dist/tools/setup-status.js.map +1 -1
- package/dist/tools/update-policy.d.ts +4 -4
- package/dist/tools/update-policy.d.ts.map +1 -1
- package/dist/tools/update-policy.js +9 -16
- package/dist/tools/update-policy.js.map +1 -1
- package/dist/tools/x402-fetch.d.ts.map +1 -1
- package/dist/tools/x402-fetch.js +6 -1
- package/dist/tools/x402-fetch.js.map +1 -1
- package/package.json +10 -10
|
@@ -5,28 +5,24 @@ const utils_1 = require("../utils");
|
|
|
5
5
|
async function getActivityResource(client, vaultAddress) {
|
|
6
6
|
try {
|
|
7
7
|
const vault = (0, utils_1.toPublicKey)(vaultAddress);
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
actionType: (0, utils_1.formatActionType)(tx.actionType),
|
|
12
|
-
tokenMint: tx.tokenMint.toBase58(),
|
|
13
|
-
amount: (0, utils_1.formatBN)(tx.amount),
|
|
14
|
-
protocol: tx.protocol.toBase58(),
|
|
15
|
-
success: tx.success,
|
|
16
|
-
slot: (0, utils_1.formatBN)(tx.slot),
|
|
17
|
-
}));
|
|
8
|
+
const vaultAccount = await client.fetchVaultByAddress(vault);
|
|
9
|
+
// V2: Transaction history is available via Anchor events, not on-chain state.
|
|
10
|
+
// We expose aggregate stats from the vault account itself.
|
|
18
11
|
return JSON.stringify({
|
|
19
12
|
vault: vaultAddress,
|
|
20
|
-
totalTransactions:
|
|
21
|
-
|
|
13
|
+
totalTransactions: (0, utils_1.formatBN)(vaultAccount.totalTransactions),
|
|
14
|
+
totalVolume: (0, utils_1.formatBN)(vaultAccount.totalVolume),
|
|
15
|
+
note: "Detailed transaction history is available via Anchor events. " +
|
|
16
|
+
"Use an explorer or event listener to view individual transactions.",
|
|
22
17
|
}, null, 2);
|
|
23
18
|
}
|
|
24
19
|
catch {
|
|
25
20
|
return JSON.stringify({
|
|
26
21
|
vault: vaultAddress,
|
|
27
22
|
error: "Activity data not found — vault may not exist",
|
|
28
|
-
totalTransactions: 0,
|
|
29
|
-
|
|
23
|
+
totalTransactions: "0",
|
|
24
|
+
totalVolume: "0",
|
|
25
|
+
note: "Detailed transaction history is available via Anchor events.",
|
|
30
26
|
}, null, 2);
|
|
31
27
|
}
|
|
32
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/resources/activity.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/resources/activity.ts"],"names":[],"mappings":";;AAGA,kDAmCC;AArCD,oCAAiD;AAE1C,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAE7D,8EAA8E;QAC9E,2DAA2D;QAC3D,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,iBAAiB,EAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,iBAAiB,CAAC;YAC3D,WAAW,EAAE,IAAA,gBAAQ,EAAC,YAAY,CAAC,WAAW,CAAC;YAC/C,IAAI,EACF,+DAA+D;gBAC/D,oEAAoE;SACvE,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,+CAA+C;YACtD,iBAAiB,EAAE,GAAG;YACtB,WAAW,EAAE,GAAG;YAChB,IAAI,EAAE,8DAA8D;SACrE,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAyCjB"}
|
package/dist/resources/policy.js
CHANGED
|
@@ -6,12 +6,14 @@ async function getPolicyResource(client, vaultAddress) {
|
|
|
6
6
|
try {
|
|
7
7
|
const vault = (0, utils_1.toPublicKey)(vaultAddress);
|
|
8
8
|
const policy = await client.fetchPolicy(vault);
|
|
9
|
+
const protocolModeLabels = ["all", "allowlist", "denylist"];
|
|
9
10
|
return JSON.stringify({
|
|
10
11
|
vault: vaultAddress,
|
|
11
12
|
dailySpendingCapUsd: (0, utils_1.formatBN)(policy.dailySpendingCapUsd),
|
|
12
13
|
maxTransactionSizeUsd: (0, utils_1.formatBN)(policy.maxTransactionSizeUsd),
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
protocolMode: protocolModeLabels[policy.protocolMode] ??
|
|
15
|
+
`unknown(${policy.protocolMode})`,
|
|
16
|
+
protocols: policy.protocols.map((p) => p.toBase58()),
|
|
15
17
|
maxLeverageBps: policy.maxLeverageBps,
|
|
16
18
|
canOpenPositions: policy.canOpenPositions,
|
|
17
19
|
maxConcurrentPositions: policy.maxConcurrentPositions,
|
|
@@ -24,8 +26,8 @@ async function getPolicyResource(client, vaultAddress) {
|
|
|
24
26
|
error: "Policy not found — vault may not exist",
|
|
25
27
|
dailySpendingCapUsd: "0",
|
|
26
28
|
maxTransactionSizeUsd: "0",
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
protocolMode: "all",
|
|
30
|
+
protocols: [],
|
|
29
31
|
maxLeverageBps: 0,
|
|
30
32
|
canOpenPositions: false,
|
|
31
33
|
maxConcurrentPositions: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":";;AAGA,8CA4CC;AA9CD,oCAAiD;AAE1C,KAAK,UAAU,iBAAiB,CACrC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,mBAAmB,CAAC;YACzD,qBAAqB,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,qBAAqB,CAAC;YAC7D,YAAY,EACV,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;gBACvC,WAAW,MAAM,CAAC,YAAY,GAAG;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpD,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,wCAAwC;YAC/C,mBAAmB,EAAE,GAAG;YACxB,qBAAqB,EAAE,GAAG;YAC1B,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;YACvB,sBAAsB,EAAE,CAAC;YACzB,gBAAgB,EAAE,CAAC;SACpB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spending.d.ts","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"spending.d.ts","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAmDjB"}
|
|
@@ -8,20 +8,23 @@ async function getSpendingResource(client, vaultAddress) {
|
|
|
8
8
|
const tracker = await client.fetchTracker(vault);
|
|
9
9
|
const policy = await client.fetchPolicy(vault);
|
|
10
10
|
const cap = policy.dailySpendingCapUsd;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
remaining: cap.isZero() ? "N/A" : (0, utils_1.formatBN)(cap.sub(entry.usdAmount)),
|
|
11
|
+
// Filter to non-zero buckets
|
|
12
|
+
const activeBuckets = tracker.buckets.filter((b) => !b.usdAmount.isZero());
|
|
13
|
+
// Compute rolling 24h total
|
|
14
|
+
let totalUsd = activeBuckets.reduce((sum, b) => sum.add(b.usdAmount), cap.sub(cap));
|
|
15
|
+
const buckets = activeBuckets.map((bucket) => ({
|
|
16
|
+
epochId: (0, utils_1.formatBN)(bucket.epochId),
|
|
17
|
+
usdAmount: (0, utils_1.formatBN)(bucket.usdAmount),
|
|
19
18
|
}));
|
|
20
19
|
return JSON.stringify({
|
|
21
20
|
vault: vaultAddress,
|
|
22
21
|
dailySpendingCapUsd: (0, utils_1.formatBN)(cap),
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
totalRolling24hUsd: (0, utils_1.formatBN)(totalUsd),
|
|
23
|
+
percentOfCap: cap.isZero()
|
|
24
|
+
? "N/A"
|
|
25
|
+
: `${totalUsd.muln(100).div(cap).toNumber()}%`,
|
|
26
|
+
remaining: cap.isZero() ? "N/A" : (0, utils_1.formatBN)(cap.sub(totalUsd)),
|
|
27
|
+
buckets,
|
|
25
28
|
}, null, 2);
|
|
26
29
|
}
|
|
27
30
|
catch {
|
|
@@ -29,8 +32,10 @@ async function getSpendingResource(client, vaultAddress) {
|
|
|
29
32
|
vault: vaultAddress,
|
|
30
33
|
error: "Spending data not found — vault may not exist",
|
|
31
34
|
dailySpendingCapUsd: "0",
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
totalRolling24hUsd: "0",
|
|
36
|
+
percentOfCap: "N/A",
|
|
37
|
+
remaining: "N/A",
|
|
38
|
+
buckets: [],
|
|
34
39
|
}, null, 2);
|
|
35
40
|
}
|
|
36
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spending.js","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"spending.js","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":";;AAGA,kDAsDC;AAxDD,oCAAiD;AAE1C,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAEvC,6BAA6B;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAChC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CACb,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,SAAS,CAAC;SACtC,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,GAAG,CAAC;YAClC,kBAAkB,EAAE,IAAA,gBAAQ,EAAC,QAAQ,CAAC;YACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;gBACxB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG;YAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO;SACR,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,+CAA+C;YACtD,mBAAmB,EAAE,GAAG;YACxB,kBAAkB,EAAE,GAAG;YACvB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE;SACZ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transfer.d.ts","sourceRoot":"","sources":["../../src/tools/agent-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC;AAIhF,eAAO,MAAM,mBAAmB;;;;;iBAS9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-transfer.d.ts","sourceRoot":"","sources":["../../src/tools/agent-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC;AAIhF,eAAO,MAAM,mBAAmB;;;;;iBAS9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;CAQ7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-transfer.js","sourceRoot":"","sources":["../../src/tools/agent-transfer.ts"],"names":[],"mappings":";;;AAoBA,
|
|
1
|
+
{"version":3,"file":"agent-transfer.js","sourceRoot":"","sources":["../../src/tools/agent-transfer.ts"],"names":[],"mappings":";;;AAoBA,sCAwCC;AA5DD,6BAAwB;AAExB,iDAAkE;AAElE,oCAA6C;AAC7C,sCAAwC;AAE3B,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxD,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CACP,qFAAqF,CACtF;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC1D,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CACjC,MAAyB,EACzB,KAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,IAAI,EACJ,KAAK,EACL,IAAI,CACL,CAAC;QACF,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,IAAI,EACJ,WAAW,CACZ,CAAC;QAEF,MAAM,MAAM,GAAwB;YAClC,MAAM;YACN,iBAAiB;YACjB,gBAAgB,EAAE,IAAI;YACtB,uBAAuB;SACxB,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,OAAO;YACL,4BAA4B;YAC5B,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,sBAAsB,KAAK,CAAC,WAAW,EAAE;YACzC,gBAAgB,KAAK,CAAC,IAAI,EAAE;YAC5B,iBAAiB,KAAK,CAAC,MAAM,EAAE;YAC/B,sBAAsB,GAAG,EAAE;SAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,sEAAsE;QACtE,yEAAyE;QACzE,8DAA8D;IAChE,MAAM,EAAE,2BAAmB;IAC3B,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-pending-policy.d.ts","sourceRoot":"","sources":["../../src/tools/check-pending-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"check-pending-policy.d.ts","sourceRoot":"","sources":["../../src/tools/check-pending-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmFjB;AAED,eAAO,MAAM,sBAAsB;;;;;;;CAOlC,CAAC"}
|
|
@@ -33,17 +33,13 @@ async function checkPendingPolicy(client, input) {
|
|
|
33
33
|
if (pending.maxTransactionAmountUsd !== null) {
|
|
34
34
|
changes.push(` - Max Transaction Size: → ${(0, utils_1.formatBN)(pending.maxTransactionAmountUsd)}`);
|
|
35
35
|
}
|
|
36
|
-
if (pending.
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
.join(", ");
|
|
40
|
-
changes.push(` - Allowed Tokens: → [${mints}]`);
|
|
36
|
+
if (pending.protocolMode !== null) {
|
|
37
|
+
const modeLabels = ["All Allowed", "Allowlist", "Denylist"];
|
|
38
|
+
changes.push(` - Protocol Mode: → ${modeLabels[pending.protocolMode] ?? `Unknown (${pending.protocolMode})`}`);
|
|
41
39
|
}
|
|
42
|
-
if (pending.
|
|
43
|
-
const protocols = pending.
|
|
44
|
-
|
|
45
|
-
.join(", ");
|
|
46
|
-
changes.push(` - Allowed Protocols: → [${protocols}]`);
|
|
40
|
+
if (pending.protocols !== null) {
|
|
41
|
+
const protocols = pending.protocols.map((p) => p.toBase58()).join(", ");
|
|
42
|
+
changes.push(` - Protocols: → [${protocols}]`);
|
|
47
43
|
}
|
|
48
44
|
if (pending.allowedDestinations !== null) {
|
|
49
45
|
const dests = pending.allowedDestinations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-pending-policy.js","sourceRoot":"","sources":["../../src/tools/check-pending-policy.ts"],"names":[],"mappings":";;;AAWA,
|
|
1
|
+
{"version":3,"file":"check-pending-policy.js","sourceRoot":"","sources":["../../src/tools/check-pending-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-spending.d.ts","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-spending.d.ts","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAO7B,CAAC"}
|
|
@@ -18,33 +18,26 @@ async function checkSpending(client, input) {
|
|
|
18
18
|
`## Spending Report: ${vaultAddress.toBase58()}`,
|
|
19
19
|
`- **Daily Cap:** ${cap}`,
|
|
20
20
|
"",
|
|
21
|
-
"### Rolling 24h Spend
|
|
21
|
+
"### Rolling 24h Spend (Epoch Buckets)",
|
|
22
22
|
];
|
|
23
|
-
|
|
23
|
+
// Filter to non-zero buckets only
|
|
24
|
+
const activeBuckets = tracker.buckets.filter((b) => !b.usdAmount.isZero());
|
|
25
|
+
if (activeBuckets.length === 0) {
|
|
24
26
|
lines.push("No spending activity in the last 24 hours.");
|
|
25
27
|
}
|
|
26
28
|
else {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
let totalUsd = activeBuckets[0].usdAmount.clone();
|
|
30
|
+
for (let i = 1; i < activeBuckets.length; i++) {
|
|
31
|
+
totalUsd = totalUsd.add(activeBuckets[i].usdAmount);
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
lines.push("No recent transactions.");
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
for (const tx of tracker.recentTransactions.slice(-10)) {
|
|
39
|
-
const status = tx.success ? "OK" : "FAIL";
|
|
40
|
-
lines.push(`- [${status}] ${(0, utils_1.formatActionType)(tx.actionType)} — ` +
|
|
41
|
-
`${(0, utils_1.formatBN)(tx.amount)} at ${(0, utils_1.formatTimestamp)(tx.timestamp)} ` +
|
|
42
|
-
`(slot ${(0, utils_1.formatBN)(tx.slot)})`);
|
|
43
|
-
}
|
|
44
|
-
if (tracker.recentTransactions.length > 10) {
|
|
45
|
-
lines.push(`... and ${tracker.recentTransactions.length - 10} more`);
|
|
33
|
+
lines.push(`- **Total 24h Spend (USD):** ${(0, utils_1.formatBN)(totalUsd)}`);
|
|
34
|
+
lines.push(`- **Active Epoch Buckets:** ${activeBuckets.length}`);
|
|
35
|
+
for (const bucket of activeBuckets) {
|
|
36
|
+
lines.push(` - Epoch ${(0, utils_1.formatBN)(bucket.epochId)}: $${(0, utils_1.formatBN)(bucket.usdAmount)}`);
|
|
46
37
|
}
|
|
47
38
|
}
|
|
39
|
+
lines.push("");
|
|
40
|
+
lines.push("Transaction history is available via Anchor events (use an explorer or event listener).");
|
|
48
41
|
return lines.join("\n");
|
|
49
42
|
}
|
|
50
43
|
catch (error) {
|
|
@@ -53,7 +46,8 @@ async function checkSpending(client, input) {
|
|
|
53
46
|
}
|
|
54
47
|
exports.checkSpendingTool = {
|
|
55
48
|
name: "shield_check_spending",
|
|
56
|
-
description: "Check the rolling 24h spending
|
|
49
|
+
description: "Check the rolling 24h spending for an AgentShield vault. " +
|
|
50
|
+
"Uses epoch-based circular buffer. Transaction history is available via Anchor events.",
|
|
57
51
|
schema: exports.checkSpendingSchema,
|
|
58
52
|
handler: checkSpending,
|
|
59
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-spending.js","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"check-spending.js","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":";;;AAWA,sCA6CC;AAxDD,6BAAwB;AAExB,oCAAiD;AACjD,sCAAwC;AAE3B,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACzD,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CACjC,MAAyB,EACzB,KAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjD,MAAM,KAAK,GAAa;YACtB,uBAAuB,YAAY,CAAC,QAAQ,EAAE,EAAE;YAChD,oBAAoB,GAAG,EAAE;YACzB,EAAE;YACF,uCAAuC;SACxC,CAAC;QAEF,kCAAkC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,+BAA+B,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CACR,aAAa,IAAA,gBAAQ,EAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAA,gBAAQ,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACxE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,yFAAyF,CAC1F,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,2DAA2D;QAC3D,uFAAuF;IACzF,MAAM,EAAE,2BAAmB;IAC3B,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-vault.d.ts","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,eAAO,MAAM,gBAAgB;;;;iBAc3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"check-vault.d.ts","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,eAAO,MAAM,gBAAgB;;;;iBAc3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CA+EjB;AAED,eAAO,MAAM,cAAc;;;;;;;;;CAO1B,CAAC"}
|
|
@@ -67,8 +67,10 @@ async function checkVault(client, input) {
|
|
|
67
67
|
}
|
|
68
68
|
const vault = await client.fetchVaultByAddress(vaultAddress);
|
|
69
69
|
const policy = await client.fetchPolicy(vaultAddress);
|
|
70
|
-
const
|
|
71
|
-
const
|
|
70
|
+
const protocolModeLabels = ["All Allowed", "Allowlist", "Denylist"];
|
|
71
|
+
const protocolModeLabel = protocolModeLabels[policy.protocolMode] ??
|
|
72
|
+
`Unknown (${policy.protocolMode})`;
|
|
73
|
+
const protocols = policy.protocols.map((p) => p.toBase58()).join(", ") || "None";
|
|
72
74
|
const allowedDestinations = policy.allowedDestinations && policy.allowedDestinations.length > 0
|
|
73
75
|
? policy.allowedDestinations.map((d) => d.toBase58()).join(", ")
|
|
74
76
|
: "Any";
|
|
@@ -107,8 +109,8 @@ async function checkVault(client, input) {
|
|
|
107
109
|
"### Policy",
|
|
108
110
|
`- **Daily Spending Cap:** ${(0, utils_1.formatBN)(policy.dailySpendingCapUsd)}`,
|
|
109
111
|
`- **Max Transaction Size:** ${(0, utils_1.formatBN)(policy.maxTransactionSizeUsd)}`,
|
|
110
|
-
`- **
|
|
111
|
-
`- **
|
|
112
|
+
`- **Protocol Mode:** ${protocolModeLabel}`,
|
|
113
|
+
`- **Protocols:** ${protocols}`,
|
|
112
114
|
`- **Allowed Destinations:** ${allowedDestinations}`,
|
|
113
115
|
`- **Max Leverage:** ${policy.maxLeverageBps} BPS`,
|
|
114
116
|
`- **Can Open Positions:** ${policy.canOpenPositions}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-vault.js","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,
|
|
1
|
+
{"version":3,"file":"check-vault.js","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export type ConfigureFromFileInput = z.infer<typeof configureFromFileSchema>;
|
|
|
16
16
|
* {
|
|
17
17
|
* "version": 1,
|
|
18
18
|
* "layers": {
|
|
19
|
-
* "shield": { "enabled": true, "
|
|
19
|
+
* "shield": { "enabled": true, "dailySpendingCapUsd": 500, "protocolMode": 0, "protocols": [], "maxLeverageBps": 0, "rateLimit": 60 },
|
|
20
20
|
* "tee": { "enabled": false, "locator": null, "publicKey": null },
|
|
21
21
|
* "vault": { "enabled": false, "address": null, "owner": null, "vaultId": null }
|
|
22
22
|
* },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure-from-file.d.ts","sourceRoot":"","sources":["../../src/tools/configure-from-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,uBAAuB;;iBAMlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA4EjB;
|
|
1
|
+
{"version":3,"file":"configure-from-file.d.ts","sourceRoot":"","sources":["../../src/tools/configure-from-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,uBAAuB;;iBAMlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA4EjB;AAmGD,eAAO,MAAM,qBAAqB;;;;;;;CASjC,CAAC"}
|
|
@@ -58,7 +58,7 @@ exports.configureFromFileSchema = zod_1.z.object({
|
|
|
58
58
|
* {
|
|
59
59
|
* "version": 1,
|
|
60
60
|
* "layers": {
|
|
61
|
-
* "shield": { "enabled": true, "
|
|
61
|
+
* "shield": { "enabled": true, "dailySpendingCapUsd": 500, "protocolMode": 0, "protocols": [], "maxLeverageBps": 0, "rateLimit": 60 },
|
|
62
62
|
* "tee": { "enabled": false, "locator": null, "publicKey": null },
|
|
63
63
|
* "vault": { "enabled": false, "address": null, "owner": null, "vaultId": null }
|
|
64
64
|
* },
|
|
@@ -120,7 +120,7 @@ async function configureFromFile(_client, input) {
|
|
|
120
120
|
`**Network:** ${config.network}`,
|
|
121
121
|
`**Template:** ${config.template}`,
|
|
122
122
|
`**Wallet:** ${config.wallet.publicKey}`,
|
|
123
|
-
`**Daily Cap:** $${config.layers.shield.
|
|
123
|
+
`**Daily Cap:** $${config.layers.shield.dailySpendingCapUsd}`,
|
|
124
124
|
];
|
|
125
125
|
if (!fullyConfigured) {
|
|
126
126
|
lines.push("");
|
|
@@ -160,11 +160,15 @@ function validateConfig(obj) {
|
|
|
160
160
|
if (typeof obj.layers.shield.enabled !== "boolean") {
|
|
161
161
|
errors.push('"layers.shield.enabled" must be a boolean');
|
|
162
162
|
}
|
|
163
|
-
if (typeof obj.layers.shield.
|
|
164
|
-
errors.push('"layers.shield.
|
|
163
|
+
if (typeof obj.layers.shield.dailySpendingCapUsd !== "number") {
|
|
164
|
+
errors.push('"layers.shield.dailySpendingCapUsd" must be a number');
|
|
165
165
|
}
|
|
166
|
-
if (
|
|
167
|
-
|
|
166
|
+
if (obj.layers.shield.protocolMode !== undefined &&
|
|
167
|
+
typeof obj.layers.shield.protocolMode !== "number") {
|
|
168
|
+
errors.push('"layers.shield.protocolMode" must be a number (0/1/2)');
|
|
169
|
+
}
|
|
170
|
+
if (!Array.isArray(obj.layers.shield.protocols)) {
|
|
171
|
+
errors.push('"layers.shield.protocols" must be an array');
|
|
168
172
|
}
|
|
169
173
|
if (typeof obj.layers.shield.maxLeverageBps !== "number") {
|
|
170
174
|
errors.push('"layers.shield.maxLeverageBps" must be a number');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure-from-file.js","sourceRoot":"","sources":["../../src/tools/configure-from-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,8CA+EC;AA7HD,6BAAwB;AACxB,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,sCAMmB;AAEN,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,OAAC;SACV,MAAM,EAAE;SACR,QAAQ,CACP,yFAAyF,CAC1F;CACJ,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,iBAAiB,CACrC,OAAY,EACZ,KAA6B;IAE7B,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,mCAAmC,QAAQ,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,8BAA8B,GAAG,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sCAAsC,CAAC;QAChD,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,2CAA2C;gBAC3C,EAAE;gBACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,EAAE;gBACF,kDAAkD;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAA2B,CAAC;QAE3C,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAA,yBAAgB,GAAE,CAAC;QACpC,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;QAEtC,cAAc;QACd,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;QAEzB,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAC;QAElD,MAAM,KAAK,GAAa;YACtB,sCAAsC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3E,EAAE;YACF,eAAe,QAAQ,EAAE;YACzB,eAAe,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,EAAE;YAC9E,gBAAgB,MAAM,CAAC,OAAO,EAAE;YAChC,iBAAiB,MAAM,CAAC,QAAQ,EAAE;YAClC,eAAe,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;YACxC,mBAAmB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"configure-from-file.js","sourceRoot":"","sources":["../../src/tools/configure-from-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,9 @@ export declare const configureSchema: z.ZodObject<{
|
|
|
10
10
|
moderate: "moderate";
|
|
11
11
|
aggressive: "aggressive";
|
|
12
12
|
}>>>;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
dailySpendingCapUsd: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
protocolMode: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
protocols: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
16
|
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
16
17
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
17
18
|
network: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
@@ -40,8 +41,9 @@ export declare const configureTool: {
|
|
|
40
41
|
moderate: "moderate";
|
|
41
42
|
aggressive: "aggressive";
|
|
42
43
|
}>>>;
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
dailySpendingCapUsd: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
protocolMode: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
protocols: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
45
47
|
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
46
48
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
47
49
|
network: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/tools/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/tools/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsDxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;iBA0C1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAiKjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAC"}
|
package/dist/tools/configure.js
CHANGED
|
@@ -47,14 +47,16 @@ const config_1 = require("../config");
|
|
|
47
47
|
*/
|
|
48
48
|
const CONFIGURE_TEMPLATES = {
|
|
49
49
|
conservative: {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
dailySpendingCapUsd: 500,
|
|
51
|
+
protocolMode: 1,
|
|
52
|
+
protocols: ["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"],
|
|
52
53
|
maxLeverageBps: 0,
|
|
53
54
|
rateLimit: 60,
|
|
54
55
|
},
|
|
55
56
|
moderate: {
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
dailySpendingCapUsd: 2000,
|
|
58
|
+
protocolMode: 1,
|
|
59
|
+
protocols: [
|
|
58
60
|
"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
|
|
59
61
|
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
|
|
60
62
|
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
|
|
@@ -64,8 +66,9 @@ const CONFIGURE_TEMPLATES = {
|
|
|
64
66
|
rateLimit: 120,
|
|
65
67
|
},
|
|
66
68
|
aggressive: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
dailySpendingCapUsd: 10000,
|
|
70
|
+
protocolMode: 0,
|
|
71
|
+
protocols: [
|
|
69
72
|
"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
|
|
70
73
|
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
|
|
71
74
|
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",
|
|
@@ -88,14 +91,18 @@ exports.configureSchema = zod_1.z.object({
|
|
|
88
91
|
.optional()
|
|
89
92
|
.default("conservative")
|
|
90
93
|
.describe("Policy template (default: conservative)"),
|
|
91
|
-
|
|
94
|
+
dailySpendingCapUsd: zod_1.z
|
|
92
95
|
.number()
|
|
93
96
|
.optional()
|
|
94
97
|
.describe("Custom daily spending cap in USD (overrides template)"),
|
|
95
|
-
|
|
98
|
+
protocolMode: zod_1.z
|
|
99
|
+
.number()
|
|
100
|
+
.optional()
|
|
101
|
+
.describe("Protocol access mode: 0 = all allowed, 1 = allowlist, 2 = denylist (overrides template)"),
|
|
102
|
+
protocols: zod_1.z
|
|
96
103
|
.array(zod_1.z.string())
|
|
97
104
|
.optional()
|
|
98
|
-
.describe("Custom
|
|
105
|
+
.describe("Custom protocol program IDs (base58, overrides template)"),
|
|
99
106
|
maxLeverageBps: zod_1.z
|
|
100
107
|
.number()
|
|
101
108
|
.optional()
|
|
@@ -124,10 +131,9 @@ async function configure(_client, input) {
|
|
|
124
131
|
const network = input.network ?? "devnet";
|
|
125
132
|
const template = CONFIGURE_TEMPLATES[templateName] ??
|
|
126
133
|
CONFIGURE_TEMPLATES.conservative;
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
];
|
|
134
|
+
const dailySpendingCapUsd = input.dailySpendingCapUsd ?? template.dailySpendingCapUsd;
|
|
135
|
+
const protocolMode = input.protocolMode ?? template.protocolMode;
|
|
136
|
+
const protocols = input.protocols ?? [...template.protocols];
|
|
131
137
|
const maxLeverageBps = input.maxLeverageBps ?? template.maxLeverageBps;
|
|
132
138
|
const rateLimit = input.rateLimit ?? template.rateLimit;
|
|
133
139
|
// ── Step 1: Generate/load keypair ──────────────────────────────
|
|
@@ -160,8 +166,9 @@ async function configure(_client, input) {
|
|
|
160
166
|
layers: {
|
|
161
167
|
shield: {
|
|
162
168
|
enabled: true,
|
|
163
|
-
|
|
164
|
-
|
|
169
|
+
dailySpendingCapUsd,
|
|
170
|
+
protocolMode,
|
|
171
|
+
protocols,
|
|
165
172
|
maxLeverageBps,
|
|
166
173
|
rateLimit,
|
|
167
174
|
},
|
|
@@ -188,8 +195,9 @@ async function configure(_client, input) {
|
|
|
188
195
|
`**Wallet:** ${walletPublicKey}`,
|
|
189
196
|
`**Network:** ${config.network}`,
|
|
190
197
|
`**Template:** ${templateName}`,
|
|
191
|
-
`**Daily Cap:** $${
|
|
192
|
-
`**
|
|
198
|
+
`**Daily Cap:** $${dailySpendingCapUsd}`,
|
|
199
|
+
`**Protocol Mode:** ${protocolMode === 0 ? "All Allowed" : protocolMode === 1 ? "Allowlist" : "Denylist"}`,
|
|
200
|
+
`**Protocols:** ${protocols.length}`,
|
|
193
201
|
`**Max Leverage:** ${maxLeverageBps} BPS`,
|
|
194
202
|
];
|
|
195
203
|
// ── Step 2: Provision TEE wallet ──────────────────────────────
|
|
@@ -224,8 +232,8 @@ async function configure(_client, input) {
|
|
|
224
232
|
// ── Step 3: Generate vault Blink URL ──────────────────────────
|
|
225
233
|
const params = new URLSearchParams();
|
|
226
234
|
params.set("template", templateName);
|
|
227
|
-
if (input.
|
|
228
|
-
params.set("dailyCap", input.
|
|
235
|
+
if (input.dailySpendingCapUsd) {
|
|
236
|
+
params.set("dailyCap", input.dailySpendingCapUsd.toString());
|
|
229
237
|
}
|
|
230
238
|
params.set("agentPubkey", config.wallet.publicKey);
|
|
231
239
|
const actionUrl = `${ACTIONS_SERVER_URL}/api/actions/provision?${params.toString()}`;
|