import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; export interface StEthInterface extends Interface { getFunction(nameOrSignature: "resume" | "name" | "stop" | "hasInitialized" | "approve" | "STAKING_CONTROL_ROLE" | "initialize" | "getInsuranceFund" | "totalSupply" | "getSharesByPooledEth" | "isStakingPaused" | "transferFrom" | "getOperators" | "getEVMScriptExecutor" | "setStakingLimit" | "RESUME_ROLE" | "decimals" | "getRecoveryVault" | "DEPOSIT_ROLE" | "DEPOSIT_SIZE" | "getTotalPooledEther" | "PAUSE_ROLE" | "increaseAllowance" | "getTreasury" | "isStopped" | "MANAGE_WITHDRAWAL_KEY" | "getBufferedEther" | "receiveELRewards" | "getELRewardsWithdrawalLimit" | "SIGNATURE_LENGTH" | "getWithdrawalCredentials" | "getCurrentStakeLimit" | "setELRewardsWithdrawalLimit" | "handleOracleReport" | "getStakeLimitFullInfo" | "SET_EL_REWARDS_WITHDRAWAL_LIMIT_ROLE" | "getELRewardsVault" | "balanceOf" | "resumeStaking" | "getFeeDistribution" | "getPooledEthByShares" | "setELRewardsVault" | "allowRecoverability" | "MANAGE_PROTOCOL_CONTRACTS_ROLE" | "appId" | "getOracle" | "getInitializationBlock" | "setFeeDistribution" | "setFee" | "transferShares" | "depositBufferedEther(uint256)" | "depositBufferedEther()" | "symbol" | "MANAGE_FEE" | "transferToVault" | "canPerform" | "submit" | "WITHDRAWAL_CREDENTIALS_LENGTH" | "decreaseAllowance" | "getEVMScriptRegistry" | "PUBKEY_LENGTH" | "SET_EL_REWARDS_VAULT_ROLE" | "transfer" | "getDepositContract" | "getBeaconStat" | "removeStakingLimit" | "BURN_ROLE" | "getFee" | "kernel" | "getTotalShares" | "allowance" | "isPetrified" | "setProtocolContracts" | "setWithdrawalCredentials" | "STAKING_PAUSE_ROLE" | "burnShares" | "sharesOf" | "pauseStaking" | "getTotalELRewardsCollected"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ScriptResult" | "RecoverToVault" | "TransferShares" | "SharesBurnt" | "Stopped" | "Resumed" | "Transfer" | "Approval" | "StakingPaused" | "StakingResumed" | "StakingLimitSet" | "StakingLimitRemoved" | "ProtocolContactsSet" | "FeeSet" | "FeeDistributionSet" | "ELRewardsReceived" | "ELRewardsWithdrawalLimitSet" | "WithdrawalCredentialsSet" | "ELRewardsVaultSet" | "Submitted" | "Unbuffered" | "Withdrawal"): EventFragment; encodeFunctionData(functionFragment: "resume", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "stop", values?: undefined): string; encodeFunctionData(functionFragment: "hasInitialized", values?: undefined): string; encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "STAKING_CONTROL_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike, AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getInsuranceFund", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "getSharesByPooledEth", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "isStakingPaused", values?: undefined): string; encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getOperators", values?: undefined): string; encodeFunctionData(functionFragment: "getEVMScriptExecutor", values: [BytesLike]): string; encodeFunctionData(functionFragment: "setStakingLimit", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "RESUME_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "getRecoveryVault", values?: undefined): string; encodeFunctionData(functionFragment: "DEPOSIT_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "DEPOSIT_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "getTotalPooledEther", values?: undefined): string; encodeFunctionData(functionFragment: "PAUSE_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getTreasury", values?: undefined): string; encodeFunctionData(functionFragment: "isStopped", values?: undefined): string; encodeFunctionData(functionFragment: "MANAGE_WITHDRAWAL_KEY", values?: undefined): string; encodeFunctionData(functionFragment: "getBufferedEther", values?: undefined): string; encodeFunctionData(functionFragment: "receiveELRewards", values?: undefined): string; encodeFunctionData(functionFragment: "getELRewardsWithdrawalLimit", values?: undefined): string; encodeFunctionData(functionFragment: "SIGNATURE_LENGTH", values?: undefined): string; encodeFunctionData(functionFragment: "getWithdrawalCredentials", values?: undefined): string; encodeFunctionData(functionFragment: "getCurrentStakeLimit", values?: undefined): string; encodeFunctionData(functionFragment: "setELRewardsWithdrawalLimit", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "handleOracleReport", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getStakeLimitFullInfo", values?: undefined): string; encodeFunctionData(functionFragment: "SET_EL_REWARDS_WITHDRAWAL_LIMIT_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "getELRewardsVault", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "resumeStaking", values?: undefined): string; encodeFunctionData(functionFragment: "getFeeDistribution", values?: undefined): string; encodeFunctionData(functionFragment: "getPooledEthByShares", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setELRewardsVault", values: [AddressLike]): string; encodeFunctionData(functionFragment: "allowRecoverability", values: [AddressLike]): string; encodeFunctionData(functionFragment: "MANAGE_PROTOCOL_CONTRACTS_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "appId", values?: undefined): string; encodeFunctionData(functionFragment: "getOracle", values?: undefined): string; encodeFunctionData(functionFragment: "getInitializationBlock", values?: undefined): string; encodeFunctionData(functionFragment: "setFeeDistribution", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setFee", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "transferShares", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "depositBufferedEther(uint256)", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "depositBufferedEther()", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "MANAGE_FEE", values?: undefined): string; encodeFunctionData(functionFragment: "transferToVault", values: [AddressLike]): string; encodeFunctionData(functionFragment: "canPerform", values: [AddressLike, BytesLike, BigNumberish[]]): string; encodeFunctionData(functionFragment: "submit", values: [AddressLike]): string; encodeFunctionData(functionFragment: "WITHDRAWAL_CREDENTIALS_LENGTH", values?: undefined): string; encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getEVMScriptRegistry", values?: undefined): string; encodeFunctionData(functionFragment: "PUBKEY_LENGTH", values?: undefined): string; encodeFunctionData(functionFragment: "SET_EL_REWARDS_VAULT_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getDepositContract", values?: undefined): string; encodeFunctionData(functionFragment: "getBeaconStat", values?: undefined): string; encodeFunctionData(functionFragment: "removeStakingLimit", values?: undefined): string; encodeFunctionData(functionFragment: "BURN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "getFee", values?: undefined): string; encodeFunctionData(functionFragment: "kernel", values?: undefined): string; encodeFunctionData(functionFragment: "getTotalShares", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isPetrified", values?: undefined): string; encodeFunctionData(functionFragment: "setProtocolContracts", values: [AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "setWithdrawalCredentials", values: [BytesLike]): string; encodeFunctionData(functionFragment: "STAKING_PAUSE_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "burnShares", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "sharesOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "pauseStaking", values?: undefined): string; encodeFunctionData(functionFragment: "getTotalELRewardsCollected", values?: undefined): string; decodeFunctionResult(functionFragment: "resume", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stop", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasInitialized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "STAKING_CONTROL_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInsuranceFund", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSharesByPooledEth", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isStakingPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOperators", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEVMScriptExecutor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setStakingLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "RESUME_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRecoveryVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEPOSIT_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEPOSIT_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalPooledEther", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PAUSE_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTreasury", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isStopped", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MANAGE_WITHDRAWAL_KEY", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBufferedEther", data: BytesLike): Result; decodeFunctionResult(functionFragment: "receiveELRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getELRewardsWithdrawalLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SIGNATURE_LENGTH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getWithdrawalCredentials", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCurrentStakeLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setELRewardsWithdrawalLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "handleOracleReport", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStakeLimitFullInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SET_EL_REWARDS_WITHDRAWAL_LIMIT_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getELRewardsVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resumeStaking", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFeeDistribution", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPooledEthByShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setELRewardsVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowRecoverability", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MANAGE_PROTOCOL_CONTRACTS_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "appId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInitializationBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeDistribution", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositBufferedEther(uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositBufferedEther()", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MANAGE_FEE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferToVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canPerform", data: BytesLike): Result; decodeFunctionResult(functionFragment: "submit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WITHDRAWAL_CREDENTIALS_LENGTH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEVMScriptRegistry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PUBKEY_LENGTH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SET_EL_REWARDS_VAULT_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDepositContract", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBeaconStat", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeStakingLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "BURN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "kernel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isPetrified", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProtocolContracts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setWithdrawalCredentials", data: BytesLike): Result; decodeFunctionResult(functionFragment: "STAKING_PAUSE_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burnShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sharesOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pauseStaking", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalELRewardsCollected", data: BytesLike): Result; } export declare namespace ScriptResultEvent { type InputTuple = [ executor: AddressLike, script: BytesLike, input: BytesLike, returnData: BytesLike ]; type OutputTuple = [ executor: string, script: string, input: string, returnData: string ]; interface OutputObject { executor: string; script: string; input: string; returnData: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RecoverToVaultEvent { type InputTuple = [ vault: AddressLike, token: AddressLike, amount: BigNumberish ]; type OutputTuple = [vault: string, token: string, amount: bigint]; interface OutputObject { vault: string; token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TransferSharesEvent { type InputTuple = [ from: AddressLike, to: AddressLike, sharesValue: BigNumberish ]; type OutputTuple = [from: string, to: string, sharesValue: bigint]; interface OutputObject { from: string; to: string; sharesValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SharesBurntEvent { type InputTuple = [ account: AddressLike, preRebaseTokenAmount: BigNumberish, postRebaseTokenAmount: BigNumberish, sharesAmount: BigNumberish ]; type OutputTuple = [ account: string, preRebaseTokenAmount: bigint, postRebaseTokenAmount: bigint, sharesAmount: bigint ]; interface OutputObject { account: string; preRebaseTokenAmount: bigint; postRebaseTokenAmount: bigint; sharesAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StoppedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ResumedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TransferEvent { type InputTuple = [ from: AddressLike, to: AddressLike, value: BigNumberish ]; type OutputTuple = [from: string, to: string, value: bigint]; interface OutputObject { from: string; to: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ApprovalEvent { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [owner: string, spender: string, value: bigint]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StakingPausedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StakingResumedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StakingLimitSetEvent { type InputTuple = [ maxStakeLimit: BigNumberish, stakeLimitIncreasePerBlock: BigNumberish ]; type OutputTuple = [ maxStakeLimit: bigint, stakeLimitIncreasePerBlock: bigint ]; interface OutputObject { maxStakeLimit: bigint; stakeLimitIncreasePerBlock: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StakingLimitRemovedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ProtocolContactsSetEvent { type InputTuple = [ oracle: AddressLike, treasury: AddressLike, insuranceFund: AddressLike ]; type OutputTuple = [ oracle: string, treasury: string, insuranceFund: string ]; interface OutputObject { oracle: string; treasury: string; insuranceFund: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FeeSetEvent { type InputTuple = [feeBasisPoints: BigNumberish]; type OutputTuple = [feeBasisPoints: bigint]; interface OutputObject { feeBasisPoints: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FeeDistributionSetEvent { type InputTuple = [ treasuryFeeBasisPoints: BigNumberish, insuranceFeeBasisPoints: BigNumberish, operatorsFeeBasisPoints: BigNumberish ]; type OutputTuple = [ treasuryFeeBasisPoints: bigint, insuranceFeeBasisPoints: bigint, operatorsFeeBasisPoints: bigint ]; interface OutputObject { treasuryFeeBasisPoints: bigint; insuranceFeeBasisPoints: bigint; operatorsFeeBasisPoints: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ELRewardsReceivedEvent { type InputTuple = [amount: BigNumberish]; type OutputTuple = [amount: bigint]; interface OutputObject { amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ELRewardsWithdrawalLimitSetEvent { type InputTuple = [limitPoints: BigNumberish]; type OutputTuple = [limitPoints: bigint]; interface OutputObject { limitPoints: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawalCredentialsSetEvent { type InputTuple = [withdrawalCredentials: BytesLike]; type OutputTuple = [withdrawalCredentials: string]; interface OutputObject { withdrawalCredentials: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ELRewardsVaultSetEvent { type InputTuple = [executionLayerRewardsVault: AddressLike]; type OutputTuple = [executionLayerRewardsVault: string]; interface OutputObject { executionLayerRewardsVault: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SubmittedEvent { type InputTuple = [ sender: AddressLike, amount: BigNumberish, referral: AddressLike ]; type OutputTuple = [sender: string, amount: bigint, referral: string]; interface OutputObject { sender: string; amount: bigint; referral: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UnbufferedEvent { type InputTuple = [amount: BigNumberish]; type OutputTuple = [amount: bigint]; interface OutputObject { amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawalEvent { type InputTuple = [ sender: AddressLike, tokenAmount: BigNumberish, sentFromBuffer: BigNumberish, pubkeyHash: BytesLike, etherAmount: BigNumberish ]; type OutputTuple = [ sender: string, tokenAmount: bigint, sentFromBuffer: bigint, pubkeyHash: string, etherAmount: bigint ]; interface OutputObject { sender: string; tokenAmount: bigint; sentFromBuffer: bigint; pubkeyHash: string; etherAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface StEth extends BaseContract { connect(runner?: ContractRunner | null): StEth; waitForDeployment(): Promise; interface: StEthInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; resume: TypedContractMethod<[], [void], "nonpayable">; name: TypedContractMethod<[], [string], "view">; stop: TypedContractMethod<[], [void], "nonpayable">; hasInitialized: TypedContractMethod<[], [boolean], "view">; approve: TypedContractMethod<[ _spender: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; STAKING_CONTROL_ROLE: TypedContractMethod<[], [string], "view">; initialize: TypedContractMethod<[ _depositContract: AddressLike, _oracle: AddressLike, _operators: AddressLike, _treasury: AddressLike, _insuranceFund: AddressLike ], [ void ], "nonpayable">; getInsuranceFund: TypedContractMethod<[], [string], "view">; totalSupply: TypedContractMethod<[], [bigint], "view">; getSharesByPooledEth: TypedContractMethod<[ _ethAmount: BigNumberish ], [ bigint ], "view">; isStakingPaused: TypedContractMethod<[], [boolean], "view">; transferFrom: TypedContractMethod<[ _sender: AddressLike, _recipient: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getOperators: TypedContractMethod<[], [string], "view">; getEVMScriptExecutor: TypedContractMethod<[ _script: BytesLike ], [ string ], "view">; setStakingLimit: TypedContractMethod<[ _maxStakeLimit: BigNumberish, _stakeLimitIncreasePerBlock: BigNumberish ], [ void ], "nonpayable">; RESUME_ROLE: TypedContractMethod<[], [string], "view">; decimals: TypedContractMethod<[], [bigint], "view">; getRecoveryVault: TypedContractMethod<[], [string], "view">; DEPOSIT_ROLE: TypedContractMethod<[], [string], "view">; DEPOSIT_SIZE: TypedContractMethod<[], [bigint], "view">; getTotalPooledEther: TypedContractMethod<[], [bigint], "view">; PAUSE_ROLE: TypedContractMethod<[], [string], "view">; increaseAllowance: TypedContractMethod<[ _spender: AddressLike, _addedValue: BigNumberish ], [ boolean ], "nonpayable">; getTreasury: TypedContractMethod<[], [string], "view">; isStopped: TypedContractMethod<[], [boolean], "view">; MANAGE_WITHDRAWAL_KEY: TypedContractMethod<[], [string], "view">; getBufferedEther: TypedContractMethod<[], [bigint], "view">; receiveELRewards: TypedContractMethod<[], [void], "payable">; getELRewardsWithdrawalLimit: TypedContractMethod<[], [bigint], "view">; SIGNATURE_LENGTH: TypedContractMethod<[], [bigint], "view">; getWithdrawalCredentials: TypedContractMethod<[], [string], "view">; getCurrentStakeLimit: TypedContractMethod<[], [bigint], "view">; setELRewardsWithdrawalLimit: TypedContractMethod<[ _limitPoints: BigNumberish ], [ void ], "nonpayable">; handleOracleReport: TypedContractMethod<[ _beaconValidators: BigNumberish, _beaconBalance: BigNumberish ], [ void ], "nonpayable">; getStakeLimitFullInfo: TypedContractMethod<[ ], [ [ boolean, boolean, bigint, bigint, bigint, bigint, bigint ] & { isStakingPaused: boolean; isStakingLimitSet: boolean; currentStakeLimit: bigint; maxStakeLimit: bigint; maxStakeLimitGrowthBlocks: bigint; prevStakeLimit: bigint; prevStakeBlockNumber: bigint; } ], "view">; SET_EL_REWARDS_WITHDRAWAL_LIMIT_ROLE: TypedContractMethod<[ ], [ string ], "view">; getELRewardsVault: TypedContractMethod<[], [string], "view">; balanceOf: TypedContractMethod<[_account: AddressLike], [bigint], "view">; resumeStaking: TypedContractMethod<[], [void], "nonpayable">; getFeeDistribution: TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { treasuryFeeBasisPoints: bigint; insuranceFeeBasisPoints: bigint; operatorsFeeBasisPoints: bigint; } ], "view">; getPooledEthByShares: TypedContractMethod<[ _sharesAmount: BigNumberish ], [ bigint ], "view">; setELRewardsVault: TypedContractMethod<[ _executionLayerRewardsVault: AddressLike ], [ void ], "nonpayable">; allowRecoverability: TypedContractMethod<[ token: AddressLike ], [ boolean ], "view">; MANAGE_PROTOCOL_CONTRACTS_ROLE: TypedContractMethod<[], [string], "view">; appId: TypedContractMethod<[], [string], "view">; getOracle: TypedContractMethod<[], [string], "view">; getInitializationBlock: TypedContractMethod<[], [bigint], "view">; setFeeDistribution: TypedContractMethod<[ _treasuryFeeBasisPoints: BigNumberish, _insuranceFeeBasisPoints: BigNumberish, _operatorsFeeBasisPoints: BigNumberish ], [ void ], "nonpayable">; setFee: TypedContractMethod<[ _feeBasisPoints: BigNumberish ], [ void ], "nonpayable">; transferShares: TypedContractMethod<[ _recipient: AddressLike, _sharesAmount: BigNumberish ], [ bigint ], "nonpayable">; "depositBufferedEther(uint256)": TypedContractMethod<[ _maxDeposits: BigNumberish ], [ void ], "nonpayable">; "depositBufferedEther()": TypedContractMethod<[], [void], "nonpayable">; symbol: TypedContractMethod<[], [string], "view">; MANAGE_FEE: TypedContractMethod<[], [string], "view">; transferToVault: TypedContractMethod<[ _token: AddressLike ], [ void ], "nonpayable">; canPerform: TypedContractMethod<[ _sender: AddressLike, _role: BytesLike, _params: BigNumberish[] ], [ boolean ], "view">; submit: TypedContractMethod<[_referral: AddressLike], [bigint], "payable">; WITHDRAWAL_CREDENTIALS_LENGTH: TypedContractMethod<[], [bigint], "view">; decreaseAllowance: TypedContractMethod<[ _spender: AddressLike, _subtractedValue: BigNumberish ], [ boolean ], "nonpayable">; getEVMScriptRegistry: TypedContractMethod<[], [string], "view">; PUBKEY_LENGTH: TypedContractMethod<[], [bigint], "view">; SET_EL_REWARDS_VAULT_ROLE: TypedContractMethod<[], [string], "view">; transfer: TypedContractMethod<[ _recipient: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getDepositContract: TypedContractMethod<[], [string], "view">; getBeaconStat: TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { depositedValidators: bigint; beaconValidators: bigint; beaconBalance: bigint; } ], "view">; removeStakingLimit: TypedContractMethod<[], [void], "nonpayable">; BURN_ROLE: TypedContractMethod<[], [string], "view">; getFee: TypedContractMethod<[], [bigint], "view">; kernel: TypedContractMethod<[], [string], "view">; getTotalShares: TypedContractMethod<[], [bigint], "view">; allowance: TypedContractMethod<[ _owner: AddressLike, _spender: AddressLike ], [ bigint ], "view">; isPetrified: TypedContractMethod<[], [boolean], "view">; setProtocolContracts: TypedContractMethod<[ _oracle: AddressLike, _treasury: AddressLike, _insuranceFund: AddressLike ], [ void ], "nonpayable">; setWithdrawalCredentials: TypedContractMethod<[ _withdrawalCredentials: BytesLike ], [ void ], "nonpayable">; STAKING_PAUSE_ROLE: TypedContractMethod<[], [string], "view">; burnShares: TypedContractMethod<[ _account: AddressLike, _sharesAmount: BigNumberish ], [ bigint ], "nonpayable">; sharesOf: TypedContractMethod<[_account: AddressLike], [bigint], "view">; pauseStaking: TypedContractMethod<[], [void], "nonpayable">; getTotalELRewardsCollected: TypedContractMethod<[], [bigint], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "resume"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "stop"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "hasInitialized"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ _spender: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "STAKING_CONTROL_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ _depositContract: AddressLike, _oracle: AddressLike, _operators: AddressLike, _treasury: AddressLike, _insuranceFund: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getInsuranceFund"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getSharesByPooledEth"): TypedContractMethod<[_ethAmount: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "isStakingPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ _sender: AddressLike, _recipient: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "getOperators"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getEVMScriptExecutor"): TypedContractMethod<[_script: BytesLike], [string], "view">; getFunction(nameOrSignature: "setStakingLimit"): TypedContractMethod<[ _maxStakeLimit: BigNumberish, _stakeLimitIncreasePerBlock: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "RESUME_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getRecoveryVault"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DEPOSIT_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DEPOSIT_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getTotalPooledEther"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "PAUSE_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ _spender: AddressLike, _addedValue: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "getTreasury"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "isStopped"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "MANAGE_WITHDRAWAL_KEY"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getBufferedEther"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "receiveELRewards"): TypedContractMethod<[], [void], "payable">; getFunction(nameOrSignature: "getELRewardsWithdrawalLimit"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "SIGNATURE_LENGTH"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getWithdrawalCredentials"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getCurrentStakeLimit"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "setELRewardsWithdrawalLimit"): TypedContractMethod<[_limitPoints: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "handleOracleReport"): TypedContractMethod<[ _beaconValidators: BigNumberish, _beaconBalance: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getStakeLimitFullInfo"): TypedContractMethod<[ ], [ [ boolean, boolean, bigint, bigint, bigint, bigint, bigint ] & { isStakingPaused: boolean; isStakingLimitSet: boolean; currentStakeLimit: bigint; maxStakeLimit: bigint; maxStakeLimitGrowthBlocks: bigint; prevStakeLimit: bigint; prevStakeBlockNumber: bigint; } ], "view">; getFunction(nameOrSignature: "SET_EL_REWARDS_WITHDRAWAL_LIMIT_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getELRewardsVault"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[_account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "resumeStaking"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "getFeeDistribution"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { treasuryFeeBasisPoints: bigint; insuranceFeeBasisPoints: bigint; operatorsFeeBasisPoints: bigint; } ], "view">; getFunction(nameOrSignature: "getPooledEthByShares"): TypedContractMethod<[_sharesAmount: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "setELRewardsVault"): TypedContractMethod<[ _executionLayerRewardsVault: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "allowRecoverability"): TypedContractMethod<[token: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "MANAGE_PROTOCOL_CONTRACTS_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "appId"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getOracle"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getInitializationBlock"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "setFeeDistribution"): TypedContractMethod<[ _treasuryFeeBasisPoints: BigNumberish, _insuranceFeeBasisPoints: BigNumberish, _operatorsFeeBasisPoints: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setFee"): TypedContractMethod<[_feeBasisPoints: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "transferShares"): TypedContractMethod<[ _recipient: AddressLike, _sharesAmount: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "depositBufferedEther(uint256)"): TypedContractMethod<[_maxDeposits: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "depositBufferedEther()"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "MANAGE_FEE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "transferToVault"): TypedContractMethod<[_token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "canPerform"): TypedContractMethod<[ _sender: AddressLike, _role: BytesLike, _params: BigNumberish[] ], [ boolean ], "view">; getFunction(nameOrSignature: "submit"): TypedContractMethod<[_referral: AddressLike], [bigint], "payable">; getFunction(nameOrSignature: "WITHDRAWAL_CREDENTIALS_LENGTH"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ _spender: AddressLike, _subtractedValue: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "getEVMScriptRegistry"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "PUBKEY_LENGTH"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "SET_EL_REWARDS_VAULT_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ _recipient: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "getDepositContract"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getBeaconStat"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { depositedValidators: bigint; beaconValidators: bigint; beaconBalance: bigint; } ], "view">; getFunction(nameOrSignature: "removeStakingLimit"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "BURN_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getFee"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "kernel"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getTotalShares"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ _owner: AddressLike, _spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "isPetrified"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "setProtocolContracts"): TypedContractMethod<[ _oracle: AddressLike, _treasury: AddressLike, _insuranceFund: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setWithdrawalCredentials"): TypedContractMethod<[ _withdrawalCredentials: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "STAKING_PAUSE_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "burnShares"): TypedContractMethod<[ _account: AddressLike, _sharesAmount: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "sharesOf"): TypedContractMethod<[_account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "pauseStaking"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "getTotalELRewardsCollected"): TypedContractMethod<[], [bigint], "view">; getEvent(key: "ScriptResult"): TypedContractEvent; getEvent(key: "RecoverToVault"): TypedContractEvent; getEvent(key: "TransferShares"): TypedContractEvent; getEvent(key: "SharesBurnt"): TypedContractEvent; getEvent(key: "Stopped"): TypedContractEvent; getEvent(key: "Resumed"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "StakingPaused"): TypedContractEvent; getEvent(key: "StakingResumed"): TypedContractEvent; getEvent(key: "StakingLimitSet"): TypedContractEvent; getEvent(key: "StakingLimitRemoved"): TypedContractEvent; getEvent(key: "ProtocolContactsSet"): TypedContractEvent; getEvent(key: "FeeSet"): TypedContractEvent; getEvent(key: "FeeDistributionSet"): TypedContractEvent; getEvent(key: "ELRewardsReceived"): TypedContractEvent; getEvent(key: "ELRewardsWithdrawalLimitSet"): TypedContractEvent; getEvent(key: "WithdrawalCredentialsSet"): TypedContractEvent; getEvent(key: "ELRewardsVaultSet"): TypedContractEvent; getEvent(key: "Submitted"): TypedContractEvent; getEvent(key: "Unbuffered"): TypedContractEvent; getEvent(key: "Withdrawal"): TypedContractEvent; filters: { "ScriptResult(address,bytes,bytes,bytes)": TypedContractEvent; ScriptResult: TypedContractEvent; "RecoverToVault(address,address,uint256)": TypedContractEvent; RecoverToVault: TypedContractEvent; "TransferShares(address,address,uint256)": TypedContractEvent; TransferShares: TypedContractEvent; "SharesBurnt(address,uint256,uint256,uint256)": TypedContractEvent; SharesBurnt: TypedContractEvent; "Stopped()": TypedContractEvent; Stopped: TypedContractEvent; "Resumed()": TypedContractEvent; Resumed: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "StakingPaused()": TypedContractEvent; StakingPaused: TypedContractEvent; "StakingResumed()": TypedContractEvent; StakingResumed: TypedContractEvent; "StakingLimitSet(uint256,uint256)": TypedContractEvent; StakingLimitSet: TypedContractEvent; "StakingLimitRemoved()": TypedContractEvent; StakingLimitRemoved: TypedContractEvent; "ProtocolContactsSet(address,address,address)": TypedContractEvent; ProtocolContactsSet: TypedContractEvent; "FeeSet(uint16)": TypedContractEvent; FeeSet: TypedContractEvent; "FeeDistributionSet(uint16,uint16,uint16)": TypedContractEvent; FeeDistributionSet: TypedContractEvent; "ELRewardsReceived(uint256)": TypedContractEvent; ELRewardsReceived: TypedContractEvent; "ELRewardsWithdrawalLimitSet(uint256)": TypedContractEvent; ELRewardsWithdrawalLimitSet: TypedContractEvent; "WithdrawalCredentialsSet(bytes32)": TypedContractEvent; WithdrawalCredentialsSet: TypedContractEvent; "ELRewardsVaultSet(address)": TypedContractEvent; ELRewardsVaultSet: TypedContractEvent; "Submitted(address,uint256,address)": TypedContractEvent; Submitted: TypedContractEvent; "Unbuffered(uint256)": TypedContractEvent; Unbuffered: TypedContractEvent; "Withdrawal(address,uint256,uint256,bytes32,uint256)": TypedContractEvent; Withdrawal: TypedContractEvent; }; }