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);
      }

      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.

    Example

    // 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
    })

    Example

    // 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.

      • Optional linkModule?: 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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    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.

      • Optional fromAddress?: `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: Omit<ReadContractParameters<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", readonly unknown[]>, "address" | "abi" | "args" | "functionName"> = {}

    Returns Promise<bigint>

Generated using TypeDoc