@byzantine/vault-sdk
Version:
Byzantine Vault SDK for creating and managing vaults on Ethereum for restaking strategies
44 lines (43 loc) • 2.01 kB
TypeScript
import { ethers } from "ethers";
/**
* Get the current fee percentage of the vault
* @param vaultContract - The vault contract instance
* @returns The current fee percentage (in basis points, e.g. 100 = 1%)
*/
export declare function getCuratorFee(vaultContract: ethers.Contract): Promise<bigint>;
/**
* Check if an address is the fee manager
* @param vaultContract - The vault contract instance
* @param address - Address to check
* @returns True if the address is the fee manager
*/
export declare function isFeeManager(vaultContract: ethers.Contract, address: string): Promise<boolean>;
/**
* Get the available unclaimed fees for the vault
* @param vaultContract - The vault contract instance
* @returns The amount of unclaimed fees
*/
export declare function getUnclaimedFees(vaultContract: ethers.Contract): Promise<bigint>;
/**
* Set the fee percentage for the vault
* @param signer - Ethereum signer (must be the fee manager)
* @param vaultContract - The vault contract connected to signer
* @param newFee - New fee (in basis points, e.g. 100 = 1%)
* @returns Transaction response
*/
export declare function setVaultFeePercentage(vaultContract: ethers.Contract, newFee: bigint): Promise<ethers.TransactionResponse>;
/**
* Claim the accumulated fees from the vault
* @param signer - Ethereum signer (must be the fee claimer)
* @param vaultContract - The vault contract connected to signer
* @returns Transaction response
*/
export declare function claimVaultFees(vaultContract: ethers.Contract): Promise<ethers.TransactionResponse>;
/**
* Transfer the fee manager role to a new address
* @param signer - Ethereum signer (must be the role admin)
* @param vaultContract - The vault contract connected to signer
* @param newManagerAddress - Address of the new fee manager
* @returns Transaction response
*/
export declare function transferFeeManagerRole(signer: ethers.Signer, vaultContract: ethers.Contract, newManagerAddress: string): Promise<ethers.TransactionResponse>;