Skip to content

Commit

Permalink
wallet: add ability to pass read/write function to dogecoin_load_wall…
Browse files Browse the repository at this point in the history
…et_masterpubkey
  • Loading branch information
xanimo committed Jul 14, 2023
1 parent ece4bc7 commit dbb153b
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions src/wallet.c
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,7 @@ dogecoin_bool dogecoin_wallet_create(dogecoin_wallet* wallet, const char* file_p
return true;
}

dogecoin_bool dogecoin_load_wallet_masterpubkey(dogecoin_wallet* wallet) {
dogecoin_bool dogecoin_load_wallet_masterpubkey(dogecoin_wallet* wallet, void (*rw)(void *)) {
if (!wallet) return false;
uint32_t len;
char strbuf[196];
Expand Down Expand Up @@ -715,7 +715,12 @@ dogecoin_bool dogecoin_wallet_load_transaction(dogecoin_wallet* wallet, uint32_t
return true;
}

dogecoin_bool dogecoin_wallet_replace(dogecoin_wallet* wallet, const char* file_path, cstring* record, uint8_t record_type, int *error)
dogecoin_bool dogecoin_wallet_replace(
dogecoin_wallet* wallet,
const char* file_path,
cstring* record,
uint8_t record_type,
int *error)
{
if (!wallet) return false;

Expand Down Expand Up @@ -750,7 +755,7 @@ dogecoin_bool dogecoin_wallet_replace(dogecoin_wallet* wallet, const char* file_
if (fread(&rectype, 1, 1, wallet->dbfile) != 1) return false;

if (rectype == WALLET_DB_REC_TYPE_MASTERPUBKEY) {
if (!dogecoin_load_wallet_masterpubkey(wallet)) return false;
if (!dogecoin_load_wallet_masterpubkey(wallet, NULL)) return false;
} else if (rectype == WALLET_DB_REC_TYPE_ADDR) {
if (!dogecoin_wallet_load_address(wallet)) return false;
} else if (rectype == WALLET_DB_REC_TYPE_TX) {
Expand Down Expand Up @@ -815,7 +820,7 @@ dogecoin_bool dogecoin_wallet_load(dogecoin_wallet* wallet, const char* file_pat
if (fread(&rectype, 1, 1, wallet->dbfile) != 1) return false;

if (rectype == WALLET_DB_REC_TYPE_MASTERPUBKEY) {
if (!dogecoin_load_wallet_masterpubkey(wallet)) return false;
if (!dogecoin_load_wallet_masterpubkey(wallet, NULL)) return false;
} else if (rectype == WALLET_DB_REC_TYPE_ADDR) {
if (!dogecoin_wallet_load_address(wallet)) return false;
} else if (rectype == WALLET_DB_REC_TYPE_TX) {
Expand Down

0 comments on commit dbb153b

Please sign in to comment.