Hush lite wallet https://faq.hush.is/sdl
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
1.5 KiB

// Copyright 2019-2024 The Hush developers
// Released under the GPLv3
#include "datamodel.h"
DataModel::DataModel() {
lock = new QReadWriteLock();
// Write lock because we're creating everything
QWriteLocker locker(lock);
utxos = new QList<UnspentOutput>();
balances = new QMap<QString, CAmount>();
usedAddresses = new QMap<QString, bool>();
zaddresses = new QList<QString>();
taddresses = new QList<QString>();
}
DataModel::~DataModel() {
delete lock;
delete utxos;
delete balances;
delete usedAddresses;
delete zaddresses;
delete taddresses;
}
void DataModel::setLatestBlock(int blockHeight) {
QReadLocker locker(lock);
this->latestBlock = blockHeight;
}
void DataModel::replaceZaddresses(QList<QString>* newZ) {
QWriteLocker locker(lock);
Q_ASSERT(newZ);
delete zaddresses;
zaddresses = newZ;
}
void DataModel::replaceTaddresses(QList<QString>* newT) {
QWriteLocker locker(lock);
Q_ASSERT(newT);
delete taddresses;
taddresses = newT;
}
void DataModel::replaceBalances(QMap<QString, CAmount>* newBalances) {
QWriteLocker locker(lock);
Q_ASSERT(newBalances);
delete balances;
balances = newBalances;
}
void DataModel::replaceUTXOs(QList<UnspentOutput>* newutxos) {
QWriteLocker locker(lock);
Q_ASSERT(newutxos);
delete utxos;
utxos = newutxos;
}
void DataModel::markAddressUsed(QString address) {
QWriteLocker locker(lock);
usedAddresses->insert(address, true);
}