@ecp.eth/sdk / comments / editComment
Variable: editComment()
const editComment: (...args) => Promise<WaitableWriteContractHelperResult<readonly [{
inputs: readonly [{
internalType: "address";
name: "initialOwner";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [];
name: "ADD_APPROVAL_TYPEHASH";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "ADD_COMMENT_TYPEHASH";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "DELETE_COMMENT_TYPEHASH";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "DOMAIN_SEPARATOR";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "EDIT_COMMENT_TYPEHASH";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "REMOVE_APPROVAL_TYPEHASH";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "app";
type: "address";
}];
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: "nonce";
type: "uint256";
}, {
internalType: "uint256";
name: "deadline";
type: "uint256";
}, {
internalType: "bytes";
name: "signature";
type: "bytes";
}];
name: "addApprovalWithSig";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "channelManager";
outputs: readonly [{
internalType: "contract IChannelManager";
name: "";
type: "address";
}];
stateMutability: "view";
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";
}, {
internalType: "string";
name: "metadata";
type: "string";
}];
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";
}, {
internalType: "string";
name: "metadata";
type: "string";
}];
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: "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: "bytes32";
name: "commentId";
type: "bytes32";
}];
name: "getComment";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "author";
type: "address";
}, {
internalType: "uint96";
name: "createdAt";
type: "uint96";
}, {
internalType: "address";
name: "app";
type: "address";
}, {
internalType: "uint96";
name: "updatedAt";
type: "uint96";
}, {
internalType: "uint256";
name: "channelId";
type: "uint256";
}, {
internalType: "bytes32";
name: "parentId";
type: "bytes32";
}, {
internalType: "string";
name: "content";
type: "string";
}, {
internalType: "string";
name: "metadata";
type: "string";
}, {
internalType: "string";
name: "targetUri";
type: "string";
}, {
internalType: "string";
name: "commentType";
type: "string";
}, {
internalType: "string";
name: "hookData";
type: "string";
}];
internalType: "struct Comments.Comment";
name: "";
type: "tuple";
}];
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: "string";
name: "content";
type: "string";
}, {
internalType: "string";
name: "metadata";
type: "string";
}, {
internalType: "string";
name: "targetUri";
type: "string";
}, {
internalType: "string";
name: "commentType";
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";
}, {
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";
}, {
internalType: "string";
name: "metadata";
type: "string";
}];
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: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "paused";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
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: "string";
name: "content";
type: "string";
}, {
internalType: "string";
name: "metadata";
type: "string";
}, {
internalType: "string";
name: "targetUri";
type: "string";
}, {
internalType: "string";
name: "commentType";
type: "string";
}];
internalType: "struct Comments.CreateComment";
name: "commentData";
type: "tuple";
}, {
internalType: "bytes";
name: "appSignature";
type: "bytes";
}];
name: "postComment";
outputs: readonly [];
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: "string";
name: "content";
type: "string";
}, {
internalType: "string";
name: "metadata";
type: "string";
}, {
internalType: "string";
name: "targetUri";
type: "string";
}, {
internalType: "string";
name: "commentType";
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 [];
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: "signature";
type: "bytes";
}];
name: "removeApprovalWithSig";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "renounceOwnership";
outputs: readonly [];
stateMutability: "nonpayable";
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: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "_channelContract";
type: "address";
}];
name: "updateChannelContract";
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";
}];
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: "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: "metadata";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "targetUri";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "commentType";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "hookData";
type: "string";
}];
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: "editedByApp";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "author";
type: "address";
}, {
indexed: false;
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: "uint96";
name: "updatedAt";
type: "uint96";
}, {
indexed: false;
internalType: "string";
name: "content";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "metadata";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "targetUri";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "commentType";
type: "string";
}, {
indexed: false;
internalType: "string";
name: "hookData";
type: "string";
}];
name: "CommentEdited";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "commentId";
type: "bytes32";
}, {
indexed: false;
internalType: "string";
name: "hookData";
type: "string";
}];
name: "CommentHookDataUpdated";
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: false;
internalType: "address";
name: "account";
type: "address";
}];
name: "Paused";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "account";
type: "address";
}];
name: "Unpaused";
type: "event";
}, {
inputs: readonly [];
name: "ChannelDoesNotExist";
type: "error";
}, {
inputs: readonly [];
name: "CommentDoesNotExist";
type: "error";
}, {
inputs: readonly [];
name: "EnforcedPause";
type: "error";
}, {
inputs: readonly [];
name: "ExpectedPause";
type: "error";
}, {
inputs: readonly [];
name: "InvalidAppSignature";
type: "error";
}, {
inputs: readonly [];
name: "InvalidAuthorSignature";
type: "error";
}, {
inputs: readonly [{
internalType: "string";
name: "message";
type: "string";
}];
name: "InvalidCommentReference";
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 [];
name: "InvalidSignatureLength";
type: "error";
}, {
inputs: readonly [];
name: "InvalidSignatureS";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}, {
internalType: "address";
name: "requiredCaller";
type: "address";
}];
name: "NotAuthorized";
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: "ParentCommentHasNeverExisted";
type: "error";
}, {
inputs: readonly [];
name: "ReentrancyGuardReentrantCall";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "deadline";
type: "uint256";
}, {
internalType: "uint256";
name: "currentTime";
type: "uint256";
}];
name: "SignatureDeadlineReached";
type: "error";
}, {
inputs: readonly [];
name: "ZeroAddress";
type: "error";
}], "CommentEdited">>;
Defined in: packages/sdk/src/comments/comment.ts:854
Edit a comment as an author
Parameters
args
...[EditCommentParams
]
Returns
Promise
<WaitableWriteContractHelperResult
<readonly [{
inputs
: readonly [{
internalType
: "address"
;
name
: "initialOwner"
;
type
: "address"
;
}];
stateMutability
: "nonpayable"
;
type
: "constructor"
;
}, {
inputs
: readonly [];
name
: "ADD_APPROVAL_TYPEHASH"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "ADD_COMMENT_TYPEHASH"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "DELETE_COMMENT_TYPEHASH"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "DOMAIN_SEPARATOR"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "EDIT_COMMENT_TYPEHASH"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "REMOVE_APPROVAL_TYPEHASH"
;
outputs
: readonly [{
internalType
: "bytes32"
;
name
: ""
;
type
: "bytes32"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [{
internalType
: "address"
;
name
: "app"
;
type
: "address"
;
}];
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
: "nonce"
;
type
: "uint256"
;
}, {
internalType
: "uint256"
;
name
: "deadline"
;
type
: "uint256"
;
}, {
internalType
: "bytes"
;
name
: "signature"
;
type
: "bytes"
;
}];
name
: "addApprovalWithSig"
;
outputs
: readonly [];
stateMutability
: "nonpayable"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "channelManager"
;
outputs
: readonly [{
internalType
: "contract IChannelManager"
;
name
: ""
;
type
: "address"
;
}];
stateMutability
: "view"
;
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"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}];
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"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}];
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
: "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
: "bytes32"
;
name
: "commentId"
;
type
: "bytes32"
;
}];
name
: "getComment"
;
outputs
: readonly [{
components
: readonly [{
internalType
: "address"
;
name
: "author"
;
type
: "address"
;
}, {
internalType
: "uint96"
;
name
: "createdAt"
;
type
: "uint96"
;
}, {
internalType
: "address"
;
name
: "app"
;
type
: "address"
;
}, {
internalType
: "uint96"
;
name
: "updatedAt"
;
type
: "uint96"
;
}, {
internalType
: "uint256"
;
name
: "channelId"
;
type
: "uint256"
;
}, {
internalType
: "bytes32"
;
name
: "parentId"
;
type
: "bytes32"
;
}, {
internalType
: "string"
;
name
: "content"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "commentType"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "hookData"
;
type
: "string"
;
}];
internalType
: "struct Comments.Comment"
;
name
: ""
;
type
: "tuple"
;
}];
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
: "string"
;
name
: "content"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "commentType"
;
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"
;
}, {
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"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}];
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
: ""
;
type
: "address"
;
}];
stateMutability
: "view"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "paused"
;
outputs
: readonly [{
internalType
: "bool"
;
name
: ""
;
type
: "bool"
;
}];
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
: "string"
;
name
: "content"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "commentType"
;
type
: "string"
;
}];
internalType
: "struct Comments.CreateComment"
;
name
: "commentData"
;
type
: "tuple"
;
}, {
internalType
: "bytes"
;
name
: "appSignature"
;
type
: "bytes"
;
}];
name
: "postComment"
;
outputs
: readonly [];
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
: "string"
;
name
: "content"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
internalType
: "string"
;
name
: "commentType"
;
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 [];
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
: "signature"
;
type
: "bytes"
;
}];
name
: "removeApprovalWithSig"
;
outputs
: readonly [];
stateMutability
: "nonpayable"
;
type
: "function"
;
}, {
inputs
: readonly [];
name
: "renounceOwnership"
;
outputs
: readonly [];
stateMutability
: "nonpayable"
;
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
: "nonpayable"
;
type
: "function"
;
}, {
inputs
: readonly [{
internalType
: "address"
;
name
: "_channelContract"
;
type
: "address"
;
}];
name
: "updateChannelContract"
;
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"
;
}];
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
: "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
: "metadata"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "commentType"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "hookData"
;
type
: "string"
;
}];
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
: "editedByApp"
;
type
: "address"
;
}, {
indexed
: true
;
internalType
: "address"
;
name
: "author"
;
type
: "address"
;
}, {
indexed
: false
;
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
: "uint96"
;
name
: "updatedAt"
;
type
: "uint96"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "content"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "metadata"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "targetUri"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "commentType"
;
type
: "string"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "hookData"
;
type
: "string"
;
}];
name
: "CommentEdited"
;
type
: "event"
;
}, {
anonymous
: false
;
inputs
: readonly [{
indexed
: true
;
internalType
: "bytes32"
;
name
: "commentId"
;
type
: "bytes32"
;
}, {
indexed
: false
;
internalType
: "string"
;
name
: "hookData"
;
type
: "string"
;
}];
name
: "CommentHookDataUpdated"
;
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
: false
;
internalType
: "address"
;
name
: "account"
;
type
: "address"
;
}];
name
: "Paused"
;
type
: "event"
;
}, {
anonymous
: false
;
inputs
: readonly [{
indexed
: false
;
internalType
: "address"
;
name
: "account"
;
type
: "address"
;
}];
name
: "Unpaused"
;
type
: "event"
;
}, {
inputs
: readonly [];
name
: "ChannelDoesNotExist"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "CommentDoesNotExist"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "EnforcedPause"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "ExpectedPause"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "InvalidAppSignature"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "InvalidAuthorSignature"
;
type
: "error"
;
}, {
inputs
: readonly [{
internalType
: "string"
;
name
: "message"
;
type
: "string"
;
}];
name
: "InvalidCommentReference"
;
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 [];
name
: "InvalidSignatureLength"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "InvalidSignatureS"
;
type
: "error"
;
}, {
inputs
: readonly [{
internalType
: "address"
;
name
: "caller"
;
type
: "address"
;
}, {
internalType
: "address"
;
name
: "requiredCaller"
;
type
: "address"
;
}];
name
: "NotAuthorized"
;
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
: "ParentCommentHasNeverExisted"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "ReentrancyGuardReentrantCall"
;
type
: "error"
;
}, {
inputs
: readonly [{
internalType
: "uint256"
;
name
: "deadline"
;
type
: "uint256"
;
}, {
internalType
: "uint256"
;
name
: "currentTime"
;
type
: "uint256"
;
}];
name
: "SignatureDeadlineReached"
;
type
: "error"
;
}, {
inputs
: readonly [];
name
: "ZeroAddress"
;
type
: "error"
;
}], "CommentEdited"
>>
The transaction hash