@lidofinance/lido-ethereum-sdk
Version:
<div style="display: flex;" align="center"> <h1 align="center">Lido Ethereum SDK</h1> </div>
1,449 lines • 654 kB
TypeScript
import type { Address, GetContractReturnType, WalletClient } from 'viem';
import { CommonTransactionProps, PopulatedTransaction, TransactionResult } from '../core/types.js';
import { BusModule } from './bus-module.js';
import { BurnProps, BurnSharesProps, FundPros, GetLatestVaultReportProps, GetVaultRoleMembersProps, LidoSDKVaultsModuleProps, MintProps, MintSharesProps, PopulateProps, SetRolesProps, VaultSubmitReportProps, WithdrawProps } from './types.js';
import { EncodableContract } from '../common/index.js';
import { DashboardAbi, StakingVaultAbi } from './abi/index.js';
import { OverviewArgs, GetVaultOverviewDataProps, VaultOverviewData } from './utils/overview/types.js';
import { CalculateHealthArgs } from './utils/overview/calculate-health.js';
type LidoSDKVaultEntityProps = LidoSDKVaultsModuleProps & {
dashboardAddress?: Address;
vaultAddress: Address;
skipDashboardCheck?: boolean;
};
export declare class LidoSDKVaultEntity extends BusModule {
private dashboardAddress?;
private readonly vaultAddress;
private readonly skipDashboardCheck;
constructor(props: LidoSDKVaultEntityProps);
private parseProps;
getVaultContract(): Promise<EncodableContract<GetContractReturnType<typeof StakingVaultAbi, WalletClient>>>;
getDashboardContract(): Promise<EncodableContract<GetContractReturnType<typeof DashboardAbi, WalletClient>>>;
getVaultAddress(): Address;
getDashboardAddress(): Promise<Address>;
fund(props: FundPros): Promise<TransactionResult>;
fundPopulateTx(props: FundPros): Promise<PopulatedTransaction>;
fundSimulateTx(props: FundPros): Promise<import("viem").SimulateContractReturnType<readonly [{
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_stETH";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_wstETH";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_vaultHub";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_lidoLocator";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "constructor";
}, {
readonly inputs: readonly [];
readonly name: "AbnormallyHighFee";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "AccessControlBadConfirmation";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "bytes32";
readonly name: "neededRole";
readonly type: "bytes32";
}];
readonly name: "AccessControlUnauthorizedAccount";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "AlreadyInitialized";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ConfirmExpiryOutOfBounds";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ConnectedToVaultHub";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "CorrectionAfterReport";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "DashboardNotAllowed";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "EthTransferFailed";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "requestedShares";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "remainingShares";
readonly type: "uint256";
}];
readonly name: "ExceedsMintingCapacity";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "withdrawableValue";
readonly type: "uint256";
}];
readonly name: "ExceedsWithdrawable";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "FeeValueExceed100Percent";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ForbiddenByPDGPolicy";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InsufficientBalance";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "PDGPolicyAlreadyActive";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ReportStale";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "RoleRenouncementDisabled";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint8";
readonly name: "bits";
readonly type: "uint8";
}, {
readonly internalType: "int256";
readonly name: "value";
readonly type: "int256";
}];
readonly name: "SafeCastOverflowedIntDowncast";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "SafeERC20FailedOperation";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "SameRecipient";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "SameSettledGrowth";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "SenderNotMember";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "SettleGrowthIsNotSet";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "TierChangeNotConfirmed";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "UnexpectedFeeExemptionAmount";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "UnexpectedSettledGrowth";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ZeroAddress";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ZeroArgument";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ZeroConfirmingRoles";
readonly type: "error";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "to";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "assetAddress";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "AssetsRecovered";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "oldConfirmExpiry";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "newConfirmExpiry";
readonly type: "uint256";
}];
readonly name: "ConfirmExpirySet";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly name: "CorrectionTimestampUpdated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "fee";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "recipient";
readonly type: "address";
}];
readonly name: "FeeDisbursed";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "oldFeeRate";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "newFeeRate";
readonly type: "uint256";
}];
readonly name: "FeeRateSet";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldFeeRecipient";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newFeeRecipient";
readonly type: "address";
}];
readonly name: "FeeRecipientSet";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [];
readonly name: "Initialized";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "enum Dashboard.PDGPolicy";
readonly name: "pdgPolicy";
readonly type: "uint8";
}];
readonly name: "PDGPolicyEnacted";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "previousAdminRole";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "newAdminRole";
readonly type: "bytes32";
}];
readonly name: "RoleAdminChanged";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}];
readonly name: "RoleGranted";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "member";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "roleOrAddress";
readonly type: "bytes32";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "confirmTimestamp";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "expiryTimestamp";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "bytes";
readonly name: "data";
readonly type: "bytes";
}];
readonly name: "RoleMemberConfirmed";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}];
readonly name: "RoleRevoked";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "int256";
readonly name: "oldSettledGrowth";
readonly type: "int256";
}, {
readonly indexed: false;
readonly internalType: "int256";
readonly name: "newSettledGrowth";
readonly type: "int256";
}];
readonly name: "SettledGrowthSet";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "stakingVault";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "deposits";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "totalAmount";
readonly type: "uint256";
}];
readonly name: "UnguaranteedDeposits";
readonly type: "event";
}, {
readonly inputs: readonly [];
readonly name: "BURN_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "COLLECT_VAULT_ERC20_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "DEFAULT_ADMIN_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "FUND_ON_RECEIVE_FLAG_SLOT";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "FUND_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "LIDO_LOCATOR";
readonly outputs: readonly [{
readonly internalType: "contract ILidoLocator";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MAX_CONFIRM_EXPIRY";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MINT_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MIN_CONFIRM_EXPIRY";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "NODE_OPERATOR_FEE_EXEMPT_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "NODE_OPERATOR_MANAGER_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "NODE_OPERATOR_PROVE_UNKNOWN_VALIDATOR_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "NODE_OPERATOR_UNGUARANTEED_DEPOSIT_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "PAUSE_BEACON_CHAIN_DEPOSITS_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "REBALANCE_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "REQUEST_VALIDATOR_EXIT_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "RESUME_BEACON_CHAIN_DEPOSITS_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "STETH";
readonly outputs: readonly [{
readonly internalType: "contract ILido";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "TRIGGER_VALIDATOR_WITHDRAWAL_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "VAULT_CONFIGURATION_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "VAULT_HUB";
readonly outputs: readonly [{
readonly internalType: "contract VaultHub";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "VOLUNTARY_DISCONNECT_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "WITHDRAW_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "WSTETH";
readonly outputs: readonly [{
readonly internalType: "contract IWstETH";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_newOwner";
readonly type: "address";
}];
readonly name: "abandonDashboard";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "accruedFee";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "fee";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_exemptedAmount";
readonly type: "uint256";
}];
readonly name: "addFeeExemption";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_amountOfShares";
readonly type: "uint256";
}];
readonly name: "burnShares";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_amountOfStETH";
readonly type: "uint256";
}];
readonly name: "burnStETH";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_amountOfWstETH";
readonly type: "uint256";
}];
readonly name: "burnWstETH";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_tierId";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "_requestedShareLimit";
readonly type: "uint256";
}];
readonly name: "changeTier";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_token";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_amount";
readonly type: "uint256";
}];
readonly name: "collectERC20FromVault";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes";
readonly name: "_callData";
readonly type: "bytes";
}, {
readonly internalType: "bytes32";
readonly name: "_role";
readonly type: "bytes32";
}];
readonly name: "confirmation";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "confirmingRoles";
readonly outputs: readonly [{
readonly internalType: "bytes32[]";
readonly name: "roles";
readonly type: "bytes32[]";
}];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_tierId";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "_requestedShareLimit";
readonly type: "uint256";
}];
readonly name: "connectAndAcceptTier";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "connectToVaultHub";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "int256";
readonly name: "_newSettledGrowth";
readonly type: "int256";
}, {
readonly internalType: "int256";
readonly name: "_expectedSettledGrowth";
readonly type: "int256";
}];
readonly name: "correctSettledGrowth";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "disburseAbnormallyHighFee";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "disburseFee";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "feeLeftover";
readonly outputs: readonly [{
readonly internalType: "uint128";
readonly name: "";
readonly type: "uint128";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "feeRate";
readonly outputs: readonly [{
readonly internalType: "uint16";
readonly name: "";
readonly type: "uint16";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "feeRecipient";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "fund";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getConfirmExpiry";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly name: "getRoleAdmin";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "uint256";
readonly name: "index";
readonly type: "uint256";
}];
readonly name: "getRoleMember";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly name: "getRoleMemberCount";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly name: "getRoleMembers";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "";
readonly type: "address[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "grantRole";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly internalType: "struct Permissions.RoleAssignment[]";
readonly name: "_assignments";
readonly type: "tuple[]";
}];
readonly name: "grantRoles";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "hasRole";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "healthShortfallShares";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_defaultAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_nodeOperatorManager";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_nodeOperatorFeeRecipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_nodeOperatorFeeBP";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "_confirmExpiry";
readonly type: "uint256";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "initialized";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "latestCorrectionTimestamp";
readonly outputs: readonly [{
readonly internalType: "uint64";
readonly name: "";
readonly type: "uint64";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "latestReport";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint104";
readonly name: "totalValue";
readonly type: "uint104";
}, {
readonly internalType: "int104";
readonly name: "inOutDelta";
readonly type: "int104";
}, {
readonly internalType: "uint48";
readonly name: "timestamp";
readonly type: "uint48";
}];
readonly internalType: "struct VaultHub.Report";
readonly name: "";
readonly type: "tuple";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "liabilityShares";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "locked";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "maxLockableValue";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "minimalReserve";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_amountOfShares";
readonly type: "uint256";
}];
readonly name: "mintShares";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_amountOfStETH";
readonly type: "uint256";
}];
readonly name: "mintStETH";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_amountOfWstETH";
readonly type: "uint256";
}];
readonly name: "mintWstETH";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "obligations";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "sharesToBurn";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "feesToSettle";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "obligationsShortfallValue";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "pauseBeaconChainDeposits";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "pdgPolicy";
readonly outputs: readonly [{
readonly internalType: "enum Dashboard.PDGPolicy";
readonly name: "";
readonly type: "uint8";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "bytes32[]";
readonly name: "proof";
readonly type: "bytes32[]";
}, {
readonly internalType: "bytes";
readonly name: "pubkey";
readonly type: "bytes";
}, {
readonly internalType: "uint256";
readonly name: "validatorIndex";
readonly type: "uint256";
}, {
readonly internalType: "uint64";
readonly name: "childBlockTimestamp";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "slot";
readonly type: "uint64";
}, {
readonly internalType: "uint64";
readonly name: "proposerIndex";
readonly type: "uint64";
}];
readonly internalType: "struct IPredepositGuarantee.ValidatorWitness[]";
readonly name: "_witnesses";
readonly type: "tuple[]";
}];
readonly name: "proveUnknownValidatorsToPDG";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_ether";
readonly type: "uint256";
}];
readonly name: "rebalanceVaultWithEther";
readonly outputs: readonly [];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_shares";
readonly type: "uint256";
}];
readonly name: "rebalanceVaultWithShares";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "reconnectToVaultHub";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_token";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_recipient";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_amount";
readonly type: "uint256";
}];
readonly name: "recoverERC20";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "recoverFeeLeftover";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_etherToFund";
readonly type: "uint256";
}];
readonly name: "remainingMintingCapacityShares";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "renounceRole";
readonly outputs: readonly [];
readonly stateMutability: "pure";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes";
readonly name: "_pubkeys";
readonly type: "bytes";
}];
readonly name: "requestValidatorExit";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "resumeBeaconChainDeposits";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "revokeRole";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly internalType: "struct Permissions.RoleAssignment[]";
readonly name: "_assignments";
readonly type: "tuple[]";
}];
readonly name: "revokeRoles";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_newConfirmExpiry";
readonly type: "uint256";
}];
readonly name: "setConfirmExpiry";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "_newFeeRate";
readonly type: "uint256";
}];
readonly name: "setFeeRate";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_newFeeRecipient";
readonly type: "address";
}];
readonly name: "setFeeRecipient";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "enum Dashboard.PDGPolicy";
readonly name: "_pdgPolicy";
readonly type: "uint8";
}];
readonly name: "setPDGPolicy";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "settledGrowth";
readonly outputs: readonly [{
readonly internalType: "int128";
readonly name: "";
readonly type: "int128";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
rea