From dad9803d695bfccd922811b6bd154dc8766a030f Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Sun, 27 Mar 2022 19:17:52 -0700 Subject: [PATCH] fix(createOrder()): Updating wallet UTXOs before checking for funds --- src/use-cases/offer/index.js | 36 ++++++++++++++++++------------------ src/use-cases/order.js | 3 +++ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/use-cases/offer/index.js b/src/use-cases/offer/index.js index 489fc82..c848d62 100644 --- a/src/use-cases/offer/index.js +++ b/src/use-cases/offer/index.js @@ -250,25 +250,25 @@ class OfferUseCases { } async findOfferByHash (p2wdbHash) { - try { - if (typeof p2wdbHash !== 'string' || !p2wdbHash) { - throw new Error('p2wdbHash must be a string') - } - - const offer = await this.OfferModel.findOne({ p2wdbHash }) - - if (!offer) { - throw new Error('offer not found') - } - - const offerObject = offer.toObject() - // return this.offerEntity.validateFromModel(offerObject) - - return offerObject - } catch (err) { - console.error('Error in findOffer(): ', err) - throw err + // try { + if (typeof p2wdbHash !== 'string' || !p2wdbHash) { + throw new Error('p2wdbHash must be a string') } + + const offer = await this.OfferModel.findOne({ p2wdbHash }) + + if (!offer) { + throw new Error('offer not found') + } + + const offerObject = offer.toObject() + // return this.offerEntity.validateFromModel(offerObject) + + return offerObject + // } catch (err) { + // // console.error('Error in findOffer(): ', err) + // throw err + // } } // This function is called by the P2WDB webhook REST API handler. When a diff --git a/src/use-cases/order.js b/src/use-cases/order.js index bb4a36e..70a2c90 100644 --- a/src/use-cases/order.js +++ b/src/use-cases/order.js @@ -101,6 +101,9 @@ class OrderLib { // console.log('this.adapters.wallet: ', this.adapters.wallet.bchWallet) // console.log(`walletInfo: ${JSON.stringify(this.adapters.wallet.bchWallet.walletInfo, null, 2)}`) + // Update the wallet balance + await this.adapters.wallet.bchWallet.getUtxos() + // Ensure the app wallet has enough funds to write to the P2WDB. const wif = this.adapters.wallet.bchWallet.walletInfo.privateKey const canWriteToP2WDB = await this.adapters.p2wdb.checkForSufficientFunds(wif)