saveTransactions method
Save transactions to storage
Implementation
Future<void> saveTransactions(List<WalletTransaction> transactions) async {
await dbRdy;
final store = _objectBox.store;
store.runInTransaction(TxMode.write, () {
final box = store.box<DbWalletTransaction>();
final dbTransactions =
transactions.map((t) => DbWalletTransaction.fromNdk(t)).toList();
// find existing transactions by id
final idsToCheck = dbTransactions.map((t) => t.id).toList();
final query =
box.query(DbWalletTransaction_.id.oneOf(idsToCheck)).build();
try {
final existing = query.find();
if (existing.isNotEmpty) {
box.removeMany(existing.map((t) => t.dbId).toList());
}
// insert
box.putMany(dbTransactions);
} finally {
query.close();
}
});
}