@sablier/flow
Version:
EVM smart contracts of the Sablier Flow token distribution protocol
787 lines • 179 kB
JSON
{
"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