From 1206b6576ee02ec62a55f2387cd10616017257bb Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Fri, 25 Mar 2022 12:17:13 -0700 Subject: [PATCH] Got first successful take workflow complete --- src/adapters/localdb/models/offer.js | 1 + src/adapters/localdb/models/order.js | 1 + src/entities/offer.js | 9 +++++++-- src/entities/order.js | 9 +++++++-- src/use-cases/order.js | 5 +++++ 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/adapters/localdb/models/offer.js b/src/adapters/localdb/models/offer.js index 51a4855..b5eed7b 100644 --- a/src/adapters/localdb/models/offer.js +++ b/src/adapters/localdb/models/offer.js @@ -6,6 +6,7 @@ const Offer = new mongoose.Schema({ tokenId: { type: String }, utxoTxid: { type: String }, utxoVout: { type: Number }, + ticker: { type: String }, // Trade data buyOrSell: { type: String }, diff --git a/src/adapters/localdb/models/order.js b/src/adapters/localdb/models/order.js index f89e604..e489f4d 100644 --- a/src/adapters/localdb/models/order.js +++ b/src/adapters/localdb/models/order.js @@ -13,6 +13,7 @@ const Order = new mongoose.Schema({ tokenId: { type: String }, utxoTxid: { type: String }, utxoVout: { type: Number }, + ticker: { type: String }, // Trade data buyOrSell: { type: String }, diff --git a/src/entities/offer.js b/src/entities/offer.js index c82f079..2fc502c 100644 --- a/src/entities/offer.js +++ b/src/entities/offer.js @@ -28,7 +28,8 @@ class OfferEntity { utxoTxid, utxoVout, offerStatus, - makerAddr + makerAddr, + ticker } = offerData.data // Input Validation @@ -65,6 +66,9 @@ class OfferEntity { if (!makerAddr || typeof makerAddr !== 'string') { throw new Error("Property 'makerAddr' must be a string.") } + if (!ticker || typeof ticker !== 'string') { + throw new Error("Property 'ticker' must be a string.") + } const validatedOfferData = { messageType, @@ -81,7 +85,8 @@ class OfferEntity { txid: offerData.txid, p2wdbHash: offerData.hash, offerStatus: offerStatus || this.offerStatus[0], - makerAddr + makerAddr, + ticker } return validatedOfferData diff --git a/src/entities/order.js b/src/entities/order.js index 4e2e789..5137114 100644 --- a/src/entities/order.js +++ b/src/entities/order.js @@ -16,7 +16,8 @@ class Order { rateInBaseUnit, minUnitsToExchange, numTokens, - makerAddr + makerAddr, + ticker } = data // Input Validation @@ -44,6 +45,9 @@ class Order { if (!makerAddr || typeof makerAddr !== 'string') { throw new Error("Property 'makerAddr' must be a string.") } + if (!ticker || typeof ticker !== 'string') { + throw new Error("Property 'ticker' must be a string.") + } const offerData = { messageType, @@ -53,7 +57,8 @@ class Order { rateInBaseUnit, minUnitsToExchange, numTokens, - makerAddr + makerAddr, + ticker } return offerData diff --git a/src/use-cases/order.js b/src/use-cases/order.js index b061cfc..29eef8e 100644 --- a/src/use-cases/order.js +++ b/src/use-cases/order.js @@ -33,6 +33,11 @@ class OrderLib { entryObj.makerAddr = this.adapters.wallet.bchWallet.walletInfo.cashAddress console.log('entryObj.makerAddr: ', entryObj.makerAddr) + // Get Ticker for token ID. + const tokenData = await this.adapters.wallet.bchWallet.getTxData([entryObj.tokenId]) + // console.log(`tokenData: ${JSON.stringify(tokenData, null, 2)}`) + entryObj.ticker = tokenData[0].tokenTicker + // Input Validation const orderEntity = this.orderEntity.validate(entryObj) console.log('orderEntity: ', orderEntity)