@hyr0-xyz/program 0.0.8 → 0.0.10

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/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Address, FixedSizeEncoder, FixedSizeDecoder, FixedSizeCodec, fetchEncodedAccount, FetchAccountConfig, Account, ReadonlyUint8Array, Option, TransactionSigner, ProgramDerivedAddress, Instruction, AccountMeta, InstructionWithData, InstructionWithAccounts, WritableSignerAccount, AccountSignerMeta, WritableAccount, ReadonlyAccount, Encoder, Decoder, Codec, ReadonlySignerAccount } from '@solana/kit';
1
+ import { Address, FixedSizeEncoder, FixedSizeDecoder, FixedSizeCodec, fetchEncodedAccount, FetchAccountConfig, Account, ReadonlyUint8Array, Option, TransactionSigner, ProgramDerivedAddress, Instruction, AccountMeta, InstructionWithData, InstructionWithAccounts, WritableSignerAccount, AccountSignerMeta, WritableAccount, ReadonlyAccount, Encoder, Decoder, Codec, ReadonlySignerAccount, Rpc, GetProgramAccountsApi, GetMultipleAccountsApi } from '@solana/kit';
2
2
  export { Account, Address, MaybeAccount, ProgramDerivedAddress, TransactionSigner } from '@solana/kit';
3
3
 
