instructions
instructions: [
{
accounts: [
{ name: "pendingAdmin"; relations: ["protocol"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
writable: true;
},
];
args: [];
discriminator: [76, 35, 211, 183, 82, 72, 131, 36];
name: "acceptProtocolAdmin";
},
{
accounts: [
{ name: "pendingAdmin"; relations: ["vault"]; signer: true },
{ name: "vault"; writable: true },
];
args: [];
discriminator: [214, 137, 204, 56, 78, 214, 90, 125];
name: "acceptVaultAdmin";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "admin"; relations: ["vault"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [161, 145, 203, 248, 211, 202, 203, 67];
name: "addAdaptor";
},
{
accounts: [
{ name: "admin"; relations: ["vault"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
name: "adminLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "admin" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
];
args: [];
discriminator: [178, 116, 38, 9, 23, 20, 91, 154];
name: "calibrateHighWaterMark";
},
{
accounts: [
{ name: "admin"; relations: ["vault"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
];
args: [];
discriminator: [162, 16, 96, 202, 178, 8, 187, 235];
name: "calibrateHighWaterMarkUnsafe";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The user's LP token account from which LP tokens will be burned.",
];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
docs: ["The request's associated token account for LP."];
name: "requestWithdrawLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "requestWithdrawVaultReceipt" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "requestWithdrawVaultReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
114,
101,
113,
117,
101,
115,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
118,
97,
117,
108,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "userTransferAuthority" },
];
};
writable: true;
},
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [231, 54, 14, 6, 223, 124, 127, 238];
name: "cancelRequestWithdrawVault";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "manager"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault" },
{ name: "strategy" },
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [56, 247, 170, 246, 89, 221, 134, 200];
name: "closeStrategy";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "admin"; relations: ["vault"]; signer: true },
{ name: "vault" },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
},
{
name: "vaultLpMintAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
108,
112,
95,
109,
105,
110,
116,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{ name: "metadataAccount"; writable: true },
{
address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
name: "metadataProgram";
},
{ address: "SysvarRent111111111111111111111111111111111"; name: "rent" },
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "name"; type: "string" },
{ name: "symbol"; type: "string" },
{ name: "uri"; type: "string" },
];
discriminator: [148, 193, 160, 116, 87, 25, 123, 103];
name: "createLpMetadata";
},
{
accounts: [
{ name: "manager"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ name: "strategy" },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
},
{
docs: ["The vault's associated token account for asset."];
name: "vaultAssetIdleAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAssetIdleAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{ name: "assetTokenProgram" },
{ name: "adaptorProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "instructionDiscriminator"; type: { option: "bytes" } },
{ name: "additionalArgs"; type: { option: "bytes" } },
];
discriminator: [246, 82, 57, 226, 131, 222, 253, 249];
name: "depositStrategy";
},
{
accounts: [
{ name: "userTransferAuthority"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ name: "vaultAssetMint" },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA from which they are depositing tokens."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
docs: ["The vault's associated token account for asset."];
name: "vaultAssetIdleAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAssetIdleAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{
docs: ["The user's LP ATA where we will mint LP tokens."];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
docs: [
"The PDA authority used to sign mint instructions for LP tokens.",
];
name: "vaultLpMintAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
108,
112,
95,
109,
105,
110,
116,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [{ name: "amount"; type: "u64" }];
discriminator: [126, 224, 21, 255, 228, 53, 117, 33];
name: "depositVault";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "directWithdrawInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
100,
105,
114,
101,
99,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
},
{ name: "strategy" },
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The request's LP token account from which LP tokens will be burned.",
];
name: "requestWithdrawLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "requestWithdrawVaultReceipt" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "requestWithdrawVaultReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
114,
101,
113,
117,
101,
115,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
118,
97,
117,
108,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "userTransferAuthority" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [{ name: "userArgs"; type: { option: "bytes" } }];
discriminator: [119, 33, 54, 52, 194, 8, 211, 239];
name: "directWithdrawStrategy";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "directWithdrawInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
100,
105,
114,
101,
99,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
},
{ name: "strategy" },
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The request's LP token account from which LP tokens will be burned.",
];
name: "requestWithdrawLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "requestWithdrawVaultReceipt" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "requestWithdrawVaultReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
114,
101,
113,
117,
101,
115,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
118,
97,
117,
108,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "userTransferAuthority" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "userArgs"; type: { option: "bytes" } },
{ name: "tolerance"; type: "u64" },
];
discriminator: [207, 51, 234, 8, 76, 164, 10, 250];
name: "directWithdrawStrategyWithTolerance";
},
{
accounts: [
{ name: "harvester"; signer: true },
{ name: "vaultManager" },
{ name: "vaultAdmin" },
{ name: "protocolAdmin" },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
name: "vaultLpMintAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
108,
112,
95,
109,
105,
110,
116,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{
name: "vaultManagerLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultManager" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "vaultAdminLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAdmin" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "protocolAdminLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "protocolAdmin" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
];
args: [];
discriminator: [32, 59, 42, 128, 246, 73, 255, 47];
name: "harvestFee";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "admin"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [{ name: "operationalState"; type: "u16" }];
discriminator: [3, 188, 141, 237, 225, 226, 232, 210];
name: "initProtocol";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "admin"; relations: ["vault"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ name: "strategy" },
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "directWithdrawInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
100,
105,
114,
101,
99,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "instructionDiscriminator"; type: { option: "bytes" } },
{ name: "additionalArgs"; type: { option: "bytes" } },
{ name: "allowUserArgs"; type: "bool" },
];
discriminator: [248, 207, 228, 15, 13, 191, 43, 58];
name: "initializeDirectWithdrawStrategy";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "manager"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault" },
{ name: "strategy" },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "instructionDiscriminator"; type: { option: "bytes" } },
{ name: "additionalArgs"; type: { option: "bytes" } },
];
discriminator: [208, 119, 144, 145, 178, 57, 105, 252];
name: "initializeStrategy";
},
{
accounts: [
{ name: "payer"; signer: true; writable: true },
{ name: "manager" },
{ name: "admin" },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; signer: true; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{ name: "vaultAssetMint" },
{ name: "vaultAssetIdleAta"; writable: true },
{
name: "vaultLpMintAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
108,
112,
95,
109,
105,
110,
116,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
},
{ address: "SysvarC1ock11111111111111111111111111111111"; name: "clock" },
{ address: "SysvarRent111111111111111111111111111111111"; name: "rent" },
{
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
name: "associatedTokenProgram";
},
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{
name: "config";
type: { defined: { name: "vaultInitializationInput" } };
},
{ name: "name"; type: "string" },
{ name: "description"; type: "string" },
];
discriminator: [48, 191, 163, 44, 71, 129, 63, 164];
name: "initializeVault";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "directWithdrawInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
100,
105,
114,
101,
99,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
},
{ name: "strategy" },
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The user's LP token account from which LP tokens will be burned.",
];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "isAmountInLp"; type: "bool" },
{ name: "isWithdrawAll"; type: "bool" },
{ name: "userArgs"; type: { option: "bytes" } },
];
discriminator: [105, 57, 166, 130, 147, 221, 250, 189];
name: "instantWithdrawStrategy";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
name: "directWithdrawInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
100,
105,
114,
101,
99,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
},
{ name: "strategy" },
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The user's LP token account from which LP tokens will be burned.",
];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "isAmountInLp"; type: "bool" },
{ name: "isWithdrawAll"; type: "bool" },
{ name: "userArgs"; type: { option: "bytes" } },
{ name: "tolerance"; type: "u64" },
];
discriminator: [91, 21, 70, 163, 84, 67, 106, 181];
name: "instantWithdrawStrategyWithTolerance";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ name: "vaultAssetMint" },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The user's LP token account from which LP tokens will be burned.",
];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
docs: ["The vault's associated token account for asset."];
name: "vaultAssetIdleAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAssetIdleAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "isAmountInLp"; type: "bool" },
{ name: "isWithdrawAll"; type: "bool" },
];
discriminator: [221, 56, 115, 168, 128, 220, 235, 245];
name: "instantWithdrawVault";
},
{
accounts: [
{ name: "admin"; relations: ["vault"]; signer: true; writable: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
writable: true;
},
{ name: "adaptorProgram" },
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [161, 199, 99, 22, 25, 193, 61, 193];
name: "removeAdaptor";
},
{
accounts: [
{
docs: ["The payer of the request"];
name: "payer";
signer: true;
writable: true;
},
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault" },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
},
{
docs: [
"The user's LP token account from which LP tokens will be burned.",
];
name: "userLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
docs: ["The request's associated token account for LP."];
name: "requestWithdrawLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "requestWithdrawVaultReceipt" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
name: "requestWithdrawVaultReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
114,
101,
113,
117,
101,
115,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
118,
97,
117,
108,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "userTransferAuthority" },
];
};
writable: true;
},
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "isAmountInLp"; type: "bool" },
{ name: "isWithdrawAll"; type: "bool" },
];
discriminator: [248, 225, 47, 22, 116, 144, 23, 143];
name: "requestWithdrawVault";
},
{
accounts: [
{ name: "admin"; relations: ["protocol"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
writable: true;
},
];
args: [
{ name: "field"; type: { defined: { name: "protocolConfigField" } } },
{ name: "data"; type: "bytes" },
];
discriminator: [206, 25, 218, 114, 109, 41, 74, 173];
name: "updateProtocol";
},
{
accounts: [
{ name: "admin"; relations: ["vault"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ address: "SysvarRent111111111111111111111111111111111"; name: "rent" },
];
args: [
{ name: "field"; type: { defined: { name: "vaultConfigField" } } },
{ name: "data"; type: "bytes" },
];
discriminator: [122, 3, 21, 222, 158, 255, 238, 157];
name: "updateVaultConfig";
},
{
accounts: [
{ name: "admin"; relations: ["protocol"]; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
];
args: [
{ name: "field"; type: { defined: { name: "protocolFeeField" } } },
{ name: "feeBps"; type: "u16" },
];
discriminator: [62, 83, 22, 192, 137, 86, 74, 18];
name: "updateVaultProtocolFee";
},
{
accounts: [
{ name: "manager"; signer: true },
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{
name: "adaptorAddReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
97,
100,
97,
112,
116,
111,
114,
95,
97,
100,
100,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "adaptorProgram" },
];
};
},
{
name: "strategyInitReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
115,
116,
114,
97,
116,
101,
103,
121,
95,
105,
110,
105,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ name: "strategy" },
{ name: "adaptorProgram" },
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
name: "vaultStrategyAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
115,
116,
114,
97,
116,
101,
103,
121,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "strategy" },
];
};
writable: true;
},
{ name: "vaultAssetMint"; writable: true },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
},
{
docs: ["The vault's associated token account for asset."];
name: "vaultAssetIdleAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAssetIdleAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultStrategyAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultStrategyAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{ name: "assetTokenProgram" },
];
args: [
{ name: "amount"; type: "u64" },
{ name: "instructionDiscriminator"; type: { option: "bytes" } },
{ name: "additionalArgs"; type: { option: "bytes" } },
];
discriminator: [31, 45, 162, 5, 193, 217, 134, 188];
name: "withdrawStrategy";
},
{
accounts: [
{
docs: [
"The authority that owns the LP tokens and wants to redeem them",
];
name: "userTransferAuthority";
signer: true;
writable: true;
},
{
name: "protocol";
pda: {
seeds: [
{ kind: "const"; value: [112, 114, 111, 116, 111, 99, 111, 108] },
];
};
},
{ name: "vault"; writable: true },
{ name: "vaultAssetMint" },
{
name: "vaultLpMint";
pda: {
seeds: [
{
kind: "const";
value: [118, 97, 117, 108, 116, 95, 108, 112, 95, 109, 105, 110, 116];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: [
"The request's LP token account from which LP tokens will be burned.",
];
name: "requestWithdrawLpAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "requestWithdrawVaultReceipt" },
{ kind: "account"; path: "lpTokenProgram" },
{ kind: "account"; path: "vaultLpMint" },
];
};
writable: true;
},
{
docs: ["The vault's associated token account for asset."];
name: "vaultAssetIdleAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "vaultAssetIdleAuth" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "vaultAssetIdleAuth";
pda: {
seeds: [
{
kind: "const";
value: [
118,
97,
117,
108,
116,
95,
97,
115,
115,
101,
116,
95,
105,
100,
108,
101,
95,
97,
117,
116,
104,
];
},
{ kind: "account"; path: "vault" },
];
};
writable: true;
},
{
docs: ["The user's asset ATA to which asset tokens will be sent."];
name: "userAssetAta";
pda: {
program: {
kind: "const";
value: [
140,
151,
37,
143,
78,
36,
137,
241,
187,
61,
16,
41,
20,
142,
13,
131,
11,
90,
19,
153,
218,
255,
16,
132,
4,
142,
123,
216,
219,
233,
248,
89,
];
};
seeds: [
{ kind: "account"; path: "userTransferAuthority" },
{ kind: "account"; path: "assetTokenProgram" },
{ kind: "account"; path: "vaultAssetMint" },
];
};
writable: true;
},
{
name: "requestWithdrawVaultReceipt";
pda: {
seeds: [
{
kind: "const";
value: [
114,
101,
113,
117,
101,
115,
116,
95,
119,
105,
116,
104,
100,
114,
97,
119,
95,
118,
97,
117,
108,
116,
95,
114,
101,
99,
101,
105,
112,
116,
];
},
{ kind: "account"; path: "vault" },
{ kind: "account"; path: "userTransferAuthority" },
];
};
writable: true;
},
{ name: "assetTokenProgram" },
{
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
name: "lpTokenProgram";
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [135, 7, 237, 120, 149, 94, 95, 7];
name: "withdrawVault";
},
]
Program IDL in camelCase format in order to be used in JS/TS.
Note that this is only a type helper and is not the actual IDL. The original IDL can be found at
target/idl/voltr_vault.json.