@byzantine/vault-sdk
Version:
Byzantine Vault SDK for creating and managing vaults on Ethereum for restaking strategies
44 lines (43 loc) • 2.04 kB
TypeScript
import { ethers } from "ethers";
/**
* Get the deposit limit of the vault
* @param vaultContract - The vault contract instance
* @returns The deposit limit value
*/
export declare function getVaultDepositLimit(vaultContract: ethers.Contract): Promise<bigint>;
/**
* Check if the vault has a deposit limit enabled
* @param vaultContract - The vault contract instance
* @returns True if the vault has a deposit limit
*/
export declare function isDepositLimitEnabled(vaultContract: ethers.Contract): Promise<boolean>;
/**
* Check if an address is the limit manager
* @param vaultContract - The vault contract instance
* @param address - Address to check
* @returns True if the address is the limit manager
*/
/**
* Set the deposit limit for the vault
* @param signer - Ethereum signer (must be the limit manager)
* @param vaultContract - The vault contract connected to signer
* @param limit - New deposit limit value
* @returns Transaction response
*/
export declare function setVaultDepositLimit(signer: ethers.Signer, vaultContract: ethers.Contract, limit: bigint): Promise<ethers.TransactionResponse>;
/**
* Enable or disable deposit limits for the vault
* @param signer - Ethereum signer (must be the limit manager)
* @param vaultContract - The vault contract connected to signer
* @param enabled - Whether deposit limits should be enabled (true) or disabled (false)
* @returns Transaction response
*/
export declare function setDepositLimitStatus(signer: ethers.Signer, vaultContract: ethers.Contract, enabled: boolean): Promise<ethers.TransactionResponse>;
/**
* Transfer the limit 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 limit manager
* @returns Transaction response
*/
export declare function transferLimitManagerRole(signer: ethers.Signer, vaultContract: ethers.Contract, newManagerAddress: string): Promise<ethers.TransactionResponse>;