4
4
  type TransactionAccount = {
@@ -51,9 +51,123 @@ declare enum Policy {
51
51
  Multisig = "Multisig"
52
52
  }
53
53
 
54
+ /** Fee configuration - basis points for each fee type */
55
+ type FeeConfig = {
56
+ lpFeeBps: number;
57
+ managerFeeBps: number;
58
+ protocolFeeBps: number;
59
+ performanceFeeBps: number;
60
+ };
61
+ type FeeConfigArgs = FeeConfig;
62
+ declare function getFeeConfigEncoder(): FixedSizeEncoder<FeeConfigArgs>;
63
+ declare function getFeeConfigDecoder(): FixedSizeDecoder<FeeConfig>;
64
+ declare function getFeeConfigCodec(): FixedSizeCodec<FeeConfigArgs, FeeConfig>;
65
+
66
+ /**
67
+ * Fee Recipients - v2 Fee Collection
68
+ *
69
+ * Verified addresses for each fee type recipient
70
+ */
71
+
72
+ /** Fee recipients - verified addresses for each fee type */
73
+ type FeeRecipients = {
74
+ lpRecipient: Address;
75
+ managerRecipient: Address;
76
+ protocolRecipient: Address;
77
+ performanceRecipient: Address;
78
+ };
79
+ type FeeRecipientsArgs = FeeRecipients;
80
+ declare function getFeeRecipientsEncoder(): FixedSizeEncoder<FeeRecipientsArgs>;
81
+ declare function getFeeRecipientsDecoder(): FixedSizeDecoder<FeeRecipients>;
82
+ declare function getFeeRecipientsCodec(): FixedSizeCodec<FeeRecipientsArgs, FeeRecipients>;
83
+
84
+ /**
85
+ * Fee Amounts - v2 Fee Collection
86
+ *
87
+ * Tracked amounts per fee type
88
+ */
89
+
90
+ /** Fee amounts - tracked per fee type */
91
+ type FeeAmounts = {
92
+ lp: bigint;
93
+ manager: bigint;
94
+ protocol: bigint;
95
+ performance: bigint;
96
+ };
97
+ type FeeAmountsArgs = {
98
+ lp: number | bigint;
99
+ manager: number | bigint;
100
+ protocol: number | bigint;
101
+ performance: number | bigint;
102
+ };
103
+ declare function getFeeAmountsEncoder(): FixedSizeEncoder<FeeAmountsArgs>;
104
+ declare function getFeeAmountsDecoder(): FixedSizeDecoder<FeeAmounts>;
105
+ declare function getFeeAmountsCodec(): FixedSizeCodec<FeeAmountsArgs, FeeAmounts>;
106
+
107
+ /**
108
+ * Fee Type - v2 Fee Collection
109
+ *
110
+ * Enum for claiming specific fees
111
+ */
112
+
113
+ /** Fee type enum for claiming specific fees */
114
+ declare enum FeeType {
115
+ Lp = 0,
116
+ Manager = 1,
117
+ Protocol = 2,
118
+ Performance = 3
119
+ }
120
+ type FeeTypeArgs = FeeType;
121
+ declare function getFeeTypeEncoder(): FixedSizeEncoder<FeeTypeArgs>;
122
+ declare function getFeeTypeDecoder(): FixedSizeDecoder<FeeType>;
123
+ declare function getFeeTypeCodec(): FixedSizeCodec<FeeTypeArgs, FeeType>;
124
+
125
+ /**
126
+ * Fee Operation - v2 Fee Collection
127
+ *
128
+ * Fee calculation operation types
129
+ */
130
+
131
+ /** Fee calculation operation types */
132
+ declare enum FeeOperation {
133
+ Deposit = 0,
134
+ Withdraw = 1,
135
+ UseFunds = 2,
136
+ ReturnFunds = 3,
137
+ TimeBased = 4,
138
+ Performance = 5
139
+ }
140
+ type FeeOperationArgs = FeeOperation;
141
+ declare function getFeeOperationEncoder(): FixedSizeEncoder<FeeOperationArgs>;
142
+ declare function getFeeOperationDecoder(): FixedSizeDecoder<FeeOperation>;
143
+ declare function getFeeOperationCodec(): FixedSizeCodec<FeeOperationArgs, FeeOperation>;
144
+
145
+ /**
146
+ * Fraction Fee Config - v2 Fee Collection
147
+ *
148
+ * Fee configuration in basis points for fraction-based fee calculation
149
+ */
150
+
151
+ /** Fee configuration - basis points for each fee type */
152
+ type FractionFeeConfig = {
153
+ /** LP fee in basis points (100 = 1%) */
154
+ lpFeeBps: number;
155
+ /** Manager fee in basis points */
156
+ managerFeeBps: number;
157
+ /** Protocol fee in basis points */
158
+ protocolFeeBps: number;
159
+ /** Performance fee in basis points (applied to profits above high water mark) */
160
+ performanceFeeBps: number;
161
+ };
162
+ type FractionFeeConfigArgs = FractionFeeConfig;
163
+ declare function getFractionFeeConfigEncoder(): FixedSizeEncoder<FractionFeeConfigArgs>;
164
+ declare function getFractionFeeConfigDecoder(): FixedSizeDecoder<FractionFeeConfig>;
165
+ declare function getFractionFeeConfigCodec(): FixedSizeCodec<FractionFeeConfigArgs, FractionFeeConfig>;
166
+
54
167
  type Vault$1 = {
55
168
  discriminator: ReadonlyUint8Array;
56
169
  policyProgram: Address;
170
+ feeCollectionProgram: Address;
57
171
  seed: string;
58
172
  authority: Address;
59
173
  shareMint: Address;
@@ -64,6 +178,7 @@ type Vault$1 = {
64
178
  onchainBalance: bigint;
65
179
  offchainBalance: bigint;
66
180
  totalBalance: bigint;
181
+ obtainedFees: bigint;
67
182
  lastBalanceUpdate: bigint;
68
183
  highWaterMark: bigint;
69
184
  totalFeesPaid: bigint;
@@ -84,10 +199,67 @@ type Transaction = {
84
199
  };
85
200
  declare function fetchTransaction<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<Transaction, TAddress>>;
86
201
 
202
+ /**
203
+ * This code was AUTOGENERATED using the codama library.
204
+ * Please DO NOT EDIT THIS FILE, instead use visitors
205
+ * to add features, then rerun codama to update it.
206
+ *
207
+ * @see https://github.com/codama-idl/codama
208
+ */
209
+
210
+ type VaultFees = {
211
+ discriminator: ReadonlyUint8Array;
212
+ /** The vault this fee account belongs to */
213
+ vault: Address;
214
+ /** External program that calculates fees (fractions, time-based, all-in-one) */
215
+ feeCalcProgram: Address;
216
+ /** Verified recipients for each fee type */
217
+ recipients: FeeRecipients;
218
+ /** Unclaimed fees (accumulated from calculations) */
219
+ unclaimed: FeeAmounts;
220
+ /** Total fees collected over lifetime */
221
+ totalCollected: FeeAmounts;
222
+ /** Total fees claimed over lifetime */
223
+ totalClaimed: FeeAmounts;
224
+ /** High water mark for performance fees */
225
+ highWaterMark: bigint;
226
+ /** Last fee calculation timestamp */
227
+ lastUpdate: bigint;
228
+ /** Bump seed for PDA */
229
+ bump: number;
230
+ };
231
+
87
232
  /**
88
233
  * High-level Vault class for easy vault operations
234
+ *
235
+ * Updated for Fee Collection v2:
236
+ * - Uses pluggable fee calculation programs (fractions, time-based, all-in-one)
237
+ * - Supports fee recipients configuration
238
+ * - Tracks unclaimed, collected, and claimed fees
89
239
  */
90
240
 
241
+ /**
242
+ * Fee calculation program type for v2 fee collection
243
+ */
244
+ declare enum FeeCalcProgram {
245
+ /** Fraction-based fees (percentage of amounts) */
246
+ Fractions = "fractions",
247
+ /** Time-based fees (periodic accrual) */
248
+ TimeBased = "time_based",
249
+ /** Combined fraction and time-based fees */
250
+ AllInOne = "all_in_one"
251
+ }
252
+ /**
253
+ * Fee collection v2 configuration
254
+ */
255
+ interface FeeCollectionV2Config {
256
+ /** Fee calculation program to use */
257
+ feeCalcProgram: FeeCalcProgram;
258
+ /** Fee recipients for each fee type */
259
+ recipients: FeeRecipients;
260
+ /** Fee configuration (for fraction-based fees) */
261
+ feeConfig?: FractionFeeConfig;
262
+ }
91
263
  declare class Vault {
92
264
  private _seed;
93
265
  private _signer;
@@ -97,13 +269,16 @@ declare class Vault {
97
269
  private _policyProgram;
98
270
  private _policyAccount?;
99
271
  private _params?;
272
+ private _feeCollectionV2Config?;
100
273
  /**
101
274
  * Create a new Vault instance
102
275
  * @param seed - The seed string for the vault
103
276
  * @param signer - The transaction signer
104
277
  * @param policy - The policy type to use for the vault
278
+ * @param params - Optional policy-specific parameters
279
+ * @param feeCollectionV2Config - Optional fee collection v2 configuration
105
280
  */
106
- constructor(seed: string, signer: TransactionSigner, policy: Policy, params?: any);
281
+ constructor(seed: string, signer: TransactionSigner, policy: Policy, params?: any, feeCollectionV2Config?: FeeCollectionV2Config);
107
282
  private getPolicyProgramAddress;
108
283
  /**
109
284
  * Initialize the vault (lazy loads PDAs)
@@ -145,8 +320,32 @@ declare class Vault {
145
320
  * Get policy account address
146
321
  */
147
322
  private getPolicyAccountAddress;
323
+ /**
324
+ * Get the fee calculation program address based on the configured type
325
+ */
326
+ private getFeeCalcProgramAddress;
327
+ /**
328
+ * Get the default fee recipients (all pointing to signer)
329
+ */
330
+ private getDefaultFeeRecipients;
331
+ /**
332
+ * Get the default fraction fee config (all zero fees)
333
+ */
334
+ private getDefaultFractionFeeConfig;
335
+ /**
336
+ * Get Vault Fees PDA
337
+ */
338
+ getVaultFeesPda(): Promise<ProgramDerivedAddress>;
339
+ /**
340
+ * Get Fraction Config PDA
341
+ */
342
+ getFractionConfigPda(): Promise<ProgramDerivedAddress>;
148
343
  /**
149
344
  * Build initialize vault instruction
345
+ *
346
+ * This method now uses Fee Collection v2:
347
+ * - Initializes the vault fees account with recipients and fee calc program
348
+ * - Optionally initializes the fraction config for percentage-based fees
150
349
  */
151
350
  buildInitializeVaultInstruction(params: {
152
351
  underlyingMint: Address;
@@ -201,6 +400,14 @@ declare const HYRO_PROTOCOL_PROGRAM_ADDRESS: Address<"EGfondqUWdztf79joC5CBDi9HQ
201
400
 
202
401
  declare const DROPPER_PROGRAM_ADDRESS: Address<"5Lk3HERSPsH82FQH9xGnp6YXjoTczQs6jpJoyG7M5kiC">;
203
402
 
403
+ declare const FEE_COLLECTION_PROGRAM_ADDRESS: Address<"4ZC5mGcbKC6HZPDX4aATLywoztyAoied2FojpE7KzAuv">;
404
+
405
+ declare const FEE_COLLECTION_FRACTIONS_PROGRAM_ADDRESS: Address<"25GwpCDUHnXkLbwxKQuiYsV1isvjTGiCkKPmvmZif16W">;
406
+
407
+ declare const FEE_COLLECTION_TIME_BASED_PROGRAM_ADDRESS: Address<"TimeBasedFee111111111111111111111111111111">;
408
+
409
+ declare const FEE_COLLECTION_ALL_IN_ONE_PROGRAM_ADDRESS: Address<"7VrTQ4cqGADz7YcZx6tEGb8yrvNnk2vFE8eS8HoNbdqf">;
410
+
204
411
  /**
205
412
  * Allow Any Policy - Permits all transactions
206
413
  */
@@ -264,6 +471,309 @@ type ParsedTransferLamportsInstruction<TProgram extends string = typeof DROPPER_
264
471
  };
265
472
  declare function parseTransferLamportsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedTransferLamportsInstruction<TProgram, TAccountMetas>;
266
473
 
474
+ declare const INITIALIZE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
475
+ declare function getInitializeDiscriminatorBytes(): ReadonlyUint8Array;
476
+ type InitializeInstruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountVaultFees extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
477
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
478
+ TAccountVaultFees extends string ? WritableAccount<TAccountVaultFees> : TAccountVaultFees,
479
+ TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer,
480
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
481
+ ...TRemainingAccounts
482
+ ]>;
483
+ type InitializeInstructionData = {
484
+ discriminator: ReadonlyUint8Array;
485
+ config: FeeConfig;
486
+ };
487
+ type InitializeInstructionDataArgs = {
488
+ config: FeeConfigArgs;
489
+ };
490
+ declare function getInitializeInstructionDataEncoder(): FixedSizeEncoder<InitializeInstructionDataArgs>;
491
+ declare function getInitializeInstructionDataDecoder(): FixedSizeDecoder<InitializeInstructionData>;
492
+ declare function getInitializeInstructionDataCodec(): FixedSizeCodec<InitializeInstructionDataArgs, InitializeInstructionData>;
493
+ type InitializeAsyncInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
494
+ vault: Address<TAccountVault>;
495
+ vaultFees?: Address<TAccountVaultFees>;
496
+ payer: TransactionSigner<TAccountPayer>;
497
+ systemProgram?: Address<TAccountSystemProgram>;
498
+ config: InitializeInstructionDataArgs['config'];
499
+ };
500
+ declare function getInitializeInstructionAsync<TAccountVault extends string, TAccountVaultFees extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: InitializeAsyncInput<TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>, config?: {
501
+ programAddress?: TProgramAddress;
502
+ }): Promise<InitializeInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>>;
503
+ type InitializeInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
504
+ vault: Address<TAccountVault>;
505
+ vaultFees: Address<TAccountVaultFees>;
506
+ payer: TransactionSigner<TAccountPayer>;
507
+ systemProgram?: Address<TAccountSystemProgram>;
508
+ config: InitializeInstructionDataArgs['config'];
509
+ };
510
+ declare function getInitializeInstruction<TAccountVault extends string, TAccountVaultFees extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: InitializeInput<TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>, config?: {
511
+ programAddress?: TProgramAddress;
512
+ }): InitializeInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>;
513
+ type ParsedInitializeInstruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
514
+ programAddress: Address<TProgram>;
515
+ accounts: {
516
+ vault: TAccountMetas[0];
517
+ vaultFees: TAccountMetas[1];
518
+ payer: TAccountMetas[2];
519
+ systemProgram: TAccountMetas[3];
520
+ };
521
+ data: InitializeInstructionData;
522
+ };
523
+ declare function parseInitializeInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedInitializeInstruction<TProgram, TAccountMetas>;
524
+
525
+ /**
526
+ * Initialize Fee Collection V2
527
+ *
528
+ * Initializes a new fee collection account for a vault with recipients and fee calculation program.
529
+ * This is the v2 approach that uses pluggable fee calculation programs.
530
+ */
531
+
532
+ declare const INITIALIZE_V2_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
533
+ declare function getInitializeV2DiscriminatorBytes(): ReadonlyUint8Array;
534
+ type InitializeV2Instruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountVaultFees extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
535
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
536
+ TAccountVaultFees extends string ? WritableAccount<TAccountVaultFees> : TAccountVaultFees,
537
+ TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer,
538
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
539
+ ...TRemainingAccounts
540
+ ]>;
541
+ type InitializeV2InstructionData = {
542
+ discriminator: ReadonlyUint8Array;
543
+ recipients: FeeRecipients;
544
+ feeCalcProgram: Address;
545
+ };
546
+ type InitializeV2InstructionDataArgs = {
547
+ recipients: FeeRecipientsArgs;
548
+ feeCalcProgram: Address;
549
+ };
550
+ declare function getInitializeV2InstructionDataEncoder(): FixedSizeEncoder<InitializeV2InstructionDataArgs>;
551
+ declare function getInitializeV2InstructionDataDecoder(): FixedSizeDecoder<InitializeV2InstructionData>;
552
+ declare function getInitializeV2InstructionDataCodec(): FixedSizeCodec<InitializeV2InstructionDataArgs, InitializeV2InstructionData>;
553
+ type InitializeV2AsyncInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
554
+ vault: Address<TAccountVault>;
555
+ vaultFees?: Address<TAccountVaultFees>;
556
+ payer: TransactionSigner<TAccountPayer>;
557
+ systemProgram?: Address<TAccountSystemProgram>;
558
+ recipients: InitializeV2InstructionDataArgs['recipients'];
559
+ feeCalcProgram: InitializeV2InstructionDataArgs['feeCalcProgram'];
560
+ };
561
+ declare function getInitializeV2InstructionAsync<TAccountVault extends string, TAccountVaultFees extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: InitializeV2AsyncInput<TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>, config?: {
562
+ programAddress?: TProgramAddress;
563
+ }): Promise<InitializeV2Instruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>>;
564
+ type InitializeV2Input<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
565
+ vault: Address<TAccountVault>;
566
+ vaultFees: Address<TAccountVaultFees>;
567
+ payer: TransactionSigner<TAccountPayer>;
568
+ systemProgram?: Address<TAccountSystemProgram>;
569
+ recipients: InitializeV2InstructionDataArgs['recipients'];
570
+ feeCalcProgram: InitializeV2InstructionDataArgs['feeCalcProgram'];
571
+ };
572
+ declare function getInitializeV2Instruction<TAccountVault extends string, TAccountVaultFees extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: InitializeV2Input<TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>, config?: {
573
+ programAddress?: TProgramAddress;
574
+ }): InitializeV2Instruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountPayer, TAccountSystemProgram>;
575
+
576
+ /**
577
+ * Initialize Fraction Fee Config
578
+ *
579
+ * Initializes a fraction-based fee configuration for a vault.
580
+ * This sets up the fee percentages (in basis points) for each fee type.
581
+ */
582
+
583
+ declare const INITIALIZE_FRACTION_CONFIG_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
584
+ declare function getInitializeFractionConfigDiscriminatorBytes(): ReadonlyUint8Array;
585
+ type InitializeFractionConfigInstruction<TProgram extends string = typeof FEE_COLLECTION_FRACTIONS_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountConfigAccount extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
586
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
587
+ TAccountConfigAccount extends string ? WritableAccount<TAccountConfigAccount> : TAccountConfigAccount,
588
+ TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer,
589
+ TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
590
+ ...TRemainingAccounts
591
+ ]>;
592
+ type InitializeFractionConfigInstructionData = {
593
+ discriminator: ReadonlyUint8Array;
594
+ config: FractionFeeConfig;
595
+ };
596
+ type InitializeFractionConfigInstructionDataArgs = {
597
+ config: FractionFeeConfigArgs;
598
+ };
599
+ declare function getInitializeFractionConfigInstructionDataEncoder(): FixedSizeEncoder<InitializeFractionConfigInstructionDataArgs>;
600
+ declare function getInitializeFractionConfigInstructionDataDecoder(): FixedSizeDecoder<InitializeFractionConfigInstructionData>;
601
+ declare function getInitializeFractionConfigInstructionDataCodec(): FixedSizeCodec<InitializeFractionConfigInstructionDataArgs, InitializeFractionConfigInstructionData>;
602
+ type InitializeFractionConfigAsyncInput<TAccountVault extends string = string, TAccountConfigAccount extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
603
+ vault: Address<TAccountVault>;
604
+ configAccount?: Address<TAccountConfigAccount>;
605
+ payer: TransactionSigner<TAccountPayer>;
606
+ systemProgram?: Address<TAccountSystemProgram>;
607
+ config: InitializeFractionConfigInstructionDataArgs['config'];
608
+ };
609
+ declare function getInitializeFractionConfigInstructionAsync<TAccountVault extends string, TAccountConfigAccount extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_FRACTIONS_PROGRAM_ADDRESS>(input: InitializeFractionConfigAsyncInput<TAccountVault, TAccountConfigAccount, TAccountPayer, TAccountSystemProgram>, config?: {
610
+ programAddress?: TProgramAddress;
611
+ }): Promise<InitializeFractionConfigInstruction<TProgramAddress, TAccountVault, TAccountConfigAccount, TAccountPayer, TAccountSystemProgram>>;
612
+ type InitializeFractionConfigInput<TAccountVault extends string = string, TAccountConfigAccount extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
613
+ vault: Address<TAccountVault>;
614
+ configAccount: Address<TAccountConfigAccount>;
615
+ payer: TransactionSigner<TAccountPayer>;
616
+ systemProgram?: Address<TAccountSystemProgram>;
617
+ config: InitializeFractionConfigInstructionDataArgs['config'];
618
+ };
619
+ declare function getInitializeFractionConfigInstruction<TAccountVault extends string, TAccountConfigAccount extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_FRACTIONS_PROGRAM_ADDRESS>(input: InitializeFractionConfigInput<TAccountVault, TAccountConfigAccount, TAccountPayer, TAccountSystemProgram>, config?: {
620
+ programAddress?: TProgramAddress;
621
+ }): InitializeFractionConfigInstruction<TProgramAddress, TAccountVault, TAccountConfigAccount, TAccountPayer, TAccountSystemProgram>;
622
+
623
+ /**
624
+ * Charge Fees CPI Instruction
625
+ *
626
+ * Charges fees via CPI to an external fee calculation program.
627
+ * This is the core instruction for fee collection v2.
628
+ */
629
+
630
+ declare const CHARGE_FEES_CPI_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
631
+ declare function getChargeFeesCpiDiscriminatorBytes(): ReadonlyUint8Array;
632
+ type ChargeFeesCpiInstruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountVaultFees extends string | AccountMeta<string> = string, TAccountFeeCalcProgram extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
633
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
634
+ TAccountVaultFees extends string ? WritableAccount<TAccountVaultFees> : TAccountVaultFees,
635
+ TAccountFeeCalcProgram extends string ? ReadonlyAccount<TAccountFeeCalcProgram> : TAccountFeeCalcProgram,
636
+ ...TRemainingAccounts
637
+ ]>;
638
+ type ChargeFeesCpiInstructionData = {
639
+ discriminator: ReadonlyUint8Array;
640
+ operation: FeeOperation;
641
+ amount: bigint;
642
+ totalBalance: bigint;
643
+ timestamp: bigint;
644
+ lastFeeTimestamp: bigint;
645
+ highWaterMark: bigint;
646
+ };
647
+ type ChargeFeesCpiInstructionDataArgs = {
648
+ operation: FeeOperationArgs;
649
+ amount: number | bigint;
650
+ totalBalance: number | bigint;
651
+ timestamp: number | bigint;
652
+ lastFeeTimestamp: number | bigint;
653
+ highWaterMark: number | bigint;
654
+ };
655
+ declare function getChargeFeesCpiInstructionDataEncoder(): FixedSizeEncoder<ChargeFeesCpiInstructionDataArgs>;
656
+ declare function getChargeFeesCpiInstructionDataDecoder(): FixedSizeDecoder<ChargeFeesCpiInstructionData>;
657
+ declare function getChargeFeesCpiInstructionDataCodec(): FixedSizeCodec<ChargeFeesCpiInstructionDataArgs, ChargeFeesCpiInstructionData>;
658
+ type ChargeFeesCpiAsyncInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountFeeCalcProgram extends string = string> = {
659
+ vault: Address<TAccountVault>;
660
+ vaultFees?: Address<TAccountVaultFees>;
661
+ feeCalcProgram: Address<TAccountFeeCalcProgram>;
662
+ operation: ChargeFeesCpiInstructionDataArgs['operation'];
663
+ amount: ChargeFeesCpiInstructionDataArgs['amount'];
664
+ totalBalance: ChargeFeesCpiInstructionDataArgs['totalBalance'];
665
+ timestamp: ChargeFeesCpiInstructionDataArgs['timestamp'];
666
+ lastFeeTimestamp: ChargeFeesCpiInstructionDataArgs['lastFeeTimestamp'];
667
+ highWaterMark: ChargeFeesCpiInstructionDataArgs['highWaterMark'];
668
+ };
669
+ declare function getChargeFeesCpiInstructionAsync<TAccountVault extends string, TAccountVaultFees extends string, TAccountFeeCalcProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: ChargeFeesCpiAsyncInput<TAccountVault, TAccountVaultFees, TAccountFeeCalcProgram>, config?: {
670
+ programAddress?: TProgramAddress;
671
+ }): Promise<ChargeFeesCpiInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountFeeCalcProgram>>;
672
+ type ChargeFeesCpiInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountFeeCalcProgram extends string = string> = {
673
+ vault: Address<TAccountVault>;
674
+ vaultFees: Address<TAccountVaultFees>;
675
+ feeCalcProgram: Address<TAccountFeeCalcProgram>;
676
+ operation: ChargeFeesCpiInstructionDataArgs['operation'];
677
+ amount: ChargeFeesCpiInstructionDataArgs['amount'];
678
+ totalBalance: ChargeFeesCpiInstructionDataArgs['totalBalance'];
679
+ timestamp: ChargeFeesCpiInstructionDataArgs['timestamp'];
680
+ lastFeeTimestamp: ChargeFeesCpiInstructionDataArgs['lastFeeTimestamp'];
681
+ highWaterMark: ChargeFeesCpiInstructionDataArgs['highWaterMark'];
682
+ };
683
+ declare function getChargeFeesCpiInstruction<TAccountVault extends string, TAccountVaultFees extends string, TAccountFeeCalcProgram extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: ChargeFeesCpiInput<TAccountVault, TAccountVaultFees, TAccountFeeCalcProgram>, config?: {
684
+ programAddress?: TProgramAddress;
685
+ }): ChargeFeesCpiInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountFeeCalcProgram>;
686
+
687
+ /**
688
+ * Claim Fees Instruction
689
+ *
690
+ * Claims accumulated fees for a specific fee type from the vault fees account.
691
+ */
692
+
693
+ declare const CLAIM_FEES_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
694
+ declare function getClaimFeesDiscriminatorBytes(): ReadonlyUint8Array;
695
+ type ClaimFeesInstruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountVaultFees extends string | AccountMeta<string> = string, TAccountRecipient extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
696
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
697
+ TAccountVaultFees extends string ? WritableAccount<TAccountVaultFees> : TAccountVaultFees,
698
+ TAccountRecipient extends string ? ReadonlyAccount<TAccountRecipient> : TAccountRecipient,
699
+ ...TRemainingAccounts
700
+ ]>;
701
+ type ClaimFeesInstructionData = {
702
+ discriminator: ReadonlyUint8Array;
703
+ feeType: FeeType;
704
+ amount: bigint;
705
+ };
706
+ type ClaimFeesInstructionDataArgs = {
707
+ feeType: FeeTypeArgs;
708
+ amount: number | bigint;
709
+ };
710
+ declare function getClaimFeesInstructionDataEncoder(): FixedSizeEncoder<ClaimFeesInstructionDataArgs>;
711
+ declare function getClaimFeesInstructionDataDecoder(): FixedSizeDecoder<ClaimFeesInstructionData>;
712
+ declare function getClaimFeesInstructionDataCodec(): FixedSizeCodec<ClaimFeesInstructionDataArgs, ClaimFeesInstructionData>;
713
+ type ClaimFeesAsyncInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountRecipient extends string = string> = {
714
+ vault: Address<TAccountVault>;
715
+ vaultFees?: Address<TAccountVaultFees>;
716
+ recipient: Address<TAccountRecipient>;
717
+ feeType: ClaimFeesInstructionDataArgs['feeType'];
718
+ amount: ClaimFeesInstructionDataArgs['amount'];
719
+ };
720
+ declare function getClaimFeesInstructionAsync<TAccountVault extends string, TAccountVaultFees extends string, TAccountRecipient extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: ClaimFeesAsyncInput<TAccountVault, TAccountVaultFees, TAccountRecipient>, config?: {
721
+ programAddress?: TProgramAddress;
722
+ }): Promise<ClaimFeesInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountRecipient>>;
723
+ type ClaimFeesInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountRecipient extends string = string> = {
724
+ vault: Address<TAccountVault>;
725
+ vaultFees: Address<TAccountVaultFees>;
726
+ recipient: Address<TAccountRecipient>;
727
+ feeType: ClaimFeesInstructionDataArgs['feeType'];
728
+ amount: ClaimFeesInstructionDataArgs['amount'];
729
+ };
730
+ declare function getClaimFeesInstruction<TAccountVault extends string, TAccountVaultFees extends string, TAccountRecipient extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: ClaimFeesInput<TAccountVault, TAccountVaultFees, TAccountRecipient>, config?: {
731
+ programAddress?: TProgramAddress;
732
+ }): ClaimFeesInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountRecipient>;
733
+
734
+ /**
735
+ * Update Recipients Instruction
736
+ *
737
+ * Updates the fee recipient addresses for a vault's fee collection account.
738
+ */
739
+
740
+ declare const UPDATE_RECIPIENTS_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
741
+ declare function getUpdateRecipientsDiscriminatorBytes(): ReadonlyUint8Array;
742
+ type UpdateRecipientsInstruction<TProgram extends string = typeof FEE_COLLECTION_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountVaultFees extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
743
+ TAccountVault extends string ? ReadonlyAccount<TAccountVault> : TAccountVault,
744
+ TAccountVaultFees extends string ? WritableAccount<TAccountVaultFees> : TAccountVaultFees,
745
+ TAccountAuthority extends string ? ReadonlyAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
746
+ ...TRemainingAccounts
747
+ ]>;
748
+ type UpdateRecipientsInstructionData = {
749
+ discriminator: ReadonlyUint8Array;
750
+ recipients: FeeRecipients;
751
+ };
752
+ type UpdateRecipientsInstructionDataArgs = {
753
+ recipients: FeeRecipientsArgs;
754
+ };
755
+ declare function getUpdateRecipientsInstructionDataEncoder(): FixedSizeEncoder<UpdateRecipientsInstructionDataArgs>;
756
+ declare function getUpdateRecipientsInstructionDataDecoder(): FixedSizeDecoder<UpdateRecipientsInstructionData>;
757
+ declare function getUpdateRecipientsInstructionDataCodec(): FixedSizeCodec<UpdateRecipientsInstructionDataArgs, UpdateRecipientsInstructionData>;
758
+ type UpdateRecipientsAsyncInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountAuthority extends string = string> = {
759
+ vault: Address<TAccountVault>;
760
+ vaultFees?: Address<TAccountVaultFees>;
761
+ authority: TransactionSigner<TAccountAuthority>;
762
+ recipients: UpdateRecipientsInstructionDataArgs['recipients'];
763
+ };
764
+ declare function getUpdateRecipientsInstructionAsync<TAccountVault extends string, TAccountVaultFees extends string, TAccountAuthority extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: UpdateRecipientsAsyncInput<TAccountVault, TAccountVaultFees, TAccountAuthority>, config?: {
765
+ programAddress?: TProgramAddress;
766
+ }): Promise<UpdateRecipientsInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountAuthority>>;
767
+ type UpdateRecipientsInput<TAccountVault extends string = string, TAccountVaultFees extends string = string, TAccountAuthority extends string = string> = {
768
+ vault: Address<TAccountVault>;
769
+ vaultFees: Address<TAccountVaultFees>;
770
+ authority: TransactionSigner<TAccountAuthority>;
771
+ recipients: UpdateRecipientsInstructionDataArgs['recipients'];
772
+ };
773
+ declare function getUpdateRecipientsInstruction<TAccountVault extends string, TAccountVaultFees extends string, TAccountAuthority extends string, TProgramAddress extends Address = typeof FEE_COLLECTION_PROGRAM_ADDRESS>(input: UpdateRecipientsInput<TAccountVault, TAccountVaultFees, TAccountAuthority>, config?: {
774
+ programAddress?: TProgramAddress;
775
+ }): UpdateRecipientsInstruction<TProgramAddress, TAccountVault, TAccountVaultFees, TAccountAuthority>;
776
+
267
777
  declare const CREATE_TX_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
