@elmntl/jlpd-sdk 0.2.0 → 0.13.5
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/LICENSE +201 -0
- package/README.md +185 -404
- package/dist/common/ata.d.ts +26 -0
- package/dist/common/ata.js +48 -0
- package/dist/common/buffer.d.ts +15 -0
- package/dist/common/buffer.js +118 -0
- package/dist/common/connection.d.ts +13 -0
- package/dist/common/connection.js +2 -0
- package/dist/common/constants.d.ts +14 -0
- package/dist/common/constants.js +31 -0
- package/dist/common/index.d.ts +6 -0
- package/dist/common/index.js +28 -0
- package/dist/common/strategy-interface.d.ts +59 -0
- package/dist/common/strategy-interface.js +42 -0
- package/dist/elemental-lend/accounts.d.ts +103 -0
- package/dist/elemental-lend/accounts.js +354 -0
- package/dist/elemental-lend/constants.d.ts +25 -0
- package/dist/elemental-lend/constants.js +48 -0
- package/dist/elemental-lend/index.d.ts +8 -0
- package/dist/elemental-lend/index.js +24 -0
- package/dist/elemental-lend/instructions.d.ts +104 -0
- package/dist/elemental-lend/instructions.js +266 -0
- package/dist/elemental-lend/jupiter-lend.d.ts +91 -0
- package/dist/elemental-lend/jupiter-lend.js +189 -0
- package/dist/elemental-lend/kamino-vault.d.ts +173 -0
- package/dist/elemental-lend/kamino-vault.js +483 -0
- package/dist/elemental-lend/pda.d.ts +12 -0
- package/dist/elemental-lend/pda.js +24 -0
- package/dist/elemental-lend/protocol-actions.d.ts +56 -0
- package/dist/elemental-lend/protocol-actions.js +244 -0
- package/dist/elemental-lend/types.d.ts +113 -0
- package/dist/elemental-lend/types.js +2 -0
- package/dist/elemental-lend-v2/accounts.d.ts +14 -0
- package/dist/elemental-lend-v2/accounts.js +136 -0
- package/dist/elemental-lend-v2/adapters.d.ts +22 -0
- package/dist/elemental-lend-v2/adapters.js +50 -0
- package/dist/elemental-lend-v2/constants.d.ts +48 -0
- package/dist/elemental-lend-v2/constants.js +104 -0
- package/dist/elemental-lend-v2/index.d.ts +8 -0
- package/dist/elemental-lend-v2/index.js +24 -0
- package/dist/elemental-lend-v2/instructions.d.ts +96 -0
- package/dist/elemental-lend-v2/instructions.js +190 -0
- package/dist/elemental-lend-v2/lut.d.ts +20 -0
- package/dist/elemental-lend-v2/lut.js +65 -0
- package/dist/elemental-lend-v2/pda.d.ts +9 -0
- package/dist/elemental-lend-v2/pda.js +27 -0
- package/dist/elemental-lend-v2/types.d.ts +105 -0
- package/dist/elemental-lend-v2/types.js +2 -0
- package/dist/elemental-lend-v2/update-aum.d.ts +29 -0
- package/dist/elemental-lend-v2/update-aum.js +82 -0
- package/dist/index.d.ts +5 -4199
- package/dist/index.js +37 -5187
- package/dist/jlpd-strategy/accounts.d.ts +83 -0
- package/dist/jlpd-strategy/accounts.js +216 -0
- package/dist/jlpd-strategy/adapter.d.ts +81 -0
- package/dist/jlpd-strategy/adapter.js +118 -0
- package/dist/jlpd-strategy/base-to-base-swap.d.ts +74 -0
- package/dist/jlpd-strategy/base-to-base-swap.js +205 -0
- package/dist/jlpd-strategy/constants.d.ts +127 -0
- package/dist/jlpd-strategy/constants.js +174 -0
- package/dist/jlpd-strategy/fluid-view.d.ts +199 -0
- package/dist/jlpd-strategy/fluid-view.js +799 -0
- package/dist/jlpd-strategy/hedge-derived.d.ts +135 -0
- package/dist/jlpd-strategy/hedge-derived.js +231 -0
- package/dist/jlpd-strategy/hedge-instructions.d.ts +206 -0
- package/dist/jlpd-strategy/hedge-instructions.js +296 -0
- package/dist/jlpd-strategy/hedge-state.d.ts +88 -0
- package/dist/jlpd-strategy/hedge-state.js +110 -0
- package/dist/jlpd-strategy/index.d.ts +17 -0
- package/dist/jlpd-strategy/index.js +33 -0
- package/dist/jlpd-strategy/instructions.d.ts +159 -0
- package/dist/jlpd-strategy/instructions.js +234 -0
- package/dist/jlpd-strategy/jlp-borrow.d.ts +63 -0
- package/dist/jlpd-strategy/jlp-borrow.js +87 -0
- package/dist/jlpd-strategy/jlp-data.d.ts +166 -0
- package/dist/jlpd-strategy/jlp-data.js +611 -0
- package/dist/jlpd-strategy/jupusd-earn.d.ts +90 -0
- package/dist/jlpd-strategy/jupusd-earn.js +166 -0
- package/dist/jlpd-strategy/live-jlp-price.d.ts +46 -0
- package/dist/jlpd-strategy/live-jlp-price.js +267 -0
- package/dist/jlpd-strategy/pda.d.ts +13 -0
- package/dist/jlpd-strategy/pda.js +28 -0
- package/dist/jlpd-strategy/settle-yield.d.ts +45 -0
- package/dist/jlpd-strategy/settle-yield.js +113 -0
- package/dist/jlpd-strategy/swap-jlp.d.ts +198 -0
- package/dist/jlpd-strategy/swap-jlp.js +586 -0
- package/dist/jlpd-strategy/types.d.ts +101 -0
- package/dist/jlpd-strategy/types.js +29 -0
- package/dist/p-stv-core/accounts.d.ts +152 -0
- package/dist/p-stv-core/accounts.js +407 -0
- package/dist/p-stv-core/constants.d.ts +138 -0
- package/dist/p-stv-core/constants.js +181 -0
- package/dist/p-stv-core/events.d.ts +7 -0
- package/dist/p-stv-core/events.js +246 -0
- package/dist/p-stv-core/index.d.ts +11 -0
- package/dist/p-stv-core/index.js +27 -0
- package/dist/p-stv-core/instructions.d.ts +637 -0
- package/dist/p-stv-core/instructions.js +670 -0
- package/dist/p-stv-core/lut.d.ts +41 -0
- package/dist/p-stv-core/lut.js +81 -0
- package/dist/p-stv-core/pda.d.ts +30 -0
- package/dist/p-stv-core/pda.js +65 -0
- package/dist/p-stv-core/prices.d.ts +20 -0
- package/dist/p-stv-core/prices.js +77 -0
- package/dist/p-stv-core/remaining-accounts.d.ts +107 -0
- package/dist/p-stv-core/remaining-accounts.js +326 -0
- package/dist/p-stv-core/send-tx.d.ts +72 -0
- package/dist/p-stv-core/send-tx.js +290 -0
- package/dist/p-stv-core/sol-wrap.d.ts +34 -0
- package/dist/p-stv-core/sol-wrap.js +74 -0
- package/dist/p-stv-core/types.d.ts +361 -0
- package/dist/p-stv-core/types.js +2 -0
- package/package.json +56 -15
- package/dist/index.d.mts +0 -4199
- package/dist/index.mjs +0 -5090
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const PROGRAM_ID: PublicKey;
|
|
3
|
+
export declare const CONFIG_SEED: Buffer<ArrayBuffer>;
|
|
4
|
+
export declare const STV_SEED: Buffer<ArrayBuffer>;
|
|
5
|
+
export declare const EV_MINT_SEED: Buffer<ArrayBuffer>;
|
|
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>;
|
|
9
|
+
export declare const MANAGER_SEED: Buffer<ArrayBuffer>;
|
|
10
|
+
export declare const DISC_GLOBAL_CONFIG: Buffer<ArrayBuffer>;
|
|
11
|
+
export declare const DISC_STV: Buffer<ArrayBuffer>;
|
|
12
|
+
export declare const DISC_WITHDRAW_REQUEST: Buffer<ArrayBuffer>;
|
|
13
|
+
export declare const DISC_DELAYED_DEPOSIT_REQUEST: Buffer<ArrayBuffer>;
|
|
14
|
+
export { DISC_MANAGER_ROLE } from "../common/constants";
|
|
15
|
+
export declare const IX_INIT_OR_UPDATE_CONFIG = 0;
|
|
16
|
+
export declare const IX_INIT_OR_UPDATE_STV = 1;
|
|
17
|
+
export declare const IX_DEPOSIT = 2;
|
|
18
|
+
export declare const IX_REQUEST_WITHDRAW = 3;
|
|
19
|
+
export declare const IX_CLAIM_WITHDRAW = 4;
|
|
20
|
+
export declare const IX_PROCESS_EPOCH = 5;
|
|
21
|
+
export declare const IX_DEPOSIT_TO_STRATEGY = 6;
|
|
22
|
+
export declare const IX_WITHDRAW_FROM_STRATEGY = 7;
|
|
23
|
+
export declare const IX_CLOSE_STV = 8;
|
|
24
|
+
export declare const IX_ADD_MANAGER = 9;
|
|
25
|
+
export declare const IX_REMOVE_MANAGER = 10;
|
|
26
|
+
export declare const IX_OVERRIDE_CLAIM_WITHDRAW = 11;
|
|
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
|
+
/** accept_vault_admin (disc 0x14 = 20) — complete a two-step vault-admin rotation. */
|
|
35
|
+
export declare const IX_ACCEPT_VAULT_ADMIN = 20;
|
|
36
|
+
/**
|
|
37
|
+
* trip_circuit_breaker (disc 0x15 = 21) — freeze a vault (sets FLAG_PAUSED).
|
|
38
|
+
* Set-only, idempotent; callable by cold admin, warm admin, or a valid
|
|
39
|
+
* manager (OR-auth precedence: cold -> warm -> manager). Disc 21 is used
|
|
40
|
+
* (not the retired 19 = migrate_stv_layout) so a stale client replaying the
|
|
41
|
+
* old migration call keeps failing InvalidInstructionData instead of
|
|
42
|
+
* silently freezing a vault. See docs/spec-warm-admin-guardrails.md §4.3.
|
|
43
|
+
*/
|
|
44
|
+
export declare const IX_TRIP_CIRCUIT_BREAKER = 21;
|
|
45
|
+
export declare const EVT_CONFIG_INITIALIZED = 0;
|
|
46
|
+
export declare const EVT_CONFIG_UPDATED = 1;
|
|
47
|
+
export declare const EVT_STV_CREATED = 2;
|
|
48
|
+
export declare const EVT_STV_UPDATED = 3;
|
|
49
|
+
export declare const EVT_DEPOSITED = 4;
|
|
50
|
+
export declare const EVT_WITHDRAW_REQUESTED = 5;
|
|
51
|
+
export declare const EVT_WITHDRAW_REQUEST_INCREASED = 6;
|
|
52
|
+
export declare const EVT_WITHDRAW_CLAIMED = 7;
|
|
53
|
+
export declare const EVT_DEPOSITED_TO_STRATEGY = 8;
|
|
54
|
+
export declare const EVT_WITHDRAWN_FROM_STRATEGY = 9;
|
|
55
|
+
export declare const EVT_EPOCH_PROCESSED = 10;
|
|
56
|
+
export declare const EVT_EPOCH_ADVANCED = 11;
|
|
57
|
+
export declare const EVT_FEES_SETTLED = 12;
|
|
58
|
+
export declare const EVT_STV_CLOSED = 13;
|
|
59
|
+
export declare const EVT_MANAGER_ADDED = 14;
|
|
60
|
+
export declare const EVT_MANAGER_REMOVED = 15;
|
|
61
|
+
export declare const EVT_WITHDRAW_OVERRIDE_CLAIMED = 16;
|
|
62
|
+
export declare const EVT_LEND_MIGRATED = 17;
|
|
63
|
+
export declare const EVT_MIGRATE_REQUESTED = 18;
|
|
64
|
+
export declare const EVT_MIGRATE_EXECUTED = 19;
|
|
65
|
+
export declare const EVT_DELAYED_DEPOSIT_PROCESSED = 20;
|
|
66
|
+
export declare const EVT_INSTANT_WITHDRAWN = 21;
|
|
67
|
+
export declare const EVT_STV_SEEDED = 22;
|
|
68
|
+
/** AdminRotationStarted — emitted when update sets pending_admin to nonzero. Fields: vault_id(8), newPendingAdmin(32). */
|
|
69
|
+
export declare const EVT_ADMIN_ROTATION_STARTED = 24;
|
|
70
|
+
/** AdminRotationAccepted — emitted by accept_vault_admin. Fields: vault_id(8), newAdmin(32). */
|
|
71
|
+
export declare const EVT_ADMIN_ROTATION_ACCEPTED = 25;
|
|
72
|
+
/**
|
|
73
|
+
* WarmAdminSet — emitted whenever the stored `Stv.warmAdmin` value actually
|
|
74
|
+
* changes: by init_or_update_stv (create/update) or by accept_vault_admin
|
|
75
|
+
* (self-warm promotion normalization). Fields: vaultId(8), warmAdmin(32).
|
|
76
|
+
* (23 = StvAdminSet stays dead; disc numbers are never reused.)
|
|
77
|
+
*/
|
|
78
|
+
export declare const EVT_WARM_ADMIN_SET = 26;
|
|
79
|
+
/**
|
|
80
|
+
* CircuitBreakerTripped — emitted by trip_circuit_breaker (disc 21) every
|
|
81
|
+
* call, including idempotent re-trips of an already-paused vault.
|
|
82
|
+
* Fields: vaultId(8), trippedBy(32), authorityKind(1: 0=cold,1=warm,2=manager).
|
|
83
|
+
*/
|
|
84
|
+
export declare const EVT_CIRCUIT_BREAKER_TRIPPED = 27;
|
|
85
|
+
/**
|
|
86
|
+
* `trip_circuit_breaker`'s `authority_kind` values (also the
|
|
87
|
+
* CircuitBreakerTripped event's authorityKind field). Precedence order at
|
|
88
|
+
* evaluation time is cold -> warm -> manager (first match wins — a stray or
|
|
89
|
+
* invalid manager_role account never vetoes a valid cold/warm signer).
|
|
90
|
+
*/
|
|
91
|
+
export declare const TRIP_AUTHORITY_KIND_COLD = 0;
|
|
92
|
+
export declare const TRIP_AUTHORITY_KIND_WARM = 1;
|
|
93
|
+
export declare const TRIP_AUTHORITY_KIND_MANAGER = 2;
|
|
94
|
+
export declare const FLAG_PAUSED = 1;
|
|
95
|
+
export declare const FLAG_DEPOSITS_DISABLED = 2;
|
|
96
|
+
export declare const FLAG_WITHDRAWALS_DISABLED = 4;
|
|
97
|
+
export declare const FLAG_REBALANCE_DISABLED = 8;
|
|
98
|
+
export declare const FLAG_ALLOCATOR = 32;
|
|
99
|
+
/** Skip the per-epoch withdraw rate-limit on this STV (claim_withdraw + migrate_execute). */
|
|
100
|
+
export declare const FLAG_BYPASS_WITHDRAW_LIMIT = 64;
|
|
101
|
+
/** Source STV: apply withdrawal_fee_bps when migrating OUT via migrate_request/migrate_execute. */
|
|
102
|
+
export declare const FLAG_WITHDRAWAL_FEE_ON_MIGRATE = 128;
|
|
103
|
+
/** Dest STV: apply deposit_fee_bps when migrating IN via migrate_execute. */
|
|
104
|
+
export declare const FLAG_DEPOSIT_FEE_ON_MIGRATE = 256;
|
|
105
|
+
/** Delay user deposits by at least one epoch before evX is minted. */
|
|
106
|
+
export declare const FLAG_DELAYED_DEPOSIT = 512;
|
|
107
|
+
/** Migrate exit (source) skips the +1 epoch cooldown — in-protocol move, no drain risk. */
|
|
108
|
+
export declare const FLAG_BYPASS_MIGRATE_SRC_WAITOUT = 1024;
|
|
109
|
+
/** Migrate entry (dest) skips its waitout. */
|
|
110
|
+
export declare const FLAG_BYPASS_MIGRATE_DST_WAITOUT = 2048;
|
|
111
|
+
/**
|
|
112
|
+
* C-1 seed gate. Program-owned (set by seed_stv, never via
|
|
113
|
+
* init_or_update_stv). When unset, every public path reverts VaultNotSeeded.
|
|
114
|
+
* When set with locked_seed_shares > 0, the vault may run instant_withdraw.
|
|
115
|
+
*/
|
|
116
|
+
export declare const FLAG_SEEDED = 4096;
|
|
117
|
+
/**
|
|
118
|
+
* Protocol-wide emergency pause. When set on `GlobalConfig.flags`, blocks
|
|
119
|
+
* every value-movement instruction across every STV (deposit, request/claim
|
|
120
|
+
* withdraw, process_epoch, deposit/withdraw_from_strategy,
|
|
121
|
+
* override_claim_withdraw). Admin/rescue paths
|
|
122
|
+
* (init_or_update_config, init_or_update_stv, close_stv, add/remove_manager)
|
|
123
|
+
* remain open so the admin can reconfigure and clear the pause.
|
|
124
|
+
*/
|
|
125
|
+
export declare const CFG_FLAG_GLOBAL_PAUSED = 1;
|
|
126
|
+
export { PPS_DECIMALS, BPS_DENOMINATOR, STALENESS_THRESHOLD } from "../common/constants";
|
|
127
|
+
export declare const MAX_CHILD_VAULTS = 4;
|
|
128
|
+
export declare const MAX_STRATEGIES = 4;
|
|
129
|
+
export declare const FEE_CAP_BPS = 9900;
|
|
130
|
+
/** Max deposit_fee_bps / withdrawal_fee_bps (enforced at init_or_update_stv). */
|
|
131
|
+
export declare const MAX_FEE_BPS = 1000;
|
|
132
|
+
/** WithdrawRequest.request_flags bit 0: 0 = withdraw, 1 = migrate. */
|
|
133
|
+
export declare const WR_FLAG_MIGRATE = 1;
|
|
134
|
+
export declare const GLOBAL_CONFIG_SIZE = 56;
|
|
135
|
+
export declare const STV_SIZE = 664;
|
|
136
|
+
export declare const WITHDRAW_REQUEST_SIZE = 168;
|
|
137
|
+
export declare const DELAYED_DEPOSIT_REQUEST_SIZE = 152;
|
|
138
|
+
export declare const MANAGER_ROLE_SIZE = 80;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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_TRIP_CIRCUIT_BREAKER = exports.IX_ACCEPT_VAULT_ADMIN = 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.TRIP_AUTHORITY_KIND_MANAGER = exports.TRIP_AUTHORITY_KIND_WARM = exports.TRIP_AUTHORITY_KIND_COLD = exports.EVT_CIRCUIT_BREAKER_TRIPPED = exports.EVT_WARM_ADMIN_SET = exports.EVT_ADMIN_ROTATION_ACCEPTED = exports.EVT_ADMIN_ROTATION_STARTED = 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
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Program ID
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
exports.PROGRAM_ID = new web3_js_1.PublicKey("PSTVH77GiPqA3msXmpjAyUXdh3MytK37GCPbPzWu3Rc");
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// PDA Seeds
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
exports.CONFIG_SEED = Buffer.from("config");
|
|
14
|
+
exports.STV_SEED = Buffer.from("stv");
|
|
15
|
+
exports.EV_MINT_SEED = Buffer.from("ev_mint");
|
|
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");
|
|
19
|
+
exports.MANAGER_SEED = Buffer.from("manager");
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Account Discriminators (8-byte Anchor-compatible)
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
exports.DISC_GLOBAL_CONFIG = Buffer.from([
|
|
24
|
+
0x95, 0x08, 0x9c, 0xca, 0xa0, 0xfc, 0xb0, 0xd9,
|
|
25
|
+
]);
|
|
26
|
+
exports.DISC_STV = Buffer.from([
|
|
27
|
+
0xeb, 0xe0, 0xe4, 0x64, 0x04, 0xde, 0x9b, 0xa6,
|
|
28
|
+
]);
|
|
29
|
+
exports.DISC_WITHDRAW_REQUEST = Buffer.from([
|
|
30
|
+
0xba, 0xef, 0xae, 0xbf, 0xbd, 0x0d, 0x2f, 0xc4,
|
|
31
|
+
]);
|
|
32
|
+
exports.DISC_DELAYED_DEPOSIT_REQUEST = Buffer.from([
|
|
33
|
+
0x33, 0x09, 0xc3, 0xd1, 0xbd, 0xee, 0x7b, 0xe1,
|
|
34
|
+
]);
|
|
35
|
+
// Shared with elemental-lend and jlpd-strategy — defined once in common/
|
|
36
|
+
var constants_1 = require("../common/constants");
|
|
37
|
+
Object.defineProperty(exports, "DISC_MANAGER_ROLE", { enumerable: true, get: function () { return constants_1.DISC_MANAGER_ROLE; } });
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Instruction Discriminators (1-byte)
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
exports.IX_INIT_OR_UPDATE_CONFIG = 0;
|
|
42
|
+
exports.IX_INIT_OR_UPDATE_STV = 1;
|
|
43
|
+
exports.IX_DEPOSIT = 2;
|
|
44
|
+
exports.IX_REQUEST_WITHDRAW = 3;
|
|
45
|
+
exports.IX_CLAIM_WITHDRAW = 4;
|
|
46
|
+
exports.IX_PROCESS_EPOCH = 5;
|
|
47
|
+
exports.IX_DEPOSIT_TO_STRATEGY = 6;
|
|
48
|
+
exports.IX_WITHDRAW_FROM_STRATEGY = 7;
|
|
49
|
+
exports.IX_CLOSE_STV = 8;
|
|
50
|
+
exports.IX_ADD_MANAGER = 9;
|
|
51
|
+
exports.IX_REMOVE_MANAGER = 10;
|
|
52
|
+
exports.IX_OVERRIDE_CLAIM_WITHDRAW = 11;
|
|
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
|
+
/** accept_vault_admin (disc 0x14 = 20) — complete a two-step vault-admin rotation. */
|
|
61
|
+
exports.IX_ACCEPT_VAULT_ADMIN = 20;
|
|
62
|
+
/**
|
|
63
|
+
* trip_circuit_breaker (disc 0x15 = 21) — freeze a vault (sets FLAG_PAUSED).
|
|
64
|
+
* Set-only, idempotent; callable by cold admin, warm admin, or a valid
|
|
65
|
+
* manager (OR-auth precedence: cold -> warm -> manager). Disc 21 is used
|
|
66
|
+
* (not the retired 19 = migrate_stv_layout) so a stale client replaying the
|
|
67
|
+
* old migration call keeps failing InvalidInstructionData instead of
|
|
68
|
+
* silently freezing a vault. See docs/spec-warm-admin-guardrails.md §4.3.
|
|
69
|
+
*/
|
|
70
|
+
exports.IX_TRIP_CIRCUIT_BREAKER = 21;
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
// Event Discriminators (1-byte)
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
74
|
+
exports.EVT_CONFIG_INITIALIZED = 0;
|
|
75
|
+
exports.EVT_CONFIG_UPDATED = 1;
|
|
76
|
+
exports.EVT_STV_CREATED = 2;
|
|
77
|
+
exports.EVT_STV_UPDATED = 3;
|
|
78
|
+
exports.EVT_DEPOSITED = 4;
|
|
79
|
+
exports.EVT_WITHDRAW_REQUESTED = 5;
|
|
80
|
+
exports.EVT_WITHDRAW_REQUEST_INCREASED = 6;
|
|
81
|
+
exports.EVT_WITHDRAW_CLAIMED = 7;
|
|
82
|
+
exports.EVT_DEPOSITED_TO_STRATEGY = 8;
|
|
83
|
+
exports.EVT_WITHDRAWN_FROM_STRATEGY = 9;
|
|
84
|
+
exports.EVT_EPOCH_PROCESSED = 10;
|
|
85
|
+
exports.EVT_EPOCH_ADVANCED = 11;
|
|
86
|
+
exports.EVT_FEES_SETTLED = 12;
|
|
87
|
+
exports.EVT_STV_CLOSED = 13;
|
|
88
|
+
exports.EVT_MANAGER_ADDED = 14;
|
|
89
|
+
exports.EVT_MANAGER_REMOVED = 15;
|
|
90
|
+
exports.EVT_WITHDRAW_OVERRIDE_CLAIMED = 16;
|
|
91
|
+
exports.EVT_LEND_MIGRATED = 17;
|
|
92
|
+
exports.EVT_MIGRATE_REQUESTED = 18;
|
|
93
|
+
exports.EVT_MIGRATE_EXECUTED = 19;
|
|
94
|
+
exports.EVT_DELAYED_DEPOSIT_PROCESSED = 20;
|
|
95
|
+
exports.EVT_INSTANT_WITHDRAWN = 21;
|
|
96
|
+
exports.EVT_STV_SEEDED = 22;
|
|
97
|
+
/** AdminRotationStarted — emitted when update sets pending_admin to nonzero. Fields: vault_id(8), newPendingAdmin(32). */
|
|
98
|
+
exports.EVT_ADMIN_ROTATION_STARTED = 24;
|
|
99
|
+
/** AdminRotationAccepted — emitted by accept_vault_admin. Fields: vault_id(8), newAdmin(32). */
|
|
100
|
+
exports.EVT_ADMIN_ROTATION_ACCEPTED = 25;
|
|
101
|
+
/**
|
|
102
|
+
* WarmAdminSet — emitted whenever the stored `Stv.warmAdmin` value actually
|
|
103
|
+
* changes: by init_or_update_stv (create/update) or by accept_vault_admin
|
|
104
|
+
* (self-warm promotion normalization). Fields: vaultId(8), warmAdmin(32).
|
|
105
|
+
* (23 = StvAdminSet stays dead; disc numbers are never reused.)
|
|
106
|
+
*/
|
|
107
|
+
exports.EVT_WARM_ADMIN_SET = 26;
|
|
108
|
+
/**
|
|
109
|
+
* CircuitBreakerTripped — emitted by trip_circuit_breaker (disc 21) every
|
|
110
|
+
* call, including idempotent re-trips of an already-paused vault.
|
|
111
|
+
* Fields: vaultId(8), trippedBy(32), authorityKind(1: 0=cold,1=warm,2=manager).
|
|
112
|
+
*/
|
|
113
|
+
exports.EVT_CIRCUIT_BREAKER_TRIPPED = 27;
|
|
114
|
+
/**
|
|
115
|
+
* `trip_circuit_breaker`'s `authority_kind` values (also the
|
|
116
|
+
* CircuitBreakerTripped event's authorityKind field). Precedence order at
|
|
117
|
+
* evaluation time is cold -> warm -> manager (first match wins — a stray or
|
|
118
|
+
* invalid manager_role account never vetoes a valid cold/warm signer).
|
|
119
|
+
*/
|
|
120
|
+
exports.TRIP_AUTHORITY_KIND_COLD = 0;
|
|
121
|
+
exports.TRIP_AUTHORITY_KIND_WARM = 1;
|
|
122
|
+
exports.TRIP_AUTHORITY_KIND_MANAGER = 2;
|
|
123
|
+
// ---------------------------------------------------------------------------
|
|
124
|
+
// Vault Flags
|
|
125
|
+
// ---------------------------------------------------------------------------
|
|
126
|
+
// STV flags
|
|
127
|
+
exports.FLAG_PAUSED = 0x0001;
|
|
128
|
+
exports.FLAG_DEPOSITS_DISABLED = 0x0002;
|
|
129
|
+
exports.FLAG_WITHDRAWALS_DISABLED = 0x0004;
|
|
130
|
+
exports.FLAG_REBALANCE_DISABLED = 0x0008;
|
|
131
|
+
exports.FLAG_ALLOCATOR = 0x0020;
|
|
132
|
+
/** Skip the per-epoch withdraw rate-limit on this STV (claim_withdraw + migrate_execute). */
|
|
133
|
+
exports.FLAG_BYPASS_WITHDRAW_LIMIT = 0x0040;
|
|
134
|
+
/** Source STV: apply withdrawal_fee_bps when migrating OUT via migrate_request/migrate_execute. */
|
|
135
|
+
exports.FLAG_WITHDRAWAL_FEE_ON_MIGRATE = 0x0080;
|
|
136
|
+
/** Dest STV: apply deposit_fee_bps when migrating IN via migrate_execute. */
|
|
137
|
+
exports.FLAG_DEPOSIT_FEE_ON_MIGRATE = 0x0100;
|
|
138
|
+
/** Delay user deposits by at least one epoch before evX is minted. */
|
|
139
|
+
exports.FLAG_DELAYED_DEPOSIT = 0x0200;
|
|
140
|
+
/** Migrate exit (source) skips the +1 epoch cooldown — in-protocol move, no drain risk. */
|
|
141
|
+
exports.FLAG_BYPASS_MIGRATE_SRC_WAITOUT = 0x0400;
|
|
142
|
+
/** Migrate entry (dest) skips its waitout. */
|
|
143
|
+
exports.FLAG_BYPASS_MIGRATE_DST_WAITOUT = 0x0800;
|
|
144
|
+
/**
|
|
145
|
+
* C-1 seed gate. Program-owned (set by seed_stv, never via
|
|
146
|
+
* init_or_update_stv). When unset, every public path reverts VaultNotSeeded.
|
|
147
|
+
* When set with locked_seed_shares > 0, the vault may run instant_withdraw.
|
|
148
|
+
*/
|
|
149
|
+
exports.FLAG_SEEDED = 0x1000;
|
|
150
|
+
// GlobalConfig flags
|
|
151
|
+
/**
|
|
152
|
+
* Protocol-wide emergency pause. When set on `GlobalConfig.flags`, blocks
|
|
153
|
+
* every value-movement instruction across every STV (deposit, request/claim
|
|
154
|
+
* withdraw, process_epoch, deposit/withdraw_from_strategy,
|
|
155
|
+
* override_claim_withdraw). Admin/rescue paths
|
|
156
|
+
* (init_or_update_config, init_or_update_stv, close_stv, add/remove_manager)
|
|
157
|
+
* remain open so the admin can reconfigure and clear the pause.
|
|
158
|
+
*/
|
|
159
|
+
exports.CFG_FLAG_GLOBAL_PAUSED = 0x0001;
|
|
160
|
+
// ---------------------------------------------------------------------------
|
|
161
|
+
// Protocol Constants
|
|
162
|
+
// ---------------------------------------------------------------------------
|
|
163
|
+
var constants_2 = require("../common/constants");
|
|
164
|
+
Object.defineProperty(exports, "PPS_DECIMALS", { enumerable: true, get: function () { return constants_2.PPS_DECIMALS; } });
|
|
165
|
+
Object.defineProperty(exports, "BPS_DENOMINATOR", { enumerable: true, get: function () { return constants_2.BPS_DENOMINATOR; } });
|
|
166
|
+
Object.defineProperty(exports, "STALENESS_THRESHOLD", { enumerable: true, get: function () { return constants_2.STALENESS_THRESHOLD; } });
|
|
167
|
+
exports.MAX_CHILD_VAULTS = 4;
|
|
168
|
+
exports.MAX_STRATEGIES = exports.MAX_CHILD_VAULTS; // backward compat
|
|
169
|
+
exports.FEE_CAP_BPS = 9900;
|
|
170
|
+
/** Max deposit_fee_bps / withdrawal_fee_bps (enforced at init_or_update_stv). */
|
|
171
|
+
exports.MAX_FEE_BPS = 1000;
|
|
172
|
+
/** WithdrawRequest.request_flags bit 0: 0 = withdraw, 1 = migrate. */
|
|
173
|
+
exports.WR_FLAG_MIGRATE = 0x01;
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Account Sizes
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
exports.GLOBAL_CONFIG_SIZE = 56;
|
|
178
|
+
exports.STV_SIZE = 664;
|
|
179
|
+
exports.WITHDRAW_REQUEST_SIZE = 168;
|
|
180
|
+
exports.DELAYED_DEPOSIT_REQUEST_SIZE = 152;
|
|
181
|
+
exports.MANAGER_ROLE_SIZE = 80;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import type { StvEvent } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Parse events from transaction log messages.
|
|
5
|
+
* p-stv-core uses 1-byte event discriminators via sol_log_data.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseEventsFromLogs(logs: string[], programId?: PublicKey): StvEvent[];
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseEventsFromLogs = parseEventsFromLogs;
|
|
4
|
+
const buffer_1 = require("../common/buffer");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const PROGRAM_DATA_PREFIX = "Program data: ";
|
|
7
|
+
/**
|
|
8
|
+
* Parse events from transaction log messages.
|
|
9
|
+
* p-stv-core uses 1-byte event discriminators via sol_log_data.
|
|
10
|
+
*/
|
|
11
|
+
function parseEventsFromLogs(logs, programId = constants_1.PROGRAM_ID) {
|
|
12
|
+
const events = [];
|
|
13
|
+
const programIdStr = programId.toBase58();
|
|
14
|
+
let inProgram = false;
|
|
15
|
+
for (const line of logs) {
|
|
16
|
+
if (line.includes(`Program ${programIdStr} invoke`)) {
|
|
17
|
+
inProgram = true;
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (line.includes(`Program ${programIdStr} success`) ||
|
|
21
|
+
line.includes(`Program ${programIdStr} failed`)) {
|
|
22
|
+
inProgram = false;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (!inProgram)
|
|
26
|
+
continue;
|
|
27
|
+
if (!line.startsWith(PROGRAM_DATA_PREFIX))
|
|
28
|
+
continue;
|
|
29
|
+
const dataStr = line.slice(PROGRAM_DATA_PREFIX.length);
|
|
30
|
+
const segments = dataStr.split(" ").filter((s) => s.length > 0);
|
|
31
|
+
if (segments.length === 0)
|
|
32
|
+
continue;
|
|
33
|
+
const buffers = segments.map((s) => Buffer.from(s, "base64"));
|
|
34
|
+
const combined = Buffer.concat(buffers);
|
|
35
|
+
if (combined.length === 0)
|
|
36
|
+
continue;
|
|
37
|
+
const evt = parseEventBuffer(combined);
|
|
38
|
+
if (evt)
|
|
39
|
+
events.push(evt);
|
|
40
|
+
}
|
|
41
|
+
return events;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* p-stv-core event payload layout reference (offsets are within the
|
|
45
|
+
* `Program data: …` log buffer; see also `EVT_*` discriminators in
|
|
46
|
+
* `constants.ts`):
|
|
47
|
+
*
|
|
48
|
+
* ConfigInitialized [0..1] disc | [1..33] admin
|
|
49
|
+
* ConfigUpdated [0..1] disc | [1..33] admin | [33..35] flags
|
|
50
|
+
* StvCreated [0..1] disc | [1..9] vaultId | [9..41] baseMint |
|
|
51
|
+
* [41..73] evMint | [73..105] feeReceiver | [105..137] strategy |
|
|
52
|
+
* [137..169] lendProgram | [169..173] epochSec |
|
|
53
|
+
* [173..175] mgmtFeeBps | [175..177] perfFeeBps
|
|
54
|
+
* StvUpdated [0..1] disc | [1..9] vaultId | [9..41] feeReceiver |
|
|
55
|
+
* [41..43] flags | [43..45] mgmtFeeBps | [45..47] perfFeeBps |
|
|
56
|
+
* [47..55] vaultCapacity | [55..63] minDeposit |
|
|
57
|
+
* [63..64] childVaultCount | [64..96] lendProgram
|
|
58
|
+
* Deposited [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
59
|
+
* [41..49] amount | [49..57] sharesMinted | [57..65] depositFeeShares |
|
|
60
|
+
* [65..73] pps
|
|
61
|
+
* WithdrawRequested [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
62
|
+
* [41..49] shares | [49..53] epochId
|
|
63
|
+
* WithdrawRequestIncreased [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
64
|
+
* [41..49] additionalShares | [49..57] totalShares |
|
|
65
|
+
* [57..61] epochId
|
|
66
|
+
* WithdrawClaimed [0..1] disc | [1..9] vaultId | [9..41] user |
|
|
67
|
+
* [41..49] shares | [49..57] baseAmount | [57..61] epochId
|
|
68
|
+
* DepositedToStrategy [0..1] disc | [1..9] vaultId | [9..41] strategy |
|
|
69
|
+
* [41..49] amount | [49..57] sharesReceived
|
|
70
|
+
* WithdrawnFromStrategy [0..1] disc | [1..9] vaultId | [9..41] strategy |
|
|
71
|
+
* [41..49] shares | [49..57] baseReceived
|
|
72
|
+
* EpochProcessed [0..1] disc | [1..9] vaultId | [9..13] epochId |
|
|
73
|
+
* [13..21] epochPps | [21..29] feeSharesMinted
|
|
74
|
+
* EpochAdvanced [0..1] disc | [1..9] vaultId | [9..13] newEpochId |
|
|
75
|
+
* [13..17] nextEpochTs
|
|
76
|
+
* FeesSettled [0..1] disc | [1..9] vaultId | [9..17] mgmtFeeBase |
|
|
77
|
+
* [17..25] perfFeeBase | [25..33] feeSharesMinted |
|
|
78
|
+
* [33..41] postFeePps | [41..49] hwm
|
|
79
|
+
* StvClosed [0..1] disc | [1..9] vaultId
|
|
80
|
+
* ManagerAdded [0..1] disc | [1..33] stv | [33..65] manager
|
|
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
|
|
86
|
+
* WarmAdminSet [0..1] disc | [1..9] vaultId | [9..41] warmAdmin
|
|
87
|
+
* CircuitBreakerTripped [0..1] disc | [1..9] vaultId | [9..41] trippedBy |
|
|
88
|
+
* [41..42] authorityKind
|
|
89
|
+
*/
|
|
90
|
+
function parseEventBuffer(data) {
|
|
91
|
+
if (data.length === 0)
|
|
92
|
+
return null;
|
|
93
|
+
const disc = data[0];
|
|
94
|
+
switch (disc) {
|
|
95
|
+
case constants_1.EVT_CONFIG_INITIALIZED:
|
|
96
|
+
return data.length >= 33 ? { name: "ConfigInitialized", admin: (0, buffer_1.readPubkey)(data, 1) } : null;
|
|
97
|
+
case constants_1.EVT_CONFIG_UPDATED:
|
|
98
|
+
return data.length >= 35 ? { name: "ConfigUpdated", admin: (0, buffer_1.readPubkey)(data, 1), flags: (0, buffer_1.readU16)(data, 33) } : null;
|
|
99
|
+
case constants_1.EVT_STV_CREATED:
|
|
100
|
+
return data.length >= 177 ? {
|
|
101
|
+
name: "StvCreated", vaultId: (0, buffer_1.readU64)(data, 1), baseMint: (0, buffer_1.readPubkey)(data, 9),
|
|
102
|
+
evMint: (0, buffer_1.readPubkey)(data, 41), feeReceiver: (0, buffer_1.readPubkey)(data, 73),
|
|
103
|
+
strategy: (0, buffer_1.readPubkey)(data, 105), lendProgram: (0, buffer_1.readPubkey)(data, 137),
|
|
104
|
+
epochSec: (0, buffer_1.readU32)(data, 169), mgmtFeeBps: (0, buffer_1.readU16)(data, 173), perfFeeBps: (0, buffer_1.readU16)(data, 175),
|
|
105
|
+
} : null;
|
|
106
|
+
case constants_1.EVT_STV_UPDATED:
|
|
107
|
+
return data.length >= 96 ? {
|
|
108
|
+
name: "StvUpdated", vaultId: (0, buffer_1.readU64)(data, 1), feeReceiver: (0, buffer_1.readPubkey)(data, 9),
|
|
109
|
+
flags: (0, buffer_1.readU16)(data, 41), mgmtFeeBps: (0, buffer_1.readU16)(data, 43),
|
|
110
|
+
perfFeeBps: (0, buffer_1.readU16)(data, 45), vaultCapacity: (0, buffer_1.readU64)(data, 47), minDeposit: (0, buffer_1.readU64)(data, 55),
|
|
111
|
+
childVaultCount: data[63], lendProgram: (0, buffer_1.readPubkey)(data, 64),
|
|
112
|
+
} : null;
|
|
113
|
+
case constants_1.EVT_DEPOSITED:
|
|
114
|
+
return data.length >= 73 ? {
|
|
115
|
+
name: "Deposited", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
116
|
+
amount: (0, buffer_1.readU64)(data, 41), sharesMinted: (0, buffer_1.readU64)(data, 49),
|
|
117
|
+
depositFeeShares: (0, buffer_1.readU64)(data, 57), pps: (0, buffer_1.readU64)(data, 65),
|
|
118
|
+
} : null;
|
|
119
|
+
case constants_1.EVT_WITHDRAW_REQUESTED:
|
|
120
|
+
return data.length >= 53 ? {
|
|
121
|
+
name: "WithdrawRequested", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
122
|
+
shares: (0, buffer_1.readU64)(data, 41), epochId: (0, buffer_1.readU32)(data, 49),
|
|
123
|
+
} : null;
|
|
124
|
+
case constants_1.EVT_WITHDRAW_REQUEST_INCREASED:
|
|
125
|
+
return data.length >= 61 ? {
|
|
126
|
+
name: "WithdrawRequestIncreased", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
127
|
+
additionalShares: (0, buffer_1.readU64)(data, 41), totalShares: (0, buffer_1.readU64)(data, 49), epochId: (0, buffer_1.readU32)(data, 57),
|
|
128
|
+
} : null;
|
|
129
|
+
case constants_1.EVT_WITHDRAW_CLAIMED:
|
|
130
|
+
// Rust: vault_id(8), user(32), shares(8), net_base(8), withdrawal_fee_base(8), epoch_id(4)
|
|
131
|
+
return data.length >= 69 ? {
|
|
132
|
+
name: "WithdrawClaimed", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
133
|
+
shares: (0, buffer_1.readU64)(data, 41), baseAmount: (0, buffer_1.readU64)(data, 49),
|
|
134
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 57), epochId: (0, buffer_1.readU32)(data, 65),
|
|
135
|
+
} : null;
|
|
136
|
+
case constants_1.EVT_DEPOSITED_TO_STRATEGY:
|
|
137
|
+
return data.length >= 57 ? {
|
|
138
|
+
name: "DepositedToStrategy", vaultId: (0, buffer_1.readU64)(data, 1), strategy: (0, buffer_1.readPubkey)(data, 9),
|
|
139
|
+
amount: (0, buffer_1.readU64)(data, 41), sharesReceived: (0, buffer_1.readU64)(data, 49),
|
|
140
|
+
} : null;
|
|
141
|
+
case constants_1.EVT_WITHDRAWN_FROM_STRATEGY:
|
|
142
|
+
return data.length >= 57 ? {
|
|
143
|
+
name: "WithdrawnFromStrategy", vaultId: (0, buffer_1.readU64)(data, 1), strategy: (0, buffer_1.readPubkey)(data, 9),
|
|
144
|
+
shares: (0, buffer_1.readU64)(data, 41), baseReceived: (0, buffer_1.readU64)(data, 49),
|
|
145
|
+
} : null;
|
|
146
|
+
case constants_1.EVT_EPOCH_PROCESSED:
|
|
147
|
+
return data.length >= 29 ? {
|
|
148
|
+
name: "EpochProcessed", vaultId: (0, buffer_1.readU64)(data, 1), epochId: (0, buffer_1.readU32)(data, 9),
|
|
149
|
+
epochPps: (0, buffer_1.readU64)(data, 13), feeSharesMinted: (0, buffer_1.readU64)(data, 21),
|
|
150
|
+
} : null;
|
|
151
|
+
case constants_1.EVT_EPOCH_ADVANCED:
|
|
152
|
+
return data.length >= 17 ? {
|
|
153
|
+
name: "EpochAdvanced", vaultId: (0, buffer_1.readU64)(data, 1), newEpochId: (0, buffer_1.readU32)(data, 9), nextEpochTs: (0, buffer_1.readU32)(data, 13),
|
|
154
|
+
} : null;
|
|
155
|
+
case constants_1.EVT_FEES_SETTLED:
|
|
156
|
+
return data.length >= 49 ? {
|
|
157
|
+
name: "FeesSettled", vaultId: (0, buffer_1.readU64)(data, 1), mgmtFeeBase: (0, buffer_1.readU64)(data, 9),
|
|
158
|
+
perfFeeBase: (0, buffer_1.readU64)(data, 17), feeSharesMinted: (0, buffer_1.readU64)(data, 25),
|
|
159
|
+
postFeePps: (0, buffer_1.readU64)(data, 33), hwm: (0, buffer_1.readU64)(data, 41),
|
|
160
|
+
} : null;
|
|
161
|
+
case constants_1.EVT_STV_CLOSED:
|
|
162
|
+
return data.length >= 9 ? {
|
|
163
|
+
name: "StvClosed", vaultId: (0, buffer_1.readU64)(data, 1),
|
|
164
|
+
} : null;
|
|
165
|
+
case constants_1.EVT_MANAGER_ADDED:
|
|
166
|
+
return data.length >= 65 ? {
|
|
167
|
+
name: "ManagerAdded", stv: (0, buffer_1.readPubkey)(data, 1), manager: (0, buffer_1.readPubkey)(data, 33),
|
|
168
|
+
} : null;
|
|
169
|
+
case constants_1.EVT_MANAGER_REMOVED:
|
|
170
|
+
return data.length >= 65 ? {
|
|
171
|
+
name: "ManagerRemoved", stv: (0, buffer_1.readPubkey)(data, 1), manager: (0, buffer_1.readPubkey)(data, 33),
|
|
172
|
+
} : null;
|
|
173
|
+
case constants_1.EVT_WITHDRAW_OVERRIDE_CLAIMED:
|
|
174
|
+
// Rust: vault_id(8), manager(32), user(32), shares(8), net_base(8),
|
|
175
|
+
// withdrawal_fee_base(8), epoch_id(4), daily_withdrawn(8), daily_limit(8)
|
|
176
|
+
return data.length >= 117 ? {
|
|
177
|
+
name: "WithdrawOverrideClaimed", vaultId: (0, buffer_1.readU64)(data, 1), manager: (0, buffer_1.readPubkey)(data, 9),
|
|
178
|
+
user: (0, buffer_1.readPubkey)(data, 41), shares: (0, buffer_1.readU64)(data, 73), baseAmount: (0, buffer_1.readU64)(data, 81),
|
|
179
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 89), epochId: (0, buffer_1.readU32)(data, 97),
|
|
180
|
+
dailyWithdrawnBase: (0, buffer_1.readU64)(data, 101), dailyLimit: (0, buffer_1.readU64)(data, 109),
|
|
181
|
+
} : null;
|
|
182
|
+
case constants_1.EVT_LEND_MIGRATED:
|
|
183
|
+
return data.length >= 89 ? {
|
|
184
|
+
name: "LendMigrated", vaultId: (0, buffer_1.readU64)(data, 1), oldLendProgram: (0, buffer_1.readPubkey)(data, 9),
|
|
185
|
+
newLendProgram: (0, buffer_1.readPubkey)(data, 41), sharesWithdrawn: (0, buffer_1.readU64)(data, 73), baseMigrated: (0, buffer_1.readU64)(data, 81),
|
|
186
|
+
} : null;
|
|
187
|
+
case constants_1.EVT_MIGRATE_REQUESTED:
|
|
188
|
+
// Rust: src_vault_id(8), dest_vault_id(8), user(32), shares(8), epoch_id(4)
|
|
189
|
+
return data.length >= 61 ? {
|
|
190
|
+
name: "MigrateRequested", srcVaultId: (0, buffer_1.readU64)(data, 1), destVaultId: (0, buffer_1.readU64)(data, 9),
|
|
191
|
+
user: (0, buffer_1.readPubkey)(data, 17), shares: (0, buffer_1.readU64)(data, 49), epochId: (0, buffer_1.readU32)(data, 57),
|
|
192
|
+
} : null;
|
|
193
|
+
case constants_1.EVT_MIGRATE_EXECUTED:
|
|
194
|
+
// Rust: src_vault_id(8), dst_vault_id(8), user(32), shares_burned(8), base_moved(8),
|
|
195
|
+
// withdrawal_fee_base(8), deposit_fee_base(8), user_dest_shares(8), epoch_id(4)
|
|
196
|
+
return data.length >= 93 ? {
|
|
197
|
+
name: "MigrateExecuted", srcVaultId: (0, buffer_1.readU64)(data, 1), destVaultId: (0, buffer_1.readU64)(data, 9),
|
|
198
|
+
user: (0, buffer_1.readPubkey)(data, 17), sharesBurned: (0, buffer_1.readU64)(data, 49), baseMoved: (0, buffer_1.readU64)(data, 57),
|
|
199
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 65), depositFeeBase: (0, buffer_1.readU64)(data, 73),
|
|
200
|
+
userDestShares: (0, buffer_1.readU64)(data, 81), epochId: (0, buffer_1.readU32)(data, 89),
|
|
201
|
+
} : null;
|
|
202
|
+
case constants_1.EVT_DELAYED_DEPOSIT_PROCESSED:
|
|
203
|
+
return data.length >= 77 ? {
|
|
204
|
+
name: "DelayedDepositProcessed", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
205
|
+
amount: (0, buffer_1.readU64)(data, 41), sharesMinted: (0, buffer_1.readU64)(data, 49),
|
|
206
|
+
depositFeeShares: (0, buffer_1.readU64)(data, 57), pps: (0, buffer_1.readU64)(data, 65),
|
|
207
|
+
requestEpochId: (0, buffer_1.readU32)(data, 73),
|
|
208
|
+
} : null;
|
|
209
|
+
case constants_1.EVT_INSTANT_WITHDRAWN:
|
|
210
|
+
return data.length >= 65 ? {
|
|
211
|
+
name: "InstantWithdrawn", vaultId: (0, buffer_1.readU64)(data, 1), user: (0, buffer_1.readPubkey)(data, 9),
|
|
212
|
+
shares: (0, buffer_1.readU64)(data, 41), netBase: (0, buffer_1.readU64)(data, 49),
|
|
213
|
+
withdrawalFeeBase: (0, buffer_1.readU64)(data, 57),
|
|
214
|
+
} : null;
|
|
215
|
+
case constants_1.EVT_STV_SEEDED:
|
|
216
|
+
return data.length >= 17 ? {
|
|
217
|
+
name: "StvSeeded", vaultId: (0, buffer_1.readU64)(data, 1), amount: (0, buffer_1.readU64)(data, 9),
|
|
218
|
+
} : null;
|
|
219
|
+
case constants_1.EVT_ADMIN_ROTATION_STARTED:
|
|
220
|
+
// Fields: vault_id(8), new_pending_admin(32) → total payload 41 bytes
|
|
221
|
+
return data.length >= 41 ? {
|
|
222
|
+
name: "AdminRotationStarted", vaultId: (0, buffer_1.readU64)(data, 1), newPendingAdmin: (0, buffer_1.readPubkey)(data, 9),
|
|
223
|
+
} : null;
|
|
224
|
+
case constants_1.EVT_ADMIN_ROTATION_ACCEPTED:
|
|
225
|
+
// Fields: vault_id(8), new_admin(32) → total payload 41 bytes
|
|
226
|
+
return data.length >= 41 ? {
|
|
227
|
+
name: "AdminRotationAccepted", vaultId: (0, buffer_1.readU64)(data, 1), newAdmin: (0, buffer_1.readPubkey)(data, 9),
|
|
228
|
+
} : null;
|
|
229
|
+
case constants_1.EVT_WARM_ADMIN_SET:
|
|
230
|
+
// Fields: vault_id(8), warm_admin(32) → total payload 41 bytes.
|
|
231
|
+
// warmAdmin is the raw stored value (PublicKey.default on any
|
|
232
|
+
// reset/normalize-to-follow-cold) — see warmAdminEffective() to resolve.
|
|
233
|
+
return data.length >= 41 ? {
|
|
234
|
+
name: "WarmAdminSet", vaultId: (0, buffer_1.readU64)(data, 1), warmAdmin: (0, buffer_1.readPubkey)(data, 9),
|
|
235
|
+
} : null;
|
|
236
|
+
case constants_1.EVT_CIRCUIT_BREAKER_TRIPPED:
|
|
237
|
+
// Fields: vault_id(8), tripped_by(32), authority_kind(1) → total payload 42 bytes.
|
|
238
|
+
// authorityKind: 0=cold, 1=warm, 2=manager (TRIP_AUTHORITY_KIND_* in constants.ts).
|
|
239
|
+
return data.length >= 42 ? {
|
|
240
|
+
name: "CircuitBreakerTripped", vaultId: (0, buffer_1.readU64)(data, 1), trippedBy: (0, buffer_1.readPubkey)(data, 9),
|
|
241
|
+
authorityKind: data[41],
|
|
242
|
+
} : null;
|
|
243
|
+
default:
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./constants";
|
|
2
|
+
export * from "./types";
|
|
3
|
+
export * from "./pda";
|
|
4
|
+
export * from "./accounts";
|
|
5
|
+
export * from "./events";
|
|
6
|
+
export * from "./instructions";
|
|
7
|
+
export * from "./remaining-accounts";
|
|
8
|
+
export * from "./send-tx";
|
|
9
|
+
export * from "./sol-wrap";
|
|
10
|
+
export * from "./prices";
|
|
11
|
+
export * from "./lut";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./constants"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./pda"), exports);
|
|
20
|
+
__exportStar(require("./accounts"), exports);
|
|
21
|
+
__exportStar(require("./events"), exports);
|
|
22
|
+
__exportStar(require("./instructions"), exports);
|
|
23
|
+
__exportStar(require("./remaining-accounts"), exports);
|
|
24
|
+
__exportStar(require("./send-tx"), exports);
|
|
25
|
+
__exportStar(require("./sol-wrap"), exports);
|
|
26
|
+
__exportStar(require("./prices"), exports);
|
|
27
|
+
__exportStar(require("./lut"), exports);
|