@streamflow/staking 7.0.0-alpha.6

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.
Files changed (38) hide show
  1. package/README.md +216 -0
  2. package/dist/cjs/index.js +39 -0
  3. package/dist/cjs/solana/client.js +315 -0
  4. package/dist/cjs/solana/constants.js +61 -0
  5. package/dist/cjs/solana/descriptor/fee_manager.js +2 -0
  6. package/dist/cjs/solana/descriptor/idl/fee_manager.json +284 -0
  7. package/dist/cjs/solana/descriptor/idl/reward_pool.json +905 -0
  8. package/dist/cjs/solana/descriptor/idl/stake_pool.json +734 -0
  9. package/dist/cjs/solana/descriptor/reward_pool.js +2 -0
  10. package/dist/cjs/solana/descriptor/stake_pool.js +2 -0
  11. package/dist/cjs/solana/lib/derive-accounts.js +46 -0
  12. package/dist/cjs/solana/lib/rewards.js +134 -0
  13. package/dist/cjs/solana/types.js +2 -0
  14. package/dist/cjs/solana/utils.js +61 -0
  15. package/dist/esm/index.d.ts +6 -0
  16. package/dist/esm/index.js +6 -0
  17. package/dist/esm/solana/client.d.ts +77 -0
  18. package/dist/esm/solana/client.js +313 -0
  19. package/dist/esm/solana/constants.d.ts +50 -0
  20. package/dist/esm/solana/constants.js +58 -0
  21. package/dist/esm/solana/descriptor/fee_manager.d.ts +290 -0
  22. package/dist/esm/solana/descriptor/fee_manager.js +1 -0
  23. package/dist/esm/solana/descriptor/idl/fee_manager.json +284 -0
  24. package/dist/esm/solana/descriptor/idl/reward_pool.json +905 -0
  25. package/dist/esm/solana/descriptor/idl/stake_pool.json +734 -0
  26. package/dist/esm/solana/descriptor/reward_pool.d.ts +939 -0
  27. package/dist/esm/solana/descriptor/reward_pool.js +1 -0
  28. package/dist/esm/solana/descriptor/stake_pool.d.ts +538 -0
  29. package/dist/esm/solana/descriptor/stake_pool.js +1 -0
  30. package/dist/esm/solana/lib/derive-accounts.d.ts +10 -0
  31. package/dist/esm/solana/lib/derive-accounts.js +31 -0
  32. package/dist/esm/solana/lib/rewards.d.ts +24 -0
  33. package/dist/esm/solana/lib/rewards.js +136 -0
  34. package/dist/esm/solana/types.d.ts +69 -0
  35. package/dist/esm/solana/types.js +1 -0
  36. package/dist/esm/solana/utils.d.ts +11 -0
  37. package/dist/esm/solana/utils.js +50 -0
  38. package/package.json +48 -0
@@ -0,0 +1,50 @@
1
+ /// <reference types="bn.js" />
2
+ /// <reference types="node" />
3
+ import { BN } from "@coral-xyz/anchor";
4
+ import { ICluster } from "@streamflow/common";
5
+ import { PublicKey } from "@solana/web3.js";
6
+ export declare const FEE_PRECISION_FACTOR = 10000;
7
+ export declare const FEE_PRECISION_FACTOR_BN: BN;
8
+ export declare const DEFAULT_FEE = 99;
9
+ export declare const DEFAULT_FEE_BN: BN;
10
+ export declare const SCALE_PRECISION_FACTOR = 1000000000;
11
+ export declare const SCALE_PRECISION_FACTOR_BN: BN;
12
+ export declare const U64_MAX = 18446744073709551615n;
13
+ export declare const STAKE_ENTRY_DISCRIMINATOR: number[];
14
+ export declare const STAKE_ENTRY_PREFIX: Buffer;
15
+ export declare const STAKE_POOL_PREFIX: Buffer;
16
+ export declare const STAKE_MINT_PREFIX: Buffer;
17
+ export declare const STAKE_VAULT_PREFIX: Buffer;
18
+ export declare const REWARD_POOL_PREFIX: Buffer;
19
+ export declare const REWARD_VAULT_PREFIX: Buffer;
20
+ export declare const REWARD_ENTRY_PREFIX: Buffer;
21
+ export declare const CONFIG_PREFIX: Buffer;
22
+ export declare const FEE_VALUE_PREFIX: Buffer;
23
+ export declare const STREAMFLOW_TREASURY_PUBLIC_KEY: PublicKey;
24
+ export declare const ANCHOR_DISCRIMINATOR_OFFSET = 8;
25
+ export declare const STAKE_ENTRY_STAKE_POOL_OFFSET: number;
26
+ export declare const STAKE_ENTRY_OWNER_OFFSET: number;
27
+ export declare const STAKE_ENTRY_BYTE_OFFSETS: {
28
+ readonly payer: number;
29
+ readonly stakePool: number;
30
+ };
31
+ export declare const STAKE_POOL_MINT_OFFSET: number;
32
+ export declare const STAKE_POOL_CREATOR_OFFSET: number;
33
+ export declare const STAKE_POOL_BYTE_OFFSETS: {
34
+ readonly mint: number;
35
+ readonly creator: number;
36
+ };
37
+ export declare const REWARD_POOL_STAKE_POOL_OFFSET: number;
38
+ export declare const REWARD_POOL_MINT_OFFSET: number;
39
+ export declare const REWARD_POOL_BYTE_OFFSETS: {
40
+ readonly stakePool: number;
41
+ readonly mint: number;
42
+ };
43
+ export declare const REWARD_ENTRY_REWARD_POOL_OFFSET = 8;
44
+ export declare const REWARD_ENTRY_STAKE_ENTRY_OFFSET: number;
45
+ export declare const REWARD_ENTRY_BYTE_OFFSETS: {
46
+ readonly stakeEntry: number;
47
+ readonly rewardPool: 8;
48
+ };
49
+ export declare const STAKE_POOL_PROGRAM_ID: Record<ICluster, string>;
50
+ export declare const REWARD_POOL_PROGRAM_ID: Record<ICluster, string>;
@@ -0,0 +1,58 @@
1
+ import { BN } from "@coral-xyz/anchor";
2
+ import { ICluster } from "@streamflow/common";
3
+ import { PublicKey } from "@solana/web3.js";
4
+ export const FEE_PRECISION_FACTOR = 10000;
5
+ export const FEE_PRECISION_FACTOR_BN = new BN(FEE_PRECISION_FACTOR);
6
+ export const DEFAULT_FEE = 99;
7
+ export const DEFAULT_FEE_BN = new BN(DEFAULT_FEE);
8
+ export const SCALE_PRECISION_FACTOR = 1000000000;
9
+ export const SCALE_PRECISION_FACTOR_BN = new BN(SCALE_PRECISION_FACTOR);
10
+ export const U64_MAX = 18446744073709551615n;
11
+ export const STAKE_ENTRY_DISCRIMINATOR = [187, 127, 9, 35, 155, 68, 86, 40];
12
+ export const STAKE_ENTRY_PREFIX = Buffer.from("stake-entry", "utf-8");
13
+ export const STAKE_POOL_PREFIX = Buffer.from("stake-pool", "utf-8");
14
+ export const STAKE_MINT_PREFIX = Buffer.from("stake-mint", "utf-8");
15
+ export const STAKE_VAULT_PREFIX = Buffer.from("stake-vault", "utf-8");
16
+ export const REWARD_POOL_PREFIX = Buffer.from("reward-pool", "utf-8");
17
+ export const REWARD_VAULT_PREFIX = Buffer.from("reward-vault", "utf-8");
18
+ export const REWARD_ENTRY_PREFIX = Buffer.from("reward-entry", "utf-8");
19
+ export const CONFIG_PREFIX = Buffer.from("config", "utf-8");
20
+ export const FEE_VALUE_PREFIX = Buffer.from("fee-value", "utf-8");
21
+ export const STREAMFLOW_TREASURY_PUBLIC_KEY = new PublicKey("5SEpbdjFK5FxwTvfsGMXVQTD2v4M2c5tyRTxhdsPkgDw");
22
+ export const ANCHOR_DISCRIMINATOR_OFFSET = 8;
23
+ export const STAKE_ENTRY_STAKE_POOL_OFFSET = ANCHOR_DISCRIMINATOR_OFFSET + 4;
24
+ export const STAKE_ENTRY_OWNER_OFFSET = STAKE_ENTRY_STAKE_POOL_OFFSET + 32;
25
+ export const STAKE_ENTRY_BYTE_OFFSETS = {
26
+ payer: STAKE_ENTRY_OWNER_OFFSET,
27
+ stakePool: STAKE_ENTRY_STAKE_POOL_OFFSET,
28
+ };
29
+ export const STAKE_POOL_MINT_OFFSET = ANCHOR_DISCRIMINATOR_OFFSET + 8;
30
+ export const STAKE_POOL_CREATOR_OFFSET = STAKE_POOL_MINT_OFFSET + 32;
31
+ export const STAKE_POOL_BYTE_OFFSETS = {
32
+ mint: STAKE_POOL_MINT_OFFSET,
33
+ creator: STAKE_POOL_CREATOR_OFFSET,
34
+ };
35
+ export const REWARD_POOL_STAKE_POOL_OFFSET = ANCHOR_DISCRIMINATOR_OFFSET + 2;
36
+ export const REWARD_POOL_MINT_OFFSET = REWARD_POOL_STAKE_POOL_OFFSET + 32;
37
+ export const REWARD_POOL_BYTE_OFFSETS = {
38
+ stakePool: REWARD_POOL_STAKE_POOL_OFFSET,
39
+ mint: REWARD_POOL_MINT_OFFSET,
40
+ };
41
+ export const REWARD_ENTRY_REWARD_POOL_OFFSET = ANCHOR_DISCRIMINATOR_OFFSET;
42
+ export const REWARD_ENTRY_STAKE_ENTRY_OFFSET = REWARD_ENTRY_REWARD_POOL_OFFSET + 32;
43
+ export const REWARD_ENTRY_BYTE_OFFSETS = {
44
+ stakeEntry: REWARD_ENTRY_STAKE_ENTRY_OFFSET,
45
+ rewardPool: REWARD_ENTRY_REWARD_POOL_OFFSET,
46
+ };
47
+ export const STAKE_POOL_PROGRAM_ID = {
48
+ [ICluster.Mainnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
49
+ [ICluster.Devnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
50
+ [ICluster.Testnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
51
+ [ICluster.Local]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
52
+ };
53
+ export const REWARD_POOL_PROGRAM_ID = {
54
+ [ICluster.Mainnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
55
+ [ICluster.Devnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
56
+ [ICluster.Testnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
57
+ [ICluster.Local]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
58
+ };
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/fee_manager.json`.
6
+ */
7
+ export type FeeManager = {
8
+ address: "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V";
9
+ metadata: {
10
+ name: "feeManager";
11
+ version: "1.0.0";
12
+ spec: "0.1.0";
13
+ description: "Stores Fees and other admin configuration for the Staking protocol";
14
+ };
15
+ instructions: [
16
+ {
17
+ name: "changeAuthority";
18
+ discriminator: [50, 106, 66, 104, 99, 118, 145, 88];
19
+ accounts: [
20
+ {
21
+ name: "config";
22
+ writable: true;
23
+ pda: {
24
+ seeds: [
25
+ {
26
+ kind: "const";
27
+ value: [99, 111, 110, 102, 105, 103];
28
+ }
29
+ ];
30
+ };
31
+ },
32
+ {
33
+ name: "authority";
34
+ docs: ["authority"];
35
+ signer: true;
36
+ },
37
+ {
38
+ name: "newAuthority";
39
+ }
40
+ ];
41
+ args: [];
42
+ },
43
+ {
44
+ name: "initialize";
45
+ discriminator: [175, 175, 109, 31, 13, 152, 155, 237];
46
+ accounts: [
47
+ {
48
+ name: "config";
49
+ writable: true;
50
+ pda: {
51
+ seeds: [
52
+ {
53
+ kind: "const";
54
+ value: [99, 111, 110, 102, 105, 103];
55
+ }
56
+ ];
57
+ };
58
+ },
59
+ {
60
+ name: "authority";
61
+ docs: ["authority"];
62
+ writable: true;
63
+ signer: true;
64
+ address: "ACYtYsL4KYtJzD53wqyifqad2D8224kamcngYPgSy3t";
65
+ },
66
+ {
67
+ name: "systemProgram";
68
+ address: "11111111111111111111111111111111";
69
+ }
70
+ ];
71
+ args: [];
72
+ },
73
+ {
74
+ name: "removeFee";
75
+ discriminator: [190, 227, 105, 10, 30, 161, 81, 212];
76
+ accounts: [
77
+ {
78
+ name: "feeValue";
79
+ writable: true;
80
+ pda: {
81
+ seeds: [
82
+ {
83
+ kind: "const";
84
+ value: [102, 101, 101, 45, 118, 97, 108, 117, 101];
85
+ },
86
+ {
87
+ kind: "account";
88
+ path: "target";
89
+ }
90
+ ];
91
+ };
92
+ },
93
+ {
94
+ name: "config";
95
+ pda: {
96
+ seeds: [
97
+ {
98
+ kind: "const";
99
+ value: [99, 111, 110, 102, 105, 103];
100
+ }
101
+ ];
102
+ };
103
+ },
104
+ {
105
+ name: "authority";
106
+ docs: ["authority"];
107
+ writable: true;
108
+ signer: true;
109
+ },
110
+ {
111
+ name: "target";
112
+ },
113
+ {
114
+ name: "systemProgram";
115
+ address: "11111111111111111111111111111111";
116
+ }
117
+ ];
118
+ args: [];
119
+ },
120
+ {
121
+ name: "updateConfig";
122
+ discriminator: [29, 158, 252, 191, 10, 83, 219, 99];
123
+ accounts: [
124
+ {
125
+ name: "config";
126
+ writable: true;
127
+ pda: {
128
+ seeds: [
129
+ {
130
+ kind: "const";
131
+ value: [99, 111, 110, 102, 105, 103];
132
+ }
133
+ ];
134
+ };
135
+ },
136
+ {
137
+ name: "authority";
138
+ docs: ["authority"];
139
+ signer: true;
140
+ },
141
+ {
142
+ name: "systemProgram";
143
+ address: "11111111111111111111111111111111";
144
+ }
145
+ ];
146
+ args: [
147
+ {
148
+ name: "streamflowFee";
149
+ type: {
150
+ option: "u64";
151
+ };
152
+ }
153
+ ];
154
+ },
155
+ {
156
+ name: "writeFee";
157
+ discriminator: [80, 12, 148, 143, 16, 120, 24, 48];
158
+ accounts: [
159
+ {
160
+ name: "feeValue";
161
+ writable: true;
162
+ pda: {
163
+ seeds: [
164
+ {
165
+ kind: "const";
166
+ value: [102, 101, 101, 45, 118, 97, 108, 117, 101];
167
+ },
168
+ {
169
+ kind: "account";
170
+ path: "target";
171
+ }
172
+ ];
173
+ };
174
+ },
175
+ {
176
+ name: "config";
177
+ pda: {
178
+ seeds: [
179
+ {
180
+ kind: "const";
181
+ value: [99, 111, 110, 102, 105, 103];
182
+ }
183
+ ];
184
+ };
185
+ },
186
+ {
187
+ name: "authority";
188
+ docs: ["authority"];
189
+ writable: true;
190
+ signer: true;
191
+ },
192
+ {
193
+ name: "target";
194
+ },
195
+ {
196
+ name: "systemProgram";
197
+ address: "11111111111111111111111111111111";
198
+ }
199
+ ];
200
+ args: [
201
+ {
202
+ name: "streamflowFee";
203
+ type: "u64";
204
+ }
205
+ ];
206
+ }
207
+ ];
208
+ accounts: [
209
+ {
210
+ name: "config";
211
+ discriminator: [155, 12, 170, 224, 30, 250, 204, 130];
212
+ },
213
+ {
214
+ name: "feeValue";
215
+ discriminator: [10, 188, 89, 64, 4, 183, 231, 0];
216
+ }
217
+ ];
218
+ errors: [
219
+ {
220
+ code: 6000;
221
+ name: "unauthorized";
222
+ msg: "Account is not authorized to execute this instruction";
223
+ },
224
+ {
225
+ code: 6001;
226
+ name: "invalidFee";
227
+ msg: "Provided fee is not valid";
228
+ }
229
+ ];
230
+ types: [
231
+ {
232
+ name: "config";
233
+ type: {
234
+ kind: "struct";
235
+ fields: [
236
+ {
237
+ name: "authority";
238
+ docs: ["Fee Manager authority"];
239
+ type: "pubkey";
240
+ },
241
+ {
242
+ name: "streamflowFee";
243
+ docs: ["Default fee"];
244
+ type: "u64";
245
+ },
246
+ {
247
+ name: "buffer1";
248
+ docs: ["Buffer for additional fields"];
249
+ type: {
250
+ array: ["u8", 64];
251
+ };
252
+ },
253
+ {
254
+ name: "buffer2";
255
+ docs: ["Buffer for additional fields"];
256
+ type: {
257
+ array: ["u8", 64];
258
+ };
259
+ },
260
+ {
261
+ name: "buffer3";
262
+ docs: ["Buffer for additional fields"];
263
+ type: {
264
+ array: ["u8", 64];
265
+ };
266
+ }
267
+ ];
268
+ };
269
+ },
270
+ {
271
+ name: "feeValue";
272
+ type: {
273
+ kind: "struct";
274
+ fields: [
275
+ {
276
+ name: "streamflowFee";
277
+ type: "u64";
278
+ },
279
+ {
280
+ name: "buffer";
281
+ docs: ["Buffer for additional fields"];
282
+ type: {
283
+ array: ["u8", 64];
284
+ };
285
+ }
286
+ ];
287
+ };
288
+ }
289
+ ];
290
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,284 @@
1
+ {
2
+ "address": "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V",
3
+ "metadata": {
4
+ "name": "fee_manager",
5
+ "version": "1.0.0",
6
+ "spec": "0.1.0",
7
+ "description": "Stores Fees and other admin configuration for the Staking protocol"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "change_authority",
12
+ "discriminator": [50, 106, 66, 104, 99, 118, 145, 88],
13
+ "accounts": [
14
+ {
15
+ "name": "config",
16
+ "writable": true,
17
+ "pda": {
18
+ "seeds": [
19
+ {
20
+ "kind": "const",
21
+ "value": [99, 111, 110, 102, 105, 103]
22
+ }
23
+ ]
24
+ }
25
+ },
26
+ {
27
+ "name": "authority",
28
+ "docs": ["authority"],
29
+ "signer": true
30
+ },
31
+ {
32
+ "name": "new_authority"
33
+ }
34
+ ],
35
+ "args": []
36
+ },
37
+ {
38
+ "name": "initialize",
39
+ "discriminator": [175, 175, 109, 31, 13, 152, 155, 237],
40
+ "accounts": [
41
+ {
42
+ "name": "config",
43
+ "writable": true,
44
+ "pda": {
45
+ "seeds": [
46
+ {
47
+ "kind": "const",
48
+ "value": [99, 111, 110, 102, 105, 103]
49
+ }
50
+ ]
51
+ }
52
+ },
53
+ {
54
+ "name": "authority",
55
+ "docs": ["authority"],
56
+ "writable": true,
57
+ "signer": true,
58
+ "address": "ACYtYsL4KYtJzD53wqyifqad2D8224kamcngYPgSy3t"
59
+ },
60
+ {
61
+ "name": "system_program",
62
+ "address": "11111111111111111111111111111111"
63
+ }
64
+ ],
65
+ "args": []
66
+ },
67
+ {
68
+ "name": "remove_fee",
69
+ "discriminator": [190, 227, 105, 10, 30, 161, 81, 212],
70
+ "accounts": [
71
+ {
72
+ "name": "fee_value",
73
+ "writable": true,
74
+ "pda": {
75
+ "seeds": [
76
+ {
77
+ "kind": "const",
78
+ "value": [102, 101, 101, 45, 118, 97, 108, 117, 101]
79
+ },
80
+ {
81
+ "kind": "account",
82
+ "path": "target"
83
+ }
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ "name": "config",
89
+ "pda": {
90
+ "seeds": [
91
+ {
92
+ "kind": "const",
93
+ "value": [99, 111, 110, 102, 105, 103]
94
+ }
95
+ ]
96
+ }
97
+ },
98
+ {
99
+ "name": "authority",
100
+ "docs": ["authority"],
101
+ "writable": true,
102
+ "signer": true
103
+ },
104
+ {
105
+ "name": "target"
106
+ },
107
+ {
108
+ "name": "system_program",
109
+ "address": "11111111111111111111111111111111"
110
+ }
111
+ ],
112
+ "args": []
113
+ },
114
+ {
115
+ "name": "update_config",
116
+ "discriminator": [29, 158, 252, 191, 10, 83, 219, 99],
117
+ "accounts": [
118
+ {
119
+ "name": "config",
120
+ "writable": true,
121
+ "pda": {
122
+ "seeds": [
123
+ {
124
+ "kind": "const",
125
+ "value": [99, 111, 110, 102, 105, 103]
126
+ }
127
+ ]
128
+ }
129
+ },
130
+ {
131
+ "name": "authority",
132
+ "docs": ["authority"],
133
+ "signer": true
134
+ },
135
+ {
136
+ "name": "system_program",
137
+ "address": "11111111111111111111111111111111"
138
+ }
139
+ ],
140
+ "args": [
141
+ {
142
+ "name": "streamflow_fee",
143
+ "type": {
144
+ "option": "u64"
145
+ }
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "name": "write_fee",
151
+ "discriminator": [80, 12, 148, 143, 16, 120, 24, 48],
152
+ "accounts": [
153
+ {
154
+ "name": "fee_value",
155
+ "writable": true,
156
+ "pda": {
157
+ "seeds": [
158
+ {
159
+ "kind": "const",
160
+ "value": [102, 101, 101, 45, 118, 97, 108, 117, 101]
161
+ },
162
+ {
163
+ "kind": "account",
164
+ "path": "target"
165
+ }
166
+ ]
167
+ }
168
+ },
169
+ {
170
+ "name": "config",
171
+ "pda": {
172
+ "seeds": [
173
+ {
174
+ "kind": "const",
175
+ "value": [99, 111, 110, 102, 105, 103]
176
+ }
177
+ ]
178
+ }
179
+ },
180
+ {
181
+ "name": "authority",
182
+ "docs": ["authority"],
183
+ "writable": true,
184
+ "signer": true
185
+ },
186
+ {
187
+ "name": "target"
188
+ },
189
+ {
190
+ "name": "system_program",
191
+ "address": "11111111111111111111111111111111"
192
+ }
193
+ ],
194
+ "args": [
195
+ {
196
+ "name": "streamflow_fee",
197
+ "type": "u64"
198
+ }
199
+ ]
200
+ }
201
+ ],
202
+ "accounts": [
203
+ {
204
+ "name": "Config",
205
+ "discriminator": [155, 12, 170, 224, 30, 250, 204, 130]
206
+ },
207
+ {
208
+ "name": "FeeValue",
209
+ "discriminator": [10, 188, 89, 64, 4, 183, 231, 0]
210
+ }
211
+ ],
212
+ "errors": [
213
+ {
214
+ "code": 6000,
215
+ "name": "Unauthorized",
216
+ "msg": "Account is not authorized to execute this instruction"
217
+ },
218
+ {
219
+ "code": 6001,
220
+ "name": "InvalidFee",
221
+ "msg": "Provided fee is not valid"
222
+ }
223
+ ],
224
+ "types": [
225
+ {
226
+ "name": "Config",
227
+ "type": {
228
+ "kind": "struct",
229
+ "fields": [
230
+ {
231
+ "name": "authority",
232
+ "docs": ["Fee Manager authority"],
233
+ "type": "pubkey"
234
+ },
235
+ {
236
+ "name": "streamflow_fee",
237
+ "docs": ["Default fee"],
238
+ "type": "u64"
239
+ },
240
+ {
241
+ "name": "_buffer_1",
242
+ "docs": ["Buffer for additional fields"],
243
+ "type": {
244
+ "array": ["u8", 64]
245
+ }
246
+ },
247
+ {
248
+ "name": "_buffer_2",
249
+ "docs": ["Buffer for additional fields"],
250
+ "type": {
251
+ "array": ["u8", 64]
252
+ }
253
+ },
254
+ {
255
+ "name": "_buffer_3",
256
+ "docs": ["Buffer for additional fields"],
257
+ "type": {
258
+ "array": ["u8", 64]
259
+ }
260
+ }
261
+ ]
262
+ }
263
+ },
264
+ {
265
+ "name": "FeeValue",
266
+ "type": {
267
+ "kind": "struct",
268
+ "fields": [
269
+ {
270
+ "name": "streamflow_fee",
271
+ "type": "u64"
272
+ },
273
+ {
274
+ "name": "_buffer",
275
+ "docs": ["Buffer for additional fields"],
276
+ "type": {
277
+ "array": ["u8", 64]
278
+ }
279
+ }
280
+ ]
281
+ }
282
+ }
283
+ ]
284
+ }