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