UNPKG

@sablier/flow

Version:

EVM smart contracts of the Sablier Flow token distribution protocol

787 lines 179 kB
{ "abi": [ { "type": "function", "name": "adjustRatePerSecond", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "newRatePerSecond", "type": "uint128", "internalType": "UD21x18" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "aggregateAmount", "inputs": [{ "name": "token", "type": "address", "internalType": "contract IERC20" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "outputs": [{ "name": "balance", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "batch", "inputs": [{ "name": "calls", "type": "bytes[]", "internalType": "bytes[]" }], "outputs": [{ "name": "results", "type": "bytes[]", "internalType": "bytes[]" }], "stateMutability": "payable" }, { "type": "function", "name": "calculateMinFeeWei", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "minFeeWei", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "comptroller", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierComptroller" }], "stateMutability": "view" }, { "type": "function", "name": "coveredDebtOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "coveredDebt", "type": "uint128", "internalType": "uint128" }], "stateMutability": "view" }, { "type": "function", "name": "create", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" }, { "name": "startTime", "type": "uint40", "internalType": "uint40" }, { "name": "token", "type": "address", "internalType": "contract IERC20" }, { "name": "transferable", "type": "bool", "internalType": "bool" } ], "outputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "createAndDeposit", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" }, { "name": "startTime", "type": "uint40", "internalType": "uint40" }, { "name": "token", "type": "address", "internalType": "contract IERC20" }, { "name": "transferable", "type": "bool", "internalType": "bool" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "stateMutability": "payable" }, { "type": "function", "name": "depletionTimeOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "depletionTime", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint128", "internalType": "uint128" }, { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "depositAndPause", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "getApproved", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "operator", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getBalance", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "balance", "type": "uint128", "internalType": "uint128" }], "stateMutability": "view" }, { "type": "function", "name": "getRatePerSecond", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" }], "stateMutability": "view" }, { "type": "function", "name": "getRecipient", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "recipient", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getSender", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "sender", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "getSnapshotDebtScaled", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "snapshotDebtScaled", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getSnapshotTime", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "snapshotTime", "type": "uint40", "internalType": "uint40" }], "stateMutability": "view" }, { "type": "function", "name": "getStream", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [ { "name": "stream", "type": "tuple", "internalType": "struct Flow.Stream", "components": [ { "name": "balance", "type": "uint128", "internalType": "uint128" }, { "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" }, { "name": "sender", "type": "address", "internalType": "address" }, { "name": "snapshotTime", "type": "uint40", "internalType": "uint40" }, { "name": "isStream", "type": "bool", "internalType": "bool" }, { "name": "isTransferable", "type": "bool", "internalType": "bool" }, { "name": "isVoided", "type": "bool", "internalType": "bool" }, { "name": "token", "type": "address", "internalType": "contract IERC20" }, { "name": "tokenDecimals", "type": "uint8", "internalType": "uint8" }, { "name": "snapshotDebtScaled", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getToken", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "token", "type": "address", "internalType": "contract IERC20" }], "stateMutability": "view" }, { "type": "function", "name": "getTokenDecimals", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "tokenDecimals", "type": "uint8", "internalType": "uint8" }], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "isStream", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "isTransferable", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "isVoided", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "nativeToken", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "nextStreamId", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "nftDescriptor", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "contract IFlowNFTDescriptor" }], "stateMutability": "view" }, { "type": "function", "name": "ongoingDebtScaledOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "ongoingDebtScaled", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "owner", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "pause", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "recover", "inputs": [ { "name": "token", "type": "address", "internalType": "contract IERC20" }, { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "refund", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "refundAndPause", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "refundMax", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "refundedAmount", "type": "uint128", "internalType": "uint128" }], "stateMutability": "payable" }, { "type": "function", "name": "refundableAmountOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "refundableAmount", "type": "uint128", "internalType": "uint128" }], "stateMutability": "view" }, { "type": "function", "name": "restart", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "restartAndDeposit", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "ratePerSecond", "type": "uint128", "internalType": "UD21x18" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setComptroller", "inputs": [{ "name": "newComptroller", "type": "address", "internalType": "contract ISablierComptroller" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNFTDescriptor", "inputs": [{ "name": "newNFTDescriptor", "type": "address", "internalType": "contract IFlowNFTDescriptor" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNativeToken", "inputs": [{ "name": "newNativeToken", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "statusOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "status", "type": "uint8", "internalType": "enum Flow.Status" }], "stateMutability": "view" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "string", "internalType": "string" }], "stateMutability": "view" }, { "type": "function", "name": "totalDebtOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "totalDebt", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "transferFeesToComptroller", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFromPayable", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "streamId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "transferTokens", "inputs": [ { "name": "token", "type": "address", "internalType": "contract IERC20" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "uncoveredDebtOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "uncoveredDebt", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "void", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "withdrawMax", "inputs": [ { "name": "streamId", "type": "uint256", "internalType": "uint256" }, { "name": "to", "type": "address", "internalType": "address" } ], "outputs": [{ "name": "withdrawnAmount", "type": "uint128", "internalType": "uint128" }], "stateMutability": "payable" }, { "type": "function", "name": "withdrawableAmountOf", "inputs": [{ "name": "streamId", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "withdrawableAmount", "type": "uint128", "internalType": "uint128" }], "stateMutability": "view" }, { "type": "event", "name": "AdjustFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "totalDebt", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "oldRatePerSecond", "type": "uint128", "indexed": false, "internalType": "UD21x18" }, { "name": "newRatePerSecond", "type": "uint128", "indexed": false, "internalType": "UD21x18" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "BatchMetadataUpdate", "inputs": [ { "name": "_fromTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "_toTokenId", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "CreateFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "creator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ratePerSecond", "type": "uint128", "indexed": false, "internalType": "UD21x18" }, { "name": "snapshotTime", "type": "uint40", "indexed": false, "internalType": "uint40" }, { "name": "token", "type": "address", "indexed": true, "internalType": "contract IERC20" }, { "name": "transferable", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "DepositFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "funder", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "MetadataUpdate", "inputs": [{ "name": "_tokenId", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "PauseFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDebt", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RefundFromFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "RestartFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "ratePerSecond", "type": "uint128", "indexed": false, "internalType": "UD21x18" } ], "anonymous": false }, { "type": "event", "name": "SetComptroller", "inputs": [ { "name": "oldComptroller", "type": "address", "indexed": false, "internalType": "contract ISablierComptroller" }, { "name": "newComptroller", "type": "address", "indexed": false, "internalType": "contract ISablierComptroller" } ], "anonymous": false }, { "type": "event", "name": "SetNFTDescriptor", "inputs": [ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "contract ISablierComptroller" }, { "name": "oldNFTDescriptor", "type": "address", "indexed": false, "internalType": "contract IFlowNFTDescriptor" }, { "name": "newNFTDescriptor", "type": "address", "indexed": false, "internalType": "contract IFlowNFTDescriptor" } ], "anonymous": false }, { "type": "event", "name": "SetNativeToken", "inputs": [ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "contract ISablierComptroller" }, { "name": "nativeToken", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TransferFeesToComptroller", "inputs": [ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "feeAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VoidFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "newTotalDebt", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "writtenOffDebt", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "WithdrawFromFlowStream", "inputs": [ { "name": "streamId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "contract IERC20" }, { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "withdrawAmount", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "adjustRatePerSecond(uint256,uint128)": "a8a482a6", "aggregateAmount(address)": "ec01da3b", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "batch(bytes[])": "1e897afb", "calculateMinFeeWei(uint256)": "cca138e5", "comptroller()": "5fe3b567", "coveredDebtOf(uint256)": "42e3e23d", "create(address,address,uint128,uint40,address,bool)": "5f2a0beb", "createAndDeposit(address,address,uint128,uint40,address,bool,uint128)": "36af277f", "depletionTimeOf(uint256)": "d4b80884", "deposit(uint256,uint128,address,address)": "b61f7583", "depositAndPause(uint256,uint128)": "bcbd019e", "getApproved(uint256)": "081812fc", "getBalance(uint256)": "1e010439", "getRatePerSecond(uint256)": "80448da3", "getRecipient(uint256)": "6d0cee75", "getSender(uint256)": "b971302a", "getSnapshotDebtScaled(uint256)": "450ac908", "getSnapshotTime(uint256)": "eb5710d8", "getStream(uint256)": "894e9a0d", "getToken(uint256)": "e4b50cb8", "getTokenDecimals(uint256)": "a7de07cd", "isApprovedForAll(address,address)": "e985e9c5", "isStream(uint256)": "b8a3be66", "isTransferable(uint256)": "b2564569", "isVoided(uint256)": "569f4c59", "name()": "06fdde03", "nativeToken()": "e1758bd8", "nextStreamId()": "1e99d569", "nftDescriptor()": "44267570", "ongoingDebtScaledOf(uint256)": "7ddf9228", "ownerOf(uint256)": "6352211e", "pause(uint256)": "136439dd", "recover(address,address)": "648bf774", "refund(uint256,uint128)": "81632a86", "refundAndPause(uint256,uint128)": "379d871a", "refundMax(uint256)": "0c699624", "refundableAmountOf(uint256)": "1400ecec", "restart(uint256,uint128)": "ebb6f79a", "restartAndDeposit(uint256,uint128,uint128)": "1f0cce58", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "setComptroller(address)": "8bad38dd", "setNFTDescriptor(address)": "7cad6cd1", "setNativeToken(address)": "6da1e102", "statusOf(uint256)": "ad35efd4", "supportsInterface(bytes4)": "01ffc9a7", "symbol()": "95d89b41", "tokenURI(uint256)": "c87b56dd", "totalDebtOf(uint256)": "08b87923", "transferFeesToComptroller()": "78f82ce7", "transferFrom(address,address,uint256)": "23b872dd", "transferFromPayable(address,address,uint256)": "d90e27d7", "transferTokens(address,address,uint128)": "28f8b77d", "uncoveredDebtOf(uint256)": "bc7a2d6c", "void(uint256)": "5ea2145b", "withdraw(uint256,address,uint128)": "fdd46d60", "withdrawMax(uint256,address)": "ea5ead19", "withdrawableAmountOf(uint256)": "d975dfed" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"UD21x18\",\"name\":\"oldRatePerSecond\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"UD21x18\",\"name\":\"newRatePerSecond\",\"type\":\"uint128\"}],\"name\":\"AdjustFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"snapshotTime\",\"type\":\"uint40\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"}],\"name\":\"CreateFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"funder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"DepositFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDebt\",\"type\":\"uint256\"}],\"name\":\"PauseFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"RefundFromFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"}],\"name\":\"RestartFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"oldComptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"SetComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISablierComptroller\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IFlowNFTDescriptor\",\"name\":\"oldNFTDescriptor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IFlowNFTDescriptor\",\"name\":\"newNFTDescriptor\",\"type\":\"address\"}],\"name\":\"SetNFTDescriptor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISablierComptroller\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SetNativeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"TransferFeesToComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotalDebt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"writtenOffDebt\",\"type\":\"uint256\"}],\"name\":\"VoidFlowStream\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"withdrawAmount\",\"type\":\"uint128\"}],\"name\":\"WithdrawFromFlowStream\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"UD21x18\",\"name\":\"newRatePerSecond\",\"type\":\"uint128\"}],\"name\":\"adjustRatePerSecond\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"aggregateAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"calls\",\"type\":\"bytes[]\"}],\"name\":\"batch\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"calculateMinFeeWei\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minFeeWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"coveredDebtOf\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"coveredDebt\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"startTime\",\"type\":\"uint40\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"transferable\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"createAndDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"depletionTimeOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depletionTime\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"depositAndPause\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getRatePerSecond\",\"outputs\":[{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getSnapshotDebtScaled\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotDebtScaled\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getSnapshotTime\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"snapshotTime\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getStream\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"balance\",\"type\":\"uint128\"},{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"snapshotTime\",\"type\":\"uint40\"},{\"internalType\":\"bool\",\"name\":\"isStream\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransferable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isVoided\",\"type\":\"bool\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"tokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"snapshotDebtScaled\",\"type\":\"uint256\"}],\"internalType\":\"struct Flow.Stream\",\"name\":\"stream\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"getTokenDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"tokenDecimals\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isStream\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"isVoided\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextStreamId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nftDescriptor\",\"outputs\":[{\"internalType\":\"contract IFlowNFTDescriptor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"ongoingDebtScaledOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ongoingDebtScaled\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recover\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"refundAndPause\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"refundMax\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"refundedAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"}],\"name\":\"refundableAmountOf\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"refundableAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"}],\"name\":\"restart\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"streamId\",\"type\":\"uint256\"},{\"internalType\":\"UD21x18\",\"name\":\"ratePerSecond\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"restartAndDeposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayabl