Compare commits

..
15 Commits
Author SHA1 Message Date
Chris Troutner 9b775c5bf6 Merge pull request #58 from Permissionless-Software-Foundation/ct-unstable
Updating retry-queue to v1.0.8
2022-10-05 14:53:16 -07:00
Chris Troutner 2047673862 fix(timer controllers): Wrapper stale order/offer detection in retry-queue 2022-10-05 14:50:53 -07:00
Chris Troutner 5b545aebeb Updating RPi docker image 2022-10-03 06:46:49 -07:00
Chris Troutner 1e75816125 fix(RPi): Updating dex-ui docker image 2022-10-03 06:45:39 -07:00
Chris Troutner 455fd807a4 fix(docker): Updating dex-ui docker image 2022-10-03 05:58:33 -07:00
Chris Troutner 8b75ac0f32 Removing old comments 2022-10-02 16:50:54 -07:00
Chris Troutner f1a5ae70e2 fix(docker): Updating docker image 2022-10-02 15:43:16 -07:00
Chris Troutner 46bd532eeb Merge pull request #57 from Permissionless-Software-Foundation/ct-unstable
fixing missing ticker
2022-10-02 14:07:43 -07:00
Chris Troutner 6f99b215cd fixing missing ticker 2022-10-02 14:03:27 -07:00
Chris Troutner 3482540fc8 fix(order): fixing missing ticker 2022-10-02 13:46:19 -07:00
Chris Troutner fb999c7bd4 fix(RPi): Not specifying a P2WDB string' 2022-10-02 09:02:50 -07:00
Chris Troutner a09e5a5ba7 Merge pull request #56 from Permissionless-Software-Foundation/ct-unstable
Updating docker images
2022-10-02 08:47:10 -07:00
Chris Troutner ba14b97258 fix(RPi): Updating docker container to v2.0.6 2022-10-02 08:41:57 -07:00
Chris Troutner 79ac3729c9 fix(spam): Reducing screen spam 2022-10-02 08:36:55 -07:00
Chris Troutner bd77754686 fix(docker): Updating docker image for bch-dex 2022-10-02 08:27:09 -07:00
12 changed files with 31 additions and 50 deletions
+9 -10
View File
@@ -9,8 +9,7 @@
"version": "2.0.2",
"license": "MIT",
"dependencies": {
"@chris.troutner/retry-queue": "1.0.5",
"@psf/bch-js": "^6.4.5",
"@chris.troutner/retry-queue": "1.0.8",
"axios": "0.27.2",
"bch-message-lib": "2.2.1",
"bcryptjs": "2.4.3",
@@ -32,7 +31,7 @@
"koa-router": "10.0.0",
"koa-static": "5.0.0",
"koa2-ratelimit": "0.9.1",
"libp2p": "^0.36.2",
"libp2p": "0.36.2",
"line-reader": "0.4.0",
"minimal-slp-wallet": "5.2.1",
"mongoose": "5.13.14",
@@ -40,7 +39,7 @@
"nodemailer": "6.7.5",
"p2wdb": "2.2.3",
"passport-local": "1.0.0",
"public-ip": "^4.0.4",
"public-ip": "4.0.4",
"winston": "3.3.3",
"winston-daily-rotate-file": "4.5.0"
},
@@ -173,9 +172,9 @@
}
},
"node_modules/@chris.troutner/retry-queue": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@chris.troutner/retry-queue/-/retry-queue-1.0.5.tgz",
"integrity": "sha512-autE5GRCXR0xgPqq6qIq1sbUw8j2btxCWlezSvpRJmPVQQZwGhYbeF7euxRbpMmi31kj47iHgG7sb45bD0HY7Q==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@chris.troutner/retry-queue/-/retry-queue-1.0.8.tgz",
"integrity": "sha512-ucyUGWTeXhOcXLglwb8alR3dNATPy+3vGea2uQJ0J8jnJufWrUr/NEq4b53op1tOTF029qrun6OmIN6Ls58pqw==",
"dependencies": {
"p-queue": "7.3.0",
"p-retry": "5.1.1"
@@ -15753,9 +15752,9 @@
}
},
"@chris.troutner/retry-queue": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@chris.troutner/retry-queue/-/retry-queue-1.0.5.tgz",
"integrity": "sha512-autE5GRCXR0xgPqq6qIq1sbUw8j2btxCWlezSvpRJmPVQQZwGhYbeF7euxRbpMmi31kj47iHgG7sb45bD0HY7Q==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@chris.troutner/retry-queue/-/retry-queue-1.0.8.tgz",
"integrity": "sha512-ucyUGWTeXhOcXLglwb8alR3dNATPy+3vGea2uQJ0J8jnJufWrUr/NEq4b53op1tOTF029qrun6OmIN6Ls58pqw==",
"requires": {
"p-queue": "7.3.0",
"p-retry": "5.1.1"
+3 -4
View File
@@ -28,8 +28,7 @@
},
"repository": "Permissionless-Software-Foundation/bch-dex",
"dependencies": {
"@chris.troutner/retry-queue": "1.0.5",
"@psf/bch-js": "^6.4.5",
"@chris.troutner/retry-queue": "1.0.8",
"axios": "0.27.2",
"bch-message-lib": "2.2.1",
"bcryptjs": "2.4.3",
@@ -51,7 +50,7 @@
"koa-router": "10.0.0",
"koa-static": "5.0.0",
"koa2-ratelimit": "0.9.1",
"libp2p": "^0.36.2",
"libp2p": "0.36.2",
"line-reader": "0.4.0",
"minimal-slp-wallet": "5.2.1",
"mongoose": "5.13.14",
@@ -59,7 +58,7 @@
"nodemailer": "6.7.5",
"p2wdb": "2.2.3",
"passport-local": "1.0.0",
"public-ip": "^4.0.4",
"public-ip": "4.0.4",
"winston": "3.3.3",
"winston-daily-rotate-file": "4.5.0"
},
+2 -2
View File
@@ -73,7 +73,7 @@ services:
#build:
# context: ./bch-dex/
# dockerfile: Dockerfile
image: christroutner/bch-dex:v2.0.0
image: christroutner/bch-dex:v2.0.8
container_name: bch-dex
environment:
CONSUMER_URL: 'https://free-bch.fullstack.cash'
@@ -97,7 +97,7 @@ services:
#build:
# context: ./bch-dex-ui/
# dockerfile: Dockerfile
image: christroutner/bch-dex-ui:v1.12.0
image: christroutner/bch-dex-ui:v1.2.4
container_name: dex-ui
environment:
SERVER: 'http://192.168.2.3'
+2 -2
View File
@@ -70,7 +70,7 @@ services:
#build:
# context: ./bch-dex/
# dockerfile: Dockerfile
image: christroutner/bch-dex-rpi:v2.0.0
image: christroutner/bch-dex-rpi:v2.0.8
container_name: bch-dex
environment:
#CONSUMER_URL: 'https://free-bch.fullstack.cash'
@@ -95,7 +95,7 @@ services:
#build:
# context: ./bch-dex-ui/
# dockerfile: Dockerfile
image: christroutner/bch-dex-ui-rpi:v1.2.2
image: christroutner/bch-dex-ui-rpi:v1.2.4
container_name: dex-ui
logging:
driver: 'json-file'
@@ -43,6 +43,6 @@ export IPFS_TCP_PORT=4001
export IPFS_WS_PORT=4003
# P2WDB specific env vars
export ORBITDB_NAME=/orbitdb/zdpuAqNiwLiJBfbRK7uihV2hAbNSXj78ufzv5VyQb8GuvRwDh/psf-bch-p2wdb-keyvalue-v3.0.0-0001
#export ORBITDB_NAME=/orbitdb/zdpuAqNiwLiJBfbRK7uihV2hAbNSXj78ufzv5VyQb8GuvRwDh/psf-bch-p2wdb-keyvalue-v3.0.0-0001
npm start
+1 -1
View File
@@ -6,7 +6,7 @@ const Offer = new mongoose.Schema({
tokenId: { type: String },
utxoTxid: { type: String },
utxoVout: { type: Number },
ticker: { type: String },
ticker: { type: String, default: '' },
tokenType: { type: Number },
// Trade data
+1
View File
@@ -88,6 +88,7 @@ class WalletAdapter {
}
const advancedConfig = {}
console.log(`Using FullStack.cash: ${this.config.useFullStackCash}`)
if (this.config.useFullStackCash) {
advancedConfig.interface = 'rest-api'
advancedConfig.restURL = this.config.apiServer
+2 -2
View File
@@ -29,7 +29,7 @@ class OfferEntity {
utxoVout,
offerStatus,
makerAddr,
// ticker,
ticker,
tokenType
} = offerData.data
@@ -95,7 +95,7 @@ class OfferEntity {
p2wdbHash: offerData.hash,
offerStatus: offerStatus || this.offerStatus[0],
makerAddr,
// ticker,
ticker,
tokenType
}
+2 -22
View File
@@ -77,20 +77,12 @@ class OfferUseCases {
// Verify that UTXO in offer is unspent. If it is spent, then ignore the
// offer.
// const txid = offerObj.data.utxoTxid
// const vout = offerObj.data.utxoVout
// const utxoStatus = await this.adapters.bchjs.Blockchain.getTxOut(
// txid,
// vout
// )
//
const utxo = {
tx_hash: offerObj.data.utxoTxid,
tx_pos: offerObj.data.utxoVout
}
// const utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
const utxoStatus = await this.retryQueue.addToQueue(this.adapters.wallet.bchWallet.utxoIsValid, utxo)
console.log('utxoStatus: ', utxoStatus)
// if (utxoStatus === null) return false
if (!utxoStatus) return false
@@ -292,18 +284,11 @@ class OfferUseCases {
}
// Verify that UTXO for sale is unspent. Abort if it's been spent.
// const txid = offerInfo.utxoTxid
// const vout = offerInfo.utxoVout
const utxo = {
tx_hash: offerInfo.utxoTxid,
tx_pos: offerInfo.utxoVout
}
const utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
// const utxoStatus = await this.adapters.bchjs.Blockchain.getTxOut(
// txid,
// vout
// )
console.log('utxoStatus: ', utxoStatus)
if (!utxoStatus) {
console.log(`utxo txid: ${offerInfo.utxoTxid}, vout: ${offerInfo.utxoVout}`)
@@ -569,12 +554,6 @@ class OfferUseCases {
let utxoStatus = null
try {
// Get the status of the UTXO associate with this Offer.
// utxoStatus = await this.adapters.bchjs.Blockchain.getTxOut(
// thisOffer.utxoTxid,
// thisOffer.utxoVout
// )
// Get the status of the UTXO associate with this Offer.
const utxo = {
tx_hash: thisOffer.utxoTxid,
@@ -582,7 +561,8 @@ class OfferUseCases {
}
// console.log(`Checking this UTXO: ${JSON.stringify(utxo, null, 2)}`)
utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
// utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
utxoStatus = await this.retryQueue.addToQueue(this.adapters.wallet.bchWallet.utxoIsValid, utxo)
// console.log('utxoStatus: ', utxoStatus)
} catch (err) {
// Handle corner case of bad-data in the Offer model.
+4 -3
View File
@@ -55,7 +55,7 @@ class OrderLib {
// const tokenData = await this.adapters.wallet.bchWallet.getTxData([entryObj.tokenId])
const tokenData = await this.retryQueue.addToQueue(this.adapters.wallet.bchWallet.getTxData, [entryObj.tokenId])
// console.log(`tokenData: ${JSON.stringify(tokenData, null, 2)}`)
entryObj.ticker = tokenData[0].tokenTicker
orderEntity.ticker = tokenData[0].tokenTicker
// Move the tokens to holding address.
const moveObj = {
@@ -123,7 +123,7 @@ class OrderLib {
// Get UTXOs.
const utxos = this.adapters.wallet.bchWallet.utxos.utxoStore
console.log(`utxos: ${JSON.stringify(utxos, null, 2)}`)
// console.log(`utxos: ${JSON.stringify(utxos, null, 2)}`)
if (orderEntity.buyOrSell.includes('sell')) {
// Sell Order
@@ -216,7 +216,8 @@ class OrderLib {
tx_hash: thisOrder.utxoTxid,
tx_pos: thisOrder.utxoVout
}
utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
// utxoStatus = await this.adapters.wallet.bchWallet.utxoIsValid(utxo)
utxoStatus = await this.retryQueue.addToQueue(this.adapters.wallet.bchWallet.utxoIsValid, utxo)
// console.log('utxoStatus: ', utxoStatus)
} catch (err) {
// Handle corner case of bad-data in the Order model.
+2 -1
View File
@@ -103,7 +103,8 @@ describe('#order-use-case', () => {
buyOrSell: 'sell',
rateInBaseUnit: 1000,
minUnitsToExchange: 1250,
numTokens: 1
numTokens: 1,
ticker: 'TEST'
}
// Mock dependencies and force expected code path
+2 -2
View File
@@ -1,6 +1,6 @@
import mongoose from 'mongoose'
import config from '../../config'
import Order from '../../src/adapters/localdb/models/order'
import config from '../../config/index.js'
import Order from '../../src/adapters/localdb/models/order.js'
async function getOrder () {
// Connect to the Mongo Database.