UNPKG

@lidofinance/lido-ethereum-sdk

Version:

<div style="display: flex;" align="center"> <h1 align="center">Lido Ethereum SDK</h1> </div>

1,453 lines (1,452 loc) 125 kB
import { type Address } from 'viem'; import { TransactionResult } from '../core/index.js'; import { LidoSDKModule } from '../common/class-primitives/sdk-module.js'; import type { AccountValue, NoTxOptions, PopulatedTransaction } from '../core/types.js'; import type { UnstethNFT, UnstethApproveAllProps, UnstethApproveProps, UnstethApprovedForProps, UnstethIsApprovedForAllProps, UnstethTransferProps, UnstethContractType } from './types.js'; export declare class LidoSDKUnstETH extends LidoSDKModule { contractAddress(): Promise<Address>; getContract(): Promise<UnstethContractType>; getNFTsByAccount(account?: AccountValue): Promise<UnstethNFT[]>; getAccountByNFT(id: bigint): Promise<Address>; transfer(props: UnstethTransferProps): Promise<TransactionResult>; transferSimulateTx(props: NoTxOptions<UnstethTransferProps>): Promise<import("viem").SimulateContractReturnType<readonly [{ readonly inputs: readonly []; readonly name: "AdminZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ApprovalToOwner"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ApproveToCaller"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_firstArrayLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_secondArrayLength"; readonly type: "uint256"; }]; readonly name: "ArraysLengthMismatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "BatchesAreNotSorted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CantSendValueRecipientMayHaveReverted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyBatches"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidContractVersionIncrement"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_hint"; readonly type: "uint256"; }]; readonly name: "InvalidHint"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "InvalidOwnerAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidReportTimestamp"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "InvalidRequestId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "startId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "endId"; readonly type: "uint256"; }]; readonly name: "InvalidRequestIdRange"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidState"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonZeroContractVersionOnInit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEnoughEther"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "NotOwner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "NotOwnerOrApproved"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "NotOwnerOrApprovedForAll"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "PauseUntilMustBeInFuture"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "PausedExpected"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "RequestAlreadyClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amountOfStETH"; readonly type: "uint256"; }]; readonly name: "RequestAmountTooLarge"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amountOfStETH"; readonly type: "uint256"; }]; readonly name: "RequestAmountTooSmall"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RequestIdsNotSorted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "RequestNotFoundOrNotFinalized"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ResumedExpected"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "str"; readonly type: "string"; }]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sent"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxExpected"; readonly type: "uint256"; }]; readonly name: "TooMuchEtherToFinalize"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "realOwner"; readonly type: "address"; }]; readonly name: "TransferFromIncorrectOwner"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferFromZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "TransferToNonIERC721Receiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferToThemselves"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferToZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }]; readonly name: "UnexpectedContractVersion"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAmountOfETH"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroMetadata"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroPauseDuration"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroRecipient"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroShareRate"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroTimestamp"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "approved"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "ApprovalForAll"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "baseURI"; readonly type: "string"; }]; readonly name: "BaseURISet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "_fromTokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "_toTokenId"; readonly type: "uint256"; }]; readonly name: "BatchMetadataUpdate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly []; readonly name: "BunkerModeDisabled"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "_sinceTimestamp"; readonly type: "uint256"; }]; readonly name: "BunkerModeEnabled"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "version"; readonly type: "uint256"; }]; readonly name: "ContractVersionSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }]; readonly name: "InitializedV1"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }]; readonly name: "MetadataUpdate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "nftDescriptorAddress"; readonly type: "address"; }]; readonly name: "NftDescriptorAddressSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "duration"; readonly type: "uint256"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly []; readonly name: "Resumed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "requestId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOfETH"; readonly type: "uint256"; }]; readonly name: "WithdrawalClaimed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "requestId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "requestor"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOfStETH"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOfShares"; readonly type: "uint256"; }]; readonly name: "WithdrawalRequested"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "from"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "to"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOfETHLocked"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sharesToBurn"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }]; readonly name: "WithdrawalsFinalized"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxShareRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxRequestsPerCall"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "remainingEthBudget"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "finished"; readonly type: "bool"; }, { readonly internalType: "uint256[36]"; readonly name: "batches"; readonly type: "uint256[36]"; }, { readonly internalType: "uint256"; readonly name: "batchesLength"; readonly type: "uint256"; }]; readonly internalType: "struct WithdrawalQueueBase.BatchesCalculationState"; readonly name: "_state"; readonly type: "tuple"; }]; readonly name: "calculateFinalizationBatches"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "remainingEthBudget"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "finished"; readonly type: "bool"; }, { readonly internalType: "uint256[36]"; readonly name: "batches"; readonly type: "uint256[36]"; }, { readonly internalType: "uint256"; readonly name: "batchesLength"; readonly type: "uint256"; }]; readonly internalType: "struct WithdrawalQueueBase.BatchesCalculationState"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "claimWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_requestIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "_hints"; readonly type: "uint256[]"; }]; readonly name: "claimWithdrawals"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_requestIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "_hints"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "_recipient"; readonly type: "address"; }]; readonly name: "claimWithdrawalsTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_lastRequestIdToBeFinalized"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxShareRate"; readonly type: "uint256"; }]; readonly name: "finalize"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "getApproved"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBaseURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_requestIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "_hints"; readonly type: "uint256[]"; }]; readonly name: "getClaimableEther"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "claimableEthValues"; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getContractVersion"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getLastCheckpointIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getLastFinalizedRequestId"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getLastRequestId"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getLockedEtherAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getNFTDescriptorAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getResumeSinceTimestamp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "getWithdrawalRequests"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "requestsIds"; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_requestIds"; readonly type: "uint256[]"; }]; readonly name: "getWithdrawalStatus"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "amountOfStETH"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountOfShares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isFinalized"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isClaimed"; readonly type: "bool"; }]; readonly internalType: "struct WithdrawalQueueBase.WithdrawalRequestStatus[]"; readonly name: "statuses"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_operator"; readonly type: "address"; }]; readonly name: "isApprovedForAll"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isBunkerModeActive"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isPaused"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "ownerOf"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "requestWithdrawals"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "requestIds"; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly internalType: "struct WithdrawalQueue.PermitInput"; readonly name: "_permit"; readonly type: "tuple"; }]; readonly name: "requestWithdrawalsWithPermit"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "requestIds"; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "requestWithdrawalsWstETH"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "requestIds"; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly internalType: "struct WithdrawalQueue.PermitInput"; readonly name: "_permit"; readonly type: "tuple"; }]; readonly name: "requestWithdrawalsWstETHWithPermit"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "requestIds"; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "_data"; readonly type: "bytes"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_operator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_approved"; readonly type: "bool"; }]; readonly name: "setApprovalForAll"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_baseURI"; readonly type: "string"; }]; readonly name: "setBaseURI"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "tokenURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "unfinalizedRequestNumber"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "unfinalizedStETH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }], "safeTransferFrom", readonly [_from: `0x${string}`, _to: `0x${string}`, _requestId: bigint] | readonly [_from: `0x${string}`, _to: `0x${string}`, _requestId: bigint, _data: `0x${string}`], import("viem").Chain | undefined, import("viem").Account | undefined, undefined, import("viem").JsonRpcAccount>>; transferPopulateTx(props: NoTxOptions<UnstethTransferProps>): Promise<PopulatedTransaction>; getSingleTokenApproval({ id, account: accountProp, }: UnstethApprovedForProps): Promise<`0x${string}`>; setSingleTokenApproval(props: UnstethApproveProps): Promise<TransactionResult>; setSingleTokenApprovalPopulateTx(props: NoTxOptions<UnstethApproveProps>): Promise<PopulatedTransaction>; setSingleTokenApprovalSimulateTx(props: NoTxOptions<UnstethApproveProps>): Promise<import("viem").SimulateContractReturnType<readonly [{ readonly inputs: readonly []; readonly name: "AdminZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ApprovalToOwner"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ApproveToCaller"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_firstArrayLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_secondArrayLength"; readonly type: "uint256"; }]; readonly name: "ArraysLengthMismatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "BatchesAreNotSorted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CantSendValueRecipientMayHaveReverted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyBatches"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidContractVersionIncrement"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_hint"; readonly type: "uint256"; }]; readonly name: "InvalidHint"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "InvalidOwnerAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidReportTimestamp"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "InvalidRequestId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "startId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "endId"; readonly type: "uint256"; }]; readonly name: "InvalidRequestIdRange"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidState"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonZeroContractVersionOnInit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEnoughEther"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "NotOwner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "NotOwnerOrApproved"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "NotOwnerOrApprovedForAll"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "PauseUntilMustBeInFuture"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "PausedExpected"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "RequestAlreadyClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amountOfStETH"; readonly type: "uint256"; }]; readonly name: "RequestAmountTooLarge"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amountOfStETH"; readonly type: "uint256"; }]; readonly name: "RequestAmountTooSmall"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RequestIdsNotSorted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_requestId"; readonly type: "uint256"; }]; readonly name: "RequestNotFoundOrNotFinalized"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ResumedExpected"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "str"; readonly type: "string"; }]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sent"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxExpected"; readonly type: "uint256"; }]; readonly name: "TooMuchEtherToFinalize"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "realOwner"; readonly type: "address"; }]; readonly name: "TransferFromIncorrectOwner"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferFromZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "TransferToNonIERC721Receiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferToThemselves"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TransferToZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }]; readonly name: "UnexpectedContractVersion"; readonly type: "error"; }, {