@agent-shield/sdk 0.1.5 → 0.2.0
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 +14 -12
- package/dist/accounts.d.ts +5 -3
- package/dist/accounts.d.ts.map +1 -1
- package/dist/accounts.js +23 -4
- package/dist/accounts.js.map +1 -1
- package/dist/client.d.ts +16 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +48 -7
- package/dist/client.js.map +1 -1
- package/dist/composer.d.ts.map +1 -1
- package/dist/composer.js +3 -3
- package/dist/composer.js.map +1 -1
- package/dist/idl-json.d.ts +655 -24
- package/dist/idl-json.d.ts.map +1 -1
- package/dist/idl-json.js +1174 -87
- package/dist/idl-json.js.map +1 -1
- package/dist/idl.d.ts +1283 -196
- package/dist/idl.d.ts.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +604 -61
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +76 -8
- package/dist/instructions.js.map +1 -1
- package/dist/integrations/flash-trade.d.ts.map +1 -1
- package/dist/integrations/flash-trade.js +14 -6
- package/dist/integrations/flash-trade.js.map +1 -1
- package/dist/integrations/jupiter.d.ts.map +1 -1
- package/dist/integrations/jupiter.js +4 -1
- package/dist/integrations/jupiter.js.map +1 -1
- package/dist/oracle.d.ts +31 -0
- package/dist/oracle.d.ts.map +1 -0
- package/dist/oracle.js +57 -0
- package/dist/oracle.js.map +1 -0
- package/dist/rewriter.d.ts +21 -0
- package/dist/rewriter.d.ts.map +1 -0
- package/dist/rewriter.js +33 -0
- package/dist/rewriter.js.map +1 -0
- package/dist/types.d.ts +82 -12
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -1
- package/dist/types.js.map +1 -1
- package/dist/wrap.d.ts +60 -0
- package/dist/wrap.d.ts.map +1 -0
- package/dist/wrap.js +88 -0
- package/dist/wrap.js.map +1 -0
- package/package.json +10 -1
|
@@ -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,eAAe,EAEhB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/instructions.js
CHANGED
|
@@ -10,7 +10,12 @@ exports.buildRevokeAgent = buildRevokeAgent;
|
|
|
10
10
|
exports.buildReactivateVault = buildReactivateVault;
|
|
11
11
|
exports.buildWithdrawFunds = buildWithdrawFunds;
|
|
12
12
|
exports.buildCloseVault = buildCloseVault;
|
|
13
|
+
exports.buildQueuePolicyUpdate = buildQueuePolicyUpdate;
|
|
14
|
+
exports.buildApplyPendingPolicy = buildApplyPendingPolicy;
|
|
15
|
+
exports.buildCancelPendingPolicy = buildCancelPendingPolicy;
|
|
16
|
+
exports.buildAgentTransfer = buildAgentTransfer;
|
|
13
17
|
const web3_js_1 = require("@solana/web3.js");
|
|
18
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
14
19
|
const spl_token_1 = require("@solana/spl-token");
|
|
15
20
|
const accounts_1 = require("./accounts");
|
|
16
21
|
function buildInitializeVault(program, owner, params) {
|
|
@@ -18,7 +23,7 @@ function buildInitializeVault(program, owner, params) {
|
|
|
18
23
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
19
24
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
20
25
|
return program.methods
|
|
21
|
-
.initializeVault(params.vaultId, params.
|
|
26
|
+
.initializeVault(params.vaultId, params.dailySpendingCapUsd, params.maxTransactionSizeUsd, params.allowedTokens, params.allowedProtocols, params.maxLeverageBps, params.maxConcurrentPositions, params.developerFeeRate ?? 0, params.timelockDuration ?? new anchor_1.BN(0), params.allowedDestinations ?? [])
|
|
22
27
|
.accounts({
|
|
23
28
|
owner,
|
|
24
29
|
vault,
|
|
@@ -51,18 +56,18 @@ function buildRegisterAgent(program, owner, vault, agent) {
|
|
|
51
56
|
function buildUpdatePolicy(program, owner, vault, params) {
|
|
52
57
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
53
58
|
return program.methods
|
|
54
|
-
.updatePolicy(params.
|
|
59
|
+
.updatePolicy(params.dailySpendingCapUsd ?? null, params.maxTransactionSizeUsd ?? null, params.allowedTokens ?? null, params.allowedProtocols ?? null, params.maxLeverageBps ?? null, params.canOpenPositions ?? null, params.maxConcurrentPositions ?? null, params.developerFeeRate ?? null, params.timelockDuration ?? null, params.allowedDestinations ?? null)
|
|
55
60
|
.accounts({
|
|
56
61
|
owner,
|
|
57
62
|
vault,
|
|
58
63
|
policy,
|
|
59
64
|
});
|
|
60
65
|
}
|
|
61
|
-
function buildValidateAndAuthorize(program, agent, vault, params) {
|
|
66
|
+
function buildValidateAndAuthorize(program, agent, vault, vaultTokenAccount, params, oracleFeedAccount) {
|
|
62
67
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
63
68
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
64
|
-
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, program.programId);
|
|
65
|
-
|
|
69
|
+
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, params.tokenMint, program.programId);
|
|
70
|
+
let builder = program.methods
|
|
66
71
|
.validateAndAuthorize(params.actionType, params.tokenMint, params.amount, params.targetProtocol, params.leverageBps ?? null)
|
|
67
72
|
.accounts({
|
|
68
73
|
agent,
|
|
@@ -70,13 +75,22 @@ function buildValidateAndAuthorize(program, agent, vault, params) {
|
|
|
70
75
|
policy,
|
|
71
76
|
tracker,
|
|
72
77
|
session,
|
|
78
|
+
vaultTokenAccount,
|
|
79
|
+
tokenMintAccount: params.tokenMint,
|
|
80
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
73
81
|
systemProgram: web3_js_1.SystemProgram.programId,
|
|
74
82
|
});
|
|
83
|
+
if (oracleFeedAccount) {
|
|
84
|
+
builder = builder.remainingAccounts([
|
|
85
|
+
{ pubkey: oracleFeedAccount, isWritable: false, isSigner: false },
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
return builder;
|
|
75
89
|
}
|
|
76
|
-
function buildFinalizeSession(program, payer, vault, agent, success, vaultTokenAccount, feeDestinationTokenAccount, protocolTreasuryTokenAccount) {
|
|
90
|
+
function buildFinalizeSession(program, payer, vault, agent, tokenMint, success, vaultTokenAccount, feeDestinationTokenAccount, protocolTreasuryTokenAccount) {
|
|
77
91
|
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
78
92
|
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
79
|
-
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, program.programId);
|
|
93
|
+
const [session] = (0, accounts_1.getSessionPDA)(vault, agent, tokenMint, program.programId);
|
|
80
94
|
return program.methods.finalizeSession(success).accounts({
|
|
81
95
|
payer,
|
|
82
96
|
vault,
|
|
@@ -84,7 +98,7 @@ function buildFinalizeSession(program, payer, vault, agent, success, vaultTokenA
|
|
|
84
98
|
tracker,
|
|
85
99
|
session,
|
|
86
100
|
sessionRentRecipient: agent,
|
|
87
|
-
vaultTokenAccount
|
|
101
|
+
vaultTokenAccount,
|
|
88
102
|
feeDestinationTokenAccount: feeDestinationTokenAccount ?? null,
|
|
89
103
|
protocolTreasuryTokenAccount: protocolTreasuryTokenAccount ?? null,
|
|
90
104
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
@@ -126,4 +140,58 @@ function buildCloseVault(program, owner, vault) {
|
|
|
126
140
|
systemProgram: web3_js_1.SystemProgram.programId,
|
|
127
141
|
});
|
|
128
142
|
}
|
|
143
|
+
function buildQueuePolicyUpdate(program, owner, vault, params) {
|
|
144
|
+
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
145
|
+
const [pendingPolicy] = (0, accounts_1.getPendingPolicyPDA)(vault, program.programId);
|
|
146
|
+
return program.methods
|
|
147
|
+
.queuePolicyUpdate(params.dailySpendingCapUsd ?? null, params.maxTransactionAmountUsd ?? null, params.allowedTokens ?? null, params.allowedProtocols ?? null, params.maxLeverageBps ?? null, params.canOpenPositions ?? null, params.maxConcurrentPositions ?? null, params.developerFeeRate ?? null, params.timelockDuration ?? null, params.allowedDestinations ?? null)
|
|
148
|
+
.accounts({
|
|
149
|
+
owner,
|
|
150
|
+
vault,
|
|
151
|
+
policy,
|
|
152
|
+
pendingPolicy,
|
|
153
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
function buildApplyPendingPolicy(program, owner, vault) {
|
|
157
|
+
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
158
|
+
const [pendingPolicy] = (0, accounts_1.getPendingPolicyPDA)(vault, program.programId);
|
|
159
|
+
return program.methods.applyPendingPolicy().accounts({
|
|
160
|
+
owner,
|
|
161
|
+
vault,
|
|
162
|
+
policy,
|
|
163
|
+
pendingPolicy,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function buildCancelPendingPolicy(program, owner, vault) {
|
|
167
|
+
const [pendingPolicy] = (0, accounts_1.getPendingPolicyPDA)(vault, program.programId);
|
|
168
|
+
return program.methods.cancelPendingPolicy().accounts({
|
|
169
|
+
owner,
|
|
170
|
+
vault,
|
|
171
|
+
pendingPolicy,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
function buildAgentTransfer(program, agent, vault, params, oracleFeedAccount) {
|
|
175
|
+
const [policy] = (0, accounts_1.getPolicyPDA)(vault, program.programId);
|
|
176
|
+
const [tracker] = (0, accounts_1.getTrackerPDA)(vault, program.programId);
|
|
177
|
+
let builder = program.methods
|
|
178
|
+
.agentTransfer(params.amount)
|
|
179
|
+
.accounts({
|
|
180
|
+
agent,
|
|
181
|
+
vault,
|
|
182
|
+
policy,
|
|
183
|
+
tracker,
|
|
184
|
+
vaultTokenAccount: params.vaultTokenAccount,
|
|
185
|
+
destinationTokenAccount: params.destinationTokenAccount,
|
|
186
|
+
feeDestinationTokenAccount: params.feeDestinationTokenAccount ?? null,
|
|
187
|
+
protocolTreasuryTokenAccount: params.protocolTreasuryTokenAccount ?? null,
|
|
188
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
189
|
+
});
|
|
190
|
+
if (oracleFeedAccount) {
|
|
191
|
+
builder = builder.remainingAccounts([
|
|
192
|
+
{ pubkey: oracleFeedAccount, isWritable: false, isSigner: false },
|
|
193
|
+
]);
|
|
194
|
+
}
|
|
195
|
+
return builder;
|
|
196
|
+
}
|
|
129
197
|
//# sourceMappingURL=instructions.js.map
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flash-trade.d.ts","sourceRoot":"","sources":["../../src/integrations/flash-trade.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EAEpB,UAAU,EACV,MAAM,EACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"flash-trade.d.ts","sourceRoot":"","sources":["../../src/integrations/flash-trade.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ exports.composeFlashTradeIncrease = composeFlashTradeIncrease;
|
|
|
9
9
|
exports.composeFlashTradeDecrease = composeFlashTradeDecrease;
|
|
10
10
|
exports.composeFlashTradeTransaction = composeFlashTradeTransaction;
|
|
11
11
|
const web3_js_1 = require("@solana/web3.js");
|
|
12
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
12
13
|
const flash_sdk_1 = require("flash-sdk");
|
|
13
14
|
const accounts_1 = require("../accounts");
|
|
14
15
|
const composer_1 = require("../composer");
|
|
@@ -54,11 +55,12 @@ async function composeFlashTradeOpen(program, perpClient, poolConfig, params) {
|
|
|
54
55
|
// Get raw Flash Trade instructions
|
|
55
56
|
const { instructions: flashIxs, additionalSigners } = await perpClient.openPosition(params.targetSymbol, params.collateralSymbol, params.priceWithSlippage, params.collateralAmount, params.sizeAmount, params.side, poolConfig, flash_sdk_1.Privilege.None, undefined, // tokenStakeAccount
|
|
56
57
|
undefined, // userReferralAccount
|
|
57
|
-
true
|
|
58
|
-
);
|
|
58
|
+
true);
|
|
59
59
|
// Get collateral token mint from pool config
|
|
60
60
|
const collateralToken = poolConfig.getTokenFromSymbol(params.collateralSymbol);
|
|
61
61
|
const tokenMint = collateralToken.mintKey;
|
|
62
|
+
const vaultTokenAccount = params.vaultTokenAccount ??
|
|
63
|
+
(0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, vault, true);
|
|
62
64
|
const composeParams = {
|
|
63
65
|
vault,
|
|
64
66
|
owner: params.owner,
|
|
@@ -71,7 +73,7 @@ async function composeFlashTradeOpen(program, perpClient, poolConfig, params) {
|
|
|
71
73
|
leverageBps: params.leverageBps,
|
|
72
74
|
defiInstructions: flashIxs,
|
|
73
75
|
success: true,
|
|
74
|
-
vaultTokenAccount
|
|
76
|
+
vaultTokenAccount,
|
|
75
77
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount,
|
|
76
78
|
};
|
|
77
79
|
const instructions = await (0, composer_1.composePermittedAction)(program, composeParams);
|
|
@@ -85,6 +87,8 @@ async function composeFlashTradeClose(program, perpClient, poolConfig, params) {
|
|
|
85
87
|
const { instructions: flashIxs, additionalSigners } = await perpClient.closePosition(params.targetSymbol, params.collateralSymbol, params.priceWithSlippage, params.side, poolConfig, flash_sdk_1.Privilege.None);
|
|
86
88
|
const collateralToken = poolConfig.getTokenFromSymbol(params.collateralSymbol);
|
|
87
89
|
const tokenMint = collateralToken.mintKey;
|
|
90
|
+
const vaultTokenAccount = params.vaultTokenAccount ??
|
|
91
|
+
(0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, vault, true);
|
|
88
92
|
const composeParams = {
|
|
89
93
|
vault,
|
|
90
94
|
owner: params.owner,
|
|
@@ -96,7 +100,7 @@ async function composeFlashTradeClose(program, perpClient, poolConfig, params) {
|
|
|
96
100
|
targetProtocol: exports.FLASH_TRADE_PROGRAM_ID,
|
|
97
101
|
defiInstructions: flashIxs,
|
|
98
102
|
success: true,
|
|
99
|
-
vaultTokenAccount
|
|
103
|
+
vaultTokenAccount,
|
|
100
104
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount,
|
|
101
105
|
};
|
|
102
106
|
const instructions = await (0, composer_1.composePermittedAction)(program, composeParams);
|
|
@@ -110,6 +114,8 @@ async function composeFlashTradeIncrease(program, perpClient, poolConfig, params
|
|
|
110
114
|
const { instructions: flashIxs, additionalSigners } = await perpClient.increaseSize(params.targetSymbol, params.collateralSymbol, params.positionPubKey, params.side, poolConfig, params.priceWithSlippage, params.sizeDelta, flash_sdk_1.Privilege.None);
|
|
111
115
|
const collateralToken = poolConfig.getTokenFromSymbol(params.collateralSymbol);
|
|
112
116
|
const tokenMint = collateralToken.mintKey;
|
|
117
|
+
const vaultTokenAccount = params.vaultTokenAccount ??
|
|
118
|
+
(0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, vault, true);
|
|
113
119
|
const composeParams = {
|
|
114
120
|
vault,
|
|
115
121
|
owner: params.owner,
|
|
@@ -122,7 +128,7 @@ async function composeFlashTradeIncrease(program, perpClient, poolConfig, params
|
|
|
122
128
|
leverageBps: params.leverageBps,
|
|
123
129
|
defiInstructions: flashIxs,
|
|
124
130
|
success: true,
|
|
125
|
-
vaultTokenAccount
|
|
131
|
+
vaultTokenAccount,
|
|
126
132
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount,
|
|
127
133
|
};
|
|
128
134
|
const instructions = await (0, composer_1.composePermittedAction)(program, composeParams);
|
|
@@ -136,6 +142,8 @@ async function composeFlashTradeDecrease(program, perpClient, poolConfig, params
|
|
|
136
142
|
const { instructions: flashIxs, additionalSigners } = await perpClient.decreaseSize(params.targetSymbol, params.collateralSymbol, params.side, params.positionPubKey, poolConfig, params.priceWithSlippage, params.sizeDelta, flash_sdk_1.Privilege.None);
|
|
137
143
|
const collateralToken = poolConfig.getTokenFromSymbol(params.collateralSymbol);
|
|
138
144
|
const tokenMint = collateralToken.mintKey;
|
|
145
|
+
const vaultTokenAccount = params.vaultTokenAccount ??
|
|
146
|
+
(0, spl_token_1.getAssociatedTokenAddressSync)(tokenMint, vault, true);
|
|
139
147
|
const composeParams = {
|
|
140
148
|
vault,
|
|
141
149
|
owner: params.owner,
|
|
@@ -147,7 +155,7 @@ async function composeFlashTradeDecrease(program, perpClient, poolConfig, params
|
|
|
147
155
|
targetProtocol: exports.FLASH_TRADE_PROGRAM_ID,
|
|
148
156
|
defiInstructions: flashIxs,
|
|
149
157
|
success: true,
|
|
150
|
-
vaultTokenAccount
|
|
158
|
+
vaultTokenAccount,
|
|
151
159
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount,
|
|
152
160
|
};
|
|
153
161
|
const instructions = await (0, composer_1.composePermittedAction)(program, composeParams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flash-trade.js","sourceRoot":"","sources":["../../src/integrations/flash-trade.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"flash-trade.js","sourceRoot":"","sources":["../../src/integrations/flash-trade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jupiter.d.ts","sourceRoot":"","sources":["../../src/integrations/jupiter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EAEpB,UAAU,EACV,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"jupiter.d.ts","sourceRoot":"","sources":["../../src/integrations/jupiter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EAEpB,UAAU,EACV,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,UAAU,CAAC;AAQjE,eAAO,MAAM,cAAc,gCAAgC,CAAC;AAC5D,eAAO,MAAM,kBAAkB,WAE9B,CAAC;AAMF,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,MAAM;gBADZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM;CAK/B;AAMD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,kDAAkD;IAClD,MAAM,EAAE,EAAE,CAAC;IACX,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,+BAA+B;IAC9C,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IACtD,yBAAyB,EAAE,4BAA4B,EAAE,CAAC;IAC1D,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;IAClD,eAAe,EAAE,4BAA4B,CAAC;IAC9C,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,2BAA2B,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,OAAO,EAAE,EAAE,CAAC;IACZ,wBAAwB;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,uBAAuB;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,UAAU,EAAE,SAAS,CAAC;IACtB,+BAA+B;IAC/B,MAAM,EAAE,EAAE,CAAC;IACX,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,8CAA8C;IAC9C,0BAA0B,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC/C;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,4BAA4B,GAC/B,sBAAsB,CAUxB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAmB/B;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,oBAAoB,EAC3B,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,+BAA+B,CAAC,CAkB1C;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAYtC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC;IACT,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,mBAAmB,EAAE,yBAAyB,EAAE,CAAC;CAClD,CAAC,CA4DD;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAgB/B"}
|
|
@@ -8,6 +8,7 @@ exports.fetchAddressLookupTables = fetchAddressLookupTables;
|
|
|
8
8
|
exports.composeJupiterSwap = composeJupiterSwap;
|
|
9
9
|
exports.composeJupiterSwapTransaction = composeJupiterSwapTransaction;
|
|
10
10
|
const web3_js_1 = require("@solana/web3.js");
|
|
11
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
11
12
|
const accounts_1 = require("../accounts");
|
|
12
13
|
const composer_1 = require("../composer");
|
|
13
14
|
// ---------------------------------------------------------------------------
|
|
@@ -143,6 +144,8 @@ async function composeJupiterSwap(program, connection, params) {
|
|
|
143
144
|
// 4. Fetch address lookup tables
|
|
144
145
|
const addressLookupTables = await fetchAddressLookupTables(connection, swapResponse.addressLookupTableAddresses);
|
|
145
146
|
// 5. Compose with AgentShield validate/finalize sandwich
|
|
147
|
+
const vaultTokenAccount = params.vaultTokenAccount ??
|
|
148
|
+
(0, spl_token_1.getAssociatedTokenAddressSync)(params.inputMint, vault, true);
|
|
146
149
|
const composeParams = {
|
|
147
150
|
vault,
|
|
148
151
|
owner: params.owner,
|
|
@@ -154,7 +157,7 @@ async function composeJupiterSwap(program, connection, params) {
|
|
|
154
157
|
targetProtocol: exports.JUPITER_PROGRAM_ID,
|
|
155
158
|
defiInstructions,
|
|
156
159
|
success: true,
|
|
157
|
-
vaultTokenAccount
|
|
160
|
+
vaultTokenAccount,
|
|
158
161
|
feeDestinationTokenAccount: params.feeDestinationTokenAccount,
|
|
159
162
|
};
|
|
160
163
|
const instructions = await (0, composer_1.composePermittedAction)(program, composeParams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jupiter.js","sourceRoot":"","sources":["../../src/integrations/jupiter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"jupiter.js","sourceRoot":"","sources":["../../src/integrations/jupiter.ts"],"names":[],"mappings":"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"}
|
package/dist/oracle.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PublicKey, Connection } from "@solana/web3.js";
|
|
2
|
+
import type { OracleSource } from "./types";
|
|
3
|
+
/** Pyth Receiver program ID (same mainnet/devnet) */
|
|
4
|
+
export declare const PYTH_RECEIVER_PROGRAM: PublicKey;
|
|
5
|
+
/** Switchboard On-Demand program ID (same mainnet/devnet) */
|
|
6
|
+
export declare const SWITCHBOARD_ON_DEMAND_PROGRAM: PublicKey;
|
|
7
|
+
/**
|
|
8
|
+
* Well-known Pyth price feed accounts for common Solana tokens.
|
|
9
|
+
* These are mainnet push-update PriceUpdateV2 accounts.
|
|
10
|
+
* Key = token mint address (Base58), Value = Pyth feed account.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PYTH_FEEDS: Record<string, PublicKey>;
|
|
13
|
+
/**
|
|
14
|
+
* Well-known Switchboard feed accounts for tokens Pyth doesn't cover.
|
|
15
|
+
* Key = token mint address (Base58), Value = Switchboard PullFeed account.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SWITCHBOARD_FEEDS: Record<string, PublicKey>;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve oracle feed for a token mint. Pyth-first, Switchboard fallback.
|
|
20
|
+
* Returns the feed account address and source, or null for stablecoins/unknown tokens.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveOracleFeed(mint: PublicKey): {
|
|
23
|
+
feed: PublicKey;
|
|
24
|
+
source: OracleSource;
|
|
25
|
+
} | null;
|
|
26
|
+
/**
|
|
27
|
+
* Detect oracle source by checking account owner on-chain.
|
|
28
|
+
* Useful when you have a feed address but don't know the oracle type.
|
|
29
|
+
*/
|
|
30
|
+
export declare function detectOracleSource(connection: Connection, feedAccount: PublicKey): Promise<OracleSource | "unknown">;
|
|
31
|
+
//# sourceMappingURL=oracle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,WAEjC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,WAEzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAahD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAM,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,GACd;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CASlD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAMnC"}
|
package/dist/oracle.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SWITCHBOARD_FEEDS = exports.PYTH_FEEDS = exports.SWITCHBOARD_ON_DEMAND_PROGRAM = exports.PYTH_RECEIVER_PROGRAM = void 0;
|
|
4
|
+
exports.resolveOracleFeed = resolveOracleFeed;
|
|
5
|
+
exports.detectOracleSource = detectOracleSource;
|
|
6
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
/** Pyth Receiver program ID (same mainnet/devnet) */
|
|
8
|
+
exports.PYTH_RECEIVER_PROGRAM = new web3_js_1.PublicKey("rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ");
|
|
9
|
+
/** Switchboard On-Demand program ID (same mainnet/devnet) */
|
|
10
|
+
exports.SWITCHBOARD_ON_DEMAND_PROGRAM = new web3_js_1.PublicKey("SBondMDrcV3K4kxZR1HNVT7osZxAHVHgYXL5Ze1oMUv");
|
|
11
|
+
/**
|
|
12
|
+
* Well-known Pyth price feed accounts for common Solana tokens.
|
|
13
|
+
* These are mainnet push-update PriceUpdateV2 accounts.
|
|
14
|
+
* Key = token mint address (Base58), Value = Pyth feed account.
|
|
15
|
+
*/
|
|
16
|
+
exports.PYTH_FEEDS = {
|
|
17
|
+
// SOL/USD
|
|
18
|
+
So11111111111111111111111111111111111111112: new web3_js_1.PublicKey("7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE"),
|
|
19
|
+
// BTC (Wrapped) / USD
|
|
20
|
+
"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E": new web3_js_1.PublicKey("4cSM2e6rvbGQUFiJbqytoVMi5GgghSMr8LwVrT9VPSPo"),
|
|
21
|
+
// ETH (Wrapped) / USD
|
|
22
|
+
"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs": new web3_js_1.PublicKey("42amVS4KgzR9rA28tkVYqVXjq9Qa8dcZQMbH5EYFX6XC"),
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Well-known Switchboard feed accounts for tokens Pyth doesn't cover.
|
|
26
|
+
* Key = token mint address (Base58), Value = Switchboard PullFeed account.
|
|
27
|
+
*/
|
|
28
|
+
exports.SWITCHBOARD_FEEDS = {};
|
|
29
|
+
/**
|
|
30
|
+
* Resolve oracle feed for a token mint. Pyth-first, Switchboard fallback.
|
|
31
|
+
* Returns the feed account address and source, or null for stablecoins/unknown tokens.
|
|
32
|
+
*/
|
|
33
|
+
function resolveOracleFeed(mint) {
|
|
34
|
+
const mintStr = mint.toBase58();
|
|
35
|
+
if (exports.PYTH_FEEDS[mintStr]) {
|
|
36
|
+
return { feed: exports.PYTH_FEEDS[mintStr], source: "pyth" };
|
|
37
|
+
}
|
|
38
|
+
if (exports.SWITCHBOARD_FEEDS[mintStr]) {
|
|
39
|
+
return { feed: exports.SWITCHBOARD_FEEDS[mintStr], source: "switchboard" };
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Detect oracle source by checking account owner on-chain.
|
|
45
|
+
* Useful when you have a feed address but don't know the oracle type.
|
|
46
|
+
*/
|
|
47
|
+
async function detectOracleSource(connection, feedAccount) {
|
|
48
|
+
const info = await connection.getAccountInfo(feedAccount);
|
|
49
|
+
if (!info)
|
|
50
|
+
return "unknown";
|
|
51
|
+
if (info.owner.equals(exports.PYTH_RECEIVER_PROGRAM))
|
|
52
|
+
return "pyth";
|
|
53
|
+
if (info.owner.equals(exports.SWITCHBOARD_ON_DEMAND_PROGRAM))
|
|
54
|
+
return "switchboard";
|
|
55
|
+
return "unknown";
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=oracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":";;;AA2CA,8CAWC;AAMD,gDASC;AArED,6CAAwD;AAGxD,qDAAqD;AACxC,QAAA,qBAAqB,GAAG,IAAI,mBAAS,CAChD,6CAA6C,CAC9C,CAAC;AAEF,6DAA6D;AAChD,QAAA,6BAA6B,GAAG,IAAI,mBAAS,CACxD,6CAA6C,CAC9C,CAAC;AAEF;;;;GAIG;AACU,QAAA,UAAU,GAA8B;IACnD,UAAU;IACV,2CAA2C,EAAE,IAAI,mBAAS,CACxD,8CAA8C,CAC/C;IACD,sBAAsB;IACtB,8CAA8C,EAAE,IAAI,mBAAS,CAC3D,8CAA8C,CAC/C;IACD,sBAAsB;IACtB,8CAA8C,EAAE,IAAI,mBAAS,CAC3D,8CAA8C,CAC/C;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,iBAAiB,GAA8B,EAAE,CAAC;AAE/D;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,IAAe;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,kBAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,yBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,yBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,WAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6BAAqB,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qCAA6B,CAAC;QAAE,OAAO,aAAa,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rewrite DeFi instructions so the vault PDA's signer role is replaced
|
|
4
|
+
* by the agent (who holds delegated token authority).
|
|
5
|
+
*
|
|
6
|
+
* In production, DeFi protocols (Jupiter, Flash Trade) build instructions
|
|
7
|
+
* with the vault PDA as `authority`. Since the vault PDA can't sign in
|
|
8
|
+
* an outer transaction, we rewrite the authority to the agent — who has
|
|
9
|
+
* been granted a token delegation via `validate_and_authorize`.
|
|
10
|
+
*
|
|
11
|
+
* Only signer keys matching `vaultPda` are rewritten; non-signer
|
|
12
|
+
* references to the vault PDA are preserved.
|
|
13
|
+
*/
|
|
14
|
+
export declare function rewriteVaultAuthority(instructions: TransactionInstruction[], vaultPda: PublicKey, agent: PublicKey): TransactionInstruction[];
|
|
15
|
+
/**
|
|
16
|
+
* Validate that all signer references to the vault PDA have been
|
|
17
|
+
* rewritten. Returns any instructions that still have the vault PDA
|
|
18
|
+
* as a signer — should be empty after a successful rewrite.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateRewrite(instructions: TransactionInstruction[], vaultPda: PublicKey): TransactionInstruction[];
|
|
21
|
+
//# sourceMappingURL=rewriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewriter.d.ts","sourceRoot":"","sources":["../src/rewriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,GACf,sBAAsB,EAAE,CAS1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,sBAAsB,EAAE,EACtC,QAAQ,EAAE,SAAS,GAClB,sBAAsB,EAAE,CAI1B"}
|
package/dist/rewriter.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rewriteVaultAuthority = rewriteVaultAuthority;
|
|
4
|
+
exports.validateRewrite = validateRewrite;
|
|
5
|
+
/**
|
|
6
|
+
* Rewrite DeFi instructions so the vault PDA's signer role is replaced
|
|
7
|
+
* by the agent (who holds delegated token authority).
|
|
8
|
+
*
|
|
9
|
+
* In production, DeFi protocols (Jupiter, Flash Trade) build instructions
|
|
10
|
+
* with the vault PDA as `authority`. Since the vault PDA can't sign in
|
|
11
|
+
* an outer transaction, we rewrite the authority to the agent — who has
|
|
12
|
+
* been granted a token delegation via `validate_and_authorize`.
|
|
13
|
+
*
|
|
14
|
+
* Only signer keys matching `vaultPda` are rewritten; non-signer
|
|
15
|
+
* references to the vault PDA are preserved.
|
|
16
|
+
*/
|
|
17
|
+
function rewriteVaultAuthority(instructions, vaultPda, agent) {
|
|
18
|
+
return instructions.map((ix) => ({
|
|
19
|
+
...ix,
|
|
20
|
+
keys: ix.keys.map((key) => key.pubkey.equals(vaultPda) && key.isSigner
|
|
21
|
+
? { ...key, pubkey: agent }
|
|
22
|
+
: key),
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Validate that all signer references to the vault PDA have been
|
|
27
|
+
* rewritten. Returns any instructions that still have the vault PDA
|
|
28
|
+
* as a signer — should be empty after a successful rewrite.
|
|
29
|
+
*/
|
|
30
|
+
function validateRewrite(instructions, vaultPda) {
|
|
31
|
+
return instructions.filter((ix) => ix.keys.some((key) => key.pubkey.equals(vaultPda) && key.isSigner));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=rewriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../src/rewriter.ts"],"names":[],"mappings":";;AAcA,sDAaC;AAOD,0CAOC;AAvCD;;;;;;;;;;;GAWG;AACH,SAAgB,qBAAqB,CACnC,YAAsC,EACtC,QAAmB,EACnB,KAAgB;IAEhB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,GAAG,EAAE;QACL,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ;YACzC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;YAC3B,CAAC,CAAC,GAAG,CACR;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,YAAsC,EACtC,QAAmB;IAEnB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAChC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CACnE,CAAC;AACJ,CAAC"}
|