UNPKG

@crestfi/crest-bnb-sdk

Version:

1. [StreamClient](#crestfistreamclient) 1. [Installation](#installation) 2. [Environment Setup](#environment-setup) 3. [Run tests](#run-tests) 4. [Contracts](#contracts) 5. [Usage](#usage) 1. [Getting Signer Address](#getting-si

1,938 lines (1,937 loc) 105 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Core__factory = void 0; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ const ethers_1 = require("ethers"); const _abi = [ { inputs: [], name: "BulkTransferInvalidProof", type: "error", }, { inputs: [], name: "BulkTransferNotStarted", type: "error", }, { inputs: [], name: "BulkTransferStreamAlreadyInitialized", type: "error", }, { inputs: [ { internalType: "address", name: "token", type: "address", }, { internalType: "uint256", name: "requestAmount", type: "uint256", }, { internalType: "uint256", name: "availableAmount", type: "uint256", }, ], name: "InSufficientReleasableAmount", type: "error", }, { inputs: [ { internalType: "address", name: "token", type: "address", }, { internalType: "uint256", name: "requestAmount", type: "uint256", }, { internalType: "uint256", name: "vaultAmount", type: "uint256", }, ], name: "InSufficientCrestFiWalletAmount", type: "error", }, { inputs: [], name: "InvalidInstantTransferAmount", type: "error", }, { inputs: [ { internalType: "address", name: "caller", type: "address", }, { internalType: "address", name: "owner", type: "address", }, ], name: "InvalidOwner", type: "error", }, { inputs: [ { internalType: "address", name: "caller", type: "address", }, { internalType: "address", name: "receiver", type: "address", }, ], name: "InvalidReceiver", type: "error", }, { inputs: [ { internalType: "address", name: "caller", type: "address", }, { internalType: "address", name: "sender", type: "address", }, ], name: "InvalidSender", type: "error", }, { inputs: [], name: "InvalidStreamEndTime", type: "error", }, { inputs: [], name: "InvalidStreamStartTime", type: "error", }, { inputs: [ { internalType: "address", name: "token", type: "address", }, ], name: "InvalidToken", type: "error", }, { inputs: [ { internalType: "address", name: "token", type: "address", }, { internalType: "address", name: "sender", type: "address", }, ], name: "InvalidTokenAllowance", type: "error", }, { inputs: [], name: "InvalidTokenData", type: "error", }, { inputs: [], name: "InvalidWithdrawAmount", type: "error", }, { inputs: [], name: "InvalidZeroAddress", type: "error", }, { inputs: [], name: "SenderCannotBeReceiver", type: "error", }, { inputs: [ { internalType: "uint256", name: "currentTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, ], name: "StreamAlreadyEnded", type: "error", }, { inputs: [ { internalType: "uint256", name: "currentTime", type: "uint256", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, ], name: "StreamAlreadyStarted", type: "error", }, { inputs: [], name: "StreamAmountCannotBeZero", type: "error", }, { inputs: [], name: "StreamCanceled", type: "error", }, { inputs: [], name: "StreamNotCancelable", type: "error", }, { inputs: [ { internalType: "uint256", name: "currentTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, ], name: "StreamNotEnded", type: "error", }, { inputs: [], name: "StreamNotPausable", type: "error", }, { inputs: [], name: "StreamNotPaused", type: "error", }, { inputs: [ { internalType: "uint256", name: "currentTime", type: "uint256", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, ], name: "StreamNotStarted", type: "error", }, { inputs: [], name: "StreamPaused", type: "error", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "TransferFailed", type: "error", }, { inputs: [ { internalType: "bytes32", name: "vault", type: "bytes32", }, { internalType: "address", name: "caller", type: "address", }, ], name: "CrestFiWalletAlreadyExists", type: "error", }, { inputs: [ { internalType: "address", name: "caller", type: "address", }, ], name: "CrestFiWalletDoesNotExists", type: "error", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "previousAdmin", type: "address", }, { indexed: false, internalType: "address", name: "newAdmin", type: "address", }, ], name: "AdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "beacon", type: "address", }, ], name: "BeaconUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "contractAddress", type: "address", }, ], name: "BulkTransferContractUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "bulkTransferIndex", type: "uint256", }, { indexed: true, internalType: "address", name: "receiver", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint256", name: "recurringFrequency", type: "uint256", }, ], name: "BulkTransferInstantTransfer", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "receiver", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "uint256", name: "bulkTransferIndex", type: "uint256", }, { indexed: false, internalType: "uint256", name: "recurringFrequency", type: "uint256", }, ], name: "BulkTransferStreamed", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "streamName", type: "bytes32", }, { indexed: false, internalType: "address", name: "streamSender", type: "address", }, { indexed: false, internalType: "address", name: "streamReceiver", type: "address", }, { indexed: false, internalType: "address", name: "streamingToken", type: "address", }, { indexed: false, internalType: "uint256", name: "streamStartTime", type: "uint256", }, { indexed: false, internalType: "uint256", name: "streamEndTime", type: "uint256", }, { indexed: false, internalType: "uint256", name: "streamingAmount", type: "uint256", }, { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "uint8", name: "streamParam", type: "uint8", }, ], name: "CreatedStream", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, ], name: "CreatedCrestFiWallet", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "address", name: "token", type: "address", }, { indexed: false, internalType: "uint256", name: "tokenAmount", type: "uint256", }, { indexed: false, internalType: "address", name: "receiver", type: "address", }, ], name: "CreatedCrestFiWalletAndStreamed", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "address", name: "tokenAddress", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "DepositedToken", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, { indexed: true, internalType: "address", name: "spender", type: "address", }, { indexed: false, internalType: "address", name: "tokenAddress", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "FundApproval", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "from", type: "address", }, { indexed: true, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "address", name: "tokenAddress", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "FundTransfer", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "name", type: "bytes32", }, { indexed: true, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "address", name: "token", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, { indexed: true, internalType: "address", name: "receiver", type: "address", }, ], name: "InstantTokenTransfer", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Paused", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "pausedTime", type: "uint256", }, { indexed: false, internalType: "uint256", name: "releasableAmount", type: "uint256", }, ], name: "PausedStreaming", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "pausedAmount", type: "uint256", }, ], name: "ResumedStreaming", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "contractAddress", type: "address", }, ], name: "StakingContractUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "uint256", name: "releasedAmount", type: "uint256", }, ], name: "StoppedStreaming", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "token", type: "address", }, { indexed: false, internalType: "address", name: "whitelistWallet", type: "address", }, { indexed: false, internalType: "bool", name: "whitelisted", type: "bool", }, ], name: "TokenWhitelisted", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, ], name: "Unpaused", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "bytes32", name: "streamName", type: "bytes32", }, { indexed: false, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "uint256", name: "streamStartTime", type: "uint256", }, { indexed: false, internalType: "uint256", name: "streamEndTime", type: "uint256", }, { indexed: false, internalType: "uint256", name: "streamAmount", type: "uint256", }, ], name: "UpdatedStream", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "implementation", type: "address", }, ], name: "Upgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "receiver", type: "address", }, { indexed: false, internalType: "address", name: "owner", type: "address", }, { indexed: false, internalType: "address", name: "tokenAddress", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "WalletWithdrawn", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "streamAddress", type: "bytes32", }, { indexed: false, internalType: "address", name: "crestfiWallet", type: "address", }, { indexed: false, internalType: "address", name: "receiver", type: "address", }, { indexed: false, internalType: "uint256", name: "releasedAmount", type: "uint256", }, ], name: "WithdrawnStream", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "receiver", type: "address", }, { indexed: false, internalType: "address", name: "owner", type: "address", }, { indexed: false, internalType: "address", name: "tokenAddress", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "CrestFiWalletWithdrawn", type: "event", }, { stateMutability: "payable", type: "fallback", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "bulkTransferWithdrawCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "crestfiWallet", type: "address", }, { internalType: "address[]", name: "tokenAddress", type: "address[]", }, ], name: "calculateMinimumDepositAmount", outputs: [ { internalType: "uint256[]", name: "minimumDeposit", type: "uint256[]", }, { internalType: "uint256[]", name: "outgoingStreamBalance", type: "uint256[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamBytes", type: "bytes32", }, ], name: "calculateReleasableAmount", outputs: [ { internalType: "uint256", name: "releaseAmount", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "crestfiWallet", type: "address", }, { internalType: "uint256", name: "_streamCount", type: "uint256", }, ], name: "calculateStreamBytes", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamBytes", type: "bytes32", }, ], name: "cancelStream", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamName", type: "bytes32", }, { internalType: "uint256", name: "streamingAmount", type: "uint256", }, { internalType: "address", name: "streamingToken", type: "address", }, { internalType: "address", name: "streamReceiver", type: "address", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, { internalType: "bool", name: "streamCancelable", type: "bool", }, { internalType: "bool", name: "streamPausable", type: "bool", }, ], name: "createStream", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamName", type: "bytes32", }, { internalType: "uint256", name: "streamingAmount", type: "uint256", }, { internalType: "address", name: "streamingToken", type: "address", }, { internalType: "string", name: "streamReceiverLabel", type: "string", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, { internalType: "bool", name: "streamCancelable", type: "bool", }, { internalType: "bool", name: "streamPausable", type: "bool", }, ], name: "createStreamTNS", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "crestfiWalletAddress", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "address", name: "tokenAddress", type: "address", }, ], name: "depositTokens", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, { internalType: "address", name: "tokenAddress", type: "address", }, ], name: "fundAllowance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "address", name: "tokenAddress", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "fundApproval", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "from", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "address", name: "tokenAddress", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "fundTransferFrom", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getTrustedForwarder", outputs: [ { internalType: "address", name: "forwarder", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "sender", type: "address[]", }, { internalType: "address[]", name: "tokenAddresses", type: "address[]", }, ], name: "getWalletTokenBalance", outputs: [ { internalType: "uint256[]", name: "", type: "uint256[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "sender", type: "address[]", }, { internalType: "address[]", name: "tokenAddresses", type: "address[]", }, ], name: "getCrestFiWalletTokenBalance", outputs: [ { internalType: "uint256[]", name: "", type: "uint256[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, ], name: "grantWhitelisterRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_staking", type: "address", }, { internalType: "address", name: "_bulkTransfer", type: "address", }, { internalType: "address", name: "_tnsRegistry", type: "address", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamName", type: "bytes32", }, { internalType: "uint256", name: "streamingAmount", type: "uint256", }, { internalType: "address", name: "streamingToken", type: "address", }, { internalType: "address", name: "streamReceiver", type: "address", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, { internalType: "bool", name: "streamCancelable", type: "bool", }, { internalType: "bool", name: "streamPausable", type: "bool", }, ], name: "instantStream", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamName", type: "bytes32", }, { internalType: "uint256", name: "streamingAmount", type: "uint256", }, { internalType: "address", name: "streamingToken", type: "address", }, { internalType: "string", name: "streamReceiverLabel", type: "string", }, { internalType: "uint256", name: "streamStartTime", type: "uint256", }, { internalType: "uint256", name: "streamEndTime", type: "uint256", }, { internalType: "bool", name: "streamCancelable", type: "bool", }, { internalType: "bool", name: "streamPausable", type: "bool", }, ], name: "instantStreamTNS", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "name", type: "bytes32", }, { internalType: "address", name: "token", type: "address", }, { internalType: "uint256", name: "tokenAmount", type: "uint256", }, { internalType: "address", name: "receiver", type: "address", }, { internalType: "bool", name: "crestfiWalletWithdraw", type: "bool", }, ], name: "instantTokenTransfer", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "name", type: "bytes32", }, { internalType: "address", name: "token", type: "address", }, { internalType: "uint256", name: "tokenAmount", type: "uint256", }, { internalType: "string", name: "receiverLabel", type: "string", }, { internalType: "bool", name: "crestfiWalletWithdraw", type: "bool", }, ], name: "instantTokenTransferTNS", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "forwarder", type: "address", }, ], name: "isTrustedForwarder", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamBytes", type: "bytes32", }, ], name: "pauseStream", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "paused", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "proxiableUUID", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "streamBytes", type: "bytes32", }, ], name: "resumeStream", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "streams", outputs: [ { internalType: "bytes32", name: "name", type: "bytes32", }, { internalType: "address", name: "receiver", type: "address", }, { internalType: "address", name: "token", type: "address", }, { internalType: "uint256", name: "startTime", type: "uint256", }, { internalType: "uint256", name: "endTime", type: "uint256", }, { components: [ { internalType: "uint256", name: "streamAmount", type: "uint256", }, { internalType: "uint256", name: "releasedAmount", type: "uint256", }, { internalType: "uint256", name: "unlockedAmount", type: "uint256", }, { internalType: "uint256", name: "pausedAmount", type: "uint256", }, ], internalType: "struct Core.Amount", name: "amounts", type: "tuple", }, { internalType: "uint256", name: "pausedTime", type: "uint256", }, { internalType: "uint256", name: "withdrawTime", type: "uint256", }, { internalType: "address", name: "originCrestFiWallet", type: "address", }, { internalType: "bool", name: "canceled", type: "bool", }, { internalType: "bool", name: "paused", type: "bool", }, { internalType: "uint8", name: "streamParam", type: "uint8", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "tokenId", type: "uint256", }, { internalType: "string", name: "label", type: "string", }, ], name: "subTokenId", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4",