crossbell - v1.13.1

    Class CharacterContract

    Index

    Character

    • This burns a character.

      Parameters

      • __namedParameters: { characterId: Numberish }
        • characterId: Numberish

          The character ID of the character you want 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";
                },
            ],
            "burn",
        > = {}

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

      The transaction hash.

    • This changes a character's metadata (URI).

      Parameters

      • characterId: {
            characterId: Numberish;
            modifier: (metadata?: CharacterMetadata) => CharacterMetadata;
        }

        The character ID of the user you want to set the URI for.

      • 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";
                },
            ],
            "setCharacterUri",
        > = {}

      Returns Promise<
          {
              data: { metadata: CharacterMetadata; uri: string };
              transactionHash: `0x${string}`;
          },
      >

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

      // change a character's metadata name and bio
      await contract.character.changeMetadata('42', metadata => {
      if (metadata !== undefined) {
      metadata.name = 'John Doe'
      metadata.bio = 'I am a person'
      } else {
      metadata = {
      name: 'John Doe',
      bio: 'I am a person',
      }
      }
      return metadata
      })
      // change a character's metadata name and bio (using spread operator)
      await contract.character.changeMetadata('42', metadata => {
      metadata = {
      ...metadata,
      name: 'John Doe',
      bio: 'I am a person',
      }
      return metadata
      })
    • This creates a new character for an address, and returns the ID of the newly created character. When the character is the first character created for an address, the address will be set as the primary character.

      Parameters

      • __namedParameters: {
            handle: string;
            linkModule?: MintOrLinkModuleConfig;
            metadataOrUri: string | CharacterMetadata;
            owner: `0x${string}`;
        }
        • handle: string

          The handle of the character you want to create.

        • OptionallinkModule?: MintOrLinkModuleConfig
        • metadataOrUri: string | CharacterMetadata

          The metadata or URI of the character.

        • owner: `0x${string}`

          The Ethereum address of the character owner.

      • 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";
                },
            ],
            "createCharacter",
        > = {}

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

      The transaction hash and the character ID.

    • This checks if a character exists.

      Parameters

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

          The address of a user.

      • 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";
                },
            ],
            "getPrimaryCharacterId",
        > = {}

      Returns Promise<{ data: boolean }>

      A boolean indicating whether the character exists.

    • This checks if a character exists.

      Parameters

      • __namedParameters: { handle: string }
        • handle: string

          The handle of a character.

      • 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";
                },
            ],
            "getCharacterByHandle",
        > = {}

      Returns Promise<{ data: boolean }>

      A boolean indicating whether the character exists.

    • This returns a character given its characterId.

      Parameters

      • __namedParameters: { characterId: Numberish }
        • characterId: Numberish

          The character ID of the character you want to get.

      • 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";
                },
            ],
            "getCharacter",
        > = {}

      Returns Promise<{ data: Character }>

      The character with the given characterId.

    • This returns a character given its handle.

      Parameters

      • __namedParameters: { handle: string }
        • handle: string

          The handle of the character you want to get the content of.

      • 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";
                },
            ],
            "getCharacterByHandle",
        > = {}

      Returns Promise<{ data: Character }>

      The character with the given handle.

    • This returns the character given a create transaction hash.

      Parameters

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

          The transaction hash of the create transaction.

      • 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";
                },
            ],
            "getCharacter",
        > = {}

      Returns Promise<{ data: Character }>

      The characterId of the character that was created.

    • This returns the handle of a character.

      Parameters

      • __namedParameters: { characterId: Numberish }
        • characterId: Numberish

          The characterId of the character you want to get the handle for.

      • 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";
                },
            ],
            "getHandle",
        > = {}

      Returns Promise<{ data: string }>

      The handle of the character.

    • This returns the primary character ID of the given address.

      Parameters

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

          The address of the user you want to get the primary character ID for.

      • 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";
                },
            ],
            "getPrimaryCharacterId",
        > = {}

      Returns Promise<{ data: bigint }>

      The characterId of the primary character of the address.

    • This returns the URI of a character.

      Parameters

      • __namedParameters: { characterId: Numberish }
        • characterId: Numberish

          The character ID of the character you want to get the URI for.

      • 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";
                },
            ],
            "getCharacterUri",
        > = {}

      Returns Promise<{ data: string }>

      The URI of the character.

    • This returns a boolean indicating whether the characterId is a primary characterId of an address.

      Parameters

      • __namedParameters: { characterId: Numberish }
      • 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";
                },
            ],
            "isPrimaryCharacter",
        > = {}

      Returns Promise<{ data: boolean }>

      A boolean value.

    • This changes a character's handle.

      Parameters

      • __namedParameters: { characterId: Numberish; handle: string }
        • characterId: Numberish

          The character ID of the user you want to set the handle for.

        • handle: string

          The handle you want to set.

      • 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";
                },
            ],
            "setHandle",
        > = {}

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

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

    • This is the same as setUri

      Parameters

      • __namedParameters: { characterId: Numberish; metadata: CharacterMetadata }
      • 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";
                },
            ],
            "setCharacterUri",
        > = {}

      Returns Promise<
          {
              data: { metadata: CharacterMetadata; uri: string };
              transactionHash: `0x${string}`;
          },
      >

    • This sets the primary character ID for the user.

      Parameters

      • __namedParameters: { characterId: Numberish }
        • characterId: Numberish

          The character ID of the character you want to set as primary.

      • 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";
                },
            ],
            "setPrimaryCharacterId",
        > = {}

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

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

    • This sets the social token for a character

      Parameters

      • __namedParameters: { characterId: Numberish; socialToken: `0x${string}` }
        • characterId: Numberish

          The character ID of the user you want to set the social token for.

        • socialToken: `0x${string}`

          The token address you want to set for the character.

      • 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";
                },
            ],
            "setSocialToken",
        > = {}

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

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

    • This sets a character's metadata (URI).

      Parameters

      • __namedParameters: { characterId: Numberish; metadataOrUri: string | CharacterMetadata }
        • characterId: Numberish

          The character ID of the user you want to set the URI for.

        • metadataOrUri: string | CharacterMetadata

          The metadata or URI you want to set.

      • 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";
                },
            ],
            "setCharacterUri",
        > = {}

      Returns Promise<
          {
              data: { metadata: CharacterMetadata; uri: string };
              transactionHash: `0x${string}`;
          },
      >

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

    • This transfers a character to another address.

      Parameters

      • __namedParameters: {
            characterId: Numberish;
            fromAddress?: `0x${string}`;
            toAddress: `0x${string}`;
        }
        • characterId: Numberish

          The character ID of the character you want to transfer.

        • OptionalfromAddress?: `0x${string}`

          The address of the user that will send the character. Must be the owner of the character.

          Default is The address of the current wallet.

        • toAddress: `0x${string}`

          The address of the user that will receive the character.

      • 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";
                },
            ],
            "safeTransferFrom",
        > = {}

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

      The transaction hash.

    • This withdraws a character from the Newbie Villa contract.

      Parameters

      • __namedParameters: {
            characterId: Numberish;
            expires: Numberish;
            nonce: Numberish;
            proof: `0x${string}`;
            toAddress: `0x${string}`;
        }
        • characterId: Numberish

          The character ID of the character you want to withdraw.

        • expires: Numberish

          The expiration time given from the server.

        • nonce: Numberish

          The nonce given from the server.

        • proof: `0x${string}`

          The proof given from the server.

        • toAddress: `0x${string}`

          The address of the user that will receive the character.

      • overrides: WriteOverrides<
            readonly [
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "previousAdminRole"; type: "bytes32" },
                        { indexed: true; name: "newAdminRole"; type: "bytes32" },
                    ];
                    name: "RoleAdminChanged";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "sender"; type: "address" },
                    ];
                    name: "RoleGranted";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "sender"; type: "address" },
                    ];
                    name: "RoleRevoked";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "to"; type: "address" },
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "token"; type: "address" },
                        { indexed: false; name: "amount"; type: "uint256" },
                    ];
                    name: "Withdraw";
                    type: "event";
                },
                {
                    inputs: readonly [];
                    name: "ADMIN_ROLE";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "DEFAULT_ADMIN_ROLE";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "ERC1820_REGISTRY";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "TOKENS_RECIPIENT_INTERFACE_HASH";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "role"; type: "bytes32" }];
                    name: "getRoleAdmin";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "getRoleMember";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "role"; type: "bytes32" }];
                    name: "getRoleMemberCount";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getToken";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "grantRole";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "hasRole";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "web3Entry_"; type: "address" },
                        { name: "xsyncOperator_"; type: "address" },
                        { name: "token_"; type: "address" },
                        { name: "admin_"; type: "address" },
                        { name: "tips_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: ""; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "data"; type: "bytes" },
                    ];
                    name: "onERC721Received";
                    outputs: readonly [{ name: ""; type: "bytes4" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "renounceRole";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "revokeRole";
                    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: "fromCharacterId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "amount"; type: "uint256" },
                    ];
                    name: "tipCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "toNoteId"; type: "uint256" },
                        { name: "amount"; type: "uint256" },
                    ];
                    name: "tipCharacterForNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: ""; type: "address" },
                        { name: ""; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "amount"; type: "uint256" },
                        { name: "userData"; type: "bytes" },
                        { name: "operatorData"; type: "bytes" },
                    ];
                    name: "tokensReceived";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "characterId"; type: "uint256" },
                        { name: "nonce"; type: "uint256" },
                        { name: "expires"; type: "uint256" },
                        { name: "proof"; type: "bytes" },
                    ];
                    name: "withdraw";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "xsyncOperator";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "withdraw",
        > = {}

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

      The transaction hash.

    Other

    • Parameters

      • __namedParameters: { characterId: Numberish }
      • overrides: ReadOverrides<
            readonly [
                {
                    inputs: readonly [{ indexed: false; name: "version"; type: "uint8" }];
                    name: "Initialized";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "previousAdminRole"; type: "bytes32" },
                        { indexed: true; name: "newAdminRole"; type: "bytes32" },
                    ];
                    name: "RoleAdminChanged";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "sender"; type: "address" },
                    ];
                    name: "RoleGranted";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: true; name: "role"; type: "bytes32" },
                        { indexed: true; name: "account"; type: "address" },
                        { indexed: true; name: "sender"; type: "address" },
                    ];
                    name: "RoleRevoked";
                    type: "event";
                },
                {
                    inputs: readonly [
                        { indexed: false; name: "to"; type: "address" },
                        { indexed: false; name: "characterId"; type: "uint256" },
                        { indexed: false; name: "token"; type: "address" },
                        { indexed: false; name: "amount"; type: "uint256" },
                    ];
                    name: "Withdraw";
                    type: "event";
                },
                {
                    inputs: readonly [];
                    name: "ADMIN_ROLE";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "DEFAULT_ADMIN_ROLE";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "ERC1820_REGISTRY";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "TOKENS_RECIPIENT_INTERFACE_HASH";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "characterId"; type: "uint256" }];
                    name: "balanceOf";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "role"; type: "bytes32" }];
                    name: "getRoleAdmin";
                    outputs: readonly [{ name: ""; type: "bytes32" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "index"; type: "uint256" },
                    ];
                    name: "getRoleMember";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [{ name: "role"; type: "bytes32" }];
                    name: "getRoleMemberCount";
                    outputs: readonly [{ name: ""; type: "uint256" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "getToken";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "grantRole";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "hasRole";
                    outputs: readonly [{ name: ""; type: "bool" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "web3Entry_"; type: "address" },
                        { name: "xsyncOperator_"; type: "address" },
                        { name: "token_"; type: "address" },
                        { name: "admin_"; type: "address" },
                        { name: "tips_"; type: "address" },
                    ];
                    name: "initialize";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "operator"; type: "address" },
                        { name: ""; type: "address" },
                        { name: "tokenId"; type: "uint256" },
                        { name: "data"; type: "bytes" },
                    ];
                    name: "onERC721Received";
                    outputs: readonly [{ name: ""; type: "bytes4" }];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "renounceRole";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "role"; type: "bytes32" },
                        { name: "account"; type: "address" },
                    ];
                    name: "revokeRole";
                    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: "fromCharacterId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "amount"; type: "uint256" },
                    ];
                    name: "tipCharacter";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "fromCharacterId"; type: "uint256" },
                        { name: "toCharacterId"; type: "uint256" },
                        { name: "toNoteId"; type: "uint256" },
                        { name: "amount"; type: "uint256" },
                    ];
                    name: "tipCharacterForNote";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: ""; type: "address" },
                        { name: ""; type: "address" },
                        { name: "to"; type: "address" },
                        { name: "amount"; type: "uint256" },
                        { name: "userData"; type: "bytes" },
                        { name: "operatorData"; type: "bytes" },
                    ];
                    name: "tokensReceived";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "web3Entry";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
                {
                    inputs: readonly [
                        { name: "to"; type: "address" },
                        { name: "characterId"; type: "uint256" },
                        { name: "nonce"; type: "uint256" },
                        { name: "expires"; type: "uint256" },
                        { name: "proof"; type: "bytes" },
                    ];
                    name: "withdraw";
                    outputs: readonly [];
                    stateMutability: "nonpayable";
                    type: "function";
                },
                {
                    inputs: readonly [];
                    name: "xsyncOperator";
                    outputs: readonly [{ name: ""; type: "address" }];
                    stateMutability: "view";
                    type: "function";
                },
            ],
            "balanceOf",
        > = {}

      Returns Promise<bigint>

    MMNEPVFCICPMFPCPTTAAATR