getObjectBoxModel function

ModelDefinition getObjectBoxModel()

Returns the ObjectBox model definition for this project for use with obx.Store.new.

Implementation

obx_int.ModelDefinition getObjectBoxModel() {
  final model = obx_int.ModelInfo(
    // If this version is not found, it means that this file was generated
    // with an older version of the ObjectBox Dart generator.
    // Please regenerate this file with the current generator version.
    // Typically, this is done with `dart run build_runner build`.
    generatorVersion: obx_int.GeneratorVersion.v2025_12_16,
    entities: _entities,
    lastEntityId: const obx_int.IdUid(14, 5469921152275641897),
    lastIndexId: const obx_int.IdUid(5, 8083061451592629115),
    lastRelationId: const obx_int.IdUid(0, 0),
    lastSequenceId: const obx_int.IdUid(0, 0),
    retiredEntityUids: const [],
    retiredIndexUids: const [],
    retiredPropertyUids: const [],
    retiredRelationUids: const [],
    modelVersion: 5,
    modelVersionParserMinimum: 5,
    version: 1,
  );

  final bindings = <Type, obx_int.EntityDefinition>{
    DbCashuMintInfo: obx_int.EntityDefinition<DbCashuMintInfo>(
      model: _entities[0],
      toOneRelations: (DbCashuMintInfo object) => [],
      toManyRelations: (DbCashuMintInfo object) => {},
      getId: (DbCashuMintInfo object) => object.dbId,
      setId: (DbCashuMintInfo object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbCashuMintInfo object, fb.Builder fbb) {
        final nameOffset =
            object.name == null ? null : fbb.writeString(object.name!);
        final versionOffset =
            object.version == null ? null : fbb.writeString(object.version!);
        final descriptionOffset = object.description == null
            ? null
            : fbb.writeString(object.description!);
        final descriptionLongOffset = object.descriptionLong == null
            ? null
            : fbb.writeString(object.descriptionLong!);
        final contactJsonOffset = fbb.writeString(object.contactJson);
        final motdOffset =
            object.motd == null ? null : fbb.writeString(object.motd!);
        final iconUrlOffset =
            object.iconUrl == null ? null : fbb.writeString(object.iconUrl!);
        final urlsOffset = fbb.writeList(
          object.urls.map(fbb.writeString).toList(growable: false),
        );
        final tosUrlOffset =
            object.tosUrl == null ? null : fbb.writeString(object.tosUrl!);
        final nutsJsonOffset = fbb.writeString(object.nutsJson);
        fbb.startTable(13);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, nameOffset);
        fbb.addOffset(2, versionOffset);
        fbb.addOffset(3, descriptionOffset);
        fbb.addOffset(4, descriptionLongOffset);
        fbb.addOffset(5, contactJsonOffset);
        fbb.addOffset(6, motdOffset);
        fbb.addOffset(7, iconUrlOffset);
        fbb.addOffset(8, urlsOffset);
        fbb.addInt64(9, object.time);
        fbb.addOffset(10, tosUrlOffset);
        fbb.addOffset(11, nutsJsonOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final nameParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 6);
        final versionParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 8);
        final descriptionParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 10);
        final descriptionLongParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 12);
        final contactJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final motdParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 16);
        final iconUrlParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 18);
        final urlsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGet(buffer, rootOffset, 20, []);
        final timeParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          22,
        );
        final tosUrlParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 24);
        final nutsJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 26, '');
        final object = DbCashuMintInfo(
          name: nameParam,
          version: versionParam,
          description: descriptionParam,
          descriptionLong: descriptionLongParam,
          contactJson: contactJsonParam,
          motd: motdParam,
          iconUrl: iconUrlParam,
          urls: urlsParam,
          time: timeParam,
          tosUrl: tosUrlParam,
          nutsJson: nutsJsonParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbCashuSecretCounter: obx_int.EntityDefinition<DbCashuSecretCounter>(
      model: _entities[1],
      toOneRelations: (DbCashuSecretCounter object) => [],
      toManyRelations: (DbCashuSecretCounter object) => {},
      getId: (DbCashuSecretCounter object) => object.dbId,
      setId: (DbCashuSecretCounter object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbCashuSecretCounter object, fb.Builder fbb) {
        final mintUrlOffset = fbb.writeString(object.mintUrl);
        final keysetIdOffset = fbb.writeString(object.keysetId);
        fbb.startTable(5);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, mintUrlOffset);
        fbb.addOffset(2, keysetIdOffset);
        fbb.addInt64(3, object.counter);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final mintUrlParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final keysetIdParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final counterParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          10,
          0,
        );
        final object = DbCashuSecretCounter(
          mintUrl: mintUrlParam,
          keysetId: keysetIdParam,
          counter: counterParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbContactList: obx_int.EntityDefinition<DbContactList>(
      model: _entities[2],
      toOneRelations: (DbContactList object) => [],
      toManyRelations: (DbContactList object) => {},
      getId: (DbContactList object) => object.dbId,
      setId: (DbContactList object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbContactList object, fb.Builder fbb) {
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final contactsOffset = fbb.writeList(
          object.contacts.map(fbb.writeString).toList(growable: false),
        );
        final contactRelaysOffset = fbb.writeList(
          object.contactRelays.map(fbb.writeString).toList(growable: false),
        );
        final petnamesOffset = fbb.writeList(
          object.petnames.map(fbb.writeString).toList(growable: false),
        );
        final followedTagsOffset = fbb.writeList(
          object.followedTags.map(fbb.writeString).toList(growable: false),
        );
        final followedCommunitiesOffset = fbb.writeList(
          object.followedCommunities
              .map(fbb.writeString)
              .toList(growable: false),
        );
        final followedEventsOffset = fbb.writeList(
          object.followedEvents.map(fbb.writeString).toList(growable: false),
        );
        final sourcesOffset = fbb.writeList(
          object.sources.map(fbb.writeString).toList(growable: false),
        );
        fbb.startTable(12);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, pubKeyOffset);
        fbb.addOffset(2, contactsOffset);
        fbb.addOffset(3, contactRelaysOffset);
        fbb.addOffset(4, petnamesOffset);
        fbb.addOffset(5, followedTagsOffset);
        fbb.addOffset(6, followedCommunitiesOffset);
        fbb.addOffset(7, followedEventsOffset);
        fbb.addInt64(8, object.createdAt);
        fbb.addInt64(9, object.loadedTimestamp);
        fbb.addOffset(10, sourcesOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final contactsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGet(buffer, rootOffset, 8, []);
        final object =
            DbContactList(pubKey: pubKeyParam, contacts: contactsParam)
              ..dbId = const fb.Int64Reader().vTableGet(
                buffer,
                rootOffset,
                4,
                0,
              )
              ..contactRelays = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 10, [])
              ..petnames = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 12, [])
              ..followedTags = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 14, [])
              ..followedCommunities = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 16, [])
              ..followedEvents = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 18, [])
              ..createdAt = const fb.Int64Reader().vTableGet(
                buffer,
                rootOffset,
                20,
                0,
              )
              ..loadedTimestamp = const fb.Int64Reader().vTableGetNullable(
                buffer,
                rootOffset,
                22,
              )
              ..sources = const fb.ListReader<String>(
                fb.StringReader(asciiOptimization: true),
                lazy: false,
              ).vTableGet(buffer, rootOffset, 24, []);

        return object;
      },
    ),
    DbFilterFetchedRangeRecord:
        obx_int.EntityDefinition<DbFilterFetchedRangeRecord>(
      model: _entities[3],
      toOneRelations: (DbFilterFetchedRangeRecord object) => [],
      toManyRelations: (DbFilterFetchedRangeRecord object) => {},
      getId: (DbFilterFetchedRangeRecord object) => object.dbId,
      setId: (DbFilterFetchedRangeRecord object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbFilterFetchedRangeRecord object, fb.Builder fbb) {
        final filterHashOffset = fbb.writeString(object.filterHash);
        final relayUrlOffset = fbb.writeString(object.relayUrl);
        fbb.startTable(6);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, filterHashOffset);
        fbb.addOffset(2, relayUrlOffset);
        fbb.addInt64(3, object.rangeStart);
        fbb.addInt64(4, object.rangeEnd);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final filterHashParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final relayUrlParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final rangeStartParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          10,
          0,
        );
        final rangeEndParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          12,
          0,
        );
        final object = DbFilterFetchedRangeRecord(
          filterHash: filterHashParam,
          relayUrl: relayUrlParam,
          rangeStart: rangeStartParam,
          rangeEnd: rangeEndParam,
        )..dbId = const fb.Int64Reader().vTableGet(
            buffer,
            rootOffset,
            4,
            0,
          );

        return object;
      },
    ),
    DbMetadata: obx_int.EntityDefinition<DbMetadata>(
      model: _entities[4],
      toOneRelations: (DbMetadata object) => [],
      toManyRelations: (DbMetadata object) => {},
      getId: (DbMetadata object) => object.dbId,
      setId: (DbMetadata object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbMetadata object, fb.Builder fbb) {
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final nameOffset =
            object.name == null ? null : fbb.writeString(object.name!);
        final displayNameOffset = object.displayName == null
            ? null
            : fbb.writeString(object.displayName!);
        final pictureOffset =
            object.picture == null ? null : fbb.writeString(object.picture!);
        final bannerOffset =
            object.banner == null ? null : fbb.writeString(object.banner!);
        final websiteOffset =
            object.website == null ? null : fbb.writeString(object.website!);
        final aboutOffset =
            object.about == null ? null : fbb.writeString(object.about!);
        final nip05Offset =
            object.nip05 == null ? null : fbb.writeString(object.nip05!);
        final lud16Offset =
            object.lud16 == null ? null : fbb.writeString(object.lud16!);
        final lud06Offset =
            object.lud06 == null ? null : fbb.writeString(object.lud06!);
        final splitDisplayNameWordsOffset = object.splitDisplayNameWords == null
            ? null
            : fbb.writeList(
                object.splitDisplayNameWords!
                    .map(fbb.writeString)
                    .toList(growable: false),
              );
        final splitNameWordsOffset = object.splitNameWords == null
            ? null
            : fbb.writeList(
                object.splitNameWords!
                    .map(fbb.writeString)
                    .toList(growable: false),
              );
        final tagsJsonOffset =
            object.tagsJson == null ? null : fbb.writeString(object.tagsJson!);
        final rawContentJsonOffset = object.rawContentJson == null
            ? null
            : fbb.writeString(object.rawContentJson!);
        fbb.startTable(18);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, pubKeyOffset);
        fbb.addOffset(2, nameOffset);
        fbb.addOffset(3, displayNameOffset);
        fbb.addOffset(4, pictureOffset);
        fbb.addOffset(5, bannerOffset);
        fbb.addOffset(6, websiteOffset);
        fbb.addOffset(7, aboutOffset);
        fbb.addOffset(8, nip05Offset);
        fbb.addOffset(9, lud16Offset);
        fbb.addOffset(10, lud06Offset);
        fbb.addInt64(11, object.updatedAt);
        fbb.addInt64(12, object.refreshedTimestamp);
        fbb.addOffset(13, splitDisplayNameWordsOffset);
        fbb.addOffset(14, splitNameWordsOffset);
        fbb.addOffset(15, tagsJsonOffset);
        fbb.addOffset(16, rawContentJsonOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final nameParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 8);
        final displayNameParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 10);
        final splitNameWordsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGetNullable(buffer, rootOffset, 32);
        final splitDisplayNameWordsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGetNullable(buffer, rootOffset, 30);
        final pictureParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 12);
        final bannerParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 14);
        final websiteParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 16);
        final aboutParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 18);
        final nip05Param = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 20);
        final lud16Param = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 22);
        final lud06Param = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 24);
        final updatedAtParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          26,
        );
        final refreshedTimestampParam =
            const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 28);
        final tagsJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 34);
        final rawContentJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 36);
        final object = DbMetadata(
          pubKey: pubKeyParam,
          name: nameParam,
          displayName: displayNameParam,
          splitNameWords: splitNameWordsParam,
          splitDisplayNameWords: splitDisplayNameWordsParam,
          picture: pictureParam,
          banner: bannerParam,
          website: websiteParam,
          about: aboutParam,
          nip05: nip05Param,
          lud16: lud16Param,
          lud06: lud06Param,
          updatedAt: updatedAtParam,
          refreshedTimestamp: refreshedTimestampParam,
          tagsJson: tagsJsonParam,
          rawContentJson: rawContentJsonParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbNip01Event: obx_int.EntityDefinition<DbNip01Event>(
      model: _entities[5],
      toOneRelations: (DbNip01Event object) => [],
      toManyRelations: (DbNip01Event object) => {},
      getId: (DbNip01Event object) => object.dbId,
      setId: (DbNip01Event object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbNip01Event object, fb.Builder fbb) {
        final nostrIdOffset = fbb.writeString(object.nostrId);
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final contentOffset = fbb.writeString(object.content);
        final sigOffset =
            object.sig == null ? null : fbb.writeString(object.sig!);
        final sourcesOffset = fbb.writeList(
          object.sources.map(fbb.writeString).toList(growable: false),
        );
        final tagsPackedOffset = fbb.writeList(
          object.tagsPacked.map(fbb.writeString).toList(growable: false),
        );
        final tagsIndexOffset = fbb.writeList(
          object.tagsIndex.map(fbb.writeString).toList(growable: false),
        );
        fbb.startTable(12);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, nostrIdOffset);
        fbb.addOffset(2, pubKeyOffset);
        fbb.addInt64(3, object.createdAt);
        fbb.addInt64(4, object.kind);
        fbb.addOffset(5, contentOffset);
        fbb.addOffset(6, sigOffset);
        fbb.addBool(7, object.validSig);
        fbb.addOffset(8, sourcesOffset);
        fbb.addOffset(9, tagsPackedOffset);
        fbb.addOffset(10, tagsIndexOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final kindParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          12,
          0,
        );
        final contentParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final nostrIdParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final createdAtParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          10,
          0,
        );
        final object = DbNip01Event(
          pubKey: pubKeyParam,
          kind: kindParam,
          content: contentParam,
          nostrId: nostrIdParam,
          createdAt: createdAtParam,
        )
          ..dbId = const fb.Int64Reader().vTableGet(
            buffer,
            rootOffset,
            4,
            0,
          )
          ..sig = const fb.StringReader(
            asciiOptimization: true,
          ).vTableGetNullable(buffer, rootOffset, 16)
          ..validSig = const fb.BoolReader().vTableGetNullable(
            buffer,
            rootOffset,
            18,
          )
          ..sources = const fb.ListReader<String>(
            fb.StringReader(asciiOptimization: true),
            lazy: false,
          ).vTableGet(buffer, rootOffset, 20, [])
          ..tagsPacked = const fb.ListReader<String>(
            fb.StringReader(asciiOptimization: true),
            lazy: false,
          ).vTableGet(buffer, rootOffset, 22, [])
          ..tagsIndex = const fb.ListReader<String>(
            fb.StringReader(asciiOptimization: true),
            lazy: false,
          ).vTableGet(buffer, rootOffset, 24, []);

        return object;
      },
    ),
    DbNip05: obx_int.EntityDefinition<DbNip05>(
      model: _entities[6],
      toOneRelations: (DbNip05 object) => [],
      toManyRelations: (DbNip05 object) => {},
      getId: (DbNip05 object) => object.dbId,
      setId: (DbNip05 object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbNip05 object, fb.Builder fbb) {
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final nip05Offset = fbb.writeString(object.nip05);
        final relaysOffset = fbb.writeList(
          object.relays.map(fbb.writeString).toList(growable: false),
        );
        fbb.startTable(7);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, pubKeyOffset);
        fbb.addOffset(2, nip05Offset);
        fbb.addBool(3, object.valid);
        fbb.addInt64(4, object.networkFetchTime);
        fbb.addOffset(5, relaysOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final nip05Param = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final validParam = const fb.BoolReader().vTableGet(
          buffer,
          rootOffset,
          10,
          false,
        );
        final networkFetchTimeParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          12,
        );
        final relaysParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGet(buffer, rootOffset, 14, []);
        final object = DbNip05(
          pubKey: pubKeyParam,
          nip05: nip05Param,
          valid: validParam,
          networkFetchTime: networkFetchTimeParam,
          relays: relaysParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbRelaySet: obx_int.EntityDefinition<DbRelaySet>(
      model: _entities[7],
      toOneRelations: (DbRelaySet object) => [],
      toManyRelations: (DbRelaySet object) => {},
      getId: (DbRelaySet object) => object.dbId,
      setId: (DbRelaySet object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbRelaySet object, fb.Builder fbb) {
        final idOffset = fbb.writeString(object.id);
        final nameOffset = fbb.writeString(object.name);
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final directionOffset = fbb.writeString(object.direction);
        final relaysMapJsonOffset = fbb.writeString(object.relaysMapJson);
        fbb.startTable(9);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, idOffset);
        fbb.addOffset(2, nameOffset);
        fbb.addOffset(3, pubKeyOffset);
        fbb.addInt64(4, object.relayMinCountPerPubkey);
        fbb.addOffset(5, directionOffset);
        fbb.addOffset(6, relaysMapJsonOffset);
        fbb.addBool(7, object.fallbackToBootstrapRelays);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final idParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final nameParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 10, '');
        final relayMinCountPerPubkeyParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          12,
          0,
        );
        final directionParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final relaysMapJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 16, '');
        final fallbackToBootstrapRelaysParam = const fb.BoolReader().vTableGet(
          buffer,
          rootOffset,
          18,
          false,
        );
        final object = DbRelaySet(
          id: idParam,
          name: nameParam,
          pubKey: pubKeyParam,
          relayMinCountPerPubkey: relayMinCountPerPubkeyParam,
          direction: directionParam,
          relaysMapJson: relaysMapJsonParam,
          fallbackToBootstrapRelays: fallbackToBootstrapRelaysParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbUserRelayList: obx_int.EntityDefinition<DbUserRelayList>(
      model: _entities[8],
      toOneRelations: (DbUserRelayList object) => [],
      toManyRelations: (DbUserRelayList object) => {},
      getId: (DbUserRelayList object) => object.dbId,
      setId: (DbUserRelayList object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbUserRelayList object, fb.Builder fbb) {
        final pubKeyOffset = fbb.writeString(object.pubKey);
        final relaysJsonOffset = fbb.writeString(object.relaysJson);
        fbb.startTable(6);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, pubKeyOffset);
        fbb.addInt64(2, object.createdAt);
        fbb.addInt64(3, object.refreshedTimestamp);
        fbb.addOffset(4, relaysJsonOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final pubKeyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final relaysJsonParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 12, '');
        final createdAtParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          8,
          0,
        );
        final refreshedTimestampParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          10,
          0,
        );
        final object = DbUserRelayList(
          pubKey: pubKeyParam,
          relaysJson: relaysJsonParam,
          createdAt: createdAtParam,
          refreshedTimestamp: refreshedTimestampParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbWallet: obx_int.EntityDefinition<DbWallet>(
      model: _entities[9],
      toOneRelations: (DbWallet object) => [],
      toManyRelations: (DbWallet object) => {},
      getId: (DbWallet object) => object.dbId,
      setId: (DbWallet object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbWallet object, fb.Builder fbb) {
        final idOffset = fbb.writeString(object.id);
        final typeOffset = fbb.writeString(object.type);
        final supportedUnitsOffset = fbb.writeList(
          object.supportedUnits.map(fbb.writeString).toList(growable: false),
        );
        final nameOffset = fbb.writeString(object.name);
        final metadataJsonStringOffset = fbb.writeString(
          object.metadataJsonString,
        );
        fbb.startTable(7);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, idOffset);
        fbb.addOffset(2, typeOffset);
        fbb.addOffset(3, supportedUnitsOffset);
        fbb.addOffset(4, nameOffset);
        fbb.addOffset(5, metadataJsonStringOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final idParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final typeParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final supportedUnitsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGet(buffer, rootOffset, 10, []);
        final nameParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 12, '');
        final metadataJsonStringParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final object = DbWallet(
          id: idParam,
          type: typeParam,
          supportedUnits: supportedUnitsParam,
          name: nameParam,
          metadataJsonString: metadataJsonStringParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbWalletCahsuKeyset: obx_int.EntityDefinition<DbWalletCahsuKeyset>(
      model: _entities[10],
      toOneRelations: (DbWalletCahsuKeyset object) => [],
      toManyRelations: (DbWalletCahsuKeyset object) => {},
      getId: (DbWalletCahsuKeyset object) => object.dbId,
      setId: (DbWalletCahsuKeyset object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbWalletCahsuKeyset object, fb.Builder fbb) {
        final idOffset = fbb.writeString(object.id);
        final mintUrlOffset = fbb.writeString(object.mintUrl);
        final unitOffset = fbb.writeString(object.unit);
        final mintKeyPairsOffset = fbb.writeList(
          object.mintKeyPairs.map(fbb.writeString).toList(growable: false),
        );
        fbb.startTable(9);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, idOffset);
        fbb.addOffset(2, mintUrlOffset);
        fbb.addOffset(3, unitOffset);
        fbb.addBool(4, object.active);
        fbb.addInt64(5, object.inputFeePPK);
        fbb.addOffset(6, mintKeyPairsOffset);
        fbb.addInt64(7, object.fetchedAt);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final idParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final mintUrlParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final unitParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 10, '');
        final activeParam = const fb.BoolReader().vTableGet(
          buffer,
          rootOffset,
          12,
          false,
        );
        final inputFeePPKParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          14,
          0,
        );
        final mintKeyPairsParam = const fb.ListReader<String>(
          fb.StringReader(asciiOptimization: true),
          lazy: false,
        ).vTableGet(buffer, rootOffset, 16, []);
        final fetchedAtParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          18,
        );
        final object = DbWalletCahsuKeyset(
          id: idParam,
          mintUrl: mintUrlParam,
          unit: unitParam,
          active: activeParam,
          inputFeePPK: inputFeePPKParam,
          mintKeyPairs: mintKeyPairsParam,
          fetchedAt: fetchedAtParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbWalletCashuProof: obx_int.EntityDefinition<DbWalletCashuProof>(
      model: _entities[11],
      toOneRelations: (DbWalletCashuProof object) => [],
      toManyRelations: (DbWalletCashuProof object) => {},
      getId: (DbWalletCashuProof object) => object.dbId,
      setId: (DbWalletCashuProof object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbWalletCashuProof object, fb.Builder fbb) {
        final keysetIdOffset = fbb.writeString(object.keysetId);
        final secretOffset = fbb.writeString(object.secret);
        final unblindedSigOffset = fbb.writeString(object.unblindedSig);
        final stateOffset = fbb.writeString(object.state);
        fbb.startTable(7);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, keysetIdOffset);
        fbb.addInt64(2, object.amount);
        fbb.addOffset(3, secretOffset);
        fbb.addOffset(4, unblindedSigOffset);
        fbb.addOffset(5, stateOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final keysetIdParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final amountParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          8,
          0,
        );
        final secretParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 10, '');
        final unblindedSigParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 12, '');
        final stateParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final object = DbWalletCashuProof(
          keysetId: keysetIdParam,
          amount: amountParam,
          secret: secretParam,
          unblindedSig: unblindedSigParam,
          state: stateParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbWalletTransaction: obx_int.EntityDefinition<DbWalletTransaction>(
      model: _entities[12],
      toOneRelations: (DbWalletTransaction object) => [],
      toManyRelations: (DbWalletTransaction object) => {},
      getId: (DbWalletTransaction object) => object.dbId,
      setId: (DbWalletTransaction object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbWalletTransaction object, fb.Builder fbb) {
        final idOffset = fbb.writeString(object.id);
        final walletIdOffset = fbb.writeString(object.walletId);
        final unitOffset = fbb.writeString(object.unit);
        final walletTypeOffset = fbb.writeString(object.walletType);
        final stateOffset = fbb.writeString(object.state);
        final completionMsgOffset = object.completionMsg == null
            ? null
            : fbb.writeString(object.completionMsg!);
        final metadataJsonStringOffset = fbb.writeString(
          object.metadataJsonString,
        );
        fbb.startTable(12);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, idOffset);
        fbb.addOffset(2, walletIdOffset);
        fbb.addInt64(3, object.changeAmount);
        fbb.addOffset(4, unitOffset);
        fbb.addOffset(5, walletTypeOffset);
        fbb.addOffset(6, stateOffset);
        fbb.addOffset(7, completionMsgOffset);
        fbb.addInt64(8, object.transactionDate);
        fbb.addInt64(9, object.initiatedDate);
        fbb.addOffset(10, metadataJsonStringOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final idParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final walletIdParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 8, '');
        final changeAmountParam = const fb.Int64Reader().vTableGet(
          buffer,
          rootOffset,
          10,
          0,
        );
        final unitParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 12, '');
        final walletTypeParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 14, '');
        final stateParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 16, '');
        final completionMsgParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 18);
        final transactionDateParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          20,
        );
        final initiatedDateParam = const fb.Int64Reader().vTableGetNullable(
          buffer,
          rootOffset,
          22,
        );
        final metadataJsonStringParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 24, '');
        final object = DbWalletTransaction(
          id: idParam,
          walletId: walletIdParam,
          changeAmount: changeAmountParam,
          unit: unitParam,
          walletType: walletTypeParam,
          state: stateParam,
          completionMsg: completionMsgParam,
          transactionDate: transactionDateParam,
          initiatedDate: initiatedDateParam,
          metadataJsonString: metadataJsonStringParam,
        )..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
    DbKeyValue: obx_int.EntityDefinition<DbKeyValue>(
      model: _entities[13],
      toOneRelations: (DbKeyValue object) => [],
      toManyRelations: (DbKeyValue object) => {},
      getId: (DbKeyValue object) => object.dbId,
      setId: (DbKeyValue object, int id) {
        object.dbId = id;
      },
      objectToFB: (DbKeyValue object, fb.Builder fbb) {
        final keyOffset = fbb.writeString(object.key);
        final valueOffset =
            object.value == null ? null : fbb.writeString(object.value!);
        fbb.startTable(4);
        fbb.addInt64(0, object.dbId);
        fbb.addOffset(1, keyOffset);
        fbb.addOffset(2, valueOffset);
        fbb.finish(fbb.endTable());
        return object.dbId;
      },
      objectFromFB: (obx.Store store, ByteData fbData) {
        final buffer = fb.BufferContext(fbData);
        final rootOffset = buffer.derefObject(0);
        final keyParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGet(buffer, rootOffset, 6, '');
        final valueParam = const fb.StringReader(
          asciiOptimization: true,
        ).vTableGetNullable(buffer, rootOffset, 8);
        final object = DbKeyValue(key: keyParam, value: valueParam)
          ..dbId = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);

        return object;
      },
    ),
  };

  return obx_int.ModelDefinition(model, bindings);
}