@ecp.eth/sdk / comments / postCommentWithSig
Variable: postCommentWithSig()
const postCommentWithSig: (...args) => Promise<WaitableWriteContractHelperResult<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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
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";
}], "CommentAdded">>;
Defined in: packages/sdk/src/comments/comment.ts:161
Posts a comment with author signature verification
Parameters
args
Returns
Promise
<WaitableWriteContractHelperResult
<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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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
: ...;
name
: ...;
type
: ...;
}, {
internalType
: ...;
name
: ...;
type
: ...;
}];
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"
;
}], "CommentAdded"
>>
The transaction hash