@lidofinance/lido-ethereum-sdk
Version:
<div style="display: flex;" align="center"> <h1 align="center">Lido Ethereum SDK</h1> </div>
1,946 lines (1,945 loc) • 51.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PredepositGuaranteeAbi = void 0;
const abi = [
{
inputs: [
{
internalType: 'bytes4',
name: '_genesisForkVersion',
type: 'bytes4',
},
{
internalType: 'GIndex',
name: '_gIFirstValidator',
type: 'bytes32',
},
{
internalType: 'GIndex',
name: '_gIFirstValidatorAfterChange',
type: 'bytes32',
},
{
internalType: 'uint64',
name: '_pivotSlot',
type: 'uint64',
},
],
stateMutability: 'nonpayable',
type: 'constructor',
},
{
inputs: [],
name: 'AccessControlBadConfirmation',
type: 'error',
},
{
inputs: [
{
internalType: 'address',
name: 'account',
type: 'address',
},
{
internalType: 'bytes32',
name: 'neededRole',
type: 'bytes32',
},
],
name: 'AccessControlUnauthorizedAccount',
type: 'error',
},
{
inputs: [],
name: 'ArrayLengthsNotMatch',
type: 'error',
},
{
inputs: [],
name: 'CompensateFailed',
type: 'error',
},
{
inputs: [],
name: 'EmptyDeposits',
type: 'error',
},
{
inputs: [],
name: 'IndexOutOfRange',
type: 'error',
},
{
inputs: [],
name: 'InputHasInfinityPoints',
type: 'error',
},
{
inputs: [],
name: 'InvalidDepositYLength',
type: 'error',
},
{
inputs: [],
name: 'InvalidInitialization',
type: 'error',
},
{
inputs: [],
name: 'InvalidPubkeyLength',
type: 'error',
},
{
inputs: [],
name: 'InvalidSignature',
type: 'error',
},
{
inputs: [],
name: 'InvalidSlot',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'InvalidTopUpAmount',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
],
name: 'InvalidValidatorStage',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'locked',
type: 'uint256',
},
],
name: 'LockedIsNotZero',
type: 'error',
},
{
inputs: [],
name: 'NotDepositor',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'unlocked',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'NotEnoughUnlocked',
type: 'error',
},
{
inputs: [],
name: 'NotGuarantor',
type: 'error',
},
{
inputs: [],
name: 'NotInitializing',
type: 'error',
},
{
inputs: [],
name: 'NotStakingVaultOwner',
type: 'error',
},
{
inputs: [],
name: 'NothingToRefund',
type: 'error',
},
{
inputs: [],
name: 'PauseUntilMustBeInFuture',
type: 'error',
},
{
inputs: [],
name: 'PausedExpected',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'uint256',
name: 'depositAmount',
type: 'uint256',
},
],
name: 'PredepositAmountInvalid',
type: 'error',
},
{
inputs: [],
name: 'RefundFailed',
type: 'error',
},
{
inputs: [],
name: 'ResumedExpected',
type: 'error',
},
{
inputs: [],
name: 'RootNotFound',
type: 'error',
},
{
inputs: [],
name: 'SameDepositor',
type: 'error',
},
{
inputs: [],
name: 'SameGuarantor',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
],
name: 'ValidatorNotActivated',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
],
name: 'ValidatorNotEligibleForActivation',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
],
name: 'ValidatorNotNew',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
],
name: 'ValidatorNotPreDeposited',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
],
name: 'ValidatorNotProven',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'value',
type: 'uint256',
},
],
name: 'ValueNotMultipleOfPredepositAmount',
type: 'error',
},
{
inputs: [
{
internalType: 'uint8',
name: 'version',
type: 'uint8',
},
],
name: 'WithdrawalCredentialsInvalidVersion',
type: 'error',
},
{
inputs: [],
name: 'WithdrawalCredentialsMatch',
type: 'error',
},
{
inputs: [
{
internalType: 'bytes32',
name: 'withdrawalCredentials',
type: 'bytes32',
},
],
name: 'WithdrawalCredentialsMisformed',
type: 'error',
},
{
inputs: [
{
internalType: 'address',
name: 'stakingVault',
type: 'address',
},
{
internalType: 'address',
name: 'withdrawalCredentialsAddress',
type: 'address',
},
],
name: 'WithdrawalCredentialsMismatch',
type: 'error',
},
{
inputs: [],
name: 'WithdrawalFailed',
type: 'error',
},
{
inputs: [
{
internalType: 'string',
name: 'argument',
type: 'string',
},
],
name: 'ZeroArgument',
type: 'error',
},
{
inputs: [],
name: 'ZeroPauseDuration',
type: 'error',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: false,
internalType: 'uint128',
name: 'total',
type: 'uint128',
},
{
indexed: false,
internalType: 'uint128',
name: 'locked',
type: 'uint128',
},
],
name: 'BalanceLocked',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'to',
type: 'address',
},
],
name: 'BalanceRefunded',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'sender',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'BalanceToppedUp',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: false,
internalType: 'uint128',
name: 'total',
type: 'uint128',
},
{
indexed: false,
internalType: 'uint128',
name: 'locked',
type: 'uint128',
},
],
name: 'BalanceUnlocked',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'recipient',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'BalanceWithdrawn',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newDepositor',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'prevDepositor',
type: 'address',
},
],
name: 'DepositorSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'guarantor',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'GuarantorRefundAdded',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'guarantor',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'recipient',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'GuarantorRefundClaimed',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'newGuarantor',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'prevGuarantor',
type: 'address',
},
],
name: 'GuarantorSet',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'uint64',
name: 'version',
type: 'uint64',
},
],
name: 'Initialized',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'uint256',
name: 'duration',
type: 'uint256',
},
],
name: 'Paused',
type: 'event',
},
{
anonymous: false,
inputs: [],
name: 'Resumed',
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: '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: true,
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'stakingVault',
type: 'address',
},
{
indexed: false,
internalType: 'bytes32',
name: 'withdrawalCredentials',
type: 'bytes32',
},
],
name: 'ValidatorActivated',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'stakingVault',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
indexed: false,
internalType: 'uint256',
name: 'guaranteeTotal',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'guaranteeLocked',
type: 'uint256',
},
],
name: 'ValidatorCompensated',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'stakingVault',
type: 'address',
},
{
indexed: false,
internalType: 'bytes32',
name: 'withdrawalCredentials',
type: 'bytes32',
},
],
name: 'ValidatorPreDeposited',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'bytes',
name: 'validatorPubkey',
type: 'bytes',
},
{
indexed: true,
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'stakingVault',
type: 'address',
},
{
indexed: false,
internalType: 'bytes32',
name: 'withdrawalCredentials',
type: 'bytes32',
},
],
name: 'ValidatorProven',
type: 'event',
},
{
inputs: [],
name: 'ACTIVATION_DEPOSIT_AMOUNT',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'BEACON_ROOTS',
outputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'DEFAULT_ADMIN_ROLE',
outputs: [
{
internalType: 'bytes32',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'DEPOSIT_DOMAIN',
outputs: [
{
internalType: 'bytes32',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'GI_FIRST_VALIDATOR_CURR',
outputs: [
{
internalType: 'GIndex',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'GI_FIRST_VALIDATOR_PREV',
outputs: [
{
internalType: 'GIndex',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'GI_PUBKEY_WC_PARENT',
outputs: [
{
internalType: 'GIndex',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'GI_STATE_ROOT',
outputs: [
{
internalType: 'GIndex',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MAX_SUPPORTED_WC_VERSION',
outputs: [
{
internalType: 'uint8',
name: '',
type: 'uint8',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MAX_TOPUP_AMOUNT',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'MIN_SUPPORTED_WC_VERSION',
outputs: [
{
internalType: 'uint8',
name: '',
type: 'uint8',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'PAUSE_INFINITELY',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'PAUSE_ROLE',
outputs: [
{
internalType: 'bytes32',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'PIVOT_SLOT',
outputs: [
{
internalType: 'uint64',
name: '',
type: 'uint64',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'PREDEPOSIT_AMOUNT',
outputs: [
{
internalType: 'uint128',
name: '',
type: 'uint128',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'RESUME_ROLE',
outputs: [
{
internalType: 'bytes32',
name: '',
type: 'bytes32',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'bytes',
name: '_pubkey',
type: 'bytes',
},
],
name: 'activateValidator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_recipient',
type: 'address',
},
],
name: 'claimGuarantorRefund',
outputs: [
{
internalType: 'uint256',
name: 'claimedEther',
type: 'uint256',
},
],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_guarantor',
type: 'address',
},
],
name: 'claimableRefund',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getResumeSinceTimestamp',
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: [
{
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: [
{
internalType: 'address',
name: '_defaultAdmin',
type: 'address',
},
],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'isPaused',
outputs: [
{
internalType: 'bool',
name: '',
type: 'bool',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nodeOperator',
type: 'address',
},
],
name: 'nodeOperatorBalance',
outputs: [
{
components: [
{
internalType: 'uint128',
name: 'total',
type: 'uint128',
},
{
internalType: 'uint128',
name: 'locked',
type: 'uint128',
},
],
internalType: 'struct PredepositGuarantee.NodeOperatorBalance',
name: '',
type: 'tuple',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nodeOperator',
type: 'address',
},
],
name: 'nodeOperatorDepositor',
outputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nodeOperator',
type: 'address',
},
],
name: 'nodeOperatorGuarantor',
outputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_duration',
type: 'uint256',
},
],
name: 'pauseFor',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '_pauseUntilInclusive',
type: 'uint256',
},
],
name: 'pauseUntil',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'contract IStakingVault',
name: '_vault',
type: 'address',
},
],
name: 'pendingActivations',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'contract IStakingVault',
name: '_stakingVault',
type: 'address',
},
{
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[]',
},
{
components: [
{
components: [
{
internalType: 'bytes32',
name: 'a',
type: 'bytes32',
},
{
internalType: 'bytes32',
name: 'b',
type: 'bytes32',
},
],
internalType: 'struct BLS12_381.Fp',
name: 'pubkeyY',
type: 'tuple',
},
{
components: [
{
internalType: 'bytes32',
name: 'c0_a',
type: 'bytes32',
},
{
internalType: 'bytes32',
name: 'c0_b',
type: 'bytes32',
},
{
internalType: 'bytes32',
name: 'c1_a',
type: 'bytes32',
},
{
internalType: 'bytes32',
name: 'c1_b',
type: 'bytes32',
},
],
internalType: 'struct BLS12_381.Fp2',
name: 'signatureY',
type: 'tuple',
},
],
internalType: 'struct BLS12_381.DepositY[]',
name: '_depositsY',
type: 'tuple[]',
},
],
name: 'predeposit',
outputs: [],
stateMutability: 'payable',
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: '_witness',
type: 'tuple',
},
{
internalType: 'bytes32',
name: '_invalidWithdrawalCredentials',
type: 'bytes32',
},
],
name: 'proveInvalidValidatorWC',
outputs: [],
stateMutability: 'nonpayable',
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: '_witness',
type: 'tuple',
},
{
internalType: 'contract IStakingVault',
name: '_stakingVault',
type: 'address',
},
],
name: 'proveUnknownValidator',
outputs: [],
stateMutability: 'nonpayable',
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[]',
},
{
internalType: 'uint256[]',
name: '_amounts',
type: 'uint256[]',
},
],
name: 'proveWCActivateAndTopUpValidators',
outputs: [],
stateMutability: 'nonpayable',
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: '_witness',
type: 'tuple',
},
],
name: 'proveWCAndActivate',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'bytes32',
name: 'role',
type: 'bytes32',
},
{
internalType: 'address',
name: 'callerConfirmation',
type: 'address',
},
],
name: 'renounceRole',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'resume',
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: [
{
internalType: 'address',
name: '_newDepositor',
type: 'address',
},
],
name: 'setNodeOperatorDepositor',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_newGuarantor',
type: 'address',
},
],
name: 'setNodeOperatorGuarantor',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'bytes4',
name: 'interfaceId',
type: 'bytes4',
},
],
name: 'supportsInterface',
outputs: [
{
internalType: 'bool',
name: '',
type: 'bool',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
components: [
{
internalType: 'bytes',
name: 'pubkey',
type: 'bytes',
},
{
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
internalType: 'struct PredepositGuarantee.ValidatorTopUp[]',
name: '_topUps',
type: 'tuple[]',
},
],
name: 'topUpExistingValidators',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nodeOperator',
type: 'address',
},
],
name: 'topUpNodeOperatorBalance',
outputs: [],
stateMutability: 'payable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nodeOperator',
type: 'address',
},
],
name: 'unlockedBalance',
outputs: [
{
internalType: 'uint256',
name: 'unlocked',
type: 'uint256',
},
],
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: '_witness',
type: 'tuple',
},
{
internalType: 'bytes32',
name: '_withdrawalCredentials',
type: 'bytes32',
},
],
name: 'validatePubKeyWCProof',
outputs: [],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'bytes',
name: '_validatorPubkey',
type: 'bytes',
},
],
name: 'validatorStatus',
outputs: [
{
components: [
{
internalType: 'enum IPredepositGuarantee.ValidatorStage',
name: 'stage',
type: 'uint8',
},
{
internalType: 'contract IStakingVault',
name: 'stakingVault',
type: 'address',
},
{
internalType: 'address',
name: 'nodeOperator',
type: 'address',
},
],
internalType: 'struct IPredepositGuarantee.ValidatorStatus',
name: '',
type: 'tuple',
},
],
stateMutability: 'view',
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: '_deposit',
type: 'tuple',
},
{
components: [
{
components: [
{
internalType: 'bytes32',
name: 'a',
type: 'bytes32',
},
{
internalType: 'bytes32',
name: 'b',
type: 'bytes32',
},
],
internalType: 'struct BLS12_381.Fp',
name: 'pubkeyY',
type: 'tuple',
},
{
components: [
{
internalType: 'bytes32',
name: 'c0_a',
type: 'bytes32',
},
{