@byzantine/vault-sdk
Version:
Byzantine Vault SDK for creating and managing vaults on Ethereum for restaking strategies
45 lines (44 loc) • 1.71 kB
TypeScript
import { ethers } from "ethers";
export declare class EigenLayerClient {
private provider;
private signer?;
private vaultTypeClient;
private vaultCache;
constructor(provider: ethers.Provider, signer?: ethers.Signer);
/**
* Get the SuperVault contract instance
* @param vaultAddress The address of the SuperVault
* @returns The SuperVault contract instance
*/
private getSuperVaultContract;
/**
* Get the vault contract instance
* @param vaultAddress The address of the vault or SuperVault
* @returns The vault contract instance
*/
private getVaultContract;
/**
* Clear the cache for a specific vault or all vaults
* @param vaultAddress Optional address of the vault to clear from cache
*/
clearCache(vaultAddress?: string): void;
/**
* Get the Eigen Operator of a vault
* @param vaultAddress The address of the vault
* @returns The Eigen Operator
*/
getEigenOperator(vaultAddress: string): Promise<string>;
/**
* Set the Eigen Operator of a vault
* @param vaultAddress The address of the vault
* @param operator The new Eigen Operator
* @param approverSignatureAndExpiry The signature and expiry for the approver
* @param approverSalt The salt for the approver
* @param options Optional transaction parameters like gas limit, gas price, etc.
* @returns Transaction response
*/
setEigenOperator(vaultAddress: string, operator: string, approverSignatureAndExpiry: {
signature: string;
expiry: number;
}, approverSalt: string, options?: Partial<ethers.TransactionRequest>): Promise<ethers.TransactionResponse>;
}