268
778
  declare function getCreateTxDiscriminatorBytes(): ReadonlyUint8Array;
269
779
  type CreateTxInstruction<TProgram extends string = typeof HYRO_PROTOCOL_PROGRAM_ADDRESS, TAccountVault extends string | AccountMeta<string> = string, TAccountTransaction extends string | AccountMeta<string> = string, TAccountPolicyAccount extends string | AccountMeta<string> = string, TAccountPolicyProgram extends string | AccountMeta<string> = string, TAccountVaultSigner extends string | AccountMeta<string> = string, TAccountSigner extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111', TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
@@ -413,10 +923,12 @@ type InitializeVaultInstructionData = {
413
923
  discriminator: ReadonlyUint8Array;
414
924
  seed: string;
415
925
  policyProgram: Address;
926
+ feeCollectionProgram: Address;
416
927
  };
417
928
  type InitializeVaultInstructionDataArgs = {
418
929
  seed: string;
419
930
  policyProgram: Address;
931
+ feeCollectionProgram: Address;
420
932
  };
421
933
  declare function getInitializeVaultInstructionDataEncoder(): Encoder<InitializeVaultInstructionDataArgs>;
422
934
  declare function getInitializeVaultInstructionDataDecoder(): Decoder<InitializeVaultInstructionData>;
