crossbell - v1.13.1
    Preparing search index...

    Class LinkContract

    Index

    Link

    • This burns a linklist.

      Parameters

      • __namedParameters: { linklistId: Numberish }
        • linklistId: Numberish

          The linklist ID of the linklist to burn.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "burnLinklist",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This creates a character for an target address and links the fromCharacter to it.

      This should be only called when the target address doesn't have any character. When called on an address that already has a character, this will fail. When called, this will create a new character for the target address and set the new character as the primary character for this address. The new character's handle will be set to the address of the target address.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string; toAddress: `0x${string}` }
        • fromCharacterId: Numberish

          The character ID of the character that is creating the new character. Must be your own character, otherwise it will be rejected.

        • linkType: string

          The type of link you want to create. This is a string.

        • toAddress: `0x${string}`

          The address of the character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "createThenLinkCharacter",
        > = {}

      Returns Promise<
          {
              data: { linklistId: bigint; toCharacterId: bigint };
              transactionHash: `0x${string}`;
          },
      >

      The transaction hash of the transaction that was sent to the blockchain, the toCharacterId and linklistId.

    • This returns the attached linked character ID of a character with a given link type or with a given linklist id.

      Parameters

      • __namedParameters: { linklistId: Numberish }
        • linklistId: Numberish

          The linklist ID of the linklist you want to get the linked characters from.

      • Optionaloverrides: ReadOverrides<
            readonly [
                { inputs: readonly []; name: "ErrCallerNotWeb3Entry"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrCallerNotWeb3EntryOrNotOwner";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "uint256" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Burn";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "newlinkType"; type: "bytes32" },
                    ];
                    name: "LinkTypeSet";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: false; name: "uri"; type: "string" },
                    ];
                    name: "UriSet";
                    type: "event";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "Uri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "Web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "addLinkingAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toUri"; type: "string" },
                    ];
                    name: "addLinkingAnyUri";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "addLinkingCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                        { name: "erc721TokenId"; type: "uint256" },
                    ];
                    name: "addLinkingERC721";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "linklistId"; type: "uint256" },
                    ];
                    name: "addLinkingLinklistId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "toNoteId"; type: "uint256" },
                    ];
                    name: "addLinkingNote";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: "balance"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "characterOwnerOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getCurrentTakeOver";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingAddressListLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingAddresses";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingAnyListLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAnyUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingAnyUriKeys";
                    outputs: readonly [{ name: ""; type: "bytes32[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingAnyUris";
                    outputs: readonly [{ name: "results"; type: "string[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingCharacterIds";
                    outputs: readonly [{ name: ""; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingCharacterListLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingERC721";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingERC721ListLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingERC721s";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingLinklistIds";
                    outputs: readonly [{ name: ""; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingLinklistLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingNoteListLength";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinkingNotes";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getOwnerCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "web3Entry_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "mint";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "removeLinkingAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toUri"; type: "string" },
                    ];
                    name: "removeLinkingAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "removeLinkingCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                        { name: "erc721TokenId"; type: "uint256" },
                    ];
                    name: "removeLinkingERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "linklistId"; type: "uint256" },
                    ];
                    name: "removeLinkingLinklistId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "toNoteId"; type: "uint256" },
                    ];
                    name: "removeLinkingNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinkType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "tokenId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "getLinkingCharacterIds",
        >

      Returns Promise<{ data: bigint[] }>

      An array of character ids that are linked to the character id passed in.

      // Get the linked character ids of a character
      const linkedCharacterIds = await contract.link.getLinkingCharacterIds({ linklistId })
      // Get the linked character ids of a character with a given link type
      const linkedCharacterIds = await contract.link.getLinkingCharacterIds({ fromCharacterId, linkType })

      Note that you can either pass in:

      • linklistId
      • or fromCharacterId and linkType as the first argument.
    • This returns the attached linked character ID of a character with a given link type or with a given linklist id.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string }
        • fromCharacterId: Numberish

          The character ID of the character you want to get the linked characters from.

        • linkType: string

          The type of link you want to get.

      • Optionaloverrides: ReadOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAddress";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAddresses";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAnyUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAnyUris";
                    outputs: readonly [{ name: "results"; type: "string[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingCharacterId";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingCharacterIds";
                    outputs: readonly [{ name: "results"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingERC721";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingERC721s";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingLinklistId";
                    outputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingLinklistIds";
                    outputs: readonly [{ name: "linklistIds"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingNotes";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "offset"; type: "uint256" },
                        { name: "limit"; type: "uint256" },
                    ];
                    name: "getNotesByCharacterId";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "_web3Entry"; type: "address" },
                        { name: "_linklist"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterIds"; type: "uint256[]" },
                                { name: "data"; type: "bytes[]" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharactersInBatch";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "linklist";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "account"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "migrate";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "getLinkingCharacterIds",
        >

      Returns Promise<{ data: bigint[] }>

      An array of character ids that are linked to the character id passed in.

      // Get the linked character ids of a character
      const linkedCharacterIds = await contract.link.getLinkingCharacterIds({ linklistId })
      // Get the linked character ids of a character with a given link type
      const linkedCharacterIds = await contract.link.getLinkingCharacterIds({ fromCharacterId, linkType })

      Note that you can either pass in:

      • linklistId
      • or fromCharacterId and linkType as the first argument.
    • This returns the attached linked character of a character with a given link type.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string }
        • fromCharacterId: Numberish

          The character ID of the character you want to get the linked characters from.

        • linkType: string

          The type of link you want to get.

      • overrides: ReadOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAddress";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAddresses";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAnyUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAnyUris";
                    outputs: readonly [{ name: "results"; type: "string[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingCharacterId";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingCharacterIds";
                    outputs: readonly [{ name: "results"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingERC721";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingERC721s";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingLinklistId";
                    outputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingLinklistIds";
                    outputs: readonly [{ name: "linklistIds"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingNotes";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "offset"; type: "uint256" },
                        { name: "limit"; type: "uint256" },
                    ];
                    name: "getNotesByCharacterId";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "_web3Entry"; type: "address" },
                        { name: "_linklist"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterIds"; type: "uint256[]" },
                                { name: "data"; type: "bytes[]" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharactersInBatch";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "linklist";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "account"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "migrate";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "getLinkingCharacterIds",
        > = {}

      Returns Promise<{ data: Character[] }>

      An array of character that are linked to the character id passed in.

    • This gets the linklist id of a linkCharacter transaction.

      Parameters

      • __namedParameters: { hash: `0x${string}` }
        • hash: `0x${string}`

          The transaction hash of the transaction you want to get the linklist id of.

      Returns Promise<{ data: bigint }>

      The linklist id of the transaction.

    • This gets the metadata for a linklist.

      Parameters

      • __namedParameters: { linklistId: string }
      • overrides: ReadOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "getLinklistUri",
        > = {}

      Returns Promise<{ data: string }>

    • This links a character to an address with a given link type.

      Parameters

      • __namedParameters: {
            data: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toAddress: `0x${string}`;
        }
        • data: `0x${string}`

          The data to be passed to the link module if the address has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to the address.

        • linkType: string

          The type of link.

        • toAddress: `0x${string}`

          The address of the character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkAddress",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain, and the linklistId.

    • This links a character to any uri with a given link type.

      Parameters

      • __namedParameters: {
            data: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toUri: string;
        }
        • data: `0x${string}`

          The data to be passed to the link module if the address has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to the address.

        • linkType: string

          The type of link.

        • toUri: string

          The uri of the character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkAnyUri",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain, and the linklistId.

    • This links a character to another character with a given link type.

      Parameters

      • __namedParameters: {
            data?: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toCharacterId: Numberish;
        }
        • Optionaldata?: `0x${string}`

          The data to be passed to the link module if the character has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character. Must be your own character, otherwise it will be rejected.

        • linkType: string

          The type of link.

        • toCharacterId: Numberish

          The character ID of the character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkCharacter",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The linklist id and the transaction hash of the transaction that was sent to the blockchain.

    • This links a character to multiple characters with a given link type in batch.

      This could be considered a bulk version of linkCharacter & createThenLinkCharacter

      Parameters

      • __namedParameters: {
            data?: `0x${string}`[];
            fromCharacterId: Numberish;
            linkType: string;
            toAddresses: `0x${string}`[];
            toCharacterIds: Numberish[];
        }
        • Optionaldata?: `0x${string}`[]

          The data to be passed to the link module if the character has one. It should has the same length as toCharacterIds.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character. Must be your own character, otherwise it will be rejected.

        • linkType: string

          The type of link.

        • toAddresses: `0x${string}`[]

          The addresses of the characters you want to link to (who don't have a character). See more on createThenLinkCharacter

        • toCharacterIds: Numberish[]

          The character IDs of the character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAddress";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAddresses";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingAnyUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingAnyUris";
                    outputs: readonly [{ name: "results"; type: "string[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingCharacterId";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingCharacterIds";
                    outputs: readonly [{ name: "results"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingERC721";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingERC721s";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingLinklistId";
                    outputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingLinklistIds";
                    outputs: readonly [{ name: "linklistIds"; type: "uint256[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkKey"; type: "bytes32" }];
                    name: "getLinkingNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinkingNotes";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "offset"; type: "uint256" },
                        { name: "limit"; type: "uint256" },
                    ];
                    name: "getNotesByCharacterId";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "results";
                            type: "tuple[]";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "_web3Entry"; type: "address" },
                        { name: "_linklist"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterIds"; type: "uint256[]" },
                                { name: "data"; type: "bytes[]" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharactersInBatch";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "linklist";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "account"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "toAddresses"; type: "address[]" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "migrate";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "linkCharactersInBatch",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The linklist id and the transaction hash of the transaction that was sent to the blockchain.

    • This links a character to any uri with a given link type.

      Parameters

      • __namedParameters: {
            data: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toContractAddress: `0x${string}`;
            toTokenId: Numberish;
        }
        • data: `0x${string}`

          The data to be passed to the link module if the address has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to the address.

        • linkType: string

          The type of link.

        • toContractAddress: `0x${string}`

          The address of the ERC721 contract.

        • toTokenId: Numberish

          The token id of the ERC721 token.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkERC721",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain, and the linklistId.

    • This links a character to a linklist with a given link type.

      Parameters

      • __namedParameters: {
            data: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toLinkListId: Numberish;
        }
        • data: `0x${string}`

          The data to be passed to the link module if the character has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to another note. Must be your own character, otherwise it will be rejected.

        • linkType: string

          The type of link.

        • toLinkListId: Numberish

          The linklist ID of the linklist you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkLinklist",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The linklist id and the transaction hash of the transaction that was sent to the blockchain.

    • This links a character to another note with a given link type.

      Parameters

      • __namedParameters: {
            data?: `0x${string}`;
            fromCharacterId: Numberish;
            linkType: string;
            toCharacterId: Numberish;
            toNoteId: Numberish;
        }
        • Optionaldata?: `0x${string}`

          The data to be passed to the link module if the character has one.

        • fromCharacterId: Numberish

          The character ID of the character that is linking to another note. Must be your own character, otherwise it will be rejected.

        • linkType: string

          The type of link.

        • toCharacterId: Numberish

          The character ID of the character you want to link to.

        • toNoteId: Numberish

          The note ID of the note you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "linkNote",
        > = {}

      Returns Promise<{ data: bigint; transactionHash: `0x${string}` }>

      The linklist id and the transaction hash of the transaction that was sent to the blockchain.

    • This sets the type for a linklist.

      Parameters

      • __namedParameters: { linklistId: Numberish; linkType: string }
      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "setLinklistType",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

    • This sets the metadata for a linklist.

      Parameters

      • __namedParameters: { linklistId: Numberish; uri: string }
      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "setLinklistUri",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

    • This removes a link from a character to an address.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string; toAddress: `0x${string}` }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character.

        • linkType: string

          The type of link.

        • toAddress: `0x${string}`

          The address you want to unlink from.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkAddress",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This removes a link from a character to an uri.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string; toUri: string }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character.

        • linkType: string

          The type of link.

        • toUri: string

          The uri you want to unlink from.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkAnyUri",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This removes a link from a character to another character.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string; toCharacterId: Numberish }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character.

        • linkType: string

          The type of link.

        • toCharacterId: Numberish

          The character you want to link to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkCharacter",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This removes a link from a character to an Erc721 token.

      Parameters

      • __namedParameters: {
            fromCharacterId: Numberish;
            linkType: string;
            toContractAddress: `0x${string}`;
            toTokenId: Numberish;
        }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another character.

        • linkType: string

          The type of link.

        • toContractAddress: `0x${string}`

          The address of the ERC721 contract.

        • toTokenId: Numberish

          The token id of the ERC721 token.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkERC721",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This removes a link from a character to a linklist.

      Parameters

      • __namedParameters: { fromCharacterId: Numberish; linkType: string; toLinklistId: Numberish }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another note.

        • linkType: string

          The type of link.

        • toLinklistId: Numberish

          The linklist ID of the linklist you want to unlink to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkLinklist",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    • This removes a link from a character to another note.

      Parameters

      • __namedParameters: {
            fromCharacterId: Numberish;
            linkType: string;
            toCharacterId: Numberish;
            toNoteId: Numberish;
        }
        • fromCharacterId: Numberish

          The character ID of the character that is linking to another note.

        • linkType: string

          The type of link.

        • toCharacterId: Numberish

          The character you want to unlink to.

        • toNoteId: Numberish

          The note ID of the note you want to unlink to.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "ErrCharacterNotExists";
                    type: "error";
                },
                {
                    inputs: readonly [];
                    name: "ErrHandleContainsInvalidCharacters";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrHandleExists"; type: "error" },
                { inputs: readonly []; name: "ErrHandleLengthInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrNotCharacterOwner"; type: "error" },
                { inputs: readonly []; name: "ErrNotEnoughPermission"; type: "error" },
                {
                    inputs: readonly [];
                    name: "ErrNotEnoughPermissionForThisNote";
                    type: "error";
                },
                { inputs: readonly []; name: "ErrNoteIsDeleted"; type: "error" },
                { inputs: readonly []; name: "ErrNoteLocked"; type: "error" },
                { inputs: readonly []; name: "ErrNoteNotExists"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureExpired"; type: "error" },
                { inputs: readonly []; name: "ErrSignatureInvalid"; type: "error" },
                { inputs: readonly []; name: "ErrSocialTokenExists"; type: "error" },
                { inputs: readonly []; name: "ErrTokenNotExists"; type: "error" },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "approved"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Approval";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "owner"; type: "address" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "approved"; type: "bool" },
                    ];
                    name: "ApprovalForAll";
                    type: "event";
                },
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "from"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                    ];
                    name: "Transfer";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "approve";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "burn";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linklistId"; type: "uint256" }];
                    name: "burnLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "to"; type: "address" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "createThenLinkCharacter";
                    outputs: readonly [{ name: "characterId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "deleteNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getApproved";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacter";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "handle"; type: "string" }];
                    name: "getCharacterByHandle";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "handle"; type: "string" },
                                { name: "uri"; type: "string" },
                                { name: "noteCount"; type: "uint256" },
                                { name: "socialToken"; type: "address" },
                                { name: "linkModule"; type: "address" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getCharacterUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getDomainSeparator";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getHandle";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getLinklistContract";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "getLinklistId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "linkListId"; type: "uint256" }];
                    name: "getLinklistType";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "getLinklistUri";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getNote";
                    outputs: readonly [
                        {
                            components: readonly [
                                { name: "linkItemType"; type: "bytes32" },
                                { name: "linkKey"; type: "bytes32" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintNFT"; type: "address" },
                                { name: "deleted"; type: "bool" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "";
                            type: "tuple";
                        },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "getOperatorPermissions";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "getOperators";
                    outputs: readonly [{ name: ""; type: "address[]" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "getOperators4Note";
                    outputs: readonly [
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "account"; type: "address" }];
                    name: "getPrimaryCharacterId";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getRevision";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "pure";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "grantOperatorPermissions";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                        { name: "permissionBitMap"; type: "uint256" },
                        {
                            components: readonly [
                                { name: "v"; type: "uint8" },
                                { name: "r"; type: "bytes32" },
                                { name: "s"; type: "bytes32" },
                                { name: "deadline"; type: "uint256" },
                            ];
                            name: "sig";
                            type: "tuple";
                        },
                    ];
                    name: "grantOperatorPermissionsWithSig";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "blocklist"; type: "address[]" },
                        { name: "allowlist"; type: "address[]" },
                    ];
                    name: "grantOperators4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "name_"; type: "string" },
                        { name: "symbol_"; type: "string" },
                        { name: "linklist_"; type: "address" },
                        { name: "mintNFTImpl_"; type: "address" },
                        { name: "periphery_"; type: "address" },
                        { name: "newbieVilla_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isApprovedForAll";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "operator"; type: "address" },
                    ];
                    name: "isOperatorAllowedForNote";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "isPrimaryCharacter";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                                { name: "data"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "linkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                    ];
                    name: "lockNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "to"; type: "address" },
                                { name: "mintModuleData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "mintNote";
                    outputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "data"; type: "bytes[]" }];
                    name: "multicall";
                    outputs: readonly [{ name: "results"; type: "bytes[]" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "name";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "owner"; type: "address" }];
                    name: "nonces";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "tokenId"; type: "uint256" }];
                    name: "ownerOf";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "postNote";
                    outputs: readonly [{ name: "noteId"; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "ethAddress"; type: "address" },
                    ];
                    name: "postNote4Address";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "uri"; type: "string" },
                    ];
                    name: "postNote4AnyUri";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toCharacterId"; type: "uint256" },
                    ];
                    name: "postNote4Character";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "tokenAddress"; type: "address" },
                                { name: "erc721TokenId"; type: "uint256" },
                            ];
                            name: "erc721";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4ERC721";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        { name: "toLinklistId"; type: "uint256" },
                    ];
                    name: "postNote4Linklist";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "contentUri"; type: "string" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                                { name: "locked"; type: "bool" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                            ];
                            name: "note";
                            type: "tuple";
                        },
                    ];
                    name: "postNote4Note";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "resolver";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "_data"; type: "bytes" },
                    ];
                    name: "safeTransferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: "approved"; type: "bool" },
                    ];
                    name: "setApprovalForAll";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setCharacterUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "newHandle"; type: "string" },
                    ];
                    name: "setHandle";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Character";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "linkModule"; type: "address" },
                                { name: "linkModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setLinkModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "linkType"; type: "bytes32" },
                    ];
                    name: "setLinklistType";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "linklistId"; type: "uint256" },
                        { name: "uri"; type: "string" },
                    ];
                    name: "setLinklistUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "characterId"; type: "uint256" },
                                { name: "noteId"; type: "uint256" },
                                { name: "mintModule"; type: "address" },
                                { name: "mintModuleInitData"; type: "bytes" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "setMintModule4Note";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "noteId"; type: "uint256" },
                        { name: "newUri"; type: "string" },
                    ];
                    name: "setNoteUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "setPrimaryCharacterId";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "characterId"; type: "uint256" },
                        { name: "tokenAddress"; type: "address" },
                    ];
                    name: "setSocialToken";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "interfaceId"; type: "bytes4" }];
                    name: "supportsInterface";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "symbol";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "index"; type: "uint256" }];
                    name: "tokenByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "owner"; type: "address" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "tokenOfOwnerByIndex";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "tokenURI";
                    outputs: readonly [{ name: ""; type: "string" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "totalSupply";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "from"; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                    ];
                    name: "transferFrom";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "ethAddress"; type: "address" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAddress";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toUri"; type: "string" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkAnyUri";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "tokenAddress"; type: "address" },
                                { name: "tokenId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkERC721";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toLinkListId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkLinklist";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        {
                            components: readonly [
                                { name: "fromCharacterId"; type: "uint256" },
                                { name: "toCharacterId"; type: "uint256" },
                                { name: "toNoteId"; type: "uint256" },
                                { name: "linkType"; type: "bytes32" },
                            ];
                            name: "vars";
                            type: "tuple";
                        },
                    ];
                    name: "unlinkNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "AttachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "name"; type: "string" },
                        { indexed: false; name: "symbol"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "BaseInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "creator"; type: "address" },
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: false; name: "handle"; type: "string" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "CharacterCreated";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "DeleteNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                    ];
                    name: "DetachLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "operator"; type: "address" },
                        { indexed: false; name: "permissionBitMap"; type: "uint256" },
                    ];
                    name: "GrantOperatorPermissions";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "blocklist"; type: "address[]" },
                        { indexed: false; name: "allowlist"; type: "address[]" },
                    ];
                    name: "GrantOperators4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharacterId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "LinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "LinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "LinklistNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                    ];
                    name: "LockNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "MintNFTInitialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "to"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "tokenAddress"; type: "address" },
                        { indexed: false; name: "tokenId"; type: "uint256" },
                    ];
                    name: "MintNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkKey"; type: "bytes32" },
                        { indexed: false; name: "linkItemType"; type: "bytes32" },
                        { indexed: false; name: "data"; type: "bytes" },
                    ];
                    name: "PostNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "amount"; type: "uint256" },
                        { indexed: false; name: "approvedAddresses"; type: "address[]" },
                    ];
                    name: "SetApprovedMintAmount4Addresses";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetCharacterUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "newHandle"; type: "string" },
                    ];
                    name: "SetHandle";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Address";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Character";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "tokenId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4ERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "linklistId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Linklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "linkModule"; type: "address" },
                        { indexed: false; name: "linkModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetLinkModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "noteId"; type: "uint256" },
                        { indexed: true; name: "mintModule"; type: "address" },
                        { indexed: false; name: "mintModuleInitData"; type: "bytes" },
                        { indexed: false; name: "returnData"; type: "bytes" },
                    ];
                    name: "SetMintModule4Note";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "noteId"; type: "uint256" },
                        { indexed: false; name: "newUri"; type: "string" },
                    ];
                    name: "SetNoteUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "oldCharacterId"; type: "uint256" },
                    ];
                    name: "SetPrimaryCharacterId";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "characterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                    ];
                    name: "SetSocialToken";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "ethAddress"; type: "address" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAddress";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: false; name: "toUri"; type: "string" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkAnyUri";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacter";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "clFromCharactereId"; type: "uint256" },
                        { indexed: false; name: "clToCharacterId"; type: "uint256" },
                        { indexed: false; name: "clLinkType"; type: "bytes32" },
                    ];
                    name: "UnlinkCharacterLink";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "tokenAddress"; type: "address" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkERC721";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toLinklistId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: true; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkLinklist";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "fromCharacterId"; type: "uint256" },
                        { indexed: true; name: "toCharacterId"; type: "uint256" },
                        { indexed: true; name: "toNoteId"; type: "uint256" },
                        { indexed: false; name: "linkType"; type: "bytes32" },
                        { indexed: false; name: "linklistId"; type: "uint256" },
                    ];
                    name: "UnlinkNote";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "timestamp"; type: "uint256" },
                    ];
                    name: "Web3EntryInitialized";
                    type: "event";
                },
            ],
            "unlinkNote",
        > = {}

      Returns Promise<{ data: undefined; transactionHash: `0x${string}` }>

      The transaction hash of the transaction that was sent to the blockchain.

    Other

    MMNEPVFCICPMFPCPTTAAATR