@agent-shield/sdk 0.5.2 → 0.5.4
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 +15 -13
- package/dist/accounts.d.ts +3 -1
- package/dist/accounts.d.ts.map +1 -1
- package/dist/accounts.js +9 -0
- package/dist/accounts.js.map +1 -1
- package/dist/client.d.ts +5 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -1
- package/dist/idl-json.d.ts +1054 -2004
- package/dist/idl-json.d.ts.map +1 -1
- package/dist/idl-json.js +407 -455
- package/dist/idl-json.js.map +1 -1
- package/dist/idl.d.ts +458 -451
- package/dist/idl.d.ts.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +213 -147
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +65 -17
- package/dist/instructions.js.map +1 -1
- package/dist/types.d.ts +48 -66
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -13
- package/dist/types.js.map +1 -1
- package/dist/wrap.d.ts +2 -10
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +1 -32
- package/dist/wrap.js.map +1 -1
- package/dist/wrapper/harden.d.ts +5 -7
- package/dist/wrapper/harden.d.ts.map +1 -1
- package/dist/wrapper/harden.js +11 -35
- package/dist/wrapper/harden.js.map +1 -1
- package/dist/wrapper/index.d.ts +2 -1
- package/dist/wrapper/index.d.ts.map +1 -1
- package/dist/wrapper/index.js +4 -2
- package/dist/wrapper/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/instructions.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildInitializeOracleRegistry = buildInitializeOracleRegistry;
|
|
4
|
+
exports.buildUpdateOracleRegistry = buildUpdateOracleRegistry;
|
|
3
5
|
exports.buildInitializeVault = buildInitializeVault;
|
|
4
6
|
exports.buildDepositFunds = buildDepositFunds;
|
|
5
7
|
exports.buildRegisterAgent = buildRegisterAgent;
|
|
@@ -18,12 +20,31 @@ const web3_js_1 = require("@solana/web3.js");
|
|
|
18
20
|
const anchor_1 = require("@coral-xyz/anchor");
|
|
19
21
|
const spl_token_1 = require("@solana/spl-token");
|
|
20
22
|
const accounts_1 = require("./accounts");
|
|
23
|
+
function buildInitializeOracleRegistry(program, authority, params) {
|
|
24
|
+
const [oracleRegistry] = (0, accounts_1.getOracleRegistryPDA)(program.programId);
|
|
25
|
+
return program.methods
|
|
26
|
+
.initializeOracleRegistry(params.entries)
|
|
27
|
+
.accounts({
|
|
28
|
+
authority,
|
|
29
|
+
oracleRegistry,
|
|
30
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function buildUpdateOracleRegistry(program, authority, params) {
|
|
34
|
+
const [oracleRegistry] = (0, accounts_1.getOracleRegistryPDA)(program.programId);
|
|
35
|
+
return program.methods
|
|
36
|
+
.updateOracleRegistry(params.entriesToAdd, params.mintsToRemove)
|
|
37
|
+
.accounts({
|
|
38
|
+
authority,
|
|
39
|
+
oracleRegistry,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
21
42
|
function buildInitializeVault(program, owner, params) {
|
|
22
43
|
const [vault] = (0, accounts_1.getVaultPDA)(owner, params.vaultId, program.programId);
|
|
23
44
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
24
45
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
25
46
|
return program.methods
|
|
26
|
-
.initializeVault(params.vaultId, params.dailySpendingCapUsd, params.maxTransactionSizeUsd, params.
|
|
47
|
+
.initializeVault(params.vaultId, params.dailySpendingCapUsd, params.maxTransactionSizeUsd, params.protocolMode ?? 0, params.protocols ?? [], params.maxLeverageBps, params.maxConcurrentPositions, params.developerFeeRate ?? 0, params.timelockDuration ?? new anchor_1.BN(0), params.allowedDestinations ?? [])
|
|
27
48
|
.accounts({
|
|
28
49
|
owner,
|
|
29
50
|
vault,
|
|
@@ -55,19 +76,26 @@ function buildRegisterAgent(program, owner, vault, agent) {
|
|
|
55
76
|
}
|
|
56
77
|
function buildUpdatePolicy(program, owner, vault, params) {
|
|
57
78
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
58
|
-
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
59
79
|
return program.methods
|
|
60
|
-
.updatePolicy(params.dailySpendingCapUsd ?? null, params.maxTransactionSizeUsd ?? null, params.
|
|
80
|
+
.updatePolicy(params.dailySpendingCapUsd ?? null, params.maxTransactionSizeUsd ?? null, params.protocolMode ?? null, params.protocols ?? null, params.maxLeverageBps ?? null, params.canOpenPositions ?? null, params.maxConcurrentPositions ?? null, params.developerFeeRate ?? null, params.timelockDuration ?? null, params.allowedDestinations ?? null)
|
|
61
81
|
.accounts({
|
|
62
82
|
owner,
|
|
63
83
|
vault,
|
|
64
84
|
policy,
|
|
65
|
-
tracker,
|
|
66
85
|
});
|
|
67
86
|
}
|
|
68
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Build a validate_and_authorize instruction.
|
|
89
|
+
*
|
|
90
|
+
* @param oracleFeedAccount - Required for non-stablecoin tokens. Omitting this
|
|
91
|
+
* for tokens that have an oracle feed in the registry will cause an on-chain
|
|
92
|
+
* `OracleAccountMissing` error (6032). Use `resolveOracleFeed()` to look up
|
|
93
|
+
* the correct feed account for a given token mint.
|
|
94
|
+
*/
|
|
95
|
+
function buildValidateAndAuthorize(program, agent, vault, vaultTokenAccount, params, oracleFeedAccount, fallbackOracleFeedAccount) {
|
|
69
96
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
70
97
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
98
|
+
const [oracleRegistry] = (0, accounts_1.getOracleRegistryPDA)(program.programId);
|
|
71
99
|
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, params.tokenMint, program.programId);
|
|
72
100
|
let builder = program.methods
|
|
73
101
|
.validateAndAuthorize(params.actionType, params.tokenMint, params.amount, params.targetProtocol, params.leverageBps ?? null)
|
|
@@ -76,6 +104,7 @@ function buildValidateAndAuthorize(program, agent, vault, vaultTokenAccount, par
|
|
|
76
104
|
vault,
|
|
77
105
|
policy,
|
|
78
106
|
tracker,
|
|
107
|
+
oracleRegistry,
|
|
79
108
|
session,
|
|
80
109
|
vaultTokenAccount,
|
|
81
110
|
tokenMintAccount: params.tokenMint,
|
|
@@ -83,21 +112,25 @@ function buildValidateAndAuthorize(program, agent, vault, vaultTokenAccount, par
|
|
|
83
112
|
systemProgram: web3_js_1.SystemProgram.programId,
|
|
84
113
|
});
|
|
85
114
|
if (oracleFeedAccount) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
115
|
+
const remaining = [{ pubkey: oracleFeedAccount, isWritable: false, isSigner: false }];
|
|
116
|
+
if (fallbackOracleFeedAccount) {
|
|
117
|
+
remaining.push({
|
|
118
|
+
pubkey: fallbackOracleFeedAccount,
|
|
119
|
+
isWritable: false,
|
|
120
|
+
isSigner: false,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
builder = builder.remainingAccounts(remaining);
|
|
89
124
|
}
|
|
90
125
|
return builder;
|
|
91
126
|
}
|
|
92
127
|
function buildFinalizeSession(program, payer, vault, agent, tokenMint, success, vaultTokenAccount, feeDestinationTokenAccount, protocolTreasuryTokenAccount) {
|
|
93
128
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
94
|
-
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
95
129
|
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, tokenMint, program.programId);
|
|
96
130
|
return program.methods.finalizeSession(success).accounts({
|
|
97
131
|
payer,
|
|
98
132
|
vault,
|
|
99
133
|
policy,
|
|
100
|
-
tracker,
|
|
101
134
|
session,
|
|
102
135
|
sessionRentRecipient: agent,
|
|
103
136
|
vaultTokenAccount,
|
|
@@ -146,7 +179,7 @@ function buildQueuePolicyUpdate(program, owner, vault, params) {
|
|
|
146
179
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
147
180
|
const [pendingPolicy] = (0, accounts_1.getPendingPolicyPDA)(vault, program.programId);
|
|
148
181
|
return program.methods
|
|
149
|
-
.queuePolicyUpdate(params.dailySpendingCapUsd ?? null, params.maxTransactionAmountUsd ?? null, params.
|
|
182
|
+
.queuePolicyUpdate(params.dailySpendingCapUsd ?? null, params.maxTransactionAmountUsd ?? null, params.protocolMode ?? null, params.protocols ?? null, params.maxLeverageBps ?? null, params.canOpenPositions ?? null, params.maxConcurrentPositions ?? null, params.developerFeeRate ?? null, params.timelockDuration ?? null, params.allowedDestinations ?? null)
|
|
150
183
|
.accounts({
|
|
151
184
|
owner,
|
|
152
185
|
vault,
|
|
@@ -157,13 +190,11 @@ function buildQueuePolicyUpdate(program, owner, vault, params) {
|
|
|
157
190
|
}
|
|
158
191
|
function buildApplyPendingPolicy(program, owner, vault) {
|
|
159
192
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
160
|
-
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
161
193
|
const [pendingPolicy] = (0, accounts_1.getPendingPolicyPDA)(vault, program.programId);
|
|
162
194
|
return program.methods.applyPendingPolicy().accounts({
|
|
163
195
|
owner,
|
|
164
196
|
vault,
|
|
165
197
|
policy,
|
|
166
|
-
tracker,
|
|
167
198
|
pendingPolicy,
|
|
168
199
|
});
|
|
169
200
|
}
|
|
@@ -175,24 +206,41 @@ function buildCancelPendingPolicy(program, owner, vault) {
|
|
|
175
206
|
pendingPolicy,
|
|
176
207
|
});
|
|
177
208
|
}
|
|
178
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Build an agent_transfer instruction.
|
|
211
|
+
*
|
|
212
|
+
* @param oracleFeedAccount - Required for non-stablecoin tokens. Omitting this
|
|
213
|
+
* for tokens that have an oracle feed in the registry will cause an on-chain
|
|
214
|
+
* `OracleAccountMissing` error (6032). Use `resolveOracleFeed()` to look up
|
|
215
|
+
* the correct feed account for a given token mint.
|
|
216
|
+
*/
|
|
217
|
+
function buildAgentTransfer(program, agent, vault, params, oracleFeedAccount, fallbackOracleFeedAccount) {
|
|
179
218
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
180
219
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
220
|
+
const [oracleRegistry] = (0, accounts_1.getOracleRegistryPDA)(program.programId);
|
|
181
221
|
let builder = program.methods.agentTransfer(params.amount).accounts({
|
|
182
222
|
agent,
|
|
183
223
|
vault,
|
|
184
224
|
policy,
|
|
185
225
|
tracker,
|
|
226
|
+
oracleRegistry,
|
|
186
227
|
vaultTokenAccount: params.vaultTokenAccount,
|
|
228
|
+
tokenMintAccount: params.tokenMintAccount,
|
|
187
229
|
destinationTokenAccount: params.destinationTokenAccount,
|
|
188
230
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount ?? null,
|
|
189
231
|
protocolTreasuryTokenAccount: params.protocolTreasuryTokenAccount ?? null,
|
|
190
232
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
191
233
|
});
|
|
192
234
|
if (oracleFeedAccount) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
235
|
+
const remaining = [{ pubkey: oracleFeedAccount, isWritable: false, isSigner: false }];
|
|
236
|
+
if (fallbackOracleFeedAccount) {
|
|
237
|
+
remaining.push({
|
|
238
|
+
pubkey: fallbackOracleFeedAccount,
|
|
239
|
+
isWritable: false,
|
|
240
|
+
isSigner: false,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
builder = builder.remainingAccounts(remaining);
|
|
196
244
|
}
|
|
197
245
|
return builder;
|
|
198
246
|
}
|
package/dist/instructions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,35 +8,31 @@ export declare const PROTOCOL_FEE_RATE = 200;
|
|
|
8
8
|
export declare const MAX_DEVELOPER_FEE_RATE = 500;
|
|
9
9
|
export declare const PROTOCOL_TREASURY: PublicKey;
|
|
10
10
|
export declare const USD_DECIMALS = 6;
|
|
11
|
-
export declare const
|
|
12
|
-
|
|
13
|
-
export declare
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/** 500 entries (~33 KB, ~0.23 SOL rent) */
|
|
17
|
-
Pro = 1,
|
|
18
|
-
/** 1000 entries (~61 KB, ~0.42 SOL rent) */
|
|
19
|
-
Max = 2
|
|
20
|
-
}
|
|
11
|
+
export declare const EPOCH_DURATION = 600;
|
|
12
|
+
export declare const NUM_EPOCHS = 144;
|
|
13
|
+
export declare const PROTOCOL_MODE_ALL = 0;
|
|
14
|
+
export declare const PROTOCOL_MODE_ALLOWLIST = 1;
|
|
15
|
+
export declare const PROTOCOL_MODE_DENYLIST = 2;
|
|
21
16
|
/** Oracle source types */
|
|
22
17
|
export type OracleSource = "pyth" | "switchboard";
|
|
23
|
-
/**
|
|
24
|
-
export interface
|
|
18
|
+
/** Oracle registry entry — maps token mint to its oracle feed */
|
|
19
|
+
export interface OracleEntry {
|
|
25
20
|
/** Token mint address */
|
|
26
21
|
mint: PublicKey;
|
|
27
22
|
/** Oracle feed account (Pyth PriceUpdateV2 or Switchboard PullFeed).
|
|
28
|
-
* Pubkey.default = stablecoin (1:1 USD).
|
|
29
|
-
* UNPRICED_SENTINEL = unpriced (receive-only). */
|
|
23
|
+
* Pubkey.default = stablecoin (1:1 USD, no oracle read needed). */
|
|
30
24
|
oracleFeed: PublicKey;
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
maxTxBase: BN;
|
|
25
|
+
/** Whether this token is a stablecoin (1:1 USD conversion) */
|
|
26
|
+
isStablecoin: boolean;
|
|
27
|
+
/** Optional fallback oracle feed. PublicKey.default = no fallback.
|
|
28
|
+
* Used when primary is stale/invalid. Cross-checked for divergence. */
|
|
29
|
+
fallbackFeed: PublicKey;
|
|
37
30
|
}
|
|
38
|
-
/**
|
|
39
|
-
export type
|
|
31
|
+
/** Epoch bucket in the zero-copy circular spend tracker */
|
|
32
|
+
export type EpochBucket = {
|
|
33
|
+
epochId: BN;
|
|
34
|
+
usdAmount: BN;
|
|
35
|
+
};
|
|
40
36
|
export type AgentVaultAccount = {
|
|
41
37
|
owner: PublicKey;
|
|
42
38
|
agent: PublicKey;
|
|
@@ -49,20 +45,13 @@ export type AgentVaultAccount = {
|
|
|
49
45
|
totalVolume: BN;
|
|
50
46
|
openPositions: number;
|
|
51
47
|
totalFeesCollected: BN;
|
|
52
|
-
trackerTier: {
|
|
53
|
-
standard: Record<string, never>;
|
|
54
|
-
} | {
|
|
55
|
-
pro: Record<string, never>;
|
|
56
|
-
} | {
|
|
57
|
-
max: Record<string, never>;
|
|
58
|
-
};
|
|
59
48
|
};
|
|
60
49
|
export type PolicyConfigAccount = {
|
|
61
50
|
vault: PublicKey;
|
|
62
51
|
dailySpendingCapUsd: BN;
|
|
63
52
|
maxTransactionSizeUsd: BN;
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
protocolMode: number;
|
|
54
|
+
protocols: PublicKey[];
|
|
66
55
|
maxLeverageBps: number;
|
|
67
56
|
canOpenPositions: boolean;
|
|
68
57
|
maxConcurrentPositions: number;
|
|
@@ -77,8 +66,8 @@ export type PendingPolicyUpdateAccount = {
|
|
|
77
66
|
executesAt: BN;
|
|
78
67
|
dailySpendingCapUsd: BN | null;
|
|
79
68
|
maxTransactionAmountUsd: BN | null;
|
|
80
|
-
|
|
81
|
-
|
|
69
|
+
protocolMode: number | null;
|
|
70
|
+
protocols: PublicKey[] | null;
|
|
82
71
|
maxLeverageBps: number | null;
|
|
83
72
|
canOpenPositions: boolean | null;
|
|
84
73
|
maxConcurrentPositions: number | null;
|
|
@@ -87,35 +76,16 @@ export type PendingPolicyUpdateAccount = {
|
|
|
87
76
|
allowedDestinations: PublicKey[] | null;
|
|
88
77
|
bump: number;
|
|
89
78
|
};
|
|
79
|
+
export type OracleRegistryAccount = {
|
|
80
|
+
authority: PublicKey;
|
|
81
|
+
entries: OracleEntry[];
|
|
82
|
+
bump: number;
|
|
83
|
+
};
|
|
90
84
|
export type SpendTrackerAccount = {
|
|
91
85
|
vault: PublicKey;
|
|
92
|
-
|
|
93
|
-
standard: Record<string, never>;
|
|
94
|
-
} | {
|
|
95
|
-
pro: Record<string, never>;
|
|
96
|
-
} | {
|
|
97
|
-
max: Record<string, never>;
|
|
98
|
-
};
|
|
99
|
-
maxSpendEntries: number;
|
|
100
|
-
rollingSpends: SpendEntry[];
|
|
101
|
-
recentTransactions: TransactionRecord[];
|
|
86
|
+
buckets: EpochBucket[];
|
|
102
87
|
bump: number;
|
|
103
88
|
};
|
|
104
|
-
export type SpendEntry = {
|
|
105
|
-
tokenIndex: number;
|
|
106
|
-
usdAmount: BN;
|
|
107
|
-
baseAmount: BN;
|
|
108
|
-
timestamp: BN;
|
|
109
|
-
};
|
|
110
|
-
export type TransactionRecord = {
|
|
111
|
-
timestamp: BN;
|
|
112
|
-
actionType: ActionType;
|
|
113
|
-
tokenMint: PublicKey;
|
|
114
|
-
amount: BN;
|
|
115
|
-
protocol: PublicKey;
|
|
116
|
-
success: boolean;
|
|
117
|
-
slot: BN;
|
|
118
|
-
};
|
|
119
89
|
export type SessionAuthorityAccount = {
|
|
120
90
|
vault: PublicKey;
|
|
121
91
|
agent: PublicKey;
|
|
@@ -157,22 +127,22 @@ export interface InitializeVaultParams {
|
|
|
157
127
|
vaultId: BN;
|
|
158
128
|
dailySpendingCapUsd: BN;
|
|
159
129
|
maxTransactionSizeUsd: BN;
|
|
160
|
-
|
|
161
|
-
|
|
130
|
+
/** Protocol mode: 0=all allowed, 1=allowlist, 2=denylist. Default: 0 */
|
|
131
|
+
protocolMode?: number;
|
|
132
|
+
/** Protocol pubkeys for allowlist/denylist (ignored when mode=0) */
|
|
133
|
+
protocols?: PublicKey[];
|
|
162
134
|
maxLeverageBps: number;
|
|
163
135
|
maxConcurrentPositions: number;
|
|
164
136
|
feeDestination: PublicKey;
|
|
165
137
|
developerFeeRate?: number;
|
|
166
138
|
timelockDuration?: BN;
|
|
167
139
|
allowedDestinations?: PublicKey[];
|
|
168
|
-
/** Tracker capacity tier (default: Standard = 0) */
|
|
169
|
-
trackerTier?: TrackerTier;
|
|
170
140
|
}
|
|
171
141
|
export interface UpdatePolicyParams {
|
|
172
142
|
dailySpendingCapUsd?: BN | null;
|
|
173
143
|
maxTransactionSizeUsd?: BN | null;
|
|
174
|
-
|
|
175
|
-
|
|
144
|
+
protocolMode?: number | null;
|
|
145
|
+
protocols?: PublicKey[] | null;
|
|
176
146
|
maxLeverageBps?: number | null;
|
|
177
147
|
canOpenPositions?: boolean | null;
|
|
178
148
|
maxConcurrentPositions?: number | null;
|
|
@@ -183,8 +153,8 @@ export interface UpdatePolicyParams {
|
|
|
183
153
|
export interface QueuePolicyUpdateParams {
|
|
184
154
|
dailySpendingCapUsd?: BN | null;
|
|
185
155
|
maxTransactionAmountUsd?: BN | null;
|
|
186
|
-
|
|
187
|
-
|
|
156
|
+
protocolMode?: number | null;
|
|
157
|
+
protocols?: PublicKey[] | null;
|
|
188
158
|
maxLeverageBps?: number | null;
|
|
189
159
|
canOpenPositions?: boolean | null;
|
|
190
160
|
maxConcurrentPositions?: number | null;
|
|
@@ -195,10 +165,13 @@ export interface QueuePolicyUpdateParams {
|
|
|
195
165
|
export interface AgentTransferParams {
|
|
196
166
|
amount: BN;
|
|
197
167
|
vaultTokenAccount: PublicKey;
|
|
168
|
+
tokenMintAccount: PublicKey;
|
|
198
169
|
destinationTokenAccount: PublicKey;
|
|
199
170
|
feeDestinationTokenAccount?: PublicKey | null;
|
|
200
171
|
protocolTreasuryTokenAccount?: PublicKey | null;
|
|
201
172
|
oracleFeedAccount?: PublicKey;
|
|
173
|
+
/** Fallback oracle feed account (optional, for cross-validation) */
|
|
174
|
+
fallbackOracleFeedAccount?: PublicKey;
|
|
202
175
|
}
|
|
203
176
|
export interface AuthorizeParams {
|
|
204
177
|
actionType: ActionType;
|
|
@@ -229,5 +202,14 @@ export interface ComposeActionParams {
|
|
|
229
202
|
protocolTreasuryTokenAccount?: PublicKey | null;
|
|
230
203
|
/** Oracle feed account for oracle-priced tokens (Pyth or Switchboard) */
|
|
231
204
|
oracleFeedAccount?: PublicKey;
|
|
205
|
+
/** Fallback oracle feed account (optional, for cross-validation) */
|
|
206
|
+
fallbackOracleFeedAccount?: PublicKey;
|
|
207
|
+
}
|
|
208
|
+
export interface InitializeOracleRegistryParams {
|
|
209
|
+
entries: OracleEntry[];
|
|
210
|
+
}
|
|
211
|
+
export interface UpdateOracleRegistryParams {
|
|
212
|
+
entriesToAdd: OracleEntry[];
|
|
213
|
+
mintsToRemove: PublicKey[];
|
|
232
214
|
}
|
|
233
215
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,eAAO,MAAM,uBAAuB,WAEnC,CAAC;AAGF,eAAO,MAAM,oBAAoB,UAAY,CAAC;AAC9C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,WAE7B,CAAC;AAGF,eAAO,MAAM,YAAY,IAAI,CAAC;AAG9B,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.PROTOCOL_MODE_DENYLIST = exports.PROTOCOL_MODE_ALLOWLIST = exports.PROTOCOL_MODE_ALL = exports.NUM_EPOCHS = exports.EPOCH_DURATION = exports.USD_DECIMALS = exports.PROTOCOL_TREASURY = exports.MAX_DEVELOPER_FEE_RATE = exports.PROTOCOL_FEE_RATE = exports.FEE_RATE_DENOMINATOR = exports.AGENT_SHIELD_PROGRAM_ID = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
exports.AGENT_SHIELD_PROGRAM_ID = new web3_js_1.PublicKey("4ZeVCqnjUgUtFrHHPG7jELUxvJeoVGHhGNgPrhBPwrHL");
|
|
6
6
|
// Fee constants matching on-chain values
|
|
@@ -10,16 +10,11 @@ exports.MAX_DEVELOPER_FEE_RATE = 500; // 5 BPS
|
|
|
10
10
|
exports.PROTOCOL_TREASURY = new web3_js_1.PublicKey("ASHie1dFTnDSnrHMPGmniJhMgfJVGPm3rAaEPnrtWDiT");
|
|
11
11
|
// USD decimals (6) — $500 = 500_000_000
|
|
12
12
|
exports.USD_DECIMALS = 6;
|
|
13
|
-
//
|
|
14
|
-
exports.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/** 500 entries (~33 KB, ~0.23 SOL rent) */
|
|
21
|
-
TrackerTier[TrackerTier["Pro"] = 1] = "Pro";
|
|
22
|
-
/** 1000 entries (~61 KB, ~0.42 SOL rent) */
|
|
23
|
-
TrackerTier[TrackerTier["Max"] = 2] = "Max";
|
|
24
|
-
})(TrackerTier || (exports.TrackerTier = TrackerTier = {}));
|
|
13
|
+
// SpendTracker constants (matching on-chain values)
|
|
14
|
+
exports.EPOCH_DURATION = 600; // 10 minutes in seconds
|
|
15
|
+
exports.NUM_EPOCHS = 144; // 144 × 10 min = 24h
|
|
16
|
+
// Protocol mode constants (matching on-chain values)
|
|
17
|
+
exports.PROTOCOL_MODE_ALL = 0;
|
|
18
|
+
exports.PROTOCOL_MODE_ALLOWLIST = 1;
|
|
19
|
+
exports.PROTOCOL_MODE_DENYLIST = 2;
|
|
25
20
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAM/B,QAAA,uBAAuB,GAAG,IAAI,mBAAS,CAClD,8CAA8C,CAC/C,CAAC;AAEF,yCAAyC;AAC5B,QAAA,oBAAoB,GAAG,OAAS,CAAC;AACjC,QAAA,iBAAiB,GAAG,GAAG,CAAC,CAAC,QAAQ;AACjC,QAAA,sBAAsB,GAAG,GAAG,CAAC,CAAC,QAAQ;AACtC,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEF,wCAAwC;AAC3B,QAAA,YAAY,GAAG,CAAC,CAAC;AAE9B
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAM/B,QAAA,uBAAuB,GAAG,IAAI,mBAAS,CAClD,8CAA8C,CAC/C,CAAC;AAEF,yCAAyC;AAC5B,QAAA,oBAAoB,GAAG,OAAS,CAAC;AACjC,QAAA,iBAAiB,GAAG,GAAG,CAAC,CAAC,QAAQ;AACjC,QAAA,sBAAsB,GAAG,GAAG,CAAC,CAAC,QAAQ;AACtC,QAAA,iBAAiB,GAAG,IAAI,mBAAS,CAC5C,8CAA8C,CAC/C,CAAC;AAEF,wCAAwC;AAC3B,QAAA,YAAY,GAAG,CAAC,CAAC;AAE9B,oDAAoD;AACvC,QAAA,cAAc,GAAG,GAAG,CAAC,CAAC,wBAAwB;AAC9C,QAAA,UAAU,GAAG,GAAG,CAAC,CAAC,qBAAqB;AAEpD,qDAAqD;AACxC,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAC5B,QAAA,sBAAsB,GAAG,CAAC,CAAC"}
|
package/dist/wrap.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PublicKey, TransactionInstruction, VersionedTransaction, Connection, AddressLookupTableAccount } from "@solana/web3.js";
|
|
2
2
|
import { BN, Program } from "@coral-xyz/anchor";
|
|
3
|
-
import type { AgentShield, ActionType
|
|
3
|
+
import type { AgentShield, ActionType } from "./types";
|
|
4
4
|
export interface WrapTransactionParams {
|
|
5
5
|
/** Vault PDA */
|
|
6
6
|
vault: PublicKey;
|
|
@@ -30,7 +30,7 @@ export interface WrapTransactionParams {
|
|
|
30
30
|
feeDestinationTokenAccount?: PublicKey | null;
|
|
31
31
|
/** Protocol treasury token account (optional) */
|
|
32
32
|
protocolTreasuryTokenAccount?: PublicKey | null;
|
|
33
|
-
/** Oracle feed account for oracle-priced tokens (
|
|
33
|
+
/** Oracle feed account for oracle-priced tokens (Pyth or Switchboard) */
|
|
34
34
|
oracleFeedAccount?: PublicKey;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -49,12 +49,4 @@ export declare function wrapTransaction(program: Program<AgentShield>, connectio
|
|
|
49
49
|
* to compose further or use a different signing flow.
|
|
50
50
|
*/
|
|
51
51
|
export declare function wrapInstructions(program: Program<AgentShield>, params: WrapTransactionParams): Promise<TransactionInstruction[]>;
|
|
52
|
-
/**
|
|
53
|
-
* Classify a token based on its AllowedToken oracle_feed value.
|
|
54
|
-
*/
|
|
55
|
-
export declare function classifyToken(token: AllowedToken): "stablecoin" | "oracle-priced" | "unpriced";
|
|
56
|
-
/**
|
|
57
|
-
* Find an AllowedToken in a policy by mint address.
|
|
58
|
-
*/
|
|
59
|
-
export declare function findAllowedToken(allowedTokens: AllowedToken[], mint: PublicKey): AllowedToken | undefined;
|
|
60
52
|
//# sourceMappingURL=wrap.d.ts.map
|
package/dist/wrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEtB,oBAAoB,EAEpB,UAAU,EACV,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EAEtB,oBAAoB,EAEpB,UAAU,EACV,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAWvD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,yBAAyB;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe;IACf,OAAO,EAAE,EAAE,CAAC;IACZ,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAC3C,6BAA6B;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,2BAA2B;IAC3B,MAAM,EAAE,EAAE,CAAC;IACX,sCAAsC;IACtC,cAAc,EAAE,SAAS,CAAC;IAC1B,6CAA6C;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAClD,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,0BAA0B,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9C,iDAAiD;IACjD,4BAA4B,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChD,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAoDnC"}
|
package/dist/wrap.js
CHANGED
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.wrapTransaction = wrapTransaction;
|
|
4
4
|
exports.wrapInstructions = wrapInstructions;
|
|
5
|
-
exports.classifyToken = classifyToken;
|
|
6
|
-
exports.findAllowedToken = findAllowedToken;
|
|
7
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
8
6
|
const spl_token_1 = require("@solana/spl-token");
|
|
9
|
-
const types_1 = require("./types");
|
|
10
|
-
const accounts_1 = require("./accounts");
|
|
11
7
|
const instructions_1 = require("./instructions");
|
|
12
8
|
const rewriter_1 = require("./rewriter");
|
|
13
9
|
/** Default compute budget for wrapped transactions (1.4M CU) */
|
|
@@ -46,15 +42,6 @@ async function wrapInstructions(program, params) {
|
|
|
46
42
|
const computeIx = web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({
|
|
47
43
|
units: computeUnits,
|
|
48
44
|
});
|
|
49
|
-
// Auto-resolve oracle feed from policy if not explicitly provided
|
|
50
|
-
let oracleFeed = params.oracleFeedAccount;
|
|
51
|
-
if (!oracleFeed) {
|
|
52
|
-
const policy = await (0, accounts_1.fetchPolicy)(program, params.vault);
|
|
53
|
-
const token = findAllowedToken(policy.allowedTokens, params.tokenMint);
|
|
54
|
-
if (token && classifyToken(token) === "oracle-priced") {
|
|
55
|
-
oracleFeed = token.oracleFeed;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
45
|
// Validate and authorize (includes token delegation CPI)
|
|
59
46
|
const validateIx = await (0, instructions_1.buildValidateAndAuthorize)(program, params.agent, params.vault, vaultTokenAccount, {
|
|
60
47
|
actionType: params.actionType,
|
|
@@ -62,27 +49,9 @@ async function wrapInstructions(program, params) {
|
|
|
62
49
|
amount: params.amount,
|
|
63
50
|
targetProtocol: params.targetProtocol,
|
|
64
51
|
leverageBps: params.leverageBps,
|
|
65
|
-
},
|
|
52
|
+
}, params.oracleFeedAccount).instruction();
|
|
66
53
|
// Finalize session (revokes delegation, collects fees)
|
|
67
54
|
const finalizeIx = await (0, instructions_1.buildFinalizeSession)(program, params.agent, params.vault, params.agent, params.tokenMint, true, vaultTokenAccount, params.feeDestinationTokenAccount, params.protocolTreasuryTokenAccount).instruction();
|
|
68
55
|
return [computeIx, validateIx, ...rewrittenDefi, finalizeIx];
|
|
69
56
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Classify a token based on its AllowedToken oracle_feed value.
|
|
72
|
-
*/
|
|
73
|
-
function classifyToken(token) {
|
|
74
|
-
if (token.oracleFeed.equals(web3_js_1.PublicKey.default)) {
|
|
75
|
-
return "stablecoin";
|
|
76
|
-
}
|
|
77
|
-
if (token.oracleFeed.equals(types_1.UNPRICED_SENTINEL)) {
|
|
78
|
-
return "unpriced";
|
|
79
|
-
}
|
|
80
|
-
return "oracle-priced";
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Find an AllowedToken in a policy by mint address.
|
|
84
|
-
*/
|
|
85
|
-
function findAllowedToken(allowedTokens, mint) {
|
|
86
|
-
return allowedTokens.find((t) => t.mint.equals(mint));
|
|
87
|
-
}
|
|
88
57
|
//# sourceMappingURL=wrap.js.map
|
package/dist/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../src/wrap.ts"],"names":[],"mappings":";;AAgEA,0CAeC;AAOD,4CAuDC;AA7ID,6CAQyB;AAEzB,iDAAkE;AAGlE,iDAGwB;AACxB,yCAAmD;AAEnD,gEAAgE;AAChE,MAAM,qBAAqB,GAAG,OAAS,CAAC;AAmCxC;;;;;;;;GAQG;AACI,KAAK,UAAU,eAAe,CACnC,OAA6B,EAC7B,UAAsB,EACtB,MAA6B;IAE7B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,4BAAkB,CAAC;QACvC,QAAQ,EAAE,MAAM,CAAC,KAAK;QACtB,eAAe,EAAE,SAAS;QAC1B,YAAY;KACb,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,IAAI,8BAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAA6B,EAC7B,MAA6B;IAE7B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,qBAAqB,CAAC;IAElE,6BAA6B;IAC7B,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,IAAI,CACL,CAAC;IAEF,yCAAyC;IACzC,MAAM,aAAa,GAAG,IAAA,gCAAqB,EACzC,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,CACb,CAAC;IAEF,iBAAiB;IACjB,MAAM,SAAS,GAAG,8BAAoB,CAAC,mBAAmB,CAAC;QACzD,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,UAAU,GAAG,MAAM,IAAA,wCAAyB,EAChD,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,iBAAiB,EACjB;QACE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC,WAAW,EAAE,CAAC;IAEhB,uDAAuD;IACvD,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAoB,EAC3C,OAAO,EACP,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,IAAI,EACJ,iBAAiB,EACjB,MAAM,CAAC,0BAA0B,EACjC,MAAM,CAAC,4BAA4B,CACpC,CAAC,WAAW,EAAE,CAAC;IAEhB,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC"}
|