@@ -435,6 +947,7 @@ type InitializeVaultAsyncInput<TAccountVault extends string = string, TAccountAu
435
947
  rent?: Address<TAccountRent>;
436
948
  seed: InitializeVaultInstructionDataArgs['seed'];
437
949
  policyProgram: InitializeVaultInstructionDataArgs['policyProgram'];
950
+ feeCollectionProgram: InitializeVaultInstructionDataArgs['feeCollectionProgram'];
438
951
  };
439
952
  declare function getInitializeVaultInstructionAsync<TAccountVault extends string, TAccountAuthority extends string, TAccountSigner extends string, TAccountSystemProgram extends string, TAccountShareSignerPda extends string, TAccountShareMint extends string, TAccountVaultTokenAccount extends string, TAccountAuthorityTokenAccount extends string, TAccountUnderlyingMint extends string, TAccountTokenProgram extends string, TAccountRent extends string, TProgramAddress extends Address = typeof HYRO_PROTOCOL_PROGRAM_ADDRESS>(input: InitializeVaultAsyncInput<TAccountVault, TAccountAuthority, TAccountSigner, TAccountSystemProgram, TAccountShareSignerPda, TAccountShareMint, TAccountVaultTokenAccount, TAccountAuthorityTokenAccount, TAccountUnderlyingMint, TAccountTokenProgram, TAccountRent>, config?: {
440
953
  programAddress?: TProgramAddress;
@@ -453,6 +966,7 @@ type InitializeVaultInput<TAccountVault extends string = string, TAccountAuthori
453
966
  rent?: Address<TAccountRent>;
454
967
  seed: InitializeVaultInstructionDataArgs['seed'];
455
968
  policyProgram: InitializeVaultInstructionDataArgs['policyProgram'];
969
+ feeCollectionProgram: InitializeVaultInstructionDataArgs['feeCollectionProgram'];
456
970
  };
457
971
  declare function getInitializeVaultInstruction<TAccountVault extends string, TAccountAuthority extends string, TAccountSigner extends string, TAccountSystemProgram extends string, TAccountShareSignerPda extends string, TAccountShareMint extends string, TAccountVaultTokenAccount extends string, TAccountAuthorityTokenAccount extends string, TAccountUnderlyingMint extends string, TAccountTokenProgram extends string, TAccountRent extends string, TProgramAddress extends Address = typeof HYRO_PROTOCOL_PROGRAM_ADDRESS>(input: InitializeVaultInput<TAccountVault, TAccountAuthority, TAccountSigner, TAccountSystemProgram, TAccountShareSignerPda, TAccountShareMint, TAccountVaultTokenAccount, TAccountAuthorityTokenAccount, TAccountUnderlyingMint, TAccountTokenProgram, TAccountRent>, config?: {
458
972
  programAddress?: TProgramAddress;
@@ -705,5 +1219,374 @@ declare function getShareMintPda(vault: ProgramDerivedAddress): Promise<ProgramD
705
1219
  */
706
1220
  declare function getVaultTokenAccountPda(vault: ProgramDerivedAddress, underlyingMint: Address): Promise<ProgramDerivedAddress>;
707
1221
  declare function getPolicyAccountPda(vault: ProgramDerivedAddress, policyprogram: Address): Promise<Address>;
1222
+ /**
1223
+ * Get Vault Fees PDA (Fee Collection v2)
1224
+ * @param vault - The vault address
1225
+ * @returns The vault fees PDA
1226
+ */
1227
+ declare function getVaultFeesPda(vault: Address): Promise<ProgramDerivedAddress>;
1228
+ /**
1229
+ * Get Fraction Config PDA (Fee Collection Fractions program)
1230
+ * @param vault - The vault address
1231
+ * @returns The fraction config PDA
1232
+ */
1233
+ declare function getFractionConfigPda(vault: Address): Promise<ProgramDerivedAddress>;
1234
+
1235
+ type RpcConfig = {
1236
+ commitment?: 'processed' | 'confirmed' | 'finalized';
1237
+ minContextSlot?: bigint;
1238
+ };
1239
+ type VaultFilter = {
1240
+ underlyingMint?: Address;
1241
+ policyProgram?: Address;
1242
+ manager?: Address;
1243
+ parentVault?: Address;
1244
+ /** Filter by fee collection program (v2) */
1245
+ feeCollectionProgram?: Address;
1246
+ };
1247
+ type VaultQueryResult = Account<Vault$1>[];
1248
+ type VaultFeesFilter = {
1249
+ /** Filter by vault address */
1250
+ vault?: Address;
1251
+ /** Filter by fee calculation program */
1252
+ feeCalcProgram?: Address;
1253
+ /** Filter by LP recipient */
1254
+ lpRecipient?: Address;
1255
+ /** Filter by manager recipient */
1256
+ managerRecipient?: Address;
1257
+ /** Filter by protocol recipient */
1258
+ protocolRecipient?: Address;
1259
+ /** Filter by performance recipient */
1260
+ performanceRecipient?: Address;
1261
+ };
1262
+ type VaultFeesQueryResult = Account<VaultFees>[];
1263
+
1264
+ declare const VAULT_ACCOUNT_OFFSETS: {
1265
+ readonly DISCRIMINATOR: 0;
1266
+ readonly POLICY_PROGRAM: 8;
1267
+ readonly FEE_COLLECTION_PROGRAM: 40;
1268
+ readonly SEED_LENGTH: 72;
1269
+ readonly SEED_DATA: 76;
1270
+ };
1271
+ declare const VAULT_FIELD_SIZES: {
1272
+ readonly DISCRIMINATOR: 8;
1273
+ readonly ADDRESS: 32;
1274
+ readonly U32: 4;
1275
+ readonly U64: 8;
1276
+ readonly U16: 2;
1277
+ readonly OPTION_TAG: 1;
1278
+ };
1279
+ declare const FIXED_OFFSET_FIELDS: {
1280
+ readonly DISCRIMINATOR: 0;
1281
+ readonly POLICY_PROGRAM: 8;
1282
+ readonly FEE_COLLECTION_PROGRAM: 40;
1283
+ };
1284
+ /**
1285
+ * VaultFees account structure:
1286
+ * - discriminator: 8 bytes
1287
+ * - vault: 32 bytes (Address)
1288
+ * - feeCalcProgram: 32 bytes (Address)
1289
+ * - recipients: 128 bytes (4 x Address = 4 x 32)
1290
+ * - lpRecipient: 32 bytes
1291
+ * - managerRecipient: 32 bytes
1292
+ * - protocolRecipient: 32 bytes
1293
+ * - performanceRecipient: 32 bytes
1294
+ * - unclaimed: 32 bytes (4 x u64 = 4 x 8)
1295
+ * - lp: 8 bytes
1296
+ * - manager: 8 bytes
1297
+ * - protocol: 8 bytes
1298
+ * - performance: 8 bytes
1299
+ * - totalCollected: 32 bytes (4 x u64)
1300
+ * - totalClaimed: 32 bytes (4 x u64)
1301
+ * - highWaterMark: 8 bytes (u64)
1302
+ * - lastUpdate: 8 bytes (i64)
1303
+ * - bump: 1 byte
1304
+ * Total: 313 bytes
1305
+ */
1306
+ declare const VAULT_FEES_ACCOUNT_OFFSETS: {
1307
+ readonly DISCRIMINATOR: 0;
1308
+ readonly VAULT: 8;
1309
+ readonly FEE_CALC_PROGRAM: 40;
1310
+ readonly RECIPIENTS: 72;
1311
+ readonly LP_RECIPIENT: 72;
1312
+ readonly MANAGER_RECIPIENT: 104;
1313
+ readonly PROTOCOL_RECIPIENT: 136;
1314
+ readonly PERFORMANCE_RECIPIENT: 168;
1315
+ readonly UNCLAIMED: 200;
1316
+ readonly UNCLAIMED_LP: 200;
1317
+ readonly UNCLAIMED_MANAGER: 208;
1318
+ readonly UNCLAIMED_PROTOCOL: 216;
1319
+ readonly UNCLAIMED_PERFORMANCE: 224;
1320
+ readonly TOTAL_COLLECTED: 232;
1321
+ readonly TOTAL_COLLECTED_LP: 232;
1322
+ readonly TOTAL_COLLECTED_MANAGER: 240;
1323
+ readonly TOTAL_COLLECTED_PROTOCOL: 248;
1324
+ readonly TOTAL_COLLECTED_PERFORMANCE: 256;
1325
+ readonly TOTAL_CLAIMED: 264;
1326
+ readonly TOTAL_CLAIMED_LP: 264;
1327
+ readonly TOTAL_CLAIMED_MANAGER: 272;
1328
+ readonly TOTAL_CLAIMED_PROTOCOL: 280;
1329
+ readonly TOTAL_CLAIMED_PERFORMANCE: 288;
1330
+ readonly HIGH_WATER_MARK: 296;
1331
+ readonly LAST_UPDATE: 304;
1332
+ readonly BUMP: 312;
1333
+ };
1334
+ declare const VAULT_FEES_FIELD_SIZES: {
1335
+ readonly DISCRIMINATOR: 8;
1336
+ readonly VAULT: 32;
1337
+ readonly FEE_CALC_PROGRAM: 32;
1338
+ readonly RECIPIENTS: 128;
1339
+ readonly UNCLAIMED: 32;
1340
+ readonly TOTAL_COLLECTED: 32;
1341
+ readonly TOTAL_CLAIMED: 32;
1342
+ readonly HIGH_WATER_MARK: 8;
1343
+ readonly LAST_UPDATE: 8;
1344
+ readonly BUMP: 1;
1345
+ };
1346
+ declare const VAULT_FEES_ACCOUNT_SIZE = 313;
1347
+
1348
+ type VaultRpcInterface = Rpc<GetProgramAccountsApi & GetMultipleAccountsApi>;
1349
+ declare function findVaultsByUnderlyingMint(rpc: VaultRpcInterface, underlyingMint: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1350
+ declare function findVaultsByPolicyProgram(rpc: VaultRpcInterface, policyProgram: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1351
+ declare function findVaultsByPolicyAccount(rpc: VaultRpcInterface, policyAccount: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1352
+ declare function findAllVaults(rpc: VaultRpcInterface, config?: RpcConfig): Promise<VaultQueryResult>;
1353
+ declare function findVaultsByManager(rpc: VaultRpcInterface, manager: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1354
+ declare function findChildVaults(rpc: VaultRpcInterface, parentVault: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1355
+ declare function findVaultsBySeedPrefix(rpc: VaultRpcInterface, seedPrefix: string, config?: RpcConfig): Promise<VaultQueryResult>;
1356
+ /**
1357
+ * Find vaults by fee collection program (v2)
1358
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1359
+ */
1360
+ declare function findVaultsByFeeCollectionProgram(rpc: VaultRpcInterface, feeCollectionProgram: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1361
+ /**
1362
+ * Find vaults by policy program (v2)
1363
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1364
+ */
1365
+ declare function findVaultsByPolicyProgramV2(rpc: VaultRpcInterface, policyProgram: Address, config?: RpcConfig): Promise<VaultQueryResult>;
1366
+
1367
+ /**
1368
+ * VaultFees Query Functions (Fee Collection v2)
1369
+ *
1370
+ * Query and filter VaultFees accounts using memcmp filters
1371
+ */
1372
+
1373
+ type VaultFeesRpcInterface = Rpc<GetProgramAccountsApi & GetMultipleAccountsApi>;
1374
+ /**
1375
+ * Find all VaultFees accounts
1376
+ */
1377
+ declare function findAllVaultFees(rpc: VaultFeesRpcInterface, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1378
+ /**
1379
+ * Find VaultFees account by vault address
1380
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1381
+ */
1382
+ declare function findVaultFeesByVault(rpc: VaultFeesRpcInterface, vault: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1383
+ /**
1384
+ * Find VaultFees accounts by fee calculation program
1385
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1386
+ */
1387
+ declare function findVaultFeesByFeeCalcProgram(rpc: VaultFeesRpcInterface, feeCalcProgram: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1388
+ /**
1389
+ * Find VaultFees accounts by LP recipient
1390
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1391
+ */
1392
+ declare function findVaultFeesByLpRecipient(rpc: VaultFeesRpcInterface, lpRecipient: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1393
+ /**
1394
+ * Find VaultFees accounts by manager recipient
1395
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1396
+ */
1397
+ declare function findVaultFeesByManagerRecipient(rpc: VaultFeesRpcInterface, managerRecipient: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1398
+ /**
1399
+ * Find VaultFees accounts by protocol recipient
1400
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1401
+ */
1402
+ declare function findVaultFeesByProtocolRecipient(rpc: VaultFeesRpcInterface, protocolRecipient: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1403
+ /**
1404
+ * Find VaultFees accounts by performance recipient
1405
+ * Uses RPC-level memcmp filter for efficiency (fixed offset)
1406
+ */
1407
+ declare function findVaultFeesByPerformanceRecipient(rpc: VaultFeesRpcInterface, performanceRecipient: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1408
+ /**
1409
+ * Find VaultFees accounts by any recipient address
1410
+ * Searches all recipient fields (LP, manager, protocol, performance)
1411
+ */
1412
+ declare function findVaultFeesByAnyRecipient(rpc: VaultFeesRpcInterface, recipient: Address, config?: RpcConfig): Promise<VaultFeesQueryResult>;
1413
+
1414
+ declare function encodeBase58(bytes: Uint8Array | ReadonlyArray<number>): string;
1415
+
1416
+ type MemcmpFilter = {
1417
+ memcmp: {
1418
+ offset: bigint;
1419
+ bytes: string;
1420
+ encoding: 'base58';
1421
+ };
1422
+ };
1423
+ declare function createMemcmpFilter(offset: number, bytes: Uint8Array | ReadonlyArray<number>): MemcmpFilter;
1424
+ declare function createDiscriminatorFilter(discriminator: Uint8Array): MemcmpFilter;
1425
+ declare function createAddressFilter(offset: number, address: Address): MemcmpFilter;
1426
+ declare function createU8Filter(offset: number, value: number): MemcmpFilter;
1427
+ declare function createU16Filter(offset: number, value: number): MemcmpFilter;
1428
+ declare function createU32Filter(offset: number, value: number): MemcmpFilter;
1429
+ declare function createU64Filter(offset: number, value: number | bigint): MemcmpFilter;
1430
+ declare function createPartialBytesFilter(offset: number, bytes: Uint8Array | ReadonlyArray<number>, length?: number): MemcmpFilter;
1431
+
1432
+ declare function fetchProgramAccountAddresses(rpc: Rpc<GetProgramAccountsApi>, programAddress: Address, filters: MemcmpFilter[], config?: RpcConfig): Promise<Address[]>;
1433
+ declare function fetchProgramAccountsWithData(rpc: Rpc<GetProgramAccountsApi>, programAddress: Address, filters: MemcmpFilter[], config?: RpcConfig): Promise<Array<{
1434
+ pubkey: Address;
1435
+ data: Uint8Array;
1436
+ }>>;
1437
+
1438
+ declare function getSeedLength(data: Uint8Array): number | null;
1439
+ declare function getAuthorityOffset(seedLength: number): number;
1440
+ declare function getShareMintOffset(seedLength: number): number;
1441
+ declare function getUnderlyingMintOffset(seedLength: number): number;
1442
+ declare function getManagerOffset(seedLength: number): number;
1443
+ declare function getParentVaultOffset(seedLength: number, managerExists: boolean): number;
1444
+ declare function readOptionAddress(data: Uint8Array, offset: number): Uint8Array | null | undefined;
1445
+ declare function isOptionSome(data: Uint8Array, offset: number): boolean | undefined;
1446
+ /**
1447
+ * Get the vault address offset in VaultFees account (offset: 8)
1448
+ */
1449
+ declare function getVaultFeesVaultOffset(): number;
1450
+ /**
1451
+ * Get the fee calc program offset in VaultFees account (offset: 40)
1452
+ */
1453
+ declare function getVaultFeesFeeCalcProgramOffset(): number;
1454
+ /**
1455
+ * Get the LP recipient offset in VaultFees account (offset: 72)
1456
+ */
1457
+ declare function getVaultFeesLpRecipientOffset(): number;
1458
+ /**
1459
+ * Get the manager recipient offset in VaultFees account (offset: 104)
1460
+ */
1461
+ declare function getVaultFeesManagerRecipientOffset(): number;
1462
+ /**
1463
+ * Get the protocol recipient offset in VaultFees account (offset: 136)
1464
+ */
1465
+ declare function getVaultFeesProtocolRecipientOffset(): number;
1466
+ /**
1467
+ * Get the performance recipient offset in VaultFees account (offset: 168)
1468
+ */
1469
+ declare function getVaultFeesPerformanceRecipientOffset(): number;
1470
+ /**
1471
+ * Get the unclaimed LP fees offset in VaultFees account (offset: 200)
1472
+ */
1473
+ declare function getVaultFeesUnclaimedLpOffset(): number;
1474
+ /**
1475
+ * Get the unclaimed manager fees offset in VaultFees account (offset: 208)
1476
+ */
1477
+ declare function getVaultFeesUnclaimedManagerOffset(): number;
1478
+ /**
1479
+ * Get the unclaimed protocol fees offset in VaultFees account (offset: 216)
1480
+ */
1481
+ declare function getVaultFeesUnclaimedProtocolOffset(): number;
1482
+ /**
1483
+ * Get the unclaimed performance fees offset in VaultFees account (offset: 224)
1484
+ */
1485
+ declare function getVaultFeesUnclaimedPerformanceOffset(): number;
1486
+ /**
1487
+ * Get the total collected offset in VaultFees account (offset: 232)
1488
+ */
1489
+ declare function getVaultFeesTotalCollectedOffset(): number;
1490
+ /**
1491
+ * Get the high water mark offset in VaultFees account (offset: 296)
1492
+ */
1493
+ declare function getVaultFeesHighWaterMarkOffset(): number;
1494
+ /**
1495
+ * Get the last update offset in VaultFees account (offset: 304)
1496
+ */
1497
+ declare function getVaultFeesLastUpdateOffset(): number;
1498
+ /**
1499
+ * Read a u64 value from VaultFees account data
1500
+ */
1501
+ declare function readVaultFeesU64(data: Uint8Array, offset: number): bigint | null;
1502
+ /**
1503
+ * Read an address from VaultFees account data
1504
+ */
1505
+ declare function readVaultFeesAddress(data: Uint8Array, offset: number): Uint8Array | null;
1506
+
1507
+ type AccountWithData = {
1508
+ pubkey: Address;
1509
+ data: Uint8Array;
1510
+ };
1511
+ declare function filterByUnderlyingMintMemcmp(accounts: AccountWithData[], underlyingMint: Address): Address[];
1512
+ declare function filterByManagerMemcmp(accounts: AccountWithData[], manager: Address): Address[];
1513
+ declare function filterByParentVaultMemcmp(accounts: AccountWithData[], parentVault: Address): Address[];
1514
+ declare function filterBySeedPrefixMemcmp(accounts: AccountWithData[], seedPrefix: string): Address[];
1515
+ declare function filterByMemcmp(accounts: AccountWithData[], offset: number, expectedBytes: Uint8Array): Address[];
1516
+ declare function filterByMemcmpDynamic(accounts: AccountWithData[], calculateOffset: (data: Uint8Array) => number | null, expectedBytes: Uint8Array): Address[];
1517
+ /**
1518
+ * Filter VaultFees accounts by vault address (offset: 8)
1519
+ */
1520
+ declare function filterVaultFeesByVaultMemcmp(accounts: AccountWithData[], vault: Address): Address[];
1521
+ /**
1522
+ * Filter VaultFees accounts by fee calculation program (offset: 40)
1523
+ */
1524
+ declare function filterVaultFeesByFeeCalcProgramMemcmp(accounts: AccountWithData[], feeCalcProgram: Address): Address[];
1525
+ /**
1526
+ * Filter VaultFees accounts by LP recipient (offset: 72)
1527
+ */
1528
+ declare function filterVaultFeesByLpRecipientMemcmp(accounts: AccountWithData[], lpRecipient: Address): Address[];
1529
+ /**
1530
+ * Filter VaultFees accounts by manager recipient (offset: 104)
1531
+ */
1532
+ declare function filterVaultFeesByManagerRecipientMemcmp(accounts: AccountWithData[], managerRecipient: Address): Address[];
1533
+ /**
1534
+ * Filter VaultFees accounts by protocol recipient (offset: 136)
1535
+ */
1536
+ declare function filterVaultFeesByProtocolRecipientMemcmp(accounts: AccountWithData[], protocolRecipient: Address): Address[];
1537
+ /**
1538
+ * Filter VaultFees accounts by performance recipient (offset: 168)
1539
+ */
1540
+ declare function filterVaultFeesByPerformanceRecipientMemcmp(accounts: AccountWithData[], performanceRecipient: Address): Address[];
1541
+ /**
1542
+ * Filter Vault accounts by fee collection program (fixed offset)
1543
+ */
1544
+ declare function filterByFeeCollectionProgramMemcmp(accounts: AccountWithData[], feeCollectionProgram: Address): Address[];
1545
+
1546
+ declare function isValidVault(vault: any): vault is Account<Vault$1>;
1547
+ declare function filterByUnderlyingMint(vaults: any[], underlyingMint: Address): Account<Vault$1>[];
1548
+ declare function filterByManager(vaults: any[], manager: Address): Account<Vault$1>[];
1549
+ declare function filterByParentVault(vaults: any[], parentVault: Address): Account<Vault$1>[];
1550
+ declare function filterBySeedPrefix(vaults: any[], seedPrefix: string): Account<Vault$1>[];
1551
+ declare function filterValidVaults(vaults: any[]): Account<Vault$1>[];
1552
+
1553
+ /**
1554
+ * VaultFees Helper Filters (Fee Collection v2)
1555
+ *
1556
+ * Client-side filtering helpers for VaultFees accounts
1557
+ */
1558
+
1559
+ declare function isValidVaultFees(vaultFees: any): vaultFees is Account<VaultFees>;
1560
+ declare function filterValidVaultFees(vaultFees: any[]): Account<VaultFees>[];
1561
+ declare function filterVaultFeesByVault(vaultFees: any[], vault: Address): Account<VaultFees>[];
1562
+ declare function filterVaultFeesByFeeCalcProgram(vaultFees: any[], feeCalcProgram: Address): Account<VaultFees>[];
1563
+ declare function filterVaultFeesByLpRecipient(vaultFees: any[], lpRecipient: Address): Account<VaultFees>[];
1564
+ declare function filterVaultFeesByManagerRecipient(vaultFees: any[], managerRecipient: Address): Account<VaultFees>[];
1565
+ declare function filterVaultFeesByProtocolRecipient(vaultFees: any[], protocolRecipient: Address): Account<VaultFees>[];
1566
+ declare function filterVaultFeesByPerformanceRecipient(vaultFees: any[], performanceRecipient: Address): Account<VaultFees>[];
1567
+ /**
1568
+ * Filter VaultFees by any recipient address
1569
+ */
1570
+ declare function filterVaultFeesByAnyRecipient(vaultFees: any[], recipient: Address): Account<VaultFees>[];
1571
+ /**
1572
+ * Filter VaultFees with unclaimed fees above threshold
1573
+ */
1574
+ declare function filterVaultFeesWithAccumulatedFees(vaultFees: any[], minTotalFees?: bigint): Account<VaultFees>[];
1575
+ /**
1576
+ * Filter VaultFees with claimable LP fees
1577
+ */
1578
+ declare function filterVaultFeesWithClaimableLpFees(vaultFees: any[], minAmount?: bigint): Account<VaultFees>[];
1579
+ /**
1580
+ * Filter VaultFees with claimable manager fees
1581
+ */
1582
+ declare function filterVaultFeesWithClaimableManagerFees(vaultFees: any[], minAmount?: bigint): Account<VaultFees>[];
1583
+ /**
1584
+ * Filter VaultFees with claimable protocol fees
1585
+ */
1586
+ declare function filterVaultFeesWithClaimableProtocolFees(vaultFees: any[], minAmount?: bigint): Account<VaultFees>[];
1587
+ /**
1588
+ * Filter VaultFees with claimable performance fees
1589
+ */
1590
+ declare function filterVaultFeesWithClaimablePerformanceFees(vaultFees: any[], minAmount?: bigint): Account<VaultFees>[];
708
1591
 
709
- export { APPROVE_DISCRIMINATOR, type ApproveInput, type ApproveInstruction, type ApproveInstructionData, type ApproveInstructionDataArgs, CREATE_TX_DISCRIMINATOR, type CreateTxAsyncInput, type CreateTxInput, type CreateTxInstruction, type CreateTxInstructionData, type CreateTxInstructionDataArgs, DROPPER_PROGRAM_ADDRESS, EXECUTE_TX_DISCRIMINATOR, type ExecuteTxAsyncInput, type ExecuteTxInput, type ExecuteTxInstruction, type ExecuteTxInstructionData, type ExecuteTxInstructionDataArgs, FeeCollectionFrequency, type FeeCollectionFrequencyArgs, HYRO_PROTOCOL_PROGRAM_ADDRESS, INITIALIZE_LIMIT_TRANSFER_DISCRIMINATOR, INITIALIZE_MULTISIG_DISCRIMINATOR, INITIALIZE_OWNERS_DISCRIMINATOR, INITIALIZE_VAULT_DISCRIMINATOR, type InitializeLimitTransferAsyncInput, type InitializeLimitTransferInput, type InitializeLimitTransferInstruction, type InitializeLimitTransferInstructionData, type InitializeLimitTransferInstructionDataArgs, type InitializeMultisigAsyncInput, type InitializeMultisigInput, type InitializeMultisigInstruction, type InitializeMultisigInstructionData, type InitializeMultisigInstructionDataArgs, type InitializeOwnersAsyncInput, type InitializeOwnersInput, type InitializeOwnersInstruction, type InitializeOwnersInstructionData, type InitializeOwnersInstructionDataArgs, type InitializeVaultAsyncInput, type InitializeVaultInput, type InitializeVaultInstruction, type InitializeVaultInstructionData, type InitializeVaultInstructionDataArgs, type ManagerFeeStructure, type ManagerFeeStructureArgs, POLICY_ALLOW_ANY_PROGRAM_ADDRESS, POLICY_CHALLENGES_PROGRAM_ADDRESS, POLICY_DENY_ALL_PROGRAM_ADDRESS, POLICY_LIMIT_TRANSFER_PROGRAM_ADDRESS, POLICY_MULTISIG_PROGRAM_ADDRESS, POLICY_OWNERS_PROGRAM_ADDRESS, type ParsedApproveInstruction, type ParsedCreateTxInstruction, type ParsedExecuteTxInstruction, type ParsedInitializeLimitTransferInstruction, type ParsedInitializeMultisigInstruction, type ParsedInitializeOwnersInstruction, type ParsedInitializeVaultInstruction, type ParsedTransferLamportsInstruction, Policy, TRANSFER_LAMPORTS_DISCRIMINATOR, type TransactionAccount, type TransactionAccountArgs, type TransferLamportsInput, type TransferLamportsInstruction, type TransferLamportsInstructionData, type TransferLamportsInstructionDataArgs, Vault, getApproveDiscriminatorBytes, getApproveInstruction, getApproveInstructionDataCodec, getApproveInstructionDataDecoder, getApproveInstructionDataEncoder, getCreateTxDiscriminatorBytes, getCreateTxInstruction, getCreateTxInstructionAsync, getCreateTxInstructionDataCodec, getCreateTxInstructionDataDecoder, getCreateTxInstructionDataEncoder, getExecuteTxDiscriminatorBytes, getExecuteTxInstruction, getExecuteTxInstructionAsync, getExecuteTxInstructionDataCodec, getExecuteTxInstructionDataDecoder, getExecuteTxInstructionDataEncoder, getFeeCollectionFrequencyCodec, getFeeCollectionFrequencyDecoder, getFeeCollectionFrequencyEncoder, getInitializeLimitTransferDiscriminatorBytes, getInitializeLimitTransferInstruction, getInitializeLimitTransferInstructionAsync, getInitializeLimitTransferInstructionDataCodec, getInitializeLimitTransferInstructionDataDecoder, getInitializeLimitTransferInstructionDataEncoder, getInitializeMultisigDiscriminatorBytes, getInitializeMultisigInstruction, getInitializeMultisigInstructionAsync, getInitializeMultisigInstructionDataCodec, getInitializeMultisigInstructionDataDecoder, getInitializeMultisigInstructionDataEncoder, getInitializeOwnersDiscriminatorBytes, getInitializeOwnersInstruction, getInitializeOwnersInstructionAsync, getInitializeOwnersInstructionDataCodec, getInitializeOwnersInstructionDataDecoder, getInitializeOwnersInstructionDataEncoder, getInitializeVaultDiscriminatorBytes, getInitializeVaultInstruction, getInitializeVaultInstructionAsync, getInitializeVaultInstructionDataCodec, getInitializeVaultInstructionDataDecoder, getInitializeVaultInstructionDataEncoder, getManagerFeeStructureCodec, getManagerFeeStructureDecoder, getManagerFeeStructureEncoder, getPolicyAccountPda, getShareMintPda, getShareSignerPda, getTransactionAccountCodec, getTransactionAccountDecoder, getTransactionAccountEncoder, getTransactionPda, getTransferLamportsDiscriminatorBytes, getTransferLamportsInstruction, getTransferLamportsInstructionDataCodec, getTransferLamportsInstructionDataDecoder, getTransferLamportsInstructionDataEncoder, getVaultPda, getVaultTokenAccountPda, parseApproveInstruction, parseCreateTxInstruction, parseExecuteTxInstruction, parseInitializeLimitTransferInstruction, parseInitializeMultisigInstruction, parseInitializeOwnersInstruction, parseInitializeVaultInstruction, parseTransferLamportsInstruction };
1592
+ export { APPROVE_DISCRIMINATOR, type AccountWithData, type ApproveInput, type ApproveInstruction, type ApproveInstructionData, type ApproveInstructionDataArgs, CHARGE_FEES_CPI_DISCRIMINATOR, CLAIM_FEES_DISCRIMINATOR, CREATE_TX_DISCRIMINATOR, type ChargeFeesCpiAsyncInput, type ChargeFeesCpiInput, type ChargeFeesCpiInstruction, type ChargeFeesCpiInstructionData, type ChargeFeesCpiInstructionDataArgs, type ClaimFeesAsyncInput, type ClaimFeesInput, type ClaimFeesInstruction, type ClaimFeesInstructionData, type ClaimFeesInstructionDataArgs, type CreateTxAsyncInput, type CreateTxInput, type CreateTxInstruction, type CreateTxInstructionData, type CreateTxInstructionDataArgs, DROPPER_PROGRAM_ADDRESS, EXECUTE_TX_DISCRIMINATOR, type ExecuteTxAsyncInput, type ExecuteTxInput, type ExecuteTxInstruction, type ExecuteTxInstructionData, type ExecuteTxInstructionDataArgs, FEE_COLLECTION_ALL_IN_ONE_PROGRAM_ADDRESS, FEE_COLLECTION_FRACTIONS_PROGRAM_ADDRESS, FEE_COLLECTION_PROGRAM_ADDRESS, FEE_COLLECTION_TIME_BASED_PROGRAM_ADDRESS, FIXED_OFFSET_FIELDS, type FeeAmounts, type FeeAmountsArgs, FeeCalcProgram, FeeCollectionFrequency, type FeeCollectionFrequencyArgs, type FeeCollectionV2Config, type FeeConfig, type FeeConfigArgs, FeeOperation, type FeeOperationArgs, type FeeRecipients, type FeeRecipientsArgs, FeeType, type FeeTypeArgs, type FractionFeeConfig, type FractionFeeConfigArgs, HYRO_PROTOCOL_PROGRAM_ADDRESS, INITIALIZE_DISCRIMINATOR, INITIALIZE_FRACTION_CONFIG_DISCRIMINATOR, INITIALIZE_LIMIT_TRANSFER_DISCRIMINATOR, INITIALIZE_MULTISIG_DISCRIMINATOR, INITIALIZE_OWNERS_DISCRIMINATOR, INITIALIZE_V2_DISCRIMINATOR, INITIALIZE_VAULT_DISCRIMINATOR, type InitializeAsyncInput, type InitializeFractionConfigAsyncInput, type InitializeFractionConfigInput, type InitializeFractionConfigInstruction, type InitializeFractionConfigInstructionData, type InitializeFractionConfigInstructionDataArgs, type InitializeInput, type InitializeInstruction, type InitializeInstructionData, type InitializeInstructionDataArgs, type InitializeLimitTransferAsyncInput, type InitializeLimitTransferInput, type InitializeLimitTransferInstruction, type InitializeLimitTransferInstructionData, type InitializeLimitTransferInstructionDataArgs, type InitializeMultisigAsyncInput, type InitializeMultisigInput, type InitializeMultisigInstruction, type InitializeMultisigInstructionData, type InitializeMultisigInstructionDataArgs, type InitializeOwnersAsyncInput, type InitializeOwnersInput, type InitializeOwnersInstruction, type InitializeOwnersInstructionData, type InitializeOwnersInstructionDataArgs, type InitializeV2AsyncInput, type InitializeV2Input, type InitializeV2Instruction, type InitializeV2InstructionData, type InitializeV2InstructionDataArgs, type InitializeVaultAsyncInput, type InitializeVaultInput, type InitializeVaultInstruction, type InitializeVaultInstructionData, type InitializeVaultInstructionDataArgs, type ManagerFeeStructure, type ManagerFeeStructureArgs, type MemcmpFilter, POLICY_ALLOW_ANY_PROGRAM_ADDRESS, POLICY_CHALLENGES_PROGRAM_ADDRESS, POLICY_DENY_ALL_PROGRAM_ADDRESS, POLICY_LIMIT_TRANSFER_PROGRAM_ADDRESS, POLICY_MULTISIG_PROGRAM_ADDRESS, POLICY_OWNERS_PROGRAM_ADDRESS, type ParsedApproveInstruction, type ParsedCreateTxInstruction, type ParsedExecuteTxInstruction, type ParsedInitializeInstruction, type ParsedInitializeLimitTransferInstruction, type ParsedInitializeMultisigInstruction, type ParsedInitializeOwnersInstruction, type ParsedInitializeVaultInstruction, type ParsedTransferLamportsInstruction, Policy, type RpcConfig, TRANSFER_LAMPORTS_DISCRIMINATOR, type TransactionAccount, type TransactionAccountArgs, type TransferLamportsInput, type TransferLamportsInstruction, type TransferLamportsInstructionData, type TransferLamportsInstructionDataArgs, UPDATE_RECIPIENTS_DISCRIMINATOR, type UpdateRecipientsAsyncInput, type UpdateRecipientsInput, type UpdateRecipientsInstruction, type UpdateRecipientsInstructionData, type UpdateRecipientsInstructionDataArgs, VAULT_ACCOUNT_OFFSETS, VAULT_FEES_ACCOUNT_OFFSETS, VAULT_FEES_ACCOUNT_SIZE, VAULT_FEES_FIELD_SIZES, VAULT_FIELD_SIZES, Vault, type VaultFeesFilter, type VaultFeesQueryResult, type VaultFilter, type VaultQueryResult, createAddressFilter, createDiscriminatorFilter, createMemcmpFilter, createPartialBytesFilter, createU16Filter, createU32Filter, createU64Filter, createU8Filter, encodeBase58, fetchProgramAccountAddresses, fetchProgramAccountsWithData, filterByFeeCollectionProgramMemcmp, filterByManager, filterByManagerMemcmp, filterByMemcmp, filterByMemcmpDynamic, filterByParentVault, filterByParentVaultMemcmp, filterBySeedPrefix, filterBySeedPrefixMemcmp, filterByUnderlyingMint, filterByUnderlyingMintMemcmp, filterValidVaultFees, filterValidVaults, filterVaultFeesByAnyRecipient, filterVaultFeesByFeeCalcProgram, filterVaultFeesByFeeCalcProgramMemcmp, filterVaultFeesByLpRecipient, filterVaultFeesByLpRecipientMemcmp, filterVaultFeesByManagerRecipient, filterVaultFeesByManagerRecipientMemcmp, filterVaultFeesByPerformanceRecipient, filterVaultFeesByPerformanceRecipientMemcmp, filterVaultFeesByProtocolRecipient, filterVaultFeesByProtocolRecipientMemcmp, filterVaultFeesByVault, filterVaultFeesByVaultMemcmp, filterVaultFeesWithAccumulatedFees, filterVaultFeesWithClaimableLpFees, filterVaultFeesWithClaimableManagerFees, filterVaultFeesWithClaimablePerformanceFees, filterVaultFeesWithClaimableProtocolFees, findAllVaultFees, findAllVaults, findChildVaults, findVaultFeesByAnyRecipient, findVaultFeesByFeeCalcProgram, findVaultFeesByLpRecipient, findVaultFeesByManagerRecipient, findVaultFeesByPerformanceRecipient, findVaultFeesByProtocolRecipient, findVaultFeesByVault, findVaultsByFeeCollectionProgram, findVaultsByManager, findVaultsByPolicyAccount, findVaultsByPolicyProgram, findVaultsByPolicyProgramV2, findVaultsBySeedPrefix, findVaultsByUnderlyingMint, getApproveDiscriminatorBytes, getApproveInstruction, getApproveInstructionDataCodec, getApproveInstructionDataDecoder, getApproveInstructionDataEncoder, getAuthorityOffset, getChargeFeesCpiDiscriminatorBytes, getChargeFeesCpiInstruction, getChargeFeesCpiInstructionAsync, getChargeFeesCpiInstructionDataCodec, getChargeFeesCpiInstructionDataDecoder, getChargeFeesCpiInstructionDataEncoder, getClaimFeesDiscriminatorBytes, getClaimFeesInstruction, getClaimFeesInstructionAsync, getClaimFeesInstructionDataCodec, getClaimFeesInstructionDataDecoder, getClaimFeesInstructionDataEncoder, getCreateTxDiscriminatorBytes, getCreateTxInstruction, getCreateTxInstructionAsync, getCreateTxInstructionDataCodec, getCreateTxInstructionDataDecoder, getCreateTxInstructionDataEncoder, getExecuteTxDiscriminatorBytes, getExecuteTxInstruction, getExecuteTxInstructionAsync, getExecuteTxInstructionDataCodec, getExecuteTxInstructionDataDecoder, getExecuteTxInstructionDataEncoder, getFeeAmountsCodec, getFeeAmountsDecoder, getFeeAmountsEncoder, getFeeCollectionFrequencyCodec, getFeeCollectionFrequencyDecoder, getFeeCollectionFrequencyEncoder, getFeeConfigCodec, getFeeConfigDecoder, getFeeConfigEncoder, getFeeOperationCodec, getFeeOperationDecoder, getFeeOperationEncoder, getFeeRecipientsCodec, getFeeRecipientsDecoder, getFeeRecipientsEncoder, getFeeTypeCodec, getFeeTypeDecoder, getFeeTypeEncoder, getFractionConfigPda, getFractionFeeConfigCodec, getFractionFeeConfigDecoder, getFractionFeeConfigEncoder, getInitializeDiscriminatorBytes, getInitializeFractionConfigDiscriminatorBytes, getInitializeFractionConfigInstruction, getInitializeFractionConfigInstructionAsync, getInitializeFractionConfigInstructionDataCodec, getInitializeFractionConfigInstructionDataDecoder, getInitializeFractionConfigInstructionDataEncoder, getInitializeInstruction, getInitializeInstructionAsync, getInitializeInstructionDataCodec, getInitializeInstructionDataDecoder, getInitializeInstructionDataEncoder, getInitializeLimitTransferDiscriminatorBytes, getInitializeLimitTransferInstruction, getInitializeLimitTransferInstructionAsync, getInitializeLimitTransferInstructionDataCodec, getInitializeLimitTransferInstructionDataDecoder, getInitializeLimitTransferInstructionDataEncoder, getInitializeMultisigDiscriminatorBytes, getInitializeMultisigInstruction, getInitializeMultisigInstructionAsync, getInitializeMultisigInstructionDataCodec, getInitializeMultisigInstructionDataDecoder, getInitializeMultisigInstructionDataEncoder, getInitializeOwnersDiscriminatorBytes, getInitializeOwnersInstruction, getInitializeOwnersInstructionAsync, getInitializeOwnersInstructionDataCodec, getInitializeOwnersInstructionDataDecoder, getInitializeOwnersInstructionDataEncoder, getInitializeV2DiscriminatorBytes, getInitializeV2Instruction, getInitializeV2InstructionAsync, getInitializeV2InstructionDataCodec, getInitializeV2InstructionDataDecoder, getInitializeV2InstructionDataEncoder, getInitializeVaultDiscriminatorBytes, getInitializeVaultInstruction, getInitializeVaultInstructionAsync, getInitializeVaultInstructionDataCodec, getInitializeVaultInstructionDataDecoder, getInitializeVaultInstructionDataEncoder, getManagerFeeStructureCodec, getManagerFeeStructureDecoder, getManagerFeeStructureEncoder, getManagerOffset, getParentVaultOffset, getPolicyAccountPda, getSeedLength, getShareMintOffset, getShareMintPda, getShareSignerPda, getTransactionAccountCodec, getTransactionAccountDecoder, getTransactionAccountEncoder, getTransactionPda, getTransferLamportsDiscriminatorBytes, getTransferLamportsInstruction, getTransferLamportsInstructionDataCodec, getTransferLamportsInstructionDataDecoder, getTransferLamportsInstructionDataEncoder, getUnderlyingMintOffset, getUpdateRecipientsDiscriminatorBytes, getUpdateRecipientsInstruction, getUpdateRecipientsInstructionAsync, getUpdateRecipientsInstructionDataCodec, getUpdateRecipientsInstructionDataDecoder, getUpdateRecipientsInstructionDataEncoder, getVaultFeesFeeCalcProgramOffset, getVaultFeesHighWaterMarkOffset, getVaultFeesLastUpdateOffset, getVaultFeesLpRecipientOffset, getVaultFeesManagerRecipientOffset, getVaultFeesPda, getVaultFeesPerformanceRecipientOffset, getVaultFeesProtocolRecipientOffset, getVaultFeesTotalCollectedOffset, getVaultFeesUnclaimedLpOffset, getVaultFeesUnclaimedManagerOffset, getVaultFeesUnclaimedPerformanceOffset, getVaultFeesUnclaimedProtocolOffset, getVaultFeesVaultOffset, getVaultPda, getVaultTokenAccountPda, isOptionSome, isValidVault, isValidVaultFees, parseApproveInstruction, parseCreateTxInstruction, parseExecuteTxInstruction, parseInitializeInstruction, parseInitializeLimitTransferInstruction, parseInitializeMultisigInstruction, parseInitializeOwnersInstruction, parseInitializeVaultInstruction, parseTransferLamportsInstruction, readOptionAddress, readVaultFeesAddress, readVaultFeesU64 };