diff --git a/config/env/common.js b/config/env/common.js index 50df7cf..d1cf77c 100644 --- a/config/env/common.js +++ b/config/env/common.js @@ -116,5 +116,5 @@ export default { chatPubSubChan: 'psf-ipfs-chat-001', // IPFS gateway - ipfsGateway: process.env.IPFS_GATEWAY ? process.env.IPFS_GATEWAY : 'https://p2wdb-gateway.fullstack.cash/ipfs/' + ipfsGateway: process.env.IPFS_GATEWAY ? process.env.IPFS_GATEWAY : 'https://p2wdb-gateway-678.fullstack.cash/ipfs/' } diff --git a/package-lock.json b/package-lock.json index 6b00cf2..4381028 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "MIT", "dependencies": { "@chris.troutner/retry-queue": "1.0.8", + "@psf/bch-js": "6.5.1", "axios": "0.27.2", "bch-message-lib": "2.2.1", "bcryptjs": "2.4.3", @@ -33,11 +34,11 @@ "koa2-ratelimit": "0.9.1", "libp2p": "0.36.2", "line-reader": "0.4.0", - "minimal-slp-wallet": "5.2.1", + "minimal-slp-wallet": "5.4.3", "mongoose": "5.13.14", "node-fetch": "npm:@achingbrain/node-fetch@2.6.7", "nodemailer": "6.7.5", - "p2wdb": "2.2.3", + "p2wdb-esm": "../p2wdb-esm/", "passport-local": "1.0.0", "public-ip": "4.0.4", "winston": "3.3.3", @@ -57,6 +58,50 @@ "uuid": "8.3.2" } }, + "../p2wdb": { + "version": "2.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@chris.troutner/retry-queue-commonjs": "1.0.8", + "apidoc": "0.52.0", + "axios": "0.24.0" + }, + "devDependencies": { + "browserify": "17.0.0", + "chai": "4.2.0", + "coveralls": "3.1.0", + "husky": "4.3.8", + "lodash.clonedeep": "4.5.0", + "minimal-slp-wallet": "5.2.1", + "mocha": "^10.0.0", + "nyc": "15.1.0", + "semantic-release": "19.0.5", + "sinon": "9.2.2", + "standard": "16.0.4", + "tinyify": "3.0.0" + } + }, + "../p2wdb-esm": { + "version": "2.2.6", + "license": "MIT", + "dependencies": { + "@chris.troutner/retry-queue-commonjs": "1.0.8", + "axios": "0.24.0" + }, + "devDependencies": { + "c8": "7.12.0", + "chai": "4.2.0", + "coveralls": "3.1.0", + "husky": "4.3.8", + "lodash.clonedeep": "4.5.0", + "minimal-slp-wallet": "5.2.1", + "mocha": "10.0.0", + "semantic-release": "19.0.5", + "sinon": "9.2.2", + "standard": "16.0.4" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "dev": true, @@ -1045,9 +1090,9 @@ "license": "BSD-3-Clause" }, "node_modules/@psf/bch-js": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-6.4.5.tgz", - "integrity": "sha512-sH72zbJJI5oe9EUMczFQb0jCaNQb8rc3/86E6xXKl3325HCwBqE80BX7JFvZ97Qv1gGxwp/3WROp59v6Dz2NKA==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-6.5.1.tgz", + "integrity": "sha512-W52V6NCte/LJZ2TMJwXorq2FdwMMzjS94sh4slebrcUp6oHiAG+/NouQ4ID/I1DEJQlQnQpf2j3zxveCimDERQ==", "dependencies": { "@chris.troutner/bip32-utils": "1.0.5", "@psf/bip21": "2.0.1", @@ -2053,11 +2098,11 @@ } }, "node_modules/bch-consumer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bch-consumer/-/bch-consumer-1.3.1.tgz", - "integrity": "sha512-8ZoyFp4pLJFAOzM482K22sVL2FpuxhkYRtZuLLsMH9L442mRABjsAP7fTh91W5er40r8RGN/CSKi2TMyUmrY1Q==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/bch-consumer/-/bch-consumer-1.4.0.tgz", + "integrity": "sha512-olftYKtCgT+81fnEL0iSArmeRANw1SZjSwwYsZV7t9CJZjtMXBSXJDCaQoAzUAXNRMtICB3uxAKD1MWuBznZuw==", "dependencies": { - "@psf/bch-js": "6.4.5", + "@psf/bch-js": "6.5.1", "apidoc": "0.51.0", "axios": "0.25.0" } @@ -8018,13 +8063,13 @@ } }, "node_modules/minimal-slp-wallet": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/minimal-slp-wallet/-/minimal-slp-wallet-5.2.1.tgz", - "integrity": "sha512-1m71QxFlSdrfk01BOF0tQCgyTp8SCvvZST8bBOMZTz+iPwerDTbpPk4p3Niv12socT7QIaSf8odSVdFDjyqB8w==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/minimal-slp-wallet/-/minimal-slp-wallet-5.4.3.tgz", + "integrity": "sha512-l9shPcWUHJhmHa6iJs917XNVQR0jaLHgww0fC78ubRokW0Zhea2jO9FNJLi74T8Nd8StCg1pVAlS+MKszU3swQ==", "dependencies": { - "@psf/bch-js": "6.4.5", + "@psf/bch-js": "6.5.1", "apidoc": "0.51.0", - "bch-consumer": "1.3.1", + "bch-consumer": "1.4.0", "bch-donation": "1.1.2", "crypto-js": "4.0.0" } @@ -11814,77 +11859,9 @@ "node": ">=4" } }, - "node_modules/p2wdb": { - "version": "2.2.3", - "license": "MIT", - "dependencies": { - "apidoc": "0.52.0", - "axios": "0.24.0" - } - }, - "node_modules/p2wdb/node_modules/apidoc": { - "version": "0.52.0", - "license": "MIT", - "os": [ - "darwin", - "freebsd", - "linux", - "openbsd", - "win32" - ], - "dependencies": { - "bootstrap": "3.4.1", - "commander": "^8.3.0", - "diff-match-patch": "^1.0.5", - "esbuild-loader": "^2.16.0", - "expose-loader": "^3.1.0", - "fs-extra": "^10.0.0", - "glob": "^7.2.0", - "handlebars": "^4.7.7", - "iconv-lite": "^0.6.3", - "jquery": "^3.6.0", - "klaw-sync": "^6.0.0", - "lodash": "^4.17.21", - "markdown-it": "^12.2.0", - "nodemon": "^2.0.15", - "prismjs": "^1.25.0", - "semver": "^7.3.5", - "style-loader": "^3.3.1", - "webpack": "^5.64.2", - "webpack-cli": "^4.9.1", - "winston": "^3.3.3" - }, - "bin": { - "apidoc": "bin/apidoc" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/p2wdb/node_modules/axios": { - "version": "0.24.0", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.4" - } - }, - "node_modules/p2wdb/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/p2wdb-esm": { + "resolved": "../p2wdb-esm", + "link": true }, "node_modules/package-json": { "version": "6.5.0", @@ -16375,9 +16352,9 @@ "version": "1.1.0" }, "@psf/bch-js": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-6.4.5.tgz", - "integrity": "sha512-sH72zbJJI5oe9EUMczFQb0jCaNQb8rc3/86E6xXKl3325HCwBqE80BX7JFvZ97Qv1gGxwp/3WROp59v6Dz2NKA==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-6.5.1.tgz", + "integrity": "sha512-W52V6NCte/LJZ2TMJwXorq2FdwMMzjS94sh4slebrcUp6oHiAG+/NouQ4ID/I1DEJQlQnQpf2j3zxveCimDERQ==", "requires": { "@chris.troutner/bip32-utils": "1.0.5", "@psf/bip21": "2.0.1", @@ -17090,11 +17067,11 @@ "integrity": "sha512-GzaMlN7pNthrY5BhReVhnfr4Ixx+GUSfyNRHYh0QiMUF0d0+0YaD8MpEdv6AjFBksg/zlqL1fVCBBm6PpTt2Rg==" }, "bch-consumer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bch-consumer/-/bch-consumer-1.3.1.tgz", - "integrity": "sha512-8ZoyFp4pLJFAOzM482K22sVL2FpuxhkYRtZuLLsMH9L442mRABjsAP7fTh91W5er40r8RGN/CSKi2TMyUmrY1Q==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/bch-consumer/-/bch-consumer-1.4.0.tgz", + "integrity": "sha512-olftYKtCgT+81fnEL0iSArmeRANw1SZjSwwYsZV7t9CJZjtMXBSXJDCaQoAzUAXNRMtICB3uxAKD1MWuBznZuw==", "requires": { - "@psf/bch-js": "6.4.5", + "@psf/bch-js": "6.5.1", "apidoc": "0.51.0", "axios": "0.25.0" }, @@ -21060,13 +21037,13 @@ "dev": true }, "minimal-slp-wallet": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/minimal-slp-wallet/-/minimal-slp-wallet-5.2.1.tgz", - "integrity": "sha512-1m71QxFlSdrfk01BOF0tQCgyTp8SCvvZST8bBOMZTz+iPwerDTbpPk4p3Niv12socT7QIaSf8odSVdFDjyqB8w==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/minimal-slp-wallet/-/minimal-slp-wallet-5.4.3.tgz", + "integrity": "sha512-l9shPcWUHJhmHa6iJs917XNVQR0jaLHgww0fC78ubRokW0Zhea2jO9FNJLi74T8Nd8StCg1pVAlS+MKszU3swQ==", "requires": { - "@psf/bch-js": "6.4.5", + "@psf/bch-js": "6.5.1", "apidoc": "0.51.0", - "bch-consumer": "1.3.1", + "bch-consumer": "1.4.0", "bch-donation": "1.1.2", "crypto-js": "4.0.0" }, @@ -23606,55 +23583,21 @@ "version": "1.0.0", "dev": true }, - "p2wdb": { - "version": "2.2.3", + "p2wdb-esm": { + "version": "file:../p2wdb-esm", "requires": { - "apidoc": "0.52.0", - "axios": "0.24.0" - }, - "dependencies": { - "apidoc": { - "version": "0.52.0", - "requires": { - "bootstrap": "3.4.1", - "commander": "^8.3.0", - "diff-match-patch": "^1.0.5", - "esbuild-loader": "^2.16.0", - "expose-loader": "^3.1.0", - "fs-extra": "^10.0.0", - "glob": "^7.2.0", - "handlebars": "^4.7.7", - "iconv-lite": "^0.6.3", - "jquery": "^3.6.0", - "klaw-sync": "^6.0.0", - "lodash": "^4.17.21", - "markdown-it": "^12.2.0", - "nodemon": "^2.0.15", - "prismjs": "^1.25.0", - "semver": "^7.3.5", - "style-loader": "^3.3.1", - "webpack": "^5.64.2", - "webpack-cli": "^4.9.1", - "winston": "^3.3.3" - } - }, - "axios": { - "version": "0.24.0", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "glob": { - "version": "7.2.3", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "@chris.troutner/retry-queue-commonjs": "1.0.8", + "axios": "0.24.0", + "c8": "7.12.0", + "chai": "4.2.0", + "coveralls": "3.1.0", + "husky": "4.3.8", + "lodash.clonedeep": "4.5.0", + "minimal-slp-wallet": "5.2.1", + "mocha": "10.0.0", + "semantic-release": "19.0.5", + "sinon": "9.2.2", + "standard": "16.0.4" } }, "package-json": { diff --git a/package.json b/package.json index 4a8f233..002b678 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "repository": "Permissionless-Software-Foundation/bch-dex", "dependencies": { "@chris.troutner/retry-queue": "1.0.8", + "@psf/bch-js": "6.5.1", "axios": "0.27.2", "bch-message-lib": "2.2.1", "bcryptjs": "2.4.3", @@ -52,11 +53,11 @@ "koa2-ratelimit": "0.9.1", "libp2p": "0.36.2", "line-reader": "0.4.0", - "minimal-slp-wallet": "5.2.1", + "minimal-slp-wallet": "5.4.3", "mongoose": "5.13.14", "node-fetch": "npm:@achingbrain/node-fetch@2.6.7", "nodemailer": "6.7.5", - "p2wdb": "2.2.3", + "p2wdb-esm": "../p2wdb-esm/", "passport-local": "1.0.0", "public-ip": "4.0.4", "winston": "3.3.3", diff --git a/production/scripts/create-wallet.js b/production/scripts/create-wallet.js index a698cd9..96ac396 100644 --- a/production/scripts/create-wallet.js +++ b/production/scripts/create-wallet.js @@ -3,7 +3,7 @@ */ // Public NPM libraries -import BchWallet from 'minimal-slp-wallet/index' +import BchWallet from 'minimal-slp-wallet' import { promises as fs } from 'fs' diff --git a/production/scripts/sweep-nfts.js b/production/scripts/sweep-nfts.js index 2876800..f1c93bf 100644 --- a/production/scripts/sweep-nfts.js +++ b/production/scripts/sweep-nfts.js @@ -5,7 +5,7 @@ */ // Global npm libraries -import BchWallet from 'minimal-slp-wallet/index.js' +import BchWallet from 'minimal-slp-wallet' // Local libraries import WalletAdapter from '../../src/adapters/wallet.js' diff --git a/src/adapters/bch.js b/src/adapters/bch.js index 5f6f841..3533b16 100644 --- a/src/adapters/bch.js +++ b/src/adapters/bch.js @@ -6,7 +6,7 @@ import BCHJS from '@psf/bch-js' import MsgLib from 'bch-message-lib' -import BchWallet from 'minimal-slp-wallet/index.js' +import BchWallet from 'minimal-slp-wallet' class Bch { constructor () { diff --git a/src/adapters/ipfs/ipfs-coord.js b/src/adapters/ipfs/ipfs-coord.js index 03e2d3d..93dee3e 100644 --- a/src/adapters/ipfs/ipfs-coord.js +++ b/src/adapters/ipfs/ipfs-coord.js @@ -8,7 +8,7 @@ import IpfsCoord from 'ipfs-coord-esm' // import BCHJS from '@psf/bch-js'; -import SlpWallet from 'minimal-slp-wallet/index.js' +import SlpWallet from 'minimal-slp-wallet' import publicIp from 'public-ip' // Local libraries diff --git a/src/adapters/p2wdb-adapter.js b/src/adapters/p2wdb-adapter.js index fb3cc62..925b0cc 100644 --- a/src/adapters/p2wdb-adapter.js +++ b/src/adapters/p2wdb-adapter.js @@ -5,10 +5,11 @@ // Public npm libraries. import axios from 'axios' -import { Write, Read } from 'p2wdb/index.js' +import P2WDB from 'p2wdb-esm' // Local libraries import config from '../../config/index.js' +const { Write, Read } = P2WDB class P2wdbAdapter { constructor (localConfig = {}) { diff --git a/src/adapters/wallet.js b/src/adapters/wallet.js index e22b776..4c72c45 100644 --- a/src/adapters/wallet.js +++ b/src/adapters/wallet.js @@ -3,7 +3,7 @@ */ // Public npm libraries -import BchWallet from 'minimal-slp-wallet/index.js' +import BchWallet from 'minimal-slp-wallet' import bitcoinJs from 'bitcoincashjs-lib' diff --git a/src/use-cases/order.js b/src/use-cases/order.js index 3dc7701..8c7a482 100644 --- a/src/use-cases/order.js +++ b/src/use-cases/order.js @@ -115,6 +115,7 @@ class OrderLib { // Update the wallet balance await this.adapters.wallet.bchWallet.getUtxos() + // console.log(`wallet UTXOs: ${JSON.stringify(this.adapters.wallet.bchWallet.utxos.utxoStore, null, 2)}`) // Ensure the app wallet has enough funds to write to the P2WDB. const wif = this.adapters.wallet.bchWallet.walletInfo.privateKey diff --git a/test/unit/adapters/p2wdb.adapter.unit.js b/test/unit/adapters/p2wdb.adapter.unit.js index 99573ea..c8649cc 100644 --- a/test/unit/adapters/p2wdb.adapter.unit.js +++ b/test/unit/adapters/p2wdb.adapter.unit.js @@ -8,7 +8,7 @@ import { assert } from 'chai' import sinon from 'sinon' // const BCHJS = require('@psf/bch-js') -import BchWallet from 'minimal-slp-wallet/index.js' +import BchWallet from 'minimal-slp-wallet' // Local libraries. import P2wdbAdapter from '../../../src/adapters/p2wdb-adapter.js'