@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
1,985 lines (1,984 loc) • 58.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CSAccountingAbi = void 0;
exports.CSAccountingAbi = [
{
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 ICSFeeDistributor',
},
],
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: 'MAX_CURVE_LENGTH',
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: 'MIN_CURVE_LENGTH',
inputs: [],
outputs: [
{
name: '',
type: 'uint256',
internalType: 'uint256',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'MODULE',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'contract ICSModule',
},
],
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 ICSBondCurve.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: [],
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: 'nodeOperatorId',
type: 'uint256',
internalType: 'uint256',
},
],
outputs: [],
stateMutability: 'payable',
},
{
type: 'function',
name: 'depositStETH',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'stETHAmount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'permit',
type: 'tuple',
internalType: 'struct ICSAccounting.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 ICSAccounting.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: 'feeDistributor',
inputs: [],
outputs: [
{
name: '',
type: 'address',
internalType: 'contract ICSFeeDistributor',
},
],
stateMutability: 'view',
},
{
type: 'function',
name: 'finalizeUpgradeV2',
inputs: [
{
name: 'bondCurvesInputs',
type: 'tuple[][]',
internalType: 'struct ICSBondCurve.BondCurveIntervalInput[][]',
components: [
{
name: 'minKeysCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'trend',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
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 ICSBondCurve.BondCurve',
components: [
{
name: 'intervals',
type: 'tuple[]',
internalType: 'struct ICSBondCurve.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 ICSBondCurve.BondCurve',
components: [
{
name: 'intervals',
type: 'tuple[]',
internalType: 'struct ICSBondCurve.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: '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 ICSBondLock.BondLock',
components: [
{
name: 'amount',
type: 'uint128',
internalType: 'uint128',
},
{
name: 'until',
type: 'uint128',
internalType: 'uint128',
},
],
},
],
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 ICSBondCurve.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: [],
stateMutability: 'nonpayable',
},
{
type: 'function',
name: 'pullFeeRewards',
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: '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 ICSBondCurve.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 ICSBondCurve.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',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondCurveUpdated',
inputs: [
{
name: 'curveId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'bondCurveIntervals',
type: 'tuple[]',
indexed: false,
internalType: 'struct ICSBondCurve.BondCurveIntervalInput[]',
components: [
{
name: 'minKeysCount',
type: 'uint256',
internalType: 'uint256',
},
{
name: 'trend',
type: 'uint256',
internalType: 'uint256',
},
],
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondDepositedETH',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'from',
type: 'address',
indexed: false,
internalType: 'address',
},
{
name: 'amount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondDepositedStETH',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'from',
type: 'address',
indexed: false,
internalType: 'address',
},
{
name: 'amount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondDepositedWstETH',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'from',
type: 'address',
indexed: false,
internalType: 'address',
},
{
name: 'amount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondLockChanged',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'newAmount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
{
name: 'until',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondLockCompensated',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
{
name: 'amount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondLockPeriodChanged',
inputs: [
{
name: 'period',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'BondLockRemoved',
inputs: [
{
name: 'nodeOperatorId',
type: 'uint256',
indexed: true,
internalType: 'uint256',
},
],
anonymous: false,
},
{
type: 'event',
name: 'ChargePenaltyRecipientSet',
inputs: [
{
name: 'chargePenaltyRecipient',
type: 'address',
indexed: false,
internalType: 'address',
},
],
anonymous: false,
},
{
type: 'event',
name: 'ERC1155Recovered',
inputs: [
{
name: 'token',
type: 'address',
indexed: true,
internalType: 'address',
},
{
name: 'tokenId',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},
{
name: 'recipient',
type: 'address',
indexed: true,
internalType: 'address',
},
{
name: 'amount',
type: 'uint256',
indexed: false,
internalType: 'uint256',
},