Link

  • This burns a linklist.

    Parameters

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

        The linklist ID of the linklist to burn.

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

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

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

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

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

    Parameters

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

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

      • linkType: string

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

      • toAddress: `0x${string}`

        The address of the character you want to link to.

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

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

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

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

    Parameters

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

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

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

    Returns Promise<{
        data: bigint[];
    }>

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

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

    Note that you can either pass in:

    • linklistId
    • or fromCharacterId and linkType as the first argument.
  • Parameters

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

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

      • linkType: string

        The type of link you want to get.

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

    Returns Promise<{
        data: bigint[];
    }>

  • This returns the attached linked character of a character with a given link type.

    Parameters

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

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

      • linkType: string

        The type of link you want to get.

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

    Returns Promise<{
        data: Character[];
    }>

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

  • This gets the linklist id of a linkCharacter transaction.

    Parameters

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

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

    Returns Promise<{
        data: bigint;
    }>

    The linklist id of the transaction.

  • This gets the metadata for a linklist.

    Parameters

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

    Returns Promise<{
        data: string;
    }>

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toAddress: `0x${string}`

        The address of the character you want to link to.

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

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

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

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toUri: string

        The uri of the character you want to link to.

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

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

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

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toCharacterId: Numberish

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

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

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

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

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

    This could be considered a bulk version of linkCharacter & createThenLinkCharacter

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

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

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

      • toCharacterIds: Numberish[]

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

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

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

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

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toContractAddress: `0x${string}`

        The address of the ERC721 contract.

      • toTokenId: Numberish

        The token id of the ERC721 token.

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

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

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

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toLinkListId: Numberish

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

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

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

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

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

    Parameters

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

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

      • fromCharacterId: Numberish

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

      • linkType: string

        The type of link.

      • toCharacterId: Numberish

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

      • toNoteId: Numberish

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

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

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

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

  • This sets the type for a linklist.

    Parameters

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

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

  • This sets the metadata for a linklist.

    Parameters

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toAddress: `0x${string}`

        The address you want to unlink from.

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

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toUri: string

        The uri you want to unlink from.

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

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toCharacterId: Numberish

        The character you want to link to.

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

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toContractAddress: `0x${string}`

        The address of the ERC721 contract.

      • toTokenId: Numberish

        The token id of the ERC721 token.

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

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toLinklistId: Numberish

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

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

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

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

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

    Parameters

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

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

      • linkType: string

        The type of link.

      • toCharacterId: Numberish

        The character you want to unlink to.

      • toNoteId: Numberish

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

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

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

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

Other

MMNEPVFCICPMFPCPTTAAATR