instructions
instructions: [
{
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;
},
];
args: [];
discriminator: [178, 116, 38, 9, 23, 20, 91, 154];
name: "calibrateHighWaterMark";
},
{
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: [
{ 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: "currentAdmin"; signer: true },
{ name: "newAdmin" },
{
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" },
{ name: "fee"; type: "u16" },
];
discriminator: [149, 56, 57, 46, 105, 182, 61, 208];
name: "initOrUpdateProtocol";
},
{
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: [
{ 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: ["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: "config";
type: { defined: { name: "vaultInitializationInput" } };
},
];
discriminator: [67, 229, 185, 188, 226, 11, 210, 60];
name: "updateVault";
},
{
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: "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.