@elemental-stv-core/sdk 0.9.3 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/buffer.d.ts +3 -0
- package/dist/common/buffer.js +19 -0
- package/dist/elemental-lend/instructions.d.ts +14 -0
- package/dist/elemental-lend/instructions.js +18 -6
- package/dist/elemental-lend/protocol-actions.d.ts +6 -0
- package/dist/elemental-lend/protocol-actions.js +21 -10
- package/dist/jlpd-strategy/accounts.d.ts +4 -1
- package/dist/jlpd-strategy/accounts.js +6 -1
- package/dist/jlpd-strategy/adapter.d.ts +16 -6
- package/dist/jlpd-strategy/adapter.js +21 -9
- package/dist/jlpd-strategy/base-to-base-swap.d.ts +74 -0
- package/dist/jlpd-strategy/base-to-base-swap.js +199 -0
- package/dist/jlpd-strategy/constants.d.ts +11 -3
- package/dist/jlpd-strategy/constants.js +19 -10
- package/dist/jlpd-strategy/index.d.ts +1 -0
- package/dist/jlpd-strategy/index.js +1 -0
- package/dist/jlpd-strategy/instructions.d.ts +49 -0
- package/dist/jlpd-strategy/instructions.js +55 -0
- package/dist/jlpd-strategy/jlp-data.d.ts +11 -0
- package/dist/jlpd-strategy/jlp-data.js +15 -0
- package/dist/jlpd-strategy/settle-yield.d.ts +20 -1
- package/dist/jlpd-strategy/settle-yield.js +9 -6
- package/dist/jlpd-strategy/swap-jlp.d.ts +26 -0
- package/dist/jlpd-strategy/swap-jlp.js +74 -10
- package/dist/jlpd-strategy/types.d.ts +3 -1
- package/dist/p-stv-core/accounts.d.ts +74 -34
- package/dist/p-stv-core/accounts.js +163 -56
- package/dist/p-stv-core/constants.d.ts +49 -4
- package/dist/p-stv-core/constants.js +52 -5
- package/dist/p-stv-core/events.js +63 -9
- package/dist/p-stv-core/instructions.d.ts +302 -3
- package/dist/p-stv-core/instructions.js +277 -15
- package/dist/p-stv-core/pda.d.ts +15 -0
- package/dist/p-stv-core/pda.js +25 -0
- package/dist/p-stv-core/remaining-accounts.d.ts +4 -1
- package/dist/p-stv-core/remaining-accounts.js +17 -2
- package/dist/p-stv-core/types.d.ts +104 -4
- package/package.json +1 -1
|
@@ -4,10 +4,13 @@ export declare const CONFIG_SEED: Buffer<ArrayBuffer>;
|
|
|
4
4
|
export declare const STV_SEED: Buffer<ArrayBuffer>;
|
|
5
5
|
export declare const EV_MINT_SEED: Buffer<ArrayBuffer>;
|
|
6
6
|
export declare const WITHDRAW_REQUEST_SEED: Buffer<ArrayBuffer>;
|
|
7
|
+
export declare const MIGRATE_REQUEST_SEED: Buffer<ArrayBuffer>;
|
|
8
|
+
export declare const DELAYED_DEPOSIT_SEED: Buffer<ArrayBuffer>;
|
|
7
9
|
export declare const MANAGER_SEED: Buffer<ArrayBuffer>;
|
|
8
10
|
export declare const DISC_GLOBAL_CONFIG: Buffer<ArrayBuffer>;
|
|
9
11
|
export declare const DISC_STV: Buffer<ArrayBuffer>;
|
|
10
12
|
export declare const DISC_WITHDRAW_REQUEST: Buffer<ArrayBuffer>;
|
|
13
|
+
export declare const DISC_DELAYED_DEPOSIT_REQUEST: Buffer<ArrayBuffer>;
|
|
11
14
|
export { DISC_MANAGER_ROLE } from "../common/constants";
|
|
12
15
|
export declare const IX_INIT_OR_UPDATE_CONFIG = 0;
|
|
13
16
|
export declare const IX_INIT_OR_UPDATE_STV = 1;
|
|
@@ -22,6 +25,16 @@ export declare const IX_ADD_MANAGER = 9;
|
|
|
22
25
|
export declare const IX_REMOVE_MANAGER = 10;
|
|
23
26
|
export declare const IX_OVERRIDE_CLAIM_WITHDRAW = 11;
|
|
24
27
|
export declare const IX_MIGRATE_LEND = 12;
|
|
28
|
+
export declare const IX_MIGRATE_REQUEST = 13;
|
|
29
|
+
export declare const IX_MIGRATE_EXECUTE = 14;
|
|
30
|
+
export declare const IX_PROCESS_DELAYED_DEPOSIT = 15;
|
|
31
|
+
export declare const IX_MIGRATE_CANCEL = 16;
|
|
32
|
+
export declare const IX_INSTANT_WITHDRAW = 17;
|
|
33
|
+
export declare const IX_SEED_STV = 18;
|
|
34
|
+
/** migrate_stv_layout (disc 0x13 = 19) — one-shot global-admin v1→v2 layout migration. */
|
|
35
|
+
export declare const IX_MIGRATE_STV_LAYOUT = 19;
|
|
36
|
+
/** accept_vault_admin (disc 0x14 = 20) — complete a two-step vault-admin rotation. */
|
|
37
|
+
export declare const IX_ACCEPT_VAULT_ADMIN = 20;
|
|
25
38
|
export declare const EVT_CONFIG_INITIALIZED = 0;
|
|
26
39
|
export declare const EVT_CONFIG_UPDATED = 1;
|
|
27
40
|
export declare const EVT_STV_CREATED = 2;
|
|
@@ -40,13 +53,40 @@ export declare const EVT_MANAGER_ADDED = 14;
|
|
|
40
53
|
export declare const EVT_MANAGER_REMOVED = 15;
|
|
41
54
|
export declare const EVT_WITHDRAW_OVERRIDE_CLAIMED = 16;
|
|
42
55
|
export declare const EVT_LEND_MIGRATED = 17;
|
|
43
|
-
export declare const
|
|
56
|
+
export declare const EVT_MIGRATE_REQUESTED = 18;
|
|
57
|
+
export declare const EVT_MIGRATE_EXECUTED = 19;
|
|
58
|
+
export declare const EVT_DELAYED_DEPOSIT_PROCESSED = 20;
|
|
59
|
+
export declare const EVT_INSTANT_WITHDRAWN = 21;
|
|
60
|
+
export declare const EVT_STV_SEEDED = 22;
|
|
61
|
+
/** StvAdminSet — emitted by migrate_stv_layout. Fields: vault_id(8), admin(32). */
|
|
62
|
+
export declare const EVT_STV_ADMIN_SET = 23;
|
|
63
|
+
/** AdminRotationStarted — emitted when update sets pending_admin to nonzero. Fields: vault_id(8), newPendingAdmin(32). */
|
|
64
|
+
export declare const EVT_ADMIN_ROTATION_STARTED = 24;
|
|
65
|
+
/** AdminRotationAccepted — emitted by accept_vault_admin. Fields: vault_id(8), newAdmin(32). */
|
|
66
|
+
export declare const EVT_ADMIN_ROTATION_ACCEPTED = 25;
|
|
44
67
|
export declare const FLAG_PAUSED = 1;
|
|
45
68
|
export declare const FLAG_DEPOSITS_DISABLED = 2;
|
|
46
69
|
export declare const FLAG_WITHDRAWALS_DISABLED = 4;
|
|
47
70
|
export declare const FLAG_REBALANCE_DISABLED = 8;
|
|
48
|
-
export declare const FLAG_TEST_MODE = 16;
|
|
49
71
|
export declare const FLAG_ALLOCATOR = 32;
|
|
72
|
+
/** Skip the per-epoch withdraw rate-limit on this STV (claim_withdraw + migrate_execute). */
|
|
73
|
+
export declare const FLAG_BYPASS_WITHDRAW_LIMIT = 64;
|
|
74
|
+
/** Source STV: apply withdrawal_fee_bps when migrating OUT via migrate_request/migrate_execute. */
|
|
75
|
+
export declare const FLAG_WITHDRAWAL_FEE_ON_MIGRATE = 128;
|
|
76
|
+
/** Dest STV: apply deposit_fee_bps when migrating IN via migrate_execute. */
|
|
77
|
+
export declare const FLAG_DEPOSIT_FEE_ON_MIGRATE = 256;
|
|
78
|
+
/** Delay user deposits by at least one epoch before evX is minted. */
|
|
79
|
+
export declare const FLAG_DELAYED_DEPOSIT = 512;
|
|
80
|
+
/** Migrate exit (source) skips the +1 epoch cooldown — in-protocol move, no drain risk. */
|
|
81
|
+
export declare const FLAG_BYPASS_MIGRATE_SRC_WAITOUT = 1024;
|
|
82
|
+
/** Migrate entry (dest) skips its waitout. */
|
|
83
|
+
export declare const FLAG_BYPASS_MIGRATE_DST_WAITOUT = 2048;
|
|
84
|
+
/**
|
|
85
|
+
* C-1 seed gate. Program-owned (set by seed_stv, never via
|
|
86
|
+
* init_or_update_stv). When unset, every public path reverts VaultNotSeeded.
|
|
87
|
+
* When set with locked_seed_shares > 0, the vault may run instant_withdraw.
|
|
88
|
+
*/
|
|
89
|
+
export declare const FLAG_SEEDED = 4096;
|
|
50
90
|
/**
|
|
51
91
|
* Protocol-wide emergency pause. When set on `GlobalConfig.flags`, blocks
|
|
52
92
|
* every value-movement instruction across every STV (deposit, request/claim
|
|
@@ -57,10 +97,15 @@ export declare const FLAG_ALLOCATOR = 32;
|
|
|
57
97
|
*/
|
|
58
98
|
export declare const CFG_FLAG_GLOBAL_PAUSED = 1;
|
|
59
99
|
export { PPS_DECIMALS, BPS_DENOMINATOR, STALENESS_THRESHOLD } from "../common/constants";
|
|
60
|
-
export declare const MAX_CHILD_VAULTS =
|
|
61
|
-
export declare const MAX_STRATEGIES =
|
|
100
|
+
export declare const MAX_CHILD_VAULTS = 4;
|
|
101
|
+
export declare const MAX_STRATEGIES = 4;
|
|
62
102
|
export declare const FEE_CAP_BPS = 9900;
|
|
103
|
+
/** Max deposit_fee_bps / withdrawal_fee_bps (enforced at init_or_update_stv). */
|
|
104
|
+
export declare const MAX_FEE_BPS = 1000;
|
|
105
|
+
/** WithdrawRequest.request_flags bit 0: 0 = withdraw, 1 = migrate. */
|
|
106
|
+
export declare const WR_FLAG_MIGRATE = 1;
|
|
63
107
|
export declare const GLOBAL_CONFIG_SIZE = 56;
|
|
64
108
|
export declare const STV_SIZE = 664;
|
|
65
109
|
export declare const WITHDRAW_REQUEST_SIZE = 168;
|
|
110
|
+
export declare const DELAYED_DEPOSIT_REQUEST_SIZE = 152;
|
|
66
111
|
export declare const MANAGER_ROLE_SIZE = 80;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.MANAGER_ROLE_SIZE = exports.WITHDRAW_REQUEST_SIZE = exports.STV_SIZE = exports.GLOBAL_CONFIG_SIZE = exports.FEE_CAP_BPS = exports.MAX_STRATEGIES = exports.MAX_CHILD_VAULTS = exports.STALENESS_THRESHOLD = exports.BPS_DENOMINATOR = void 0;
|
|
3
|
+
exports.EVT_MANAGER_REMOVED = exports.EVT_MANAGER_ADDED = exports.EVT_STV_CLOSED = exports.EVT_FEES_SETTLED = exports.EVT_EPOCH_ADVANCED = exports.EVT_EPOCH_PROCESSED = exports.EVT_WITHDRAWN_FROM_STRATEGY = exports.EVT_DEPOSITED_TO_STRATEGY = exports.EVT_WITHDRAW_CLAIMED = exports.EVT_WITHDRAW_REQUEST_INCREASED = exports.EVT_WITHDRAW_REQUESTED = exports.EVT_DEPOSITED = exports.EVT_STV_UPDATED = exports.EVT_STV_CREATED = exports.EVT_CONFIG_UPDATED = exports.EVT_CONFIG_INITIALIZED = exports.IX_ACCEPT_VAULT_ADMIN = exports.IX_MIGRATE_STV_LAYOUT = exports.IX_SEED_STV = exports.IX_INSTANT_WITHDRAW = exports.IX_MIGRATE_CANCEL = exports.IX_PROCESS_DELAYED_DEPOSIT = exports.IX_MIGRATE_EXECUTE = exports.IX_MIGRATE_REQUEST = exports.IX_MIGRATE_LEND = exports.IX_OVERRIDE_CLAIM_WITHDRAW = exports.IX_REMOVE_MANAGER = exports.IX_ADD_MANAGER = exports.IX_CLOSE_STV = exports.IX_WITHDRAW_FROM_STRATEGY = exports.IX_DEPOSIT_TO_STRATEGY = exports.IX_PROCESS_EPOCH = exports.IX_CLAIM_WITHDRAW = exports.IX_REQUEST_WITHDRAW = exports.IX_DEPOSIT = exports.IX_INIT_OR_UPDATE_STV = exports.IX_INIT_OR_UPDATE_CONFIG = exports.DISC_MANAGER_ROLE = exports.DISC_DELAYED_DEPOSIT_REQUEST = exports.DISC_WITHDRAW_REQUEST = exports.DISC_STV = exports.DISC_GLOBAL_CONFIG = exports.MANAGER_SEED = exports.DELAYED_DEPOSIT_SEED = exports.MIGRATE_REQUEST_SEED = exports.WITHDRAW_REQUEST_SEED = exports.EV_MINT_SEED = exports.STV_SEED = exports.CONFIG_SEED = exports.PROGRAM_ID = void 0;
|
|
4
|
+
exports.MANAGER_ROLE_SIZE = exports.DELAYED_DEPOSIT_REQUEST_SIZE = exports.WITHDRAW_REQUEST_SIZE = exports.STV_SIZE = exports.GLOBAL_CONFIG_SIZE = exports.WR_FLAG_MIGRATE = exports.MAX_FEE_BPS = exports.FEE_CAP_BPS = exports.MAX_STRATEGIES = exports.MAX_CHILD_VAULTS = exports.STALENESS_THRESHOLD = exports.BPS_DENOMINATOR = exports.PPS_DECIMALS = exports.CFG_FLAG_GLOBAL_PAUSED = exports.FLAG_SEEDED = exports.FLAG_BYPASS_MIGRATE_DST_WAITOUT = exports.FLAG_BYPASS_MIGRATE_SRC_WAITOUT = exports.FLAG_DELAYED_DEPOSIT = exports.FLAG_DEPOSIT_FEE_ON_MIGRATE = exports.FLAG_WITHDRAWAL_FEE_ON_MIGRATE = exports.FLAG_BYPASS_WITHDRAW_LIMIT = exports.FLAG_ALLOCATOR = exports.FLAG_REBALANCE_DISABLED = exports.FLAG_WITHDRAWALS_DISABLED = exports.FLAG_DEPOSITS_DISABLED = exports.FLAG_PAUSED = exports.EVT_ADMIN_ROTATION_ACCEPTED = exports.EVT_ADMIN_ROTATION_STARTED = exports.EVT_STV_ADMIN_SET = exports.EVT_STV_SEEDED = exports.EVT_INSTANT_WITHDRAWN = exports.EVT_DELAYED_DEPOSIT_PROCESSED = exports.EVT_MIGRATE_EXECUTED = exports.EVT_MIGRATE_REQUESTED = exports.EVT_LEND_MIGRATED = exports.EVT_WITHDRAW_OVERRIDE_CLAIMED = void 0;
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
// Program ID
|
|
@@ -14,6 +14,8 @@ exports.CONFIG_SEED = Buffer.from("config");
|
|
|
14
14
|
exports.STV_SEED = Buffer.from("stv");
|
|
15
15
|
exports.EV_MINT_SEED = Buffer.from("ev_mint");
|
|
16
16
|
exports.WITHDRAW_REQUEST_SEED = Buffer.from("withdraw_request");
|
|
17
|
+
exports.MIGRATE_REQUEST_SEED = Buffer.from("migrate_request");
|
|
18
|
+
exports.DELAYED_DEPOSIT_SEED = Buffer.from("delayed_deposit");
|
|
17
19
|
exports.MANAGER_SEED = Buffer.from("manager");
|
|
18
20
|
// ---------------------------------------------------------------------------
|
|
19
21
|
// Account Discriminators (8-byte Anchor-compatible)
|
|
@@ -27,6 +29,9 @@ exports.DISC_STV = Buffer.from([
|
|
|
27
29
|
exports.DISC_WITHDRAW_REQUEST = Buffer.from([
|
|
28
30
|
0xba, 0xef, 0xae, 0xbf, 0xbd, 0x0d, 0x2f, 0xc4,
|
|
29
31
|
]);
|
|
32
|
+
exports.DISC_DELAYED_DEPOSIT_REQUEST = Buffer.from([
|
|
33
|
+
0x33, 0x09, 0xc3, 0xd1, 0xbd, 0xee, 0x7b, 0xe1,
|
|
34
|
+
]);
|
|
30
35
|
// Shared with elemental-lend and jlpd-strategy — defined once in common/
|
|
31
36
|
var constants_1 = require("../common/constants");
|
|
32
37
|
Object.defineProperty(exports, "DISC_MANAGER_ROLE", { enumerable: true, get: function () { return constants_1.DISC_MANAGER_ROLE; } });
|
|
@@ -46,6 +51,16 @@ exports.IX_ADD_MANAGER = 9;
|
|
|
46
51
|
exports.IX_REMOVE_MANAGER = 10;
|
|
47
52
|
exports.IX_OVERRIDE_CLAIM_WITHDRAW = 11;
|
|
48
53
|
exports.IX_MIGRATE_LEND = 12;
|
|
54
|
+
exports.IX_MIGRATE_REQUEST = 13;
|
|
55
|
+
exports.IX_MIGRATE_EXECUTE = 14;
|
|
56
|
+
exports.IX_PROCESS_DELAYED_DEPOSIT = 15;
|
|
57
|
+
exports.IX_MIGRATE_CANCEL = 16;
|
|
58
|
+
exports.IX_INSTANT_WITHDRAW = 17;
|
|
59
|
+
exports.IX_SEED_STV = 18;
|
|
60
|
+
/** migrate_stv_layout (disc 0x13 = 19) — one-shot global-admin v1→v2 layout migration. */
|
|
61
|
+
exports.IX_MIGRATE_STV_LAYOUT = 19;
|
|
62
|
+
/** accept_vault_admin (disc 0x14 = 20) — complete a two-step vault-admin rotation. */
|
|
63
|
+
exports.IX_ACCEPT_VAULT_ADMIN = 20;
|
|
49
64
|
// ---------------------------------------------------------------------------
|
|
50
65
|
// Event Discriminators (1-byte)
|
|
51
66
|
// ---------------------------------------------------------------------------
|
|
@@ -67,7 +82,17 @@ exports.EVT_MANAGER_ADDED = 14;
|
|
|
67
82
|
exports.EVT_MANAGER_REMOVED = 15;
|
|
68
83
|
exports.EVT_WITHDRAW_OVERRIDE_CLAIMED = 16;
|
|
69
84
|
exports.EVT_LEND_MIGRATED = 17;
|
|
70
|
-
exports.
|
|
85
|
+
exports.EVT_MIGRATE_REQUESTED = 18;
|
|
86
|
+
exports.EVT_MIGRATE_EXECUTED = 19;
|
|
87
|
+
exports.EVT_DELAYED_DEPOSIT_PROCESSED = 20;
|
|
88
|
+
exports.EVT_INSTANT_WITHDRAWN = 21;
|
|
89
|
+
exports.EVT_STV_SEEDED = 22;
|
|
90
|
+
/** StvAdminSet — emitted by migrate_stv_layout. Fields: vault_id(8), admin(32). */
|
|
91
|
+
exports.EVT_STV_ADMIN_SET = 23;
|
|
92
|
+
/** AdminRotationStarted — emitted when update sets pending_admin to nonzero. Fields: vault_id(8), newPendingAdmin(32). */
|
|
93
|
+
exports.EVT_ADMIN_ROTATION_STARTED = 24;
|
|
94
|
+
/** AdminRotationAccepted — emitted by accept_vault_admin. Fields: vault_id(8), newAdmin(32). */
|
|
95
|
+
exports.EVT_ADMIN_ROTATION_ACCEPTED = 25;
|
|
71
96
|
// ---------------------------------------------------------------------------
|
|
72
97
|
// Vault Flags
|
|
73
98
|
// ---------------------------------------------------------------------------
|
|
@@ -76,8 +101,25 @@ exports.FLAG_PAUSED = 0x0001;
|
|
|
76
101
|
exports.FLAG_DEPOSITS_DISABLED = 0x0002;
|
|
77
102
|
exports.FLAG_WITHDRAWALS_DISABLED = 0x0004;
|
|
78
103
|
exports.FLAG_REBALANCE_DISABLED = 0x0008;
|
|
79
|
-
exports.FLAG_TEST_MODE = 0x0010;
|
|
80
104
|
exports.FLAG_ALLOCATOR = 0x0020;
|
|
105
|
+
/** Skip the per-epoch withdraw rate-limit on this STV (claim_withdraw + migrate_execute). */
|
|
106
|
+
exports.FLAG_BYPASS_WITHDRAW_LIMIT = 0x0040;
|
|
107
|
+
/** Source STV: apply withdrawal_fee_bps when migrating OUT via migrate_request/migrate_execute. */
|
|
108
|
+
exports.FLAG_WITHDRAWAL_FEE_ON_MIGRATE = 0x0080;
|
|
109
|
+
/** Dest STV: apply deposit_fee_bps when migrating IN via migrate_execute. */
|
|
110
|
+
exports.FLAG_DEPOSIT_FEE_ON_MIGRATE = 0x0100;
|
|
111
|
+
/** Delay user deposits by at least one epoch before evX is minted. */
|
|
112
|
+
exports.FLAG_DELAYED_DEPOSIT = 0x0200;
|
|
113
|
+
/** Migrate exit (source) skips the +1 epoch cooldown — in-protocol move, no drain risk. */
|
|
114
|
+
exports.FLAG_BYPASS_MIGRATE_SRC_WAITOUT = 0x0400;
|
|
115
|
+
/** Migrate entry (dest) skips its waitout. */
|
|
116
|
+
exports.FLAG_BYPASS_MIGRATE_DST_WAITOUT = 0x0800;
|
|
117
|
+
/**
|
|
118
|
+
* C-1 seed gate. Program-owned (set by seed_stv, never via
|
|
119
|
+
* init_or_update_stv). When unset, every public path reverts VaultNotSeeded.
|
|
120
|
+
* When set with locked_seed_shares > 0, the vault may run instant_withdraw.
|
|
121
|
+
*/
|
|
122
|
+
exports.FLAG_SEEDED = 0x1000;
|
|
81
123
|
// GlobalConfig flags
|
|
82
124
|
/**
|
|
83
125
|
* Protocol-wide emergency pause. When set on `GlobalConfig.flags`, blocks
|
|
@@ -95,13 +137,18 @@ var constants_2 = require("../common/constants");
|
|
|
95
137
|
Object.defineProperty(exports, "PPS_DECIMALS", { enumerable: true, get: function () { return constants_2.PPS_DECIMALS; } });
|
|
96
138
|
Object.defineProperty(exports, "BPS_DENOMINATOR", { enumerable: true, get: function () { return constants_2.BPS_DENOMINATOR; } });
|
|
97
139
|
Object.defineProperty(exports, "STALENESS_THRESHOLD", { enumerable: true, get: function () { return constants_2.STALENESS_THRESHOLD; } });
|
|
98
|
-
exports.MAX_CHILD_VAULTS =
|
|
140
|
+
exports.MAX_CHILD_VAULTS = 4;
|
|
99
141
|
exports.MAX_STRATEGIES = exports.MAX_CHILD_VAULTS; // backward compat
|
|
100
142
|
exports.FEE_CAP_BPS = 9900;
|
|
143
|
+
/** Max deposit_fee_bps / withdrawal_fee_bps (enforced at init_or_update_stv). */
|
|
144
|
+
exports.MAX_FEE_BPS = 1000;
|
|
145
|
+
/** WithdrawRequest.request_flags bit 0: 0 = withdraw, 1 = migrate. */
|
|
146
|
+
exports.WR_FLAG_MIGRATE = 0x01;
|
|
101
147
|
// ---------------------------------------------------------------------------
|
|
102
148
|
// Account Sizes
|
|
103
149
|
// ---------------------------------------------------------------------------
|
|
104
150
|
exports.GLOBAL_CONFIG_SIZE = 56;
|
|
105
151
|
exports.STV_SIZE = 664;
|
|
106
152
|
exports.WITHDRAW_REQUEST_SIZE = 168;
|
|
153
|
+
exports.DELAYED_DEPOSIT_REQUEST_SIZE = 152;
|
|
107
154
|
exports.MANAGER_ROLE_SIZE = 80;
|
|
@@ -56,7 +56,8 @@ function parseEventsFromLogs(logs, programId = constants_1.PROGRAM_ID) {
|
|
|
56
56
|
* [47..55] vaultCapacity | [55..63] minDeposit |
|
|
57
57
|
* [63..64] childVaultCount | [64..96] lendProgram
|
|
58
58
|
* Deposited [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
59
|
-
* [41..49] amount | [49..57] sharesMinted | [57..65]
|
|
59
|
+
* [41..49] amount | [49..57] sharesMinted | [57..65] depositFeeShares |
|
|
60
|
+
* [65..73] pps
|
|
60
61
|
* WithdrawRequested [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
61
62
|
* [41..49] shares | [49..53] epochId
|
|
62
63
|
* WithdrawRequestIncreased [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
@@ -78,6 +79,10 @@ function parseEventsFromLogs(logs, programId = constants_1.PROGRAM_ID) {
|
|
|
78
79
|
* StvClosed [0..1] disc | [1..9] vaultId
|
|
79
80
|
* ManagerAdded [0..1] disc | [1..33] stv | [33..65] manager
|
|
80
81
|
* ManagerRemoved [0..1] disc | [1..33] stv | [33..65] manager
|
|
82
|
+
* DelayedDepositProcessed [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
83
|
+
* [41..49] amount | [49..57] sharesMinted |
|
|
84
|
+
* [57..65] depositFeeShares | [65..73] pps |
|
|
85
|
+
* [73..77] requestEpochId
|
|
81
86
|
*/
|
|
82
87
|
function parseEventBuffer(data) {
|
|
83
88
|
if (data.length === 0)
|
|
@@ -103,9 +108,10 @@ function parseEventBuffer(data) {
|
|
|
103
108
|
childVaultCount: data[63], lendProgram: (0, buffer_1.readPubkey)(data, 64),
|
|
104
109
|
} : null;
|
|
105
110
|
case constants_1.EVT_DEPOSITED:
|
|
106
|
-
return data.length >=
|
|
111
|
+
return data.length >= 73 ? {
|
|
107
112
|
name: "Deposited", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
108
|
-
amount: (0, buffer_1.readU64)(data, 41), sharesMinted: (0, buffer_1.readU64)(data, 49),
|
|
113
|
+
amount: (0, buffer_1.readU64)(data, 41), sharesMinted: (0, buffer_1.readU64)(data, 49),
|
|
114
|
+
depositFeeShares: (0, buffer_1.readU64)(data, 57), pps: (0, buffer_1.readU64)(data, 65),
|
|
109
115
|
} : null;
|
|
110
116
|
case constants_1.EVT_WITHDRAW_REQUESTED:
|
|
111
117
|
return data.length >= 53 ? {
|
|
@@ -118,9 +124,11 @@ function parseEventBuffer(data) {
|
|
|
118
124
|
additionalShares: (0, buffer_1.readU64)(data, 41), totalShares: (0, buffer_1.readU64)(data, 49), epochId: (0, buffer_1.readU32)(data, 57),
|
|
119
125
|
} : null;
|
|
120
126
|
case constants_1.EVT_WITHDRAW_CLAIMED:
|
|
121
|
-
|
|
127
|
+
// Rust: vault_id(8), user(32), shares(8), net_base(8), withdrawal_fee_base(8), epoch_id(4)
|
|
128
|
+
return data.length >= 69 ? {
|
|
122
129
|
name: "WithdrawClaimed", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
123
|
-
shares: (0, buffer_1.readU64)(data, 41), baseAmount: (0, buffer_1.readU64)(data, 49),
|
|
130
|
+
shares: (0, buffer_1.readU64)(data, 41), baseAmount: (0, buffer_1.readU64)(data, 49),
|
|
131
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 57), epochId: (0, buffer_1.readU32)(data, 65),
|
|
124
132
|
} : null;
|
|
125
133
|
case constants_1.EVT_DEPOSITED_TO_STRATEGY:
|
|
126
134
|
return data.length >= 57 ? {
|
|
@@ -160,19 +168,65 @@ function parseEventBuffer(data) {
|
|
|
160
168
|
name: "ManagerRemoved", stv: (0, buffer_1.readPubkey)(data, 1), manager: (0, buffer_1.readPubkey)(data, 33),
|
|
161
169
|
} : null;
|
|
162
170
|
case constants_1.EVT_WITHDRAW_OVERRIDE_CLAIMED:
|
|
163
|
-
|
|
171
|
+
// Rust: vault_id(8), manager(32), user(32), shares(8), net_base(8),
|
|
172
|
+
// withdrawal_fee_base(8), epoch_id(4), daily_withdrawn(8), daily_limit(8)
|
|
173
|
+
return data.length >= 117 ? {
|
|
164
174
|
name: "WithdrawOverrideClaimed", vaultId: (0, buffer_1.readU64)(data, 1), manager: (0, buffer_1.readPubkey)(data, 9),
|
|
165
175
|
user: (0, buffer_1.readPubkey)(data, 41), shares: (0, buffer_1.readU64)(data, 73), baseAmount: (0, buffer_1.readU64)(data, 81),
|
|
166
|
-
|
|
176
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 89), epochId: (0, buffer_1.readU32)(data, 97),
|
|
177
|
+
dailyWithdrawnBase: (0, buffer_1.readU64)(data, 101), dailyLimit: (0, buffer_1.readU64)(data, 109),
|
|
167
178
|
} : null;
|
|
168
179
|
case constants_1.EVT_LEND_MIGRATED:
|
|
169
180
|
return data.length >= 89 ? {
|
|
170
181
|
name: "LendMigrated", vaultId: (0, buffer_1.readU64)(data, 1), oldLendProgram: (0, buffer_1.readPubkey)(data, 9),
|
|
171
182
|
newLendProgram: (0, buffer_1.readPubkey)(data, 41), sharesWithdrawn: (0, buffer_1.readU64)(data, 73), baseMigrated: (0, buffer_1.readU64)(data, 81),
|
|
172
183
|
} : null;
|
|
173
|
-
case constants_1.
|
|
184
|
+
case constants_1.EVT_MIGRATE_REQUESTED:
|
|
185
|
+
// Rust: src_vault_id(8), dest_vault_id(8), user(32), shares(8), epoch_id(4)
|
|
186
|
+
return data.length >= 61 ? {
|
|
187
|
+
name: "MigrateRequested", srcVaultId: (0, buffer_1.readU64)(data, 1), destVaultId: (0, buffer_1.readU64)(data, 9),
|
|
188
|
+
user: (0, buffer_1.readPubkey)(data, 17), shares: (0, buffer_1.readU64)(data, 49), epochId: (0, buffer_1.readU32)(data, 57),
|
|
189
|
+
} : null;
|
|
190
|
+
case constants_1.EVT_MIGRATE_EXECUTED:
|
|
191
|
+
// Rust: src_vault_id(8), dst_vault_id(8), user(32), shares_burned(8), base_moved(8),
|
|
192
|
+
// withdrawal_fee_base(8), deposit_fee_base(8), user_dest_shares(8), epoch_id(4)
|
|
193
|
+
return data.length >= 93 ? {
|
|
194
|
+
name: "MigrateExecuted", srcVaultId: (0, buffer_1.readU64)(data, 1), destVaultId: (0, buffer_1.readU64)(data, 9),
|
|
195
|
+
user: (0, buffer_1.readPubkey)(data, 17), sharesBurned: (0, buffer_1.readU64)(data, 49), baseMoved: (0, buffer_1.readU64)(data, 57),
|
|
196
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 65), depositFeeBase: (0, buffer_1.readU64)(data, 73),
|
|
197
|
+
userDestShares: (0, buffer_1.readU64)(data, 81), epochId: (0, buffer_1.readU32)(data, 89),
|
|
198
|
+
} : null;
|
|
199
|
+
case constants_1.EVT_DELAYED_DEPOSIT_PROCESSED:
|
|
200
|
+
return data.length >= 77 ? {
|
|
201
|
+
name: "DelayedDepositProcessed", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
202
|
+
amount: (0, buffer_1.readU64)(data, 41), sharesMinted: (0, buffer_1.readU64)(data, 49),
|
|
203
|
+
depositFeeShares: (0, buffer_1.readU64)(data, 57), pps: (0, buffer_1.readU64)(data, 65),
|
|
204
|
+
requestEpochId: (0, buffer_1.readU32)(data, 73),
|
|
205
|
+
} : null;
|
|
206
|
+
case constants_1.EVT_INSTANT_WITHDRAWN:
|
|
207
|
+
return data.length >= 65 ? {
|
|
208
|
+
name: "InstantWithdrawn", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
209
|
+
shares: (0, buffer_1.readU64)(data, 41), netBase: (0, buffer_1.readU64)(data, 49),
|
|
210
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 57),
|
|
211
|
+
} : null;
|
|
212
|
+
case constants_1.EVT_STV_SEEDED:
|
|
213
|
+
return data.length >= 17 ? {
|
|
214
|
+
name: "StvSeeded", vaultId: (0, buffer_1.readU64)(data, 1), amount: (0, buffer_1.readU64)(data, 9),
|
|
215
|
+
} : null;
|
|
216
|
+
case constants_1.EVT_STV_ADMIN_SET:
|
|
217
|
+
// Fields: vault_id(8), admin(32) → total payload 41 bytes (with 1-byte disc = 41)
|
|
218
|
+
return data.length >= 41 ? {
|
|
219
|
+
name: "StvAdminSet", vaultId: (0, buffer_1.readU64)(data, 1), admin: (0, buffer_1.readPubkey)(data, 9),
|
|
220
|
+
} : null;
|
|
221
|
+
case constants_1.EVT_ADMIN_ROTATION_STARTED:
|
|
222
|
+
// Fields: vault_id(8), new_pending_admin(32) → total payload 41 bytes
|
|
223
|
+
return data.length >= 41 ? {
|
|
224
|
+
name: "AdminRotationStarted", vaultId: (0, buffer_1.readU64)(data, 1), newPendingAdmin: (0, buffer_1.readPubkey)(data, 9),
|
|
225
|
+
} : null;
|
|
226
|
+
case constants_1.EVT_ADMIN_ROTATION_ACCEPTED:
|
|
227
|
+
// Fields: vault_id(8), new_admin(32) → total payload 41 bytes
|
|
174
228
|
return data.length >= 41 ? {
|
|
175
|
-
name: "
|
|
229
|
+
name: "AdminRotationAccepted", vaultId: (0, buffer_1.readU64)(data, 1), newAdmin: (0, buffer_1.readPubkey)(data, 9),
|
|
176
230
|
} : null;
|
|
177
231
|
default:
|
|
178
232
|
return null;
|