Skip to content

@ecp.eth/sdk


@ecp.eth/sdk / defaultExports / CommentManagerABI

Variable: CommentManagerABI

const CommentManagerABI: readonly [{
  inputs: readonly [{
     internalType: "address";
     name: "initialOwner";
     type: "address";
  }];
  stateMutability: "nonpayable";
  type: "constructor";
}, {
  inputs: readonly [];
  name: "DOMAIN_SEPARATOR";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "expiry";
     type: "uint256";
  }];
  name: "addApproval";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "expiry";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "nonce";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "authorSignature";
     type: "bytes";
  }];
  name: "addApprovalWithSig";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     components: readonly [{
        internalType: "enum Comments.BatchOperationType";
        name: "operationType";
        type: "uint8";
      }, {
        internalType: "uint256";
        name: "value";
        type: "uint256";
      }, {
        internalType: "bytes";
        name: "data";
        type: "bytes";
      }, {
        internalType: "bytes[]";
        name: "signatures";
        type: "bytes[]";
     }];
     internalType: "struct Comments.BatchOperation[]";
     name: "operations";
     type: "tuple[]";
  }];
  name: "batchOperations";
  outputs: readonly [{
     internalType: "bytes[]";
     name: "results";
     type: "bytes[]";
  }];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [];
  name: "cancelOwnershipHandover";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [];
  name: "channelManager";
  outputs: readonly [{
     internalType: "contract IChannelManager";
     name: "";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
   }, {
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  name: "commentHookMetadata";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
   }, {
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  name: "commentHookMetadataKeys";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
   }, {
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  name: "commentMetadata";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
   }, {
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  name: "commentMetadataKeys";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "pendingOwner";
     type: "address";
  }];
  name: "completeOwnershipHandover";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "deleteComment";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "authorSignature";
     type: "bytes";
   }, {
     internalType: "bytes";
     name: "appSignature";
     type: "bytes";
  }];
  name: "deleteCommentWithSig";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     components: readonly [{
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "nonce";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
     }];
     internalType: "struct Comments.EditComment";
     name: "editData";
     type: "tuple";
   }, {
     internalType: "bytes";
     name: "appSignature";
     type: "bytes";
  }];
  name: "editComment";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     components: readonly [{
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "nonce";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
     }];
     internalType: "struct Comments.EditComment";
     name: "editData";
     type: "tuple";
   }, {
     internalType: "bytes";
     name: "authorSignature";
     type: "bytes";
   }, {
     internalType: "bytes";
     name: "appSignature";
     type: "bytes";
  }];
  name: "editCommentWithSig";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "expiry";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "nonce";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
  }];
  name: "getAddApprovalHash";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
  }];
  name: "getApprovalExpiry";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "getComment";
  outputs: readonly [{
     components: readonly [{
        internalType: "address";
        name: "author";
        type: "address";
      }, {
        internalType: "uint88";
        name: "createdAt";
        type: "uint88";
      }, {
        internalType: "enum Comments.AuthorAuthMethod";
        name: "authMethod";
        type: "uint8";
      }, {
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint88";
        name: "updatedAt";
        type: "uint88";
      }, {
        internalType: "uint8";
        name: "commentType";
        type: "uint8";
      }, {
        internalType: "uint256";
        name: "channelId";
        type: "uint256";
      }, {
        internalType: "bytes32";
        name: "parentId";
        type: "bytes32";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        internalType: "string";
        name: "targetUri";
        type: "string";
     }];
     internalType: "struct Comments.Comment";
     name: "";
     type: "tuple";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "getCommentHookMetadata";
  outputs: readonly [{
     components: readonly [{
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
      }, {
        internalType: "bytes";
        name: "value";
        type: "bytes";
     }];
     internalType: "struct Metadata.MetadataEntry[]";
     name: "";
     type: "tuple[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "getCommentHookMetadataKeys";
  outputs: readonly [{
     internalType: "bytes32[]";
     name: "";
     type: "bytes32[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     internalType: "bytes32";
     name: "key";
     type: "bytes32";
  }];
  name: "getCommentHookMetadataValue";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     components: readonly [{
        internalType: "address";
        name: "author";
        type: "address";
      }, {
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "channelId";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "bytes32";
        name: "parentId";
        type: "bytes32";
      }, {
        internalType: "uint8";
        name: "commentType";
        type: "uint8";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
      }, {
        internalType: "string";
        name: "targetUri";
        type: "string";
     }];
     internalType: "struct Comments.CreateComment";
     name: "commentData";
     type: "tuple";
  }];
  name: "getCommentId";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "getCommentMetadata";
  outputs: readonly [{
     components: readonly [{
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
      }, {
        internalType: "bytes";
        name: "value";
        type: "bytes";
     }];
     internalType: "struct Metadata.MetadataEntry[]";
     name: "";
     type: "tuple[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "getCommentMetadataKeys";
  outputs: readonly [{
     internalType: "bytes32[]";
     name: "";
     type: "bytes32[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     internalType: "bytes32";
     name: "key";
     type: "bytes32";
  }];
  name: "getCommentMetadataValue";
  outputs: readonly [{
     internalType: "bytes";
     name: "";
     type: "bytes";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
  }];
  name: "getDeleteCommentHash";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     components: readonly [{
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "nonce";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
     }];
     internalType: "struct Comments.EditComment";
     name: "editData";
     type: "tuple";
  }];
  name: "getEditCommentHash";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
  }];
  name: "getNonce";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "nonce";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
  }];
  name: "getRemoveApprovalHash";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
  }];
  name: "isApproved";
  outputs: readonly [{
     internalType: "bool";
     name: "";
     type: "bool";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "isDeleted";
  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: "result";
     type: "address";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "pendingOwner";
     type: "address";
  }];
  name: "ownershipHandoverExpiresAt";
  outputs: readonly [{
     internalType: "uint256";
     name: "result";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     components: readonly [{
        internalType: "address";
        name: "author";
        type: "address";
      }, {
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "channelId";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "bytes32";
        name: "parentId";
        type: "bytes32";
      }, {
        internalType: "uint8";
        name: "commentType";
        type: "uint8";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
      }, {
        internalType: "string";
        name: "targetUri";
        type: "string";
     }];
     internalType: "struct Comments.CreateComment";
     name: "commentData";
     type: "tuple";
   }, {
     internalType: "bytes";
     name: "appSignature";
     type: "bytes";
  }];
  name: "postComment";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     components: readonly [{
        internalType: "address";
        name: "author";
        type: "address";
      }, {
        internalType: "address";
        name: "app";
        type: "address";
      }, {
        internalType: "uint256";
        name: "channelId";
        type: "uint256";
      }, {
        internalType: "uint256";
        name: "deadline";
        type: "uint256";
      }, {
        internalType: "bytes32";
        name: "parentId";
        type: "bytes32";
      }, {
        internalType: "uint8";
        name: "commentType";
        type: "uint8";
      }, {
        internalType: "string";
        name: "content";
        type: "string";
      }, {
        components: readonly [{
           internalType: "bytes32";
           name: "key";
           type: "bytes32";
         }, {
           internalType: "bytes";
           name: "value";
           type: "bytes";
        }];
        internalType: "struct Metadata.MetadataEntry[]";
        name: "metadata";
        type: "tuple[]";
      }, {
        internalType: "string";
        name: "targetUri";
        type: "string";
     }];
     internalType: "struct Comments.CreateComment";
     name: "commentData";
     type: "tuple";
   }, {
     internalType: "bytes";
     name: "authorSignature";
     type: "bytes";
   }, {
     internalType: "bytes";
     name: "appSignature";
     type: "bytes";
  }];
  name: "postCommentWithSig";
  outputs: readonly [{
     internalType: "bytes32";
     name: "";
     type: "bytes32";
  }];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "nonce";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "authorSignature";
     type: "bytes";
  }];
  name: "removeApprovalWithSig";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [];
  name: "renounceOwnership";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [];
  name: "requestOwnershipHandover";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "app";
     type: "address";
  }];
  name: "revokeApproval";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "newOwner";
     type: "address";
  }];
  name: "transferOwnership";
  outputs: readonly [];
  stateMutability: "payable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "_channelContract";
     type: "address";
  }];
  name: "updateChannelContract";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
  }];
  name: "updateCommentHookData";
  outputs: readonly [];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [];
  name: "version";
  outputs: readonly [{
     internalType: "string";
     name: "";
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "expiry";
     type: "uint256";
  }];
  name: "ApprovalAdded";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "app";
     type: "address";
  }];
  name: "ApprovalRemoved";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "sender";
     type: "address";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "operationsCount";
     type: "uint256";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "totalValue";
     type: "uint256";
  }];
  name: "BatchOperationExecuted";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     indexed: true;
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: false;
     internalType: "bytes32";
     name: "parentId";
     type: "bytes32";
   }, {
     indexed: false;
     internalType: "uint96";
     name: "createdAt";
     type: "uint96";
   }, {
     indexed: false;
     internalType: "string";
     name: "content";
     type: "string";
   }, {
     indexed: false;
     internalType: "string";
     name: "targetUri";
     type: "string";
   }, {
     indexed: false;
     internalType: "uint8";
     name: "commentType";
     type: "uint8";
   }, {
     indexed: false;
     internalType: "uint8";
     name: "authMethod";
     type: "uint8";
   }, {
     components: readonly [{
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
      }, {
        internalType: "bytes";
        name: "value";
        type: "bytes";
     }];
     indexed: false;
     internalType: "struct Metadata.MetadataEntry[]";
     name: "metadata";
     type: "tuple[]";
  }];
  name: "CommentAdded";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     indexed: true;
     internalType: "address";
     name: "author";
     type: "address";
  }];
  name: "CommentDeleted";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     indexed: true;
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "editedByApp";
     type: "address";
   }, {
     indexed: false;
     internalType: "uint256";
     name: "channelId";
     type: "uint256";
   }, {
     indexed: false;
     internalType: "bytes32";
     name: "parentId";
     type: "bytes32";
   }, {
     indexed: false;
     internalType: "uint96";
     name: "createdAt";
     type: "uint96";
   }, {
     indexed: false;
     internalType: "uint96";
     name: "updatedAt";
     type: "uint96";
   }, {
     indexed: false;
     internalType: "string";
     name: "content";
     type: "string";
   }, {
     indexed: false;
     internalType: "string";
     name: "targetUri";
     type: "string";
   }, {
     indexed: false;
     internalType: "uint8";
     name: "commentType";
     type: "uint8";
   }, {
     indexed: false;
     internalType: "uint8";
     name: "authMethod";
     type: "uint8";
   }, {
     components: readonly [{
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
      }, {
        internalType: "bytes";
        name: "value";
        type: "bytes";
     }];
     indexed: false;
     internalType: "struct Metadata.MetadataEntry[]";
     name: "metadata";
     type: "tuple[]";
  }];
  name: "CommentEdited";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     components: readonly [{
        internalType: "enum Metadata.MetadataOperation";
        name: "operation";
        type: "uint8";
      }, {
        internalType: "bytes32";
        name: "key";
        type: "bytes32";
      }, {
        internalType: "bytes";
        name: "value";
        type: "bytes";
     }];
     indexed: false;
     internalType: "struct Metadata.MetadataEntryOp[]";
     name: "operations";
     type: "tuple[]";
  }];
  name: "CommentHookDataUpdate";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     indexed: true;
     internalType: "bytes32";
     name: "key";
     type: "bytes32";
   }, {
     indexed: false;
     internalType: "bytes";
     name: "value";
     type: "bytes";
  }];
  name: "CommentHookMetadataSet";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "bytes32";
     name: "commentId";
     type: "bytes32";
   }, {
     indexed: true;
     internalType: "bytes32";
     name: "key";
     type: "bytes32";
   }, {
     indexed: false;
     internalType: "bytes";
     name: "value";
     type: "bytes";
  }];
  name: "CommentMetadataSet";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "pendingOwner";
     type: "address";
  }];
  name: "OwnershipHandoverCanceled";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "pendingOwner";
     type: "address";
  }];
  name: "OwnershipHandoverRequested";
  type: "event";
}, {
  anonymous: false;
  inputs: readonly [{
     indexed: true;
     internalType: "address";
     name: "oldOwner";
     type: "address";
   }, {
     indexed: true;
     internalType: "address";
     name: "newOwner";
     type: "address";
  }];
  name: "OwnershipTransferred";
  type: "event";
}, {
  inputs: readonly [];
  name: "AlreadyInitialized";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "operationIndex";
     type: "uint256";
   }, {
     internalType: "bytes";
     name: "reason";
     type: "bytes";
  }];
  name: "BatchOperationFailed";
  type: "error";
}, {
  inputs: readonly [];
  name: "ChannelDoesNotExist";
  type: "error";
}, {
  inputs: readonly [];
  name: "CommentAlreadyDeleted";
  type: "error";
}, {
  inputs: readonly [];
  name: "CommentAlreadyExists";
  type: "error";
}, {
  inputs: readonly [];
  name: "CommentDoesNotExist";
  type: "error";
}, {
  inputs: readonly [];
  name: "HookMetadataTooLong";
  type: "error";
}, {
  inputs: readonly [];
  name: "HookNotEnabled";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "providedValue";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "requiredValue";
     type: "uint256";
  }];
  name: "InsufficientValue";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidAppSignature";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidApprovalExpiry";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidAuthorSignature";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "operationIndex";
     type: "uint256";
   }, {
     internalType: "string";
     name: "reason";
     type: "string";
  }];
  name: "InvalidBatchOperation";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "string";
     name: "message";
     type: "string";
  }];
  name: "InvalidCommentReference";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidKey";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "author";
     type: "address";
   }, {
     internalType: "address";
     name: "app";
     type: "address";
   }, {
     internalType: "uint256";
     name: "expected";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "provided";
     type: "uint256";
  }];
  name: "InvalidNonce";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "string";
     name: "reason";
     type: "string";
  }];
  name: "InvalidReactionReference";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidSignatureLength";
  type: "error";
}, {
  inputs: readonly [];
  name: "InvalidSignatureS";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "providedValue";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "requiredValue";
     type: "uint256";
  }];
  name: "InvalidValueDistribution";
  type: "error";
}, {
  inputs: readonly [];
  name: "MetadataTooLong";
  type: "error";
}, {
  inputs: readonly [];
  name: "NewOwnerIsZeroAddress";
  type: "error";
}, {
  inputs: readonly [];
  name: "NoHandoverRequest";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "caller";
     type: "address";
   }, {
     internalType: "address";
     name: "requiredCaller";
     type: "address";
  }];
  name: "NotAuthorized";
  type: "error";
}, {
  inputs: readonly [];
  name: "ParentCommentHasNeverExisted";
  type: "error";
}, {
  inputs: readonly [];
  name: "ParentCommentNotInSameChannel";
  type: "error";
}, {
  inputs: readonly [];
  name: "ReactionCannotBeEdited";
  type: "error";
}, {
  inputs: readonly [];
  name: "Reentrancy";
  type: "error";
}, {
  inputs: readonly [{
     internalType: "uint256";
     name: "deadline";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "currentTime";
     type: "uint256";
  }];
  name: "SignatureDeadlineReached";
  type: "error";
}, {
  inputs: readonly [];
  name: "Unauthorized";
  type: "error";
}, {
  inputs: readonly [];
  name: "ZeroAddress";
  type: "error";
}];

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

ABI of the CommentManager contract.