Skip to content

@ecp.eth/sdk


@ecp.eth/sdk / defaultExports / ChannelManagerABI

Variable: ChannelManagerABI

const ChannelManagerABI: readonly [{
  inputs: readonly [{
     internalType: "address";
     name: "initialOwner";
     type: "address";
  }];
  stateMutability: "nonpayable";
  type: "constructor";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "to";
     type: "address";
   }, {
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "approve";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "balanceOf";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
  }];
  name: "channelExists";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "string";
     name: "name";
     type: "string";
   }, {
     internalType: "string";
     name: "description";
     type: "string";
   }, {
     internalType: "string";
     name: "metadata";
     type: "string";
   }, {
     internalType: "address";
     name: "hook";
     type: "address";
  }];
  name: "createChannel";
  outputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
  }];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "value";
     type: "uint256";
  }];
  name: "deductProtocolHookTransactionFee";
  outputs: readonly [{
     internalType: "uint256";
     name: "hookValue";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "getApproved";
  outputs: readonly [{
     internalType: "address";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
  }];
  name: "getChannel";
  outputs: readonly [{
     components: readonly [{
        internalType: "string";
        name: "name";
        type: "string";
      }, {
        internalType: "string";
        name: "description";
        type: "string";
      }, {
        internalType: "string";
        name: "metadata";
        type: "string";
      }, {
        internalType: "address";
        name: "hook";
        type: "address";
      }, {
        components: readonly [{
           internalType: "bool";
           name: "onInitialize";
           type: "bool";
         }, {
           internalType: "bool";
           name: "onCommentAdd";
           type: "bool";
         }, {
           internalType: "bool";
           name: "onCommentDelete";
           type: "bool";
         }, {
           internalType: "bool";
           name: "onCommentEdit";
           type: "bool";
         }, {
           internalType: "bool";
           name: "onChannelUpdate";
           type: "bool";
        }];
        internalType: "struct Hooks.Permissions";
        name: "permissions";
        type: "tuple";
     }];
     internalType: "struct Channels.Channel";
     name: "";
     type: "tuple";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "getChannelCreationFee";
  outputs: readonly [{
     internalType: "uint96";
     name: "";
     type: "uint96";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
  }];
  name: "getChannelOwner";
  outputs: readonly [{
     internalType: "address";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "getHookTransactionFee";
  outputs: readonly [{
     internalType: "uint16";
     name: "";
     type: "uint16";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
   }, {
     internalType: "address";
     name: "operator";
     type: "address";
  }];
  name: "isApprovedForAll";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "name";
  outputs: readonly [{
     internalType: "string";
     name: "";
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "owner";
  outputs: readonly [{
     internalType: "address";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "ownerOf";
  outputs: readonly [{
     internalType: "address";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "renounceOwnership";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "from";
     type: "address";
   }, {
     internalType: "address";
     name: "to";
     type: "address";
   }, {
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "safeTransferFrom";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     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: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "operator";
     type: "address";
   }, {
     internalType: "bool";
     name: "approved";
     type: "bool";
  }];
  name: "setApprovalForAll";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "string";
     name: "baseURI_";
     type: "string";
  }];
  name: "setBaseURI";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint96";
     name: "fee";
     type: "uint96";
  }];
  name: "setChannelCreationFee";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     internalType: "address";
     name: "hook";
     type: "address";
  }];
  name: "setHook";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint16";
     name: "feeBasisPoints";
     type: "uint16";
  }];
  name: "setHookTransactionFee";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes4";
     name: "interfaceId";
     type: "bytes4";
  }];
  name: "supportsInterface";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "symbol";
  outputs: readonly [{
     internalType: "string";
     name: "";
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "index";
     type: "uint256";
  }];
  name: "tokenByIndex";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
   }, {
     internalType: "uint256";
     name: "index";
     type: "uint256";
  }];
  name: "tokenOfOwnerByIndex";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "tokenURI";
  outputs: readonly [{
     internalType: "string";
     name: "";
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "totalSupply";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "from";
     type: "address";
   }, {
     internalType: "address";
     name: "to";
     type: "address";
   }, {
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "transferFrom";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "newOwner";
     type: "address";
  }];
  name: "transferOwnership";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     internalType: "string";
     name: "name";
     type: "string";
   }, {
     internalType: "string";
     name: "description";
     type: "string";
   }, {
     internalType: "string";
     name: "metadata";
     type: "string";
  }];
  name: "updateChannel";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "_commentsContract";
     type: "address";
  }];
  name: "updateCommentsContract";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "recipient";
     type: "address";
  }];
  name: "withdrawFees";
  outputs: readonly [{
     internalType: "uint256";
     name: "amount";
     type: "uint256";
  }];
  stateMutability: "nonpayable";
  type: "function";
}, {
  anonymous: false;
  inputs: readonly [{
     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: readonly [{
     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: readonly [{
     indexed: false;
     internalType: "string";
     name: "baseURI";
     type: "string";
  }];
  name: "BaseURIUpdated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: false;
     internalType: "string";
     name: "name";
     type: "string";
   }, {
     indexed: false;
     internalType: "string";
     name: "metadata";
     type: "string";
  }];
  name: "ChannelCreated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: false;
     internalType: "uint96";
     name: "newFee";
     type: "uint96";
  }];
  name: "ChannelCreationFeeUpdated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: false;
     internalType: "string";
     name: "name";
     type: "string";
   }, {
     indexed: false;
     internalType: "string";
     name: "description";
     type: "string";
   }, {
     indexed: false;
     internalType: "string";
     name: "metadata";
     type: "string";
  }];
  name: "ChannelUpdated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "recipient";
     type: "address";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "amount";
     type: "uint256";
  }];
  name: "FeesWithdrawn";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: true;
     internalType: "address";
     name: "hook";
     type: "address";
  }];
  name: "HookSet";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: true;
     internalType: "address";
     name: "hook";
     type: "address";
   }, {
     indexed: false;
     internalType: "bool";
     name: "enabled";
     type: "bool";
  }];
  name: "HookStatusUpdated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: false;
     internalType: "uint16";
     name: "newBasisPoints";
     type: "uint16";
  }];
  name: "HookTransactionFeeUpdated";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "previousOwner";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "newOwner";
     type: "address";
  }];
  name: "OwnershipTransferred";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     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";
}, {
  inputs: readonly [];
  name: "ChannelAlreadyExists";
  type: "error";
}, {
  inputs: readonly [];
  name: "ChannelDoesNotExist";
  type: "error";
}, {
  inputs: readonly [];
  name: "ERC721EnumerableForbiddenBatchMint";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "sender";
     type: "address";
   }, {
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
   }, {
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "ERC721IncorrectOwner";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "operator";
     type: "address";
   }, {
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "ERC721InsufficientApproval";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "approver";
     type: "address";
  }];
  name: "ERC721InvalidApprover";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "operator";
     type: "address";
  }];
  name: "ERC721InvalidOperator";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "ERC721InvalidOwner";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "receiver";
     type: "address";
  }];
  name: "ERC721InvalidReceiver";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "sender";
     type: "address";
  }];
  name: "ERC721InvalidSender";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "tokenId";
     type: "uint256";
  }];
  name: "ERC721NonexistentToken";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
   }, {
     internalType: "uint256";
     name: "index";
     type: "uint256";
  }];
  name: "ERC721OutOfBoundsIndex";
  type: "error";
}, {
  inputs: readonly [];
  name: "InsufficientFee";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidBaseURI";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidFee";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidHookInterface";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "owner";
     type: "address";
  }];
  name: "OwnableInvalidOwner";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "account";
     type: "address";
  }];
  name: "OwnableUnauthorizedAccount";
  type: "error";
}, {
  inputs: readonly [];
  name: "ReentrancyGuardReentrantCall";
  type: "error";
}, {
  inputs: readonly [];
  name: "UnauthorizedCaller";
  type: "error";
}, {
  inputs: readonly [];
  name: "ZeroAddress";
  type: "error";
}];

Defined in: packages/sdk/src/abis.ts:1367

ABI of the ChannelManager contract.