UNPKG

@lidofinance/lido-ethereum-sdk

Version:

<div style="display: flex;" align="center"> <h1 align="center">Lido Ethereum SDK</h1> </div>

2,117 lines 50.8 kB
const abi = [
    {
        inputs: [
            {
                internalType: 'address',
                name: '_stETH',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_wstETH',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_vaultHub',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_lidoLocator',
                type: 'address',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'constructor',
    },
    {
        inputs: [],
        name: 'AbnormallyHighFee',
        type: 'error',
    },
    {
        inputs: [],
        name: 'AccessControlBadConfirmation',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: 'neededRole',
                type: 'bytes32',
            },
        ],
        name: 'AccessControlUnauthorizedAccount',
        type: 'error',
    },
    {
        inputs: [],
        name: 'AlreadyInitialized',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ConfirmExpiryOutOfBounds',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ConnectedToVaultHub',
        type: 'error',
    },
    {
        inputs: [],
        name: 'CorrectionAfterReport',
        type: 'error',
    },
    {
        inputs: [],
        name: 'DashboardNotAllowed',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'EthTransferFailed',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'requestedShares',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'remainingShares',
                type: 'uint256',
            },
        ],
        name: 'ExceedsMintingCapacity',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'withdrawableValue',
                type: 'uint256',
            },
        ],
        name: 'ExceedsWithdrawable',
        type: 'error',
    },
    {
        inputs: [],
        name: 'FeeValueExceed100Percent',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ForbiddenByPDGPolicy',
        type: 'error',
    },
    {
        inputs: [],
        name: 'InsufficientBalance',
        type: 'error',
    },
    {
        inputs: [],
        name: 'PDGPolicyAlreadyActive',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ReportStale',
        type: 'error',
    },
    {
        inputs: [],
        name: 'RoleRenouncementDisabled',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: 'bits',
                type: 'uint8',
            },
            {
                internalType: 'int256',
                name: 'value',
                type: 'int256',
            },
        ],
        name: 'SafeCastOverflowedIntDowncast',
        type: 'error',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'token',
                type: 'address',
            },
        ],
        name: 'SafeERC20FailedOperation',
        type: 'error',
    },
    {
        inputs: [],
        name: 'SameRecipient',
        type: 'error',
    },
    {
        inputs: [],
        name: 'SameSettledGrowth',
        type: 'error',
    },
    {
        inputs: [],
        name: 'SenderNotMember',
        type: 'error',
    },
    {
        inputs: [],
        name: 'SettleGrowthIsNotSet',
        type: 'error',
    },
    {
        inputs: [],
        name: 'TierChangeNotConfirmed',
        type: 'error',
    },
    {
        inputs: [],
        name: 'UnexpectedFeeExemptionAmount',
        type: 'error',
    },
    {
        inputs: [],
        name: 'UnexpectedSettledGrowth',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ZeroAddress',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ZeroArgument',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ZeroConfirmingRoles',
        type: 'error',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'to',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'assetAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'AssetsRecovered',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'oldConfirmExpiry',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newConfirmExpiry',
                type: 'uint256',
            },
        ],
        name: 'ConfirmExpirySet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'timestamp',
                type: 'uint256',
            },
        ],
        name: 'CorrectionTimestampUpdated',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'fee',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'recipient',
                type: 'address',
            },
        ],
        name: 'FeeDisbursed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'oldFeeRate',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newFeeRate',
                type: 'uint256',
            },
        ],
        name: 'FeeRateSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'oldFeeRecipient',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'newFeeRecipient',
                type: 'address',
            },
        ],
        name: 'FeeRecipientSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [],
        name: 'Initialized',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'enum Dashboard.PDGPolicy',
                name: 'pdgPolicy',
                type: 'uint8',
            },
        ],
        name: 'PDGPolicyEnacted',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'previousAdminRole',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'newAdminRole',
                type: 'bytes32',
            },
        ],
        name: 'RoleAdminChanged',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
        ],
        name: 'RoleGranted',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'member',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'roleOrAddress',
                type: 'bytes32',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'confirmTimestamp',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'expiryTimestamp',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'bytes',
                name: 'data',
                type: 'bytes',
            },
        ],
        name: 'RoleMemberConfirmed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'sender',
                type: 'address',
            },
        ],
        name: 'RoleRevoked',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'int256',
                name: 'oldSettledGrowth',
                type: 'int256',
            },
            {
                indexed: false,
                internalType: 'int256',
                name: 'newSettledGrowth',
                type: 'int256',
            },
        ],
        name: 'SettledGrowthSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'stakingVault',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'deposits',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'totalAmount',
                type: 'uint256',
            },
        ],
        name: 'UnguaranteedDeposits',
        type: 'event',
    },
    {
        inputs: [],
        name: 'BURN_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'COLLECT_VAULT_ERC20_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'DEFAULT_ADMIN_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'FUND_ON_RECEIVE_FLAG_SLOT',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'FUND_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'LIDO_LOCATOR',
        outputs: [
            {
                internalType: 'contract ILidoLocator',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'MAX_CONFIRM_EXPIRY',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'MINT_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'MIN_CONFIRM_EXPIRY',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'NODE_OPERATOR_FEE_EXEMPT_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'NODE_OPERATOR_MANAGER_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'NODE_OPERATOR_PROVE_UNKNOWN_VALIDATOR_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'NODE_OPERATOR_UNGUARANTEED_DEPOSIT_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'PAUSE_BEACON_CHAIN_DEPOSITS_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'REBALANCE_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'REQUEST_VALIDATOR_EXIT_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'RESUME_BEACON_CHAIN_DEPOSITS_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'STETH',
        outputs: [
            {
                internalType: 'contract ILido',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'TRIGGER_VALIDATOR_WITHDRAWAL_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'VAULT_CONFIGURATION_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'VAULT_HUB',
        outputs: [
            {
                internalType: 'contract VaultHub',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'VOLUNTARY_DISCONNECT_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'WITHDRAW_ROLE',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'WSTETH',
        outputs: [
            {
                internalType: 'contract IWstETH',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_newOwner',
                type: 'address',
            },
        ],
        name: 'abandonDashboard',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'accruedFee',
        outputs: [
            {
                internalType: 'uint256',
                name: 'fee',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_exemptedAmount',
                type: 'uint256',
            },
        ],
        name: 'addFeeExemption',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_amountOfShares',
                type: 'uint256',
            },
        ],
        name: 'burnShares',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_amountOfStETH',
                type: 'uint256',
            },
        ],
        name: 'burnStETH',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_amountOfWstETH',
                type: 'uint256',
            },
        ],
        name: 'burnWstETH',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_tierId',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_requestedShareLimit',
                type: 'uint256',
            },
        ],
        name: 'changeTier',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_token',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'collectERC20FromVault',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes',
                name: '_callData',
                type: 'bytes',
            },
            {
                internalType: 'bytes32',
                name: '_role',
                type: 'bytes32',
            },
        ],
        name: 'confirmation',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'confirmingRoles',
        outputs: [
            {
                internalType: 'bytes32[]',
                name: 'roles',
                type: 'bytes32[]',
            },
        ],
        stateMutability: 'pure',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_tierId',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_requestedShareLimit',
                type: 'uint256',
            },
        ],
        name: 'connectAndAcceptTier',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'connectToVaultHub',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'int256',
                name: '_newSettledGrowth',
                type: 'int256',
            },
            {
                internalType: 'int256',
                name: '_expectedSettledGrowth',
                type: 'int256',
            },
        ],
        name: 'correctSettledGrowth',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'disburseAbnormallyHighFee',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'disburseFee',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'feeLeftover',
        outputs: [
            {
                internalType: 'uint128',
                name: '',
                type: 'uint128',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'feeRate',
        outputs: [
            {
                internalType: 'uint16',
                name: '',
                type: 'uint16',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'feeRecipient',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'fund',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'getConfirmExpiry',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
        ],
        name: 'getRoleAdmin',
        outputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                internalType: 'uint256',
                name: 'index',
                type: 'uint256',
            },
        ],
        name: 'getRoleMember',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
        ],
        name: 'getRoleMemberCount',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
        ],
        name: 'getRoleMembers',
        outputs: [
            {
                internalType: 'address[]',
                name: '',
                type: 'address[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'grantRole',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'address',
                        name: 'account',
                        type: 'address',
                    },
                    {
                        internalType: 'bytes32',
                        name: 'role',
                        type: 'bytes32',
                    },
                ],
                internalType: 'struct Permissions.RoleAssignment[]',
                name: '_assignments',
                type: 'tuple[]',
            },
        ],
        name: 'grantRoles',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'hasRole',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'healthShortfallShares',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_defaultAdmin',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_nodeOperatorManager',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_nodeOperatorFeeRecipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_nodeOperatorFeeBP',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_confirmExpiry',
                type: 'uint256',
            },
        ],
        name: 'initialize',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'initialized',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'latestCorrectionTimestamp',
        outputs: [
            {
                internalType: 'uint64',
                name: '',
                type: 'uint64',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'latestReport',
        outputs: [
            {
                components: [
                    {
                        internalType: 'uint104',
                        name: 'totalValue',
                        type: 'uint104',
                    },
                    {
                        internalType: 'int104',
                        name: 'inOutDelta',
                        type: 'int104',
                    },
                    {
                        internalType: 'uint48',
                        name: 'timestamp',
                        type: 'uint48',
                    },
                ],
                internalType: 'struct VaultHub.Report',
                name: '',
                type: 'tuple',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'liabilityShares',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'locked',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'maxLockableValue',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'minimalReserve',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amountOfShares',
                type: 'uint256',
            },
        ],
        name: 'mintShares',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amountOfStETH',
                type: 'uint256',
            },
        ],
        name: 'mintStETH',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amountOfWstETH',
                type: 'uint256',
            },
        ],
        name: 'mintWstETH',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'obligations',
        outputs: [
            {
                internalType: 'uint256',
                name: 'sharesToBurn',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'feesToSettle',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'obligationsShortfallValue',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pauseBeaconChainDeposits',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pdgPolicy',
        outputs: [
            {
                internalType: 'enum Dashboard.PDGPolicy',
                name: '',
                type: 'uint8',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'bytes32[]',
                        name: 'proof',
                        type: 'bytes32[]',
                    },
                    {
                        internalType: 'bytes',
                        name: 'pubkey',
                        type: 'bytes',
                    },
                    {
                        internalType: 'uint256',
                        name: 'validatorIndex',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint64',
                        name: 'childBlockTimestamp',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'slot',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'proposerIndex',
                        type: 'uint64',
                    },
                ],
                internalType: 'struct IPredepositGuarantee.ValidatorWitness[]',
                name: '_witnesses',
                type: 'tuple[]',
            },
        ],
        name: 'proveUnknownValidatorsToPDG',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_ether',
                type: 'uint256',
            },
        ],
        name: 'rebalanceVaultWithEther',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_shares',
                type: 'uint256',
            },
        ],
        name: 'rebalanceVaultWithShares',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'reconnectToVaultHub',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_token',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'recoverERC20',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'recoverFeeLeftover',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_etherToFund',
                type: 'uint256',
            },
        ],
        name: 'remainingMintingCapacityShares',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'renounceRole',
        outputs: [],
        stateMutability: 'pure',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes',
                name: '_pubkeys',
                type: 'bytes',
            },
        ],
        name: 'requestValidatorExit',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'resumeBeaconChainDeposits',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: 'role',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'revokeRole',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'address',
                        name: 'account',
                        type: 'address',
                    },
                    {
                        internalType: 'bytes32',
                        name: 'role',
                        type: 'bytes32',
                    },
                ],
                internalType: 'struct Permissions.RoleAssignment[]',
                name: '_assignments',
                type: 'tuple[]',
            },
        ],
        name: 'revokeRoles',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_newConfirmExpiry',
                type: 'uint256',
            },
        ],
        name: 'setConfirmExpiry',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_newFeeRate',
                type: 'uint256',
            },
        ],
        name: 'setFeeRate',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_newFeeRecipient',
                type: 'address',
            },
        ],
        name: 'setFeeRecipient',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'enum Dashboard.PDGPolicy',
                name: '_pdgPolicy',
                type: 'uint8',
            },
        ],
        name: 'setPDGPolicy',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'settledGrowth',
        outputs: [
            {
                internalType: 'int128',
                name: '',
                type: 'int128',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'stakingVault',
        outputs: [
            {
                internalType: 'contract IStakingVault',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes4',
                name: 'interfaceId',
                type: 'bytes4',
            },
        ],
        name: 'supportsInterface',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'syncTier',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'totalMintingCapacityShares',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'totalValue',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_newOwner',
                type: 'address',
            },
        ],
        name: 'transferVaultOwnership',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes',
                name: '_pubkeys',
                type: 'bytes',
            },
            {
                internalType: 'uint64[]',
                name: '_amountsInGwei',
                type: 'uint64[]',
            },
            {
                internalType: 'address',
                name: '_refundRecipient',
                type: 'address',
            },
        ],
        name: 'triggerValidatorWithdrawals',
        outputs: [],
        stateMutability: 'payable',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'bytes',
                        name: 'pubkey',
                        type: 'bytes',
                    },
                    {
                        internalType: 'bytes',
                        name: 'signature',
                        type: 'bytes',
                    },
                    {
                        internalType: 'uint256',
                        name: 'amount',
                        type: 'uint256',
                    },
                    {
                        internalType: 'bytes32',
                        name: 'depositDataRoot',
                        type: 'bytes32',
                    },
                ],
                internalType: 'struct IStakingVault.Deposit[]',
                name: '_deposits',
                type: 'tuple[]',
            },
        ],
        name: 'unguaranteedDepositToBeaconChain',
        outputs: [
            {
                internalType: 'uint256',
                name: 'totalAmount',
                type: 'uint256',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_requestedShareLimit',
                type: 'uint256',
            },
        ],
        name: 'updateShareLimit',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'vaultConnection',
        outputs: [
            {
                components: [
                    {
                        internalType: 'address',
                        name: 'owner',
                        type: 'address',
                    },
                    {
                        internalType: 'uint96',
                        name: 'shareLimit',
                        type: 'uint96',
                    },
                    {
                        internalType: 'uint96',
                        name: 'vaultIndex',
                        type: 'uint96',
                    },
                    {
                        internalType: 'uint48',
                        name: 'disconnectInitiatedTs',
                        type: 'uint48',
                    },
                    {
                        internalType: 'uint16',
                        name: 'reserveRatioBP',
                        type: 'uint16',
                    },
                    {
                        internalType: 'uint16',
                        name: 'forcedRebalanceThresholdBP',
                        type: 'uint16',
                    },
                    {
                        internalType: 'uint16',
                        name: 'infraFeeBP',
                        type: 'uint16',
                    },
                    {
                        internalType: 'uint16',
                        name: 'liquidityFeeBP',
                        type: 'uint16',
                    },
                    {
                        internalType: 'uint16',
                        name: 'reservationFeeBP',
                        type: 'uint16',
                    },
                    {
                        internalType: 'bool',
                        name: 'beaconChainDepositsPauseIntent',
                        type: 'bool',
                    },
                ],
                internalType: 'struct VaultHub.VaultConnection',
                name: '',
                type: 'tuple',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'voluntaryDisconnect',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_ether',
                type: 'uint256',
            },
        ],
        name: 'withdraw',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'withdrawableValue',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        stateMutability: 'payable',
        type: 'receive',
    },
];
export const DashboardAbi = abi;
//# sourceMappingURL=Dashboard.js.map