UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

1,618 lines 61 kB
export declare const AccountingAbi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "lidoLocator"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "module"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "feeDistributor"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "minBondLockPeriod"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "maxBondLockPeriod"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "DEFAULT_ADMIN_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "DEFAULT_BOND_CURVE_ID"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "FEE_DISTRIBUTOR"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IFeeDistributor"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "INFINITE_BOND_LOCK_UNTIL"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint128"; readonly internalType: "uint128"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "LIDO"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract ILido"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "LIDO_LOCATOR"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract ILidoLocator"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MANAGE_BOND_CURVES_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MAX_BOND_LOCK_PERIOD"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MIN_BOND_LOCK_PERIOD"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "MODULE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IBaseModule"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "PAUSE_INFINITELY"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "PAUSE_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "RECOVERER_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "RESUME_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "SET_BOND_CURVE_ROLE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "WITHDRAWAL_QUEUE"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IWithdrawalQueue"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "WSTETH"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IWstETH"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "addBondCurve"; readonly inputs: readonly [{ readonly name: "bondCurve"; readonly type: "tuple[]"; readonly internalType: "struct IBondCurve.BondCurveIntervalInput[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly outputs: readonly [{ readonly name: "id"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "chargeFee"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fullyCharged"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "chargePenaltyRecipient"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "claimRewardsStETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimedShares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimRewardsUnstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "requestId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "claimRewardsWstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "wstETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimedWstETH"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "compensateLockedBondETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "depositETH"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "depositETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "payable"; }, { readonly type: "function"; readonly name: "depositStETH"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "permit"; readonly type: "tuple"; readonly internalType: "struct IAccounting.PermitInput"; readonly components: readonly [{ readonly name: "value"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "v"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "r"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "s"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositStETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "stETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "permit"; readonly type: "tuple"; readonly internalType: "struct IAccounting.PermitInput"; readonly components: readonly [{ readonly name: "value"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "v"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "r"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "s"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositWstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "wstETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "permit"; readonly type: "tuple"; readonly internalType: "struct IAccounting.PermitInput"; readonly components: readonly [{ readonly name: "value"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "v"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "r"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "s"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "depositWstETH"; readonly inputs: readonly [{ readonly name: "from"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "wstETHAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "permit"; readonly type: "tuple"; readonly internalType: "struct IAccounting.PermitInput"; readonly components: readonly [{ readonly name: "value"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "v"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "r"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "s"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "finalizeUpgradeV3"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getActualLockedBond"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBond"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondAmountByKeysCount"; readonly inputs: readonly [{ readonly name: "keys"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondAmountByKeysCountWstETH"; readonly inputs: readonly [{ readonly name: "keysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondCurve"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IBondCurve.BondCurveData"; readonly components: readonly [{ readonly name: "intervals"; readonly type: "tuple[]"; readonly internalType: "struct IBondCurve.BondCurveInterval[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minBond"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondCurveId"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondLockPeriod"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondShares"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondSummary"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "current"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "required"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getBondSummaryShares"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "current"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "required"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getClaimableBondShares"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getClaimableRewardsAndBondShares"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly outputs: readonly [{ readonly name: "claimableShares"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCurveInfo"; readonly inputs: readonly [{ readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IBondCurve.BondCurveData"; readonly components: readonly [{ readonly name: "intervals"; readonly type: "tuple[]"; readonly internalType: "struct IBondCurve.BondCurveInterval[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "minBond"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCurvesCount"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCustomRewardsClaimer"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getFeeSplits"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct IAccounting.FeeSplit[]"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "share"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getInitializedVersion"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint64"; readonly internalType: "uint64"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getKeysCountByBondAmount"; readonly inputs: readonly [{ readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getLockedBondInfo"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct IBondLock.BondLockData"; readonly components: readonly [{ readonly name: "amount"; readonly type: "uint128"; readonly internalType: "uint128"; }, { readonly name: "until"; readonly type: "uint128"; readonly internalType: "uint128"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getPendingSharesToSplit"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRequiredBondForNextKeys"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "additionalKeys"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRequiredBondForNextKeysWstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "additionalKeys"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getResumeSinceTimestamp"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleAdmin"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleMember"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "index"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getRoleMemberCount"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getUnbondedKeysCount"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getUnbondedKeysCountToEject"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "grantRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "hasRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "initialize"; readonly inputs: readonly [{ readonly name: "bondCurve"; readonly type: "tuple[]"; readonly internalType: "struct IBondCurve.BondCurveIntervalInput[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "admin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "bondLockPeriod"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "_chargePenaltyRecipient"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "isPaused"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "lockBondETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pauseFor"; readonly inputs: readonly [{ readonly name: "duration"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "penalize"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "fullyBurned"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "pullAndSplitFeeRewards"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "recoverERC1155"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "recoverERC20"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "recoverERC721"; readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "tokenId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "recoverEther"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "recoverStETHShares"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "releaseLockedBondETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renewBurnerAllowance"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "renounceRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "callerConfirmation"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "resume"; readonly inputs: readonly []; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "revokeRole"; readonly inputs: readonly [{ readonly name: "role"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "account"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setBondCurve"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setBondLockPeriod"; readonly inputs: readonly [{ readonly name: "period"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setChargePenaltyRecipient"; readonly inputs: readonly [{ readonly name: "_chargePenaltyRecipient"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setCustomRewardsClaimer"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsClaimer"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "setFeeSplits"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "cumulativeFeeShares"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "rewardsProof"; readonly type: "bytes32[]"; readonly internalType: "bytes32[]"; }, { readonly name: "feeSplits"; readonly type: "tuple[]"; readonly internalType: "struct IAccounting.FeeSplit[]"; readonly components: readonly [{ readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "share"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "settleLockedBondETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: "applied"; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "supportsInterface"; readonly inputs: readonly [{ readonly name: "interfaceId"; readonly type: "bytes4"; readonly internalType: "bytes4"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "totalBondShares"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "updateBondCurve"; readonly inputs: readonly [{ readonly name: "curveId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "bondCurve"; readonly type: "tuple[]"; readonly internalType: "struct IBondCurve.BondCurveIntervalInput[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "BondBurned"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "amountToBurn"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "burnedAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondCharged"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "toChargeAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "chargedAmount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondClaimedStETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondClaimedUnstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "requestId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondClaimedWstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondCurveAdded"; readonly inputs: readonly [{ readonly name: "curveId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "bondCurveIntervals"; readonly type: "tuple[]"; readonly indexed: false; readonly internalType: "struct IBondCurve.BondCurveIntervalInput[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondCurveSet"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "curveId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondCurveUpdated"; readonly inputs: readonly [{ readonly name: "curveId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "bondCurveIntervals"; readonly type: "tuple[]"; readonly indexed: false; readonly internalType: "struct IBondCurve.BondCurveIntervalInput[]"; readonly components: readonly [{ readonly name: "minKeysCount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "trend"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondDepositedETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "from"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondDepositedStETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "from"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondDepositedWstETH"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "from"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "BondLockChanged"; readonly inputs: readonly [{ readonly name: "nodeOperatorId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "newAmount"; readonly type: "uint256"; readonly index