@agent-shield/plugin-solana-agent-kit 0.1.2 → 0.3.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 +173 -31
- package/dist/factory.d.ts +29 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +47 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +30 -102
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -50
- package/dist/index.js.map +1 -1
- package/dist/tools/index.d.ts +4 -6
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -19
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/pauseResume.d.ts +12 -0
- package/dist/tools/pauseResume.d.ts.map +1 -0
- package/dist/tools/pauseResume.js +21 -0
- package/dist/tools/pauseResume.js.map +1 -0
- package/dist/tools/status.d.ts +6 -0
- package/dist/tools/status.d.ts.map +1 -0
- package/dist/tools/status.js +35 -0
- package/dist/tools/status.js.map +1 -0
- package/dist/tools/transactionHistory.d.ts +6 -0
- package/dist/tools/transactionHistory.d.ts.map +1 -0
- package/dist/tools/transactionHistory.js +40 -0
- package/dist/tools/transactionHistory.js.map +1 -0
- package/dist/tools/updatePolicy.d.ts +15 -0
- package/dist/tools/updatePolicy.d.ts.map +1 -0
- package/dist/tools/updatePolicy.js +34 -0
- package/dist/tools/updatePolicy.js.map +1 -0
- package/dist/types.d.ts +27 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -1
- package/package.json +20 -15
- package/dist/client-factory.d.ts +0 -4
- package/dist/client-factory.d.ts.map +0 -1
- package/dist/client-factory.js +0 -23
- package/dist/client-factory.js.map +0 -1
- package/dist/tools/checkBalance.d.ts +0 -12
- package/dist/tools/checkBalance.d.ts.map +0 -1
- package/dist/tools/checkBalance.js +0 -38
- package/dist/tools/checkBalance.js.map +0 -1
- package/dist/tools/checkPolicy.d.ts +0 -12
- package/dist/tools/checkPolicy.d.ts.map +0 -1
- package/dist/tools/checkPolicy.js +0 -38
- package/dist/tools/checkPolicy.js.map +0 -1
- package/dist/tools/checkSpending.d.ts +0 -12
- package/dist/tools/checkSpending.d.ts.map +0 -1
- package/dist/tools/checkSpending.js +0 -63
- package/dist/tools/checkSpending.js.map +0 -1
- package/dist/tools/closePosition.d.ts +0 -27
- package/dist/tools/closePosition.d.ts.map +0 -1
- package/dist/tools/closePosition.js +0 -35
- package/dist/tools/closePosition.js.map +0 -1
- package/dist/tools/openPosition.d.ts +0 -33
- package/dist/tools/openPosition.d.ts.map +0 -1
- package/dist/tools/openPosition.js +0 -41
- package/dist/tools/openPosition.js.map +0 -1
- package/dist/tools/swap.d.ts +0 -21
- package/dist/tools/swap.d.ts.map +0 -1
- package/dist/tools/swap.js +0 -32
- package/dist/tools/swap.js.map +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkSpendingSchema = void 0;
|
|
4
|
-
exports.checkSpending = checkSpending;
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
-
const client_factory_1 = require("../client-factory");
|
|
8
|
-
exports.checkSpendingSchema = zod_1.z.object({
|
|
9
|
-
vaultAddress: zod_1.z
|
|
10
|
-
.string()
|
|
11
|
-
.optional()
|
|
12
|
-
.describe("Optional vault PDA address override. Uses configured vault if omitted."),
|
|
13
|
-
});
|
|
14
|
-
async function checkSpending(agent, config, input) {
|
|
15
|
-
const client = (0, client_factory_1.getOrCreateClient)(agent, config);
|
|
16
|
-
let vaultPda;
|
|
17
|
-
if (input.vaultAddress) {
|
|
18
|
-
vaultPda = new web3_js_1.PublicKey(input.vaultAddress);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
[vaultPda] = client.getVaultPDA(config.vaultOwner, config.vaultId);
|
|
22
|
-
}
|
|
23
|
-
const tracker = await client.fetchTracker(vaultPda);
|
|
24
|
-
const policy = await client.fetchPolicy(vaultPda);
|
|
25
|
-
const now = Math.floor(Date.now() / 1000);
|
|
26
|
-
const windowStart = now - 24 * 60 * 60;
|
|
27
|
-
// Calculate rolling 24h spend per token
|
|
28
|
-
const spendByToken = new Map();
|
|
29
|
-
for (const entry of tracker.rollingSpends) {
|
|
30
|
-
if (entry.timestamp.toNumber() >= windowStart) {
|
|
31
|
-
const mint = entry.tokenMint.toBase58();
|
|
32
|
-
const prev = spendByToken.get(mint) || BigInt(0);
|
|
33
|
-
spendByToken.set(mint, prev + BigInt(entry.amountSpent.toString()));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const cap = policy.dailySpendingCap.toString();
|
|
37
|
-
const lines = [
|
|
38
|
-
`=== Spending Tracker ===`,
|
|
39
|
-
`Daily Cap: ${cap} lamports`,
|
|
40
|
-
`Rolling 24h Window: ${tracker.rollingSpends.length} entries`,
|
|
41
|
-
``,
|
|
42
|
-
`--- Active Spend by Token (24h) ---`,
|
|
43
|
-
];
|
|
44
|
-
if (spendByToken.size === 0) {
|
|
45
|
-
lines.push("No spending in the last 24 hours.");
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
for (const [mint, spent] of spendByToken.entries()) {
|
|
49
|
-
const capBN = BigInt(cap);
|
|
50
|
-
const pct = capBN > BigInt(0) ? Number((spent * BigInt(100)) / capBN) : 0;
|
|
51
|
-
lines.push(` ${mint}: ${spent.toString()} lamports (${pct}% of cap)`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
lines.push("", `--- Recent Transactions (last ${tracker.recentTransactions.length}) ---`);
|
|
55
|
-
const recent = tracker.recentTransactions.slice(-5);
|
|
56
|
-
for (const tx of recent) {
|
|
57
|
-
const action = Object.keys(tx.actionType)[0];
|
|
58
|
-
const status = tx.success ? "OK" : "FAIL";
|
|
59
|
-
lines.push(` [${status}] ${action} | ${tx.amount.toString()} lamports | slot ${tx.slot.toString()}`);
|
|
60
|
-
}
|
|
61
|
-
return lines.join("\n");
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=checkSpending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkSpending.js","sourceRoot":"","sources":["../../src/tools/checkSpending.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { AgentShieldPluginConfig } from "../types";
|
|
3
|
-
export declare const closePositionSchema: z.ZodObject<{
|
|
4
|
-
targetSymbol: z.ZodString;
|
|
5
|
-
collateralSymbol: z.ZodString;
|
|
6
|
-
collateralAmount: z.ZodString;
|
|
7
|
-
side: z.ZodEnum<["long", "short"]>;
|
|
8
|
-
price: z.ZodString;
|
|
9
|
-
priceExponent: z.ZodNumber;
|
|
10
|
-
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
targetSymbol: string;
|
|
12
|
-
collateralSymbol: string;
|
|
13
|
-
collateralAmount: string;
|
|
14
|
-
side: "long" | "short";
|
|
15
|
-
price: string;
|
|
16
|
-
priceExponent: number;
|
|
17
|
-
}, {
|
|
18
|
-
targetSymbol: string;
|
|
19
|
-
collateralSymbol: string;
|
|
20
|
-
collateralAmount: string;
|
|
21
|
-
side: "long" | "short";
|
|
22
|
-
price: string;
|
|
23
|
-
priceExponent: number;
|
|
24
|
-
}>;
|
|
25
|
-
export type ClosePositionInput = z.infer<typeof closePositionSchema>;
|
|
26
|
-
export declare function closePosition(agent: any, config: AgentShieldPluginConfig, input: ClosePositionInput): Promise<string>;
|
|
27
|
-
//# sourceMappingURL=closePosition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"closePosition.d.ts","sourceRoot":"","sources":["../../src/tools/closePosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,aAAa,CACjC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.closePositionSchema = void 0;
|
|
4
|
-
exports.closePosition = closePosition;
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
|
-
const client_factory_1 = require("../client-factory");
|
|
8
|
-
exports.closePositionSchema = zod_1.z.object({
|
|
9
|
-
targetSymbol: zod_1.z.string().describe("Target market symbol (e.g., 'SOL', 'BTC', 'ETH')"),
|
|
10
|
-
collateralSymbol: zod_1.z.string().describe("Collateral token symbol (e.g., 'USDC')"),
|
|
11
|
-
collateralAmount: zod_1.z.string().describe("Collateral amount in base units"),
|
|
12
|
-
side: zod_1.z.enum(["long", "short"]).describe("Trade direction of the position to close"),
|
|
13
|
-
price: zod_1.z.string().describe("Current oracle price as integer"),
|
|
14
|
-
priceExponent: zod_1.z.number().describe("Price exponent (e.g., -8 for 8 decimal places)"),
|
|
15
|
-
});
|
|
16
|
-
async function closePosition(agent, config, input) {
|
|
17
|
-
const client = (0, client_factory_1.getOrCreateClient)(agent, config);
|
|
18
|
-
const sideObj = input.side === "long" ? { long: {} } : { short: {} };
|
|
19
|
-
const result = await client.flashTradeClose({
|
|
20
|
-
owner: config.vaultOwner,
|
|
21
|
-
vaultId: config.vaultId,
|
|
22
|
-
agent: agent.wallet.publicKey,
|
|
23
|
-
targetSymbol: input.targetSymbol,
|
|
24
|
-
collateralSymbol: input.collateralSymbol,
|
|
25
|
-
collateralAmount: new anchor_1.BN(input.collateralAmount),
|
|
26
|
-
side: sideObj,
|
|
27
|
-
priceWithSlippage: {
|
|
28
|
-
price: new anchor_1.BN(input.price),
|
|
29
|
-
exponent: input.priceExponent,
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
const txSig = await client.executeFlashTrade(result, agent.wallet.publicKey);
|
|
33
|
-
return `Position closed successfully.\nSide: ${input.side}\nTarget: ${input.targetSymbol}\nTransaction: ${txSig}`;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=closePosition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"closePosition.js","sourceRoot":"","sources":["../../src/tools/closePosition.ts"],"names":[],"mappings":";;;AAiBA,sCA6BC;AA9CD,6BAAwB;AAExB,8CAAuC;AACvC,sDAAsD;AAGzC,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACrF,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC/E,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACxE,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACpF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACrF,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CACjC,KAAU,EACV,MAA+B,EAC/B,KAAyB;IAEzB,MAAM,MAAM,GAAG,IAAA,kCAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,gBAAgB,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAChD,IAAI,EAAE,OAAc;QACpB,iBAAiB,EAAE;YACjB,KAAK,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,aAAa;SAC9B;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC1C,MAAM,EACN,KAAK,CAAC,MAAM,CAAC,SAAS,CACvB,CAAC;IAEF,OAAO,wCAAwC,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,YAAY,kBAAkB,KAAK,EAAE,CAAC;AACpH,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { AgentShieldPluginConfig } from "../types";
|
|
3
|
-
export declare const openPositionSchema: z.ZodObject<{
|
|
4
|
-
targetSymbol: z.ZodString;
|
|
5
|
-
collateralSymbol: z.ZodString;
|
|
6
|
-
collateralAmount: z.ZodString;
|
|
7
|
-
sizeAmount: z.ZodString;
|
|
8
|
-
side: z.ZodEnum<["long", "short"]>;
|
|
9
|
-
leverageBps: z.ZodNumber;
|
|
10
|
-
price: z.ZodString;
|
|
11
|
-
priceExponent: z.ZodNumber;
|
|
12
|
-
}, "strip", z.ZodTypeAny, {
|
|
13
|
-
targetSymbol: string;
|
|
14
|
-
collateralSymbol: string;
|
|
15
|
-
collateralAmount: string;
|
|
16
|
-
sizeAmount: string;
|
|
17
|
-
side: "long" | "short";
|
|
18
|
-
leverageBps: number;
|
|
19
|
-
price: string;
|
|
20
|
-
priceExponent: number;
|
|
21
|
-
}, {
|
|
22
|
-
targetSymbol: string;
|
|
23
|
-
collateralSymbol: string;
|
|
24
|
-
collateralAmount: string;
|
|
25
|
-
sizeAmount: string;
|
|
26
|
-
side: "long" | "short";
|
|
27
|
-
leverageBps: number;
|
|
28
|
-
price: string;
|
|
29
|
-
priceExponent: number;
|
|
30
|
-
}>;
|
|
31
|
-
export type OpenPositionInput = z.infer<typeof openPositionSchema>;
|
|
32
|
-
export declare function openPosition(agent: any, config: AgentShieldPluginConfig, input: OpenPositionInput): Promise<string>;
|
|
33
|
-
//# sourceMappingURL=openPosition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openPosition.d.ts","sourceRoot":"","sources":["../../src/tools/openPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,wBAAsB,YAAY,CAChC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openPositionSchema = void 0;
|
|
4
|
-
exports.openPosition = openPosition;
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
|
-
const client_factory_1 = require("../client-factory");
|
|
8
|
-
exports.openPositionSchema = zod_1.z.object({
|
|
9
|
-
targetSymbol: zod_1.z.string().describe("Target market symbol (e.g., 'SOL', 'BTC', 'ETH')"),
|
|
10
|
-
collateralSymbol: zod_1.z.string().describe("Collateral token symbol (e.g., 'USDC')"),
|
|
11
|
-
collateralAmount: zod_1.z.string().describe("Collateral amount in base units"),
|
|
12
|
-
sizeAmount: zod_1.z.string().describe("Position size in base units"),
|
|
13
|
-
side: zod_1.z.enum(["long", "short"]).describe("Trade direction: 'long' or 'short'"),
|
|
14
|
-
leverageBps: zod_1.z
|
|
15
|
-
.number()
|
|
16
|
-
.describe("Leverage in basis points (e.g., 20000 = 2x, 50000 = 5x)"),
|
|
17
|
-
price: zod_1.z.string().describe("Current oracle price as integer"),
|
|
18
|
-
priceExponent: zod_1.z.number().describe("Price exponent (e.g., -8 for 8 decimal places)"),
|
|
19
|
-
});
|
|
20
|
-
async function openPosition(agent, config, input) {
|
|
21
|
-
const client = (0, client_factory_1.getOrCreateClient)(agent, config);
|
|
22
|
-
const sideObj = input.side === "long" ? { long: {} } : { short: {} };
|
|
23
|
-
const result = await client.flashTradeOpen({
|
|
24
|
-
owner: config.vaultOwner,
|
|
25
|
-
vaultId: config.vaultId,
|
|
26
|
-
agent: agent.wallet.publicKey,
|
|
27
|
-
targetSymbol: input.targetSymbol,
|
|
28
|
-
collateralSymbol: input.collateralSymbol,
|
|
29
|
-
collateralAmount: new anchor_1.BN(input.collateralAmount),
|
|
30
|
-
sizeAmount: new anchor_1.BN(input.sizeAmount),
|
|
31
|
-
side: sideObj,
|
|
32
|
-
priceWithSlippage: {
|
|
33
|
-
price: new anchor_1.BN(input.price),
|
|
34
|
-
exponent: input.priceExponent,
|
|
35
|
-
},
|
|
36
|
-
leverageBps: input.leverageBps,
|
|
37
|
-
});
|
|
38
|
-
const txSig = await client.executeFlashTrade(result, agent.wallet.publicKey);
|
|
39
|
-
return `Position opened successfully.\nSide: ${input.side}\nTarget: ${input.targetSymbol}\nCollateral: ${input.collateralAmount} ${input.collateralSymbol}\nLeverage: ${(input.leverageBps / 10000).toFixed(1)}x\nTransaction: ${txSig}`;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=openPosition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openPosition.js","sourceRoot":"","sources":["../../src/tools/openPosition.ts"],"names":[],"mappings":";;;AAqBA,oCA+BC;AApDD,6BAAwB;AAExB,8CAAuC;AACvC,sDAAsD;AAGzC,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACrF,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC/E,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACxE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC9D,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC9E,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,yDAAyD,CAAC;IACtE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACrF,CAAC,CAAC;AAII,KAAK,UAAU,YAAY,CAChC,KAAU,EACV,MAA+B,EAC/B,KAAwB;IAExB,MAAM,MAAM,GAAG,IAAA,kCAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,gBAAgB,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAChD,UAAU,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,EAAE,OAAc;QACpB,iBAAiB,EAAE;YACjB,KAAK,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,aAAa;SAC9B;QACD,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC1C,MAAM,EACN,KAAK,CAAC,MAAM,CAAC,SAAS,CACvB,CAAC;IAEF,OAAO,wCAAwC,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,YAAY,iBAAiB,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,KAAK,EAAE,CAAC;AAC3O,CAAC"}
|
package/dist/tools/swap.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { AgentShieldPluginConfig } from "../types";
|
|
3
|
-
export declare const swapSchema: z.ZodObject<{
|
|
4
|
-
inputMint: z.ZodString;
|
|
5
|
-
outputMint: z.ZodString;
|
|
6
|
-
amount: z.ZodString;
|
|
7
|
-
slippageBps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
8
|
-
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
inputMint: string;
|
|
10
|
-
outputMint: string;
|
|
11
|
-
amount: string;
|
|
12
|
-
slippageBps: number;
|
|
13
|
-
}, {
|
|
14
|
-
inputMint: string;
|
|
15
|
-
outputMint: string;
|
|
16
|
-
amount: string;
|
|
17
|
-
slippageBps?: number | undefined;
|
|
18
|
-
}>;
|
|
19
|
-
export type SwapInput = z.infer<typeof swapSchema>;
|
|
20
|
-
export declare function swap(agent: any, config: AgentShieldPluginConfig, input: SwapInput): Promise<string>;
|
|
21
|
-
//# sourceMappingURL=swap.d.ts.map
|
package/dist/tools/swap.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/tools/swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,wBAAsB,IAAI,CACxB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CAcjB"}
|
package/dist/tools/swap.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.swapSchema = void 0;
|
|
4
|
-
exports.swap = swap;
|
|
5
|
-
const zod_1 = require("zod");
|
|
6
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
-
const anchor_1 = require("@coral-xyz/anchor");
|
|
8
|
-
const client_factory_1 = require("../client-factory");
|
|
9
|
-
exports.swapSchema = zod_1.z.object({
|
|
10
|
-
inputMint: zod_1.z.string().describe("Input token mint address"),
|
|
11
|
-
outputMint: zod_1.z.string().describe("Output token mint address"),
|
|
12
|
-
amount: zod_1.z.string().describe("Amount to swap in base units (lamports/smallest denomination)"),
|
|
13
|
-
slippageBps: zod_1.z
|
|
14
|
-
.number()
|
|
15
|
-
.optional()
|
|
16
|
-
.default(50)
|
|
17
|
-
.describe("Slippage tolerance in basis points (default: 50 = 0.5%)"),
|
|
18
|
-
});
|
|
19
|
-
async function swap(agent, config, input) {
|
|
20
|
-
const client = (0, client_factory_1.getOrCreateClient)(agent, config);
|
|
21
|
-
const txSig = await client.executeJupiterSwap({
|
|
22
|
-
owner: config.vaultOwner,
|
|
23
|
-
vaultId: config.vaultId,
|
|
24
|
-
agent: agent.wallet.publicKey,
|
|
25
|
-
inputMint: new web3_js_1.PublicKey(input.inputMint),
|
|
26
|
-
outputMint: new web3_js_1.PublicKey(input.outputMint),
|
|
27
|
-
amount: new anchor_1.BN(input.amount),
|
|
28
|
-
slippageBps: input.slippageBps,
|
|
29
|
-
});
|
|
30
|
-
return `Swap executed successfully.\nTransaction: ${txSig}`;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=swap.js.map
|
package/dist/tools/swap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/tools/swap.ts"],"names":[],"mappings":";;;AAmBA,oBAkBC;AArCD,6BAAwB;AACxB,6CAA4C;AAC5C,8CAAuC;AACvC,sDAAsD;AAGzC,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC1D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IAC5F,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AAII,KAAK,UAAU,IAAI,CACxB,KAAU,EACV,MAA+B,EAC/B,KAAgB;IAEhB,MAAM,MAAM,GAAG,IAAA,kCAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QAC7B,SAAS,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QACzC,UAAU,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,MAAM,EAAE,IAAI,WAAE,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IAEH,OAAO,6CAA6C,KAAK,EAAE,CAAC;AAC9D,CAAC"}
|