[ { "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "DOMAIN_SEPARATOR", "inputs": [], "outputs": [ { "name": "result", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "VERSION", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "result", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "asset", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "result", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "cancelOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "completeOwnershipHandover", "inputs": [ { "name": "pendingOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "convertToAssets", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToShares", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "minSharesOut", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "extSloads", "inputs": [ { "name": "slots", "type": "bytes32[]", "internalType": "bytes32[]" } ], "outputs": [ { "name": "res", "type": "bytes32[]", "internalType": "bytes32[]" } ], "stateMutability": "view" }, { "type": "function", "name": "finishRedeem", "inputs": [ { "name": "withdrawalKey", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getNextWithdrawNonce", "inputs": [ { "name": "staker", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getQueuedWithdrawal", "inputs": [ { "name": "staker", "type": "address", "internalType": "address" }, { "name": "_withdrawNonce", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct WithdrawLib.QueuedWithdrawal", "components": [ { "name": "staker", "type": "address", "internalType": "address" }, { "name": "start", "type": "uint96", "internalType": "uint96" }, { "name": "shares", "type": "uint256", "internalType": "uint256" }, { "name": "beneficiary", "type": "address", "internalType": "address" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "initialize", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_operator", "type": "address", "internalType": "address" }, { "name": "_depositToken", "type": "address", "internalType": "address" }, { "name": "_name", "type": "string", "internalType": "string" }, { "name": "_symbol", "type": "string", "internalType": "string" }, { "name": "_extraData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isWithdrawalPending", "inputs": [ { "name": "staker", "type": "address", "internalType": "address" }, { "name": "_withdrawNonce", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "maxDeposit", "inputs": [ { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "maxAssets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxMint", "inputs": [ { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "maxShares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxRedeem", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "maxShares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxWithdraw", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "maxAssets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "nonces", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "result", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "ownershipHandoverExpiresAt", "inputs": [ { "name": "pendingOwner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "result", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "pause", "inputs": [ { "name": "map", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "paused", "inputs": [ { "name": "index", "type": "uint8", "internalType": "uint8" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "paused", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "pausedMap", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "permit", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" }, { "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": "previewDeposit", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewMint", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewRedeem", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewWithdraw", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "requestOwnershipHandover", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "slashAssets", "inputs": [ { "name": "totalAssetsToSlash", "type": "uint256", "internalType": "uint256" }, { "name": "slashingHandler", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "transferAmount", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "startRedeem", "inputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" }, { "name": "beneficiary", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "withdrawalKey", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "result", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "unpause", "inputs": [ { "name": "map", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vaultConfig", "inputs": [], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct VaultLib.Config", "components": [ { "name": "asset", "type": "address", "internalType": "address" }, { "name": "decimals", "type": "uint8", "internalType": "uint8" }, { "name": "operator", "type": "address", "internalType": "address" }, { "name": "name", "type": "string", "internalType": "string" }, { "name": "symbol", "type": "string", "internalType": "string" }, { "name": "extraData", "type": "bytes", "internalType": "bytes" } ] } ], "stateMutability": "pure" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "assets", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposit", "inputs": [ { "name": "by", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "assets", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "shares", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FinishedRedeem", "inputs": [ { "name": "staker", "type": "address", "indexed": false, "internalType": "address" }, { "name": "beneficiary", "type": "address", "indexed": false, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "shares", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "assetsClaimed", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "withdrawRoot", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } ], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverCanceled", "inputs": [ { "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnershipHandoverRequested", "inputs": [ { "name": "pendingOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "oldOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Paused", "inputs": [ { "name": "account", "type": "address", "indexed": false, "internalType": "address" }, { "name": "map", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Slashed", "inputs": [ { "name": "assets", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "StartedRedeem", "inputs": [ { "name": "staker", "type": "address", "indexed": false, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "shares", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "withdrawKey", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "assets", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Unpaused", "inputs": [ { "name": "account", "type": "address", "indexed": false, "internalType": "address" }, { "name": "map", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdraw", "inputs": [ { "name": "by", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "assets", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "shares", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "error", "name": "AllowanceOverflow", "inputs": [] }, { "type": "error", "name": "AllowanceUnderflow", "inputs": [] }, { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, { "type": "error", "name": "AttemptedPauseWhileUnpausing", "inputs": [] }, { "type": "error", "name": "AttemptedUnpauseWhilePausing", "inputs": [] }, { "type": "error", "name": "DepositMoreThanMax", "inputs": [] }, { "type": "error", "name": "EnforcedPause", "inputs": [] }, { "type": "error", "name": "EnforcedPauseFunction", "inputs": [ { "name": "functionIndex", "type": "uint8", "internalType": "uint8" } ] }, { "type": "error", "name": "InsufficientAllowance", "inputs": [] }, { "type": "error", "name": "InsufficientBalance", "inputs": [] }, { "type": "error", "name": "InvalidInitialization", "inputs": [] }, { "type": "error", "name": "InvalidPermit", "inputs": [] }, { "type": "error", "name": "MinWithdrawDelayNotPassed", "inputs": [] }, { "type": "error", "name": "MintMoreThanMax", "inputs": [] }, { "type": "error", "name": "NewOwnerIsZeroAddress", "inputs": [] }, { "type": "error", "name": "NoHandoverRequest", "inputs": [] }, { "type": "error", "name": "NotEnoughShares", "inputs": [] }, { "type": "error", "name": "NotImplemented", "inputs": [] }, { "type": "error", "name": "NotInitializing", "inputs": [] }, { "type": "error", "name": "PermitExpired", "inputs": [] }, { "type": "error", "name": "RedeemMoreThanMax", "inputs": [] }, { "type": "error", "name": "Reentrancy", "inputs": [] }, { "type": "error", "name": "TotalSupplyOverflow", "inputs": [] }, { "type": "error", "name": "Unauthorized", "inputs": [] }, { "type": "error", "name": "WithdrawMoreThanMax", "inputs": [] }, { "type": "error", "name": "WithdrawalNotFound", "inputs": [] }, { "type": "error", "name": "ZeroAddress", "inputs": [] }, { "type": "error", "name": "ZeroAmount", "inputs": [] }, { "type": "error", "name": "ZeroShares", "inputs": [] } ]