From 02e2e69557703ee75e3ace7d831973a4d66c9d2d Mon Sep 17 00:00:00 2001 From: Otto Allmendinger Date: Wed, 22 Oct 2025 12:32:14 +0200 Subject: [PATCH] feat(abstract-utxo): move coin implementations from sdk modules Move UTXO coin implementations from coin-specific modules into the abstract-utxo module. Each coin implementation now resides in its own directory under src/impl/ and is re-exported from the main module. This allows coin-specific modules to simply re-export the implementations from abstract-utxo, which simplifies maintenance and keeps the code DRY. Migrates test files from individual UTXO coin modules into the abstract-utxo module under test/impl/. This consolidates all tests in one place for better organization and reuse. Added sdk-test and mocha as devDependencies to abstract-utxo package.json. Issue: BTC-2652 Co-authored-by: llm-git --- Dockerfile | 6 ++--- modules/abstract-utxo/package.json | 8 +++++- .../src => abstract-utxo/src/impl/bch}/bch.ts | 3 ++- modules/abstract-utxo/src/impl/bch/index.ts | 2 ++ .../src/impl/bch}/tbch.ts | 3 ++- .../src/impl/bcha}/bcha.ts | 5 ++-- modules/abstract-utxo/src/impl/bcha/index.ts | 2 ++ .../src/impl/bcha}/tbcha.ts | 1 + .../src => abstract-utxo/src/impl/bsv}/bsv.ts | 5 ++-- modules/abstract-utxo/src/impl/bsv/index.ts | 2 ++ .../src/impl/bsv}/tbsv.ts | 3 ++- .../src => abstract-utxo/src/impl/btc}/btc.ts | 4 ++- modules/abstract-utxo/src/impl/btc/index.ts | 6 +++++ .../src/impl/btc}/inscriptionBuilder.ts | 7 +++-- .../src/impl/btc}/tbtc.ts | 3 ++- .../src/impl/btc}/tbtc4.ts | 3 ++- .../src/impl/btc}/tbtcbgsig.ts | 3 ++- .../src/impl/btc}/tbtcsig.ts | 3 ++- .../src => abstract-utxo/src/impl/btg}/btg.ts | 3 ++- modules/abstract-utxo/src/impl/btg/index.ts | 1 + .../src/impl/dash}/dash.ts | 3 ++- modules/abstract-utxo/src/impl/dash/index.ts | 2 ++ .../src/impl/dash}/tdash.ts | 1 + .../src/impl/doge}/doge.ts | 12 ++++----- modules/abstract-utxo/src/impl/doge/index.ts | 2 ++ .../src/impl/doge}/tdoge.ts | 1 + modules/abstract-utxo/src/impl/index.ts | 9 +++++++ modules/abstract-utxo/src/impl/ltc/index.ts | 2 ++ .../src => abstract-utxo/src/impl/ltc}/ltc.ts | 3 ++- .../src/impl/ltc}/tltc.ts | 1 + modules/abstract-utxo/src/impl/zec/index.ts | 2 ++ .../src/impl/zec}/tzec.ts | 3 ++- .../src => abstract-utxo/src/impl/zec}/zec.ts | 3 ++- modules/abstract-utxo/src/index.ts | 12 +++++++++ .../test/integration/impl/bch}/bch.ts | 11 ++++---- .../abstract-utxo/test/{ => unit}/bip322.ts | 2 +- .../{ => unit}/descriptor/NamedDescriptor.ts | 4 +-- .../test/{ => unit}/descriptor/builder.ts | 2 +- .../createWallet/createDescriptors.ts | 4 +-- .../createWallet/fixtures/DefaultWsh2Of3.json | 0 .../{ => unit}/descriptor/descriptorWallet.ts | 8 +++--- .../NamedDescriptorWithSignature.json | 0 .../test/unit/impl/bch}/unit/bch.ts | 4 +-- .../test/unit/impl/bcha}/unit/index.ts | 3 ++- .../test/unit/impl/bsv}/unit/index.ts | 3 ++- .../test/unit/impl/btc}/unit/btc.ts | 8 +++--- .../impl/btc}/unit/fixtures/btcBackupKey.ts | 0 .../unit/impl/btc}/unit/fixtures/index.ts | 0 .../test/unit/impl/btg}/unit/index.ts | 3 ++- .../test/unit/impl/dash}/unit/index.ts | 3 ++- .../test/unit/impl/doge}/unit/index.ts | 3 ++- .../test/unit/impl/ltc}/unit/index.ts | 4 +-- .../test/unit/impl/zec}/unit/index.ts | 3 ++- ...2Of3.buildAdmin.custodial.explanation.json | 0 .../Wsh2Of3.buildAdmin.custodial.json | 0 .../{ => unit}/offlineVault/halfSigned.ts | 4 +-- .../transaction/descriptor/explainPsbt.ts | 4 +-- .../transaction/descriptor/fixtures.utils.ts | 0 .../descriptor/fixtures/explainPsbt.a.json | 0 .../fixtures/parseWithExternalRecipient.json | 0 .../fixtures/parseWithInternalRecipient.json | 0 .../fixtures/parseWithoutRecipients.json | 0 .../descriptor/outputDifference.ts | 2 +- .../transaction/descriptor/parse.ts | 11 +++++--- .../{ => unit}/transaction/descriptor/sign.ts | 4 +-- .../transaction/descriptor/validatePolicy.ts | 10 ++++--- modules/sdk-coin-bch/package.json | 11 ++------ modules/sdk-coin-bch/src/index.ts | 13 +++++++--- modules/sdk-coin-bch/src/register.ts | 8 ------ modules/sdk-coin-bcha/package.json | 12 ++------- modules/sdk-coin-bcha/src/index.ts | 13 +++++++--- modules/sdk-coin-bcha/src/register.ts | 8 ------ modules/sdk-coin-bsv/package.json | 12 ++------- modules/sdk-coin-bsv/src/index.ts | 13 +++++++--- modules/sdk-coin-bsv/src/register.ts | 8 ------ modules/sdk-coin-btc/package.json | 12 ++------- modules/sdk-coin-btc/src/index.ts | 22 +++++++++++----- modules/sdk-coin-btc/src/register.ts | 14 ---------- modules/sdk-coin-btg/package.json | 11 ++------ modules/sdk-coin-btg/src/index.ts | 10 +++++-- modules/sdk-coin-btg/src/register.ts | 6 ----- modules/sdk-coin-dash/package.json | 11 ++------ modules/sdk-coin-dash/src/index.ts | 13 +++++++--- modules/sdk-coin-dash/src/register.ts | 8 ------ modules/sdk-coin-doge/package.json | 11 ++------ modules/sdk-coin-doge/src/index.ts | 13 +++++++--- modules/sdk-coin-doge/src/register.ts | 8 ------ modules/sdk-coin-ltc/package.json | 11 ++------ modules/sdk-coin-ltc/src/index.ts | 13 +++++++--- modules/sdk-coin-ltc/src/register.ts | 8 ------ modules/sdk-coin-zec/package.json | 10 ++----- modules/sdk-coin-zec/src/index.ts | 13 +++++++--- modules/sdk-coin-zec/src/register.ts | 8 ------ yarn.lock | 26 +++++++++++++++++++ 94 files changed, 294 insertions(+), 261 deletions(-) rename modules/{sdk-coin-bch/src => abstract-utxo/src/impl/bch}/bch.ts (95%) create mode 100644 modules/abstract-utxo/src/impl/bch/index.ts rename modules/{sdk-coin-bch/src => abstract-utxo/src/impl/bch}/tbch.ts (99%) rename modules/{sdk-coin-bcha/src => abstract-utxo/src/impl/bcha}/bcha.ts (89%) create mode 100644 modules/abstract-utxo/src/impl/bcha/index.ts rename modules/{sdk-coin-bcha/src => abstract-utxo/src/impl/bcha}/tbcha.ts (99%) rename modules/{sdk-coin-bsv/src => abstract-utxo/src/impl/bsv}/bsv.ts (78%) create mode 100644 modules/abstract-utxo/src/impl/bsv/index.ts rename modules/{sdk-coin-bsv/src => abstract-utxo/src/impl/bsv}/tbsv.ts (99%) rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/btc.ts (91%) create mode 100644 modules/abstract-utxo/src/impl/btc/index.ts rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/inscriptionBuilder.ts (98%) rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/tbtc.ts (99%) rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/tbtc4.ts (99%) rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/tbtcbgsig.ts (99%) rename modules/{sdk-coin-btc/src => abstract-utxo/src/impl/btc}/tbtcsig.ts (99%) rename modules/{sdk-coin-btg/src => abstract-utxo/src/impl/btg}/btg.ts (82%) create mode 100644 modules/abstract-utxo/src/impl/btg/index.ts rename modules/{sdk-coin-dash/src => abstract-utxo/src/impl/dash}/dash.ts (82%) create mode 100644 modules/abstract-utxo/src/impl/dash/index.ts rename modules/{sdk-coin-dash/src => abstract-utxo/src/impl/dash}/tdash.ts (99%) rename modules/{sdk-coin-doge/src => abstract-utxo/src/impl/doge}/doge.ts (96%) create mode 100644 modules/abstract-utxo/src/impl/doge/index.ts rename modules/{sdk-coin-doge/src => abstract-utxo/src/impl/doge}/tdoge.ts (99%) create mode 100644 modules/abstract-utxo/src/impl/index.ts create mode 100644 modules/abstract-utxo/src/impl/ltc/index.ts rename modules/{sdk-coin-ltc/src => abstract-utxo/src/impl/ltc}/ltc.ts (88%) rename modules/{sdk-coin-ltc/src => abstract-utxo/src/impl/ltc}/tltc.ts (99%) create mode 100644 modules/abstract-utxo/src/impl/zec/index.ts rename modules/{sdk-coin-zec/src => abstract-utxo/src/impl/zec}/tzec.ts (99%) rename modules/{sdk-coin-zec/src => abstract-utxo/src/impl/zec}/zec.ts (83%) rename modules/{sdk-coin-bch/test/integration => abstract-utxo/test/integration/impl/bch}/bch.ts (91%) rename modules/abstract-utxo/test/{ => unit}/bip322.ts (97%) rename modules/abstract-utxo/test/{ => unit}/descriptor/NamedDescriptor.ts (84%) rename modules/abstract-utxo/test/{ => unit}/descriptor/builder.ts (95%) rename modules/abstract-utxo/test/{ => unit}/descriptor/createWallet/createDescriptors.ts (78%) rename modules/abstract-utxo/test/{ => unit}/descriptor/createWallet/fixtures/DefaultWsh2Of3.json (100%) rename modules/abstract-utxo/test/{ => unit}/descriptor/descriptorWallet.ts (80%) rename modules/abstract-utxo/test/{ => unit}/descriptor/fixtures/NamedDescriptorWithSignature.json (100%) rename modules/{sdk-coin-bch/test => abstract-utxo/test/unit/impl/bch}/unit/bch.ts (98%) rename modules/{sdk-coin-bcha/test => abstract-utxo/test/unit/impl/bcha}/unit/index.ts (96%) rename modules/{sdk-coin-bsv/test => abstract-utxo/test/unit/impl/bsv}/unit/index.ts (94%) rename modules/{sdk-coin-btc/test => abstract-utxo/test/unit/impl/btc}/unit/btc.ts (99%) rename modules/{sdk-coin-btc/test => abstract-utxo/test/unit/impl/btc}/unit/fixtures/btcBackupKey.ts (100%) rename modules/{sdk-coin-btc/test => abstract-utxo/test/unit/impl/btc}/unit/fixtures/index.ts (100%) rename modules/{sdk-coin-btg/test => abstract-utxo/test/unit/impl/btg}/unit/index.ts (93%) rename modules/{sdk-coin-dash/test => abstract-utxo/test/unit/impl/dash}/unit/index.ts (93%) rename modules/{sdk-coin-doge/test => abstract-utxo/test/unit/impl/doge}/unit/index.ts (93%) rename modules/{sdk-coin-ltc/test => abstract-utxo/test/unit/impl/ltc}/unit/index.ts (97%) rename modules/{sdk-coin-zec/test => abstract-utxo/test/unit/impl/zec}/unit/index.ts (93%) rename modules/abstract-utxo/test/{ => unit}/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.explanation.json (100%) rename modules/abstract-utxo/test/{ => unit}/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.json (100%) rename modules/abstract-utxo/test/{ => unit}/offlineVault/halfSigned.ts (97%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/explainPsbt.ts (89%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/fixtures.utils.ts (100%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/fixtures/explainPsbt.a.json (100%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/fixtures/parseWithExternalRecipient.json (100%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/fixtures/parseWithInternalRecipient.json (100%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/fixtures/parseWithoutRecipients.json (100%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/outputDifference.ts (98%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/parse.ts (94%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/sign.ts (88%) rename modules/abstract-utxo/test/{ => unit}/transaction/descriptor/validatePolicy.ts (90%) delete mode 100644 modules/sdk-coin-bch/src/register.ts delete mode 100644 modules/sdk-coin-bcha/src/register.ts delete mode 100644 modules/sdk-coin-bsv/src/register.ts delete mode 100644 modules/sdk-coin-btc/src/register.ts delete mode 100644 modules/sdk-coin-btg/src/register.ts delete mode 100644 modules/sdk-coin-dash/src/register.ts delete mode 100644 modules/sdk-coin-doge/src/register.ts delete mode 100644 modules/sdk-coin-ltc/src/register.ts delete mode 100644 modules/sdk-coin-zec/src/register.ts diff --git a/Dockerfile b/Dockerfile index 83977db46c..771e47137e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,6 +55,7 @@ COPY --from=builder /tmp/bitgo/modules/abstract-utxo /var/modules/abstract-utxo/ COPY --from=builder /tmp/bitgo/modules/blockapis /var/modules/blockapis/ COPY --from=builder /tmp/bitgo/modules/sdk-api /var/modules/sdk-api/ COPY --from=builder /tmp/bitgo/modules/sdk-hmac /var/modules/sdk-hmac/ +COPY --from=builder /tmp/bitgo/modules/utxo-ord /var/modules/utxo-ord/ COPY --from=builder /tmp/bitgo/modules/account-lib /var/modules/account-lib/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-ada /var/modules/sdk-coin-ada/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-algo /var/modules/sdk-coin-algo/ @@ -122,7 +123,6 @@ COPY --from=builder /tmp/bitgo/modules/sdk-coin-bch /var/modules/sdk-coin-bch/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-bcha /var/modules/sdk-coin-bcha/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-bsv /var/modules/sdk-coin-bsv/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-btc /var/modules/sdk-coin-btc/ -COPY --from=builder /tmp/bitgo/modules/utxo-ord /var/modules/utxo-ord/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-btg /var/modules/sdk-coin-btg/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-dash /var/modules/sdk-coin-dash/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-doge /var/modules/sdk-coin-doge/ @@ -152,6 +152,7 @@ cd /var/modules/abstract-utxo && yarn link && \ cd /var/modules/blockapis && yarn link && \ cd /var/modules/sdk-api && yarn link && \ cd /var/modules/sdk-hmac && yarn link && \ +cd /var/modules/utxo-ord && yarn link && \ cd /var/modules/account-lib && yarn link && \ cd /var/modules/sdk-coin-ada && yarn link && \ cd /var/modules/sdk-coin-algo && yarn link && \ @@ -219,7 +220,6 @@ cd /var/modules/sdk-coin-bch && yarn link && \ cd /var/modules/sdk-coin-bcha && yarn link && \ cd /var/modules/sdk-coin-bsv && yarn link && \ cd /var/modules/sdk-coin-btc && yarn link && \ -cd /var/modules/utxo-ord && yarn link && \ cd /var/modules/sdk-coin-btg && yarn link && \ cd /var/modules/sdk-coin-dash && yarn link && \ cd /var/modules/sdk-coin-doge && yarn link && \ @@ -252,6 +252,7 @@ RUN cd /var/bitgo-express && \ yarn link @bitgo/blockapis && \ yarn link @bitgo/sdk-api && \ yarn link @bitgo/sdk-hmac && \ + yarn link @bitgo/utxo-ord && \ yarn link @bitgo/account-lib && \ yarn link @bitgo/sdk-coin-ada && \ yarn link @bitgo/sdk-coin-algo && \ @@ -319,7 +320,6 @@ RUN cd /var/bitgo-express && \ yarn link @bitgo/sdk-coin-bcha && \ yarn link @bitgo/sdk-coin-bsv && \ yarn link @bitgo/sdk-coin-btc && \ - yarn link @bitgo/utxo-ord && \ yarn link @bitgo/sdk-coin-btg && \ yarn link @bitgo/sdk-coin-dash && \ yarn link @bitgo/sdk-coin-doge && \ diff --git a/modules/abstract-utxo/package.json b/modules/abstract-utxo/package.json index 7d28ec3709..51bc76c38c 100644 --- a/modules/abstract-utxo/package.json +++ b/modules/abstract-utxo/package.json @@ -15,7 +15,8 @@ "lint": "eslint --quiet .", "prepare": "npm run build", "test": "npm run unit-test", - "unit-test": "mocha --recursive test/" + "unit-test": "mocha --recursive test/unit/", + "integration-test": "mocha --recursive test/integration/" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -47,6 +48,7 @@ "@bitgo/sdk-core": "^36.15.0", "@bitgo/secp256k1": "^1.6.0", "@bitgo/unspents": "^0.50.5", + "@bitgo/utxo-ord": "^1.22.7", "@bitgo/utxo-core": "^1.21.1", "@bitgo/utxo-lib": "^11.13.0", "@bitgo/wasm-miniscript": "2.0.0-beta.7", @@ -59,5 +61,9 @@ "lodash": "^4.17.14", "superagent": "^9.0.1" }, + "devDependencies": { + "@bitgo/sdk-test": "^9.1.7", + "mocha": "^10.2.0" + }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c" } diff --git a/modules/sdk-coin-bch/src/bch.ts b/modules/abstract-utxo/src/impl/bch/bch.ts similarity index 95% rename from modules/sdk-coin-bch/src/bch.ts rename to modules/abstract-utxo/src/impl/bch/bch.ts index 7486a7657e..f96a6e11cc 100644 --- a/modules/sdk-coin-bch/src/bch.ts +++ b/modules/abstract-utxo/src/impl/bch/bch.ts @@ -1,7 +1,8 @@ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + export class Bch extends AbstractUtxoCoin { protected constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.bitcoincash); diff --git a/modules/abstract-utxo/src/impl/bch/index.ts b/modules/abstract-utxo/src/impl/bch/index.ts new file mode 100644 index 0000000000..86a13e87b1 --- /dev/null +++ b/modules/abstract-utxo/src/impl/bch/index.ts @@ -0,0 +1,2 @@ +export * from './bch'; +export * from './tbch'; diff --git a/modules/sdk-coin-bch/src/tbch.ts b/modules/abstract-utxo/src/impl/bch/tbch.ts similarity index 99% rename from modules/sdk-coin-bch/src/tbch.ts rename to modules/abstract-utxo/src/impl/bch/tbch.ts index 54d33ae820..a027d127bf 100644 --- a/modules/sdk-coin-bch/src/tbch.ts +++ b/modules/abstract-utxo/src/impl/bch/tbch.ts @@ -2,9 +2,10 @@ * @prettier */ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Bch } from './bch'; import * as bitcoin from '@bitgo/utxo-lib'; +import { Bch } from './bch'; + export class Tbch extends Bch { constructor(bitgo: BitGoBase) { super(bitgo, bitcoin.networks.bitcoincashTestnet); diff --git a/modules/sdk-coin-bcha/src/bcha.ts b/modules/abstract-utxo/src/impl/bcha/bcha.ts similarity index 89% rename from modules/sdk-coin-bcha/src/bcha.ts rename to modules/abstract-utxo/src/impl/bcha/bcha.ts index 8b3377d016..76dd8bd0d3 100644 --- a/modules/sdk-coin-bcha/src/bcha.ts +++ b/modules/abstract-utxo/src/impl/bcha/bcha.ts @@ -1,7 +1,8 @@ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; -import { Bch } from '@bitgo/sdk-coin-bch'; import * as utxolib from '@bitgo/utxo-lib'; -import { UtxoNetwork } from '@bitgo/abstract-utxo'; + +import { Bch } from '../bch/bch'; +import { UtxoNetwork } from '../../abstractUtxoCoin'; export class Bcha extends Bch { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { diff --git a/modules/abstract-utxo/src/impl/bcha/index.ts b/modules/abstract-utxo/src/impl/bcha/index.ts new file mode 100644 index 0000000000..8c227b6179 --- /dev/null +++ b/modules/abstract-utxo/src/impl/bcha/index.ts @@ -0,0 +1,2 @@ +export * from './bcha'; +export * from './tbcha'; diff --git a/modules/sdk-coin-bcha/src/tbcha.ts b/modules/abstract-utxo/src/impl/bcha/tbcha.ts similarity index 99% rename from modules/sdk-coin-bcha/src/tbcha.ts rename to modules/abstract-utxo/src/impl/bcha/tbcha.ts index 7755c602df..b22dad0e1d 100644 --- a/modules/sdk-coin-bcha/src/tbcha.ts +++ b/modules/abstract-utxo/src/impl/bcha/tbcha.ts @@ -3,6 +3,7 @@ */ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; + import { Bcha } from './bcha'; export class Tbcha extends Bcha { diff --git a/modules/sdk-coin-bsv/src/bsv.ts b/modules/abstract-utxo/src/impl/bsv/bsv.ts similarity index 78% rename from modules/sdk-coin-bsv/src/bsv.ts rename to modules/abstract-utxo/src/impl/bsv/bsv.ts index ebb923a965..a0659e688f 100644 --- a/modules/sdk-coin-bsv/src/bsv.ts +++ b/modules/abstract-utxo/src/impl/bsv/bsv.ts @@ -1,8 +1,9 @@ -import { UtxoNetwork } from '@bitgo/abstract-utxo'; -import { Bch } from '@bitgo/sdk-coin-bch'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { UtxoNetwork } from '../../abstractUtxoCoin'; +import { Bch } from '../bch/bch'; + export class Bsv extends Bch { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.bitcoinsv); diff --git a/modules/abstract-utxo/src/impl/bsv/index.ts b/modules/abstract-utxo/src/impl/bsv/index.ts new file mode 100644 index 0000000000..4706c5bdfc --- /dev/null +++ b/modules/abstract-utxo/src/impl/bsv/index.ts @@ -0,0 +1,2 @@ +export * from './bsv'; +export * from './tbsv'; diff --git a/modules/sdk-coin-bsv/src/tbsv.ts b/modules/abstract-utxo/src/impl/bsv/tbsv.ts similarity index 99% rename from modules/sdk-coin-bsv/src/tbsv.ts rename to modules/abstract-utxo/src/impl/bsv/tbsv.ts index acaf4f481d..83f05f47ad 100644 --- a/modules/sdk-coin-bsv/src/tbsv.ts +++ b/modules/abstract-utxo/src/impl/bsv/tbsv.ts @@ -2,9 +2,10 @@ * @prettier */ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; -import { Bsv } from './bsv'; import * as utxolib from '@bitgo/utxo-lib'; +import { Bsv } from './bsv'; + export class Tbsv extends Bsv { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.bitcoinsvTestnet); diff --git a/modules/sdk-coin-btc/src/btc.ts b/modules/abstract-utxo/src/impl/btc/btc.ts similarity index 91% rename from modules/sdk-coin-btc/src/btc.ts rename to modules/abstract-utxo/src/impl/btc/btc.ts index 4339dd226e..29a6c0f55e 100644 --- a/modules/sdk-coin-btc/src/btc.ts +++ b/modules/abstract-utxo/src/impl/btc/btc.ts @@ -1,4 +1,3 @@ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin, @@ -6,6 +5,9 @@ import { Wallet, } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; + +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + import { InscriptionBuilder } from './inscriptionBuilder'; export interface VerifyRecoveryTransactionOptions extends BaseVerifyRecoveryTransactionOptions { diff --git a/modules/abstract-utxo/src/impl/btc/index.ts b/modules/abstract-utxo/src/impl/btc/index.ts new file mode 100644 index 0000000000..8e439d2dd0 --- /dev/null +++ b/modules/abstract-utxo/src/impl/btc/index.ts @@ -0,0 +1,6 @@ +export * from './btc'; +export * from './tbtc'; +export * from './tbtc4'; +export * from './tbtcsig'; +export * from './tbtcbgsig'; +export * from './inscriptionBuilder'; diff --git a/modules/sdk-coin-btc/src/inscriptionBuilder.ts b/modules/abstract-utxo/src/impl/btc/inscriptionBuilder.ts similarity index 98% rename from modules/sdk-coin-btc/src/inscriptionBuilder.ts rename to modules/abstract-utxo/src/impl/btc/inscriptionBuilder.ts index 5b43ab4b28..21ab955f5f 100644 --- a/modules/sdk-coin-btc/src/inscriptionBuilder.ts +++ b/modules/abstract-utxo/src/impl/btc/inscriptionBuilder.ts @@ -1,4 +1,5 @@ -import { AbstractUtxoCoin, getWalletKeys, RootWalletKeys } from '@bitgo/abstract-utxo'; +import assert from 'assert'; + import { HalfSignedUtxoTransaction, IInscriptionBuilder, @@ -23,7 +24,9 @@ import { MAX_UNSPENTS_FOR_OUTPUT_LAYOUT, SatPoint, } from '@bitgo/utxo-ord'; -import assert from 'assert'; + +import { AbstractUtxoCoin, RootWalletKeys } from '../../abstractUtxoCoin'; +import { getWalletKeys } from '../../recovery/crossChainRecovery'; const SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS = [0, 20_000, 200_000]; diff --git a/modules/sdk-coin-btc/src/tbtc.ts b/modules/abstract-utxo/src/impl/btc/tbtc.ts similarity index 99% rename from modules/sdk-coin-btc/src/tbtc.ts rename to modules/abstract-utxo/src/impl/btc/tbtc.ts index 70a1eb6bdb..c16072a9f7 100644 --- a/modules/sdk-coin-btc/src/tbtc.ts +++ b/modules/abstract-utxo/src/impl/btc/tbtc.ts @@ -2,9 +2,10 @@ * @prettier */ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Btc } from './btc'; import * as utxolib from '@bitgo/utxo-lib'; +import { Btc } from './btc'; + export class Tbtc extends Btc { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.testnet); diff --git a/modules/sdk-coin-btc/src/tbtc4.ts b/modules/abstract-utxo/src/impl/btc/tbtc4.ts similarity index 99% rename from modules/sdk-coin-btc/src/tbtc4.ts rename to modules/abstract-utxo/src/impl/btc/tbtc4.ts index a8dc55a4cb..d33c51dad7 100644 --- a/modules/sdk-coin-btc/src/tbtc4.ts +++ b/modules/abstract-utxo/src/impl/btc/tbtc4.ts @@ -2,9 +2,10 @@ * @prettier */ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Btc } from './btc'; import * as utxolib from '@bitgo/utxo-lib'; +import { Btc } from './btc'; + export class Tbtc4 extends Btc { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.bitcoinTestnet4); diff --git a/modules/sdk-coin-btc/src/tbtcbgsig.ts b/modules/abstract-utxo/src/impl/btc/tbtcbgsig.ts similarity index 99% rename from modules/sdk-coin-btc/src/tbtcbgsig.ts rename to modules/abstract-utxo/src/impl/btc/tbtcbgsig.ts index 02202d57c2..9adf43a4f0 100644 --- a/modules/sdk-coin-btc/src/tbtcbgsig.ts +++ b/modules/abstract-utxo/src/impl/btc/tbtcbgsig.ts @@ -2,9 +2,10 @@ * @prettier */ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Btc } from './btc'; import * as utxolib from '@bitgo/utxo-lib'; +import { Btc } from './btc'; + export class Tbtcbgsig extends Btc { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.bitcoinBitGoSignet); diff --git a/modules/sdk-coin-btc/src/tbtcsig.ts b/modules/abstract-utxo/src/impl/btc/tbtcsig.ts similarity index 99% rename from modules/sdk-coin-btc/src/tbtcsig.ts rename to modules/abstract-utxo/src/impl/btc/tbtcsig.ts index ffc2e863ad..dd6b5d16e9 100644 --- a/modules/sdk-coin-btc/src/tbtcsig.ts +++ b/modules/abstract-utxo/src/impl/btc/tbtcsig.ts @@ -2,9 +2,10 @@ * @prettier */ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Btc } from './btc'; import * as utxolib from '@bitgo/utxo-lib'; +import { Btc } from './btc'; + export class Tbtcsig extends Btc { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.bitcoinPublicSignet); diff --git a/modules/sdk-coin-btg/src/btg.ts b/modules/abstract-utxo/src/impl/btg/btg.ts similarity index 82% rename from modules/sdk-coin-btg/src/btg.ts rename to modules/abstract-utxo/src/impl/btg/btg.ts index 7fe4890ea6..e1aa1c248a 100644 --- a/modules/sdk-coin-btg/src/btg.ts +++ b/modules/abstract-utxo/src/impl/btg/btg.ts @@ -1,7 +1,8 @@ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + export class Btg extends AbstractUtxoCoin { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.bitcoingold); diff --git a/modules/abstract-utxo/src/impl/btg/index.ts b/modules/abstract-utxo/src/impl/btg/index.ts new file mode 100644 index 0000000000..5678fe9a24 --- /dev/null +++ b/modules/abstract-utxo/src/impl/btg/index.ts @@ -0,0 +1 @@ +export * from './btg'; diff --git a/modules/sdk-coin-dash/src/dash.ts b/modules/abstract-utxo/src/impl/dash/dash.ts similarity index 82% rename from modules/sdk-coin-dash/src/dash.ts rename to modules/abstract-utxo/src/impl/dash/dash.ts index 37886bde10..68dff15c59 100644 --- a/modules/sdk-coin-dash/src/dash.ts +++ b/modules/abstract-utxo/src/impl/dash/dash.ts @@ -1,7 +1,8 @@ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + export class Dash extends AbstractUtxoCoin { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.dash); diff --git a/modules/abstract-utxo/src/impl/dash/index.ts b/modules/abstract-utxo/src/impl/dash/index.ts new file mode 100644 index 0000000000..8836717740 --- /dev/null +++ b/modules/abstract-utxo/src/impl/dash/index.ts @@ -0,0 +1,2 @@ +export * from './dash'; +export * from './tdash'; diff --git a/modules/sdk-coin-dash/src/tdash.ts b/modules/abstract-utxo/src/impl/dash/tdash.ts similarity index 99% rename from modules/sdk-coin-dash/src/tdash.ts rename to modules/abstract-utxo/src/impl/dash/tdash.ts index ce1bd4b444..955a0e79bd 100644 --- a/modules/sdk-coin-dash/src/tdash.ts +++ b/modules/abstract-utxo/src/impl/dash/tdash.ts @@ -3,6 +3,7 @@ */ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; + import { Dash } from './dash'; export class Tdash extends Dash { diff --git a/modules/sdk-coin-doge/src/doge.ts b/modules/abstract-utxo/src/impl/doge/doge.ts similarity index 96% rename from modules/sdk-coin-doge/src/doge.ts rename to modules/abstract-utxo/src/impl/doge/doge.ts index 4841789fe0..0574070460 100644 --- a/modules/sdk-coin-doge/src/doge.ts +++ b/modules/abstract-utxo/src/impl/doge/doge.ts @@ -1,20 +1,20 @@ +import { BaseCoin, BitGoBase, HalfSignedUtxoTransaction, SignedTransaction } from '@bitgo/sdk-core'; +import { bitgo, networks } from '@bitgo/utxo-lib'; + import { AbstractUtxoCoin, + UtxoNetwork, SignTransactionOptions, ExplainTransactionOptions, TransactionExplanation, - UtxoNetwork, ParseTransactionOptions, ParsedTransaction, VerifyTransactionOptions, - CrossChainRecoverySigned, - CrossChainRecoveryUnsigned, RecoverFromWrongChainOptions, TransactionInfo, TransactionPrebuild, -} from '@bitgo/abstract-utxo'; -import { BaseCoin, BitGoBase, HalfSignedUtxoTransaction, SignedTransaction } from '@bitgo/sdk-core'; -import { bitgo, networks } from '@bitgo/utxo-lib'; +} from '../../abstractUtxoCoin'; +import type { CrossChainRecoverySigned, CrossChainRecoveryUnsigned } from '../../recovery/crossChainRecovery'; type UnspentJSON = bitgo.Unspent & { valueString: string }; type TransactionInfoJSON = TransactionInfo & { unspents: UnspentJSON[] }; diff --git a/modules/abstract-utxo/src/impl/doge/index.ts b/modules/abstract-utxo/src/impl/doge/index.ts new file mode 100644 index 0000000000..e97b501d31 --- /dev/null +++ b/modules/abstract-utxo/src/impl/doge/index.ts @@ -0,0 +1,2 @@ +export * from './doge'; +export * from './tdoge'; diff --git a/modules/sdk-coin-doge/src/tdoge.ts b/modules/abstract-utxo/src/impl/doge/tdoge.ts similarity index 99% rename from modules/sdk-coin-doge/src/tdoge.ts rename to modules/abstract-utxo/src/impl/doge/tdoge.ts index 5f7b649dcc..eaedc19e6a 100644 --- a/modules/sdk-coin-doge/src/tdoge.ts +++ b/modules/abstract-utxo/src/impl/doge/tdoge.ts @@ -3,6 +3,7 @@ */ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; + import { Doge } from './doge'; export class Tdoge extends Doge { diff --git a/modules/abstract-utxo/src/impl/index.ts b/modules/abstract-utxo/src/impl/index.ts new file mode 100644 index 0000000000..37d2099f35 --- /dev/null +++ b/modules/abstract-utxo/src/impl/index.ts @@ -0,0 +1,9 @@ +export * as btc from './btc'; +export * as bch from './bch'; +export * as bcha from './bcha'; +export * as bsv from './bsv'; +export * as btg from './btg'; +export * as ltc from './ltc'; +export * as dash from './dash'; +export * as doge from './doge'; +export * as zec from './zec'; diff --git a/modules/abstract-utxo/src/impl/ltc/index.ts b/modules/abstract-utxo/src/impl/ltc/index.ts new file mode 100644 index 0000000000..986c2ec074 --- /dev/null +++ b/modules/abstract-utxo/src/impl/ltc/index.ts @@ -0,0 +1,2 @@ +export * from './ltc'; +export * from './tltc'; diff --git a/modules/sdk-coin-ltc/src/ltc.ts b/modules/abstract-utxo/src/impl/ltc/ltc.ts similarity index 88% rename from modules/sdk-coin-ltc/src/ltc.ts rename to modules/abstract-utxo/src/impl/ltc/ltc.ts index c5346a4a82..c1cf24952b 100644 --- a/modules/sdk-coin-ltc/src/ltc.ts +++ b/modules/abstract-utxo/src/impl/ltc/ltc.ts @@ -1,7 +1,8 @@ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + export class Ltc extends AbstractUtxoCoin { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.litecoin); diff --git a/modules/sdk-coin-ltc/src/tltc.ts b/modules/abstract-utxo/src/impl/ltc/tltc.ts similarity index 99% rename from modules/sdk-coin-ltc/src/tltc.ts rename to modules/abstract-utxo/src/impl/ltc/tltc.ts index 55fa89a5e3..70c41eb181 100644 --- a/modules/sdk-coin-ltc/src/tltc.ts +++ b/modules/abstract-utxo/src/impl/ltc/tltc.ts @@ -1,5 +1,6 @@ import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; + import { Ltc } from './ltc'; export class Tltc extends Ltc { diff --git a/modules/abstract-utxo/src/impl/zec/index.ts b/modules/abstract-utxo/src/impl/zec/index.ts new file mode 100644 index 0000000000..707e753101 --- /dev/null +++ b/modules/abstract-utxo/src/impl/zec/index.ts @@ -0,0 +1,2 @@ +export * from './zec'; +export * from './tzec'; diff --git a/modules/sdk-coin-zec/src/tzec.ts b/modules/abstract-utxo/src/impl/zec/tzec.ts similarity index 99% rename from modules/sdk-coin-zec/src/tzec.ts rename to modules/abstract-utxo/src/impl/zec/tzec.ts index 0a188b5147..29f5ffe40b 100644 --- a/modules/sdk-coin-zec/src/tzec.ts +++ b/modules/abstract-utxo/src/impl/zec/tzec.ts @@ -1,7 +1,8 @@ import { BaseCoin, BitGoBase } from '@bitgo/sdk-core'; -import { Zec } from './zec'; import * as utxolib from '@bitgo/utxo-lib'; +import { Zec } from './zec'; + export class Tzec extends Zec { constructor(bitgo: BitGoBase) { super(bitgo, utxolib.networks.zcashTest); diff --git a/modules/sdk-coin-zec/src/zec.ts b/modules/abstract-utxo/src/impl/zec/zec.ts similarity index 83% rename from modules/sdk-coin-zec/src/zec.ts rename to modules/abstract-utxo/src/impl/zec/zec.ts index 1d01188e89..ac35e5197f 100644 --- a/modules/sdk-coin-zec/src/zec.ts +++ b/modules/abstract-utxo/src/impl/zec/zec.ts @@ -1,10 +1,11 @@ /** * @prettier */ -import { AbstractUtxoCoin, UtxoNetwork } from '@bitgo/abstract-utxo'; import { BitGoBase, BaseCoin } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; +import { AbstractUtxoCoin, UtxoNetwork } from '../../abstractUtxoCoin'; + export class Zec extends AbstractUtxoCoin { constructor(bitgo: BitGoBase, network?: UtxoNetwork) { super(bitgo, network || utxolib.networks.zcash); diff --git a/modules/abstract-utxo/src/index.ts b/modules/abstract-utxo/src/index.ts index 6757ef131e..004f38d867 100644 --- a/modules/abstract-utxo/src/index.ts +++ b/modules/abstract-utxo/src/index.ts @@ -8,3 +8,15 @@ export { UtxoWallet } from './wallet'; export * as descriptor from './descriptor'; export * as offlineVault from './offlineVault'; export * as transaction from './transaction'; +export * as impl from './impl'; + +// Export all coin implementations +export * from './impl/btc'; +export * from './impl/bch'; +export * from './impl/bcha'; +export * from './impl/bsv'; +export * from './impl/btg'; +export * from './impl/ltc'; +export * from './impl/dash'; +export * from './impl/doge'; +export * from './impl/zec'; diff --git a/modules/sdk-coin-bch/test/integration/bch.ts b/modules/abstract-utxo/test/integration/impl/bch/bch.ts similarity index 91% rename from modules/sdk-coin-bch/test/integration/bch.ts rename to modules/abstract-utxo/test/integration/impl/bch/bch.ts index 1a7bac4e78..17b08b4d76 100644 --- a/modules/sdk-coin-bch/test/integration/bch.ts +++ b/modules/abstract-utxo/test/integration/impl/bch/bch.ts @@ -1,14 +1,11 @@ -/** - * @prettier - */ import * as should from 'should'; import 'should-http'; - import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Tbch } from '../../src/tbch'; import * as nock from 'nock'; +import { Tbch } from '../../../../src/impl/bch'; + nock.restore(); describe('BCH:', function () { @@ -16,6 +13,7 @@ describe('BCH:', function () { let wallet; before(async function () { + this.timeout(10000); bitgo = TestBitGo.decorate(BitGoAPI, { env: 'test' }); bitgo.initializeTestVars(); bitgo.safeRegister('tbch', Tbch.createInstance); @@ -25,7 +23,8 @@ describe('BCH:', function () { }); describe('Send Transaction', function () { - it('should send fund to cashaddr recipient', async function () { + it('should send fund to cashaddr recipient', async function (this: Mocha.Context) { + this.timeout(10000); await bitgo.unlock({ otp: '0000000' }); const transaction = await wallet.send({ diff --git a/modules/abstract-utxo/test/bip322.ts b/modules/abstract-utxo/test/unit/bip322.ts similarity index 97% rename from modules/abstract-utxo/test/bip322.ts rename to modules/abstract-utxo/test/unit/bip322.ts index f705af81ba..f277c12c8d 100644 --- a/modules/abstract-utxo/test/bip322.ts +++ b/modules/abstract-utxo/test/unit/bip322.ts @@ -4,7 +4,7 @@ import { BIP322MessageBroadcastable, deserializeBIP322BroadcastableMessage, serializeBIP322BroadcastableMessage, -} from '../src/transaction/bip322'; +} from '../../src/transaction/bip322'; describe('BIP322', function () { describe('BIP322MessageBroadcastable', () => { diff --git a/modules/abstract-utxo/test/descriptor/NamedDescriptor.ts b/modules/abstract-utxo/test/unit/descriptor/NamedDescriptor.ts similarity index 84% rename from modules/abstract-utxo/test/descriptor/NamedDescriptor.ts rename to modules/abstract-utxo/test/unit/descriptor/NamedDescriptor.ts index 8e7e6fee1f..39100a786d 100644 --- a/modules/abstract-utxo/test/descriptor/NamedDescriptor.ts +++ b/modules/abstract-utxo/test/unit/descriptor/NamedDescriptor.ts @@ -2,8 +2,8 @@ import assert from 'assert'; import { getFixture, getKeyTriple } from '@bitgo/utxo-core/testutil'; -import { assertHasValidSignature, createNamedDescriptorWithSignature } from '../../src/descriptor/NamedDescriptor'; -import { getDescriptorFromBuilder } from '../../src/descriptor/builder'; +import { assertHasValidSignature, createNamedDescriptorWithSignature } from '../../../src/descriptor/NamedDescriptor'; +import { getDescriptorFromBuilder } from '../../../src/descriptor/builder'; describe('NamedDescriptor', function () { it('creates named descriptor with signature', async function () { diff --git a/modules/abstract-utxo/test/descriptor/builder.ts b/modules/abstract-utxo/test/unit/descriptor/builder.ts similarity index 95% rename from modules/abstract-utxo/test/descriptor/builder.ts rename to modules/abstract-utxo/test/unit/descriptor/builder.ts index 9c332bbfb0..4b3bfe230a 100644 --- a/modules/abstract-utxo/test/descriptor/builder.ts +++ b/modules/abstract-utxo/test/unit/descriptor/builder.ts @@ -2,7 +2,7 @@ import * as assert from 'assert'; import { getKeyTriple } from '@bitgo/utxo-core/testutil'; -import { parseDescriptor, DescriptorBuilder, getDescriptorFromBuilder } from '../../src/descriptor/builder'; +import { parseDescriptor, DescriptorBuilder, getDescriptorFromBuilder } from '../../../src/descriptor/builder'; function getDescriptorBuilderForType(name: DescriptorBuilder['name']): DescriptorBuilder { const keys = getKeyTriple().map((k) => k.neutered()); diff --git a/modules/abstract-utxo/test/descriptor/createWallet/createDescriptors.ts b/modules/abstract-utxo/test/unit/descriptor/createWallet/createDescriptors.ts similarity index 78% rename from modules/abstract-utxo/test/descriptor/createWallet/createDescriptors.ts rename to modules/abstract-utxo/test/unit/descriptor/createWallet/createDescriptors.ts index 56297bb735..ce1f507801 100644 --- a/modules/abstract-utxo/test/descriptor/createWallet/createDescriptors.ts +++ b/modules/abstract-utxo/test/unit/descriptor/createWallet/createDescriptors.ts @@ -2,8 +2,8 @@ import assert from 'assert'; import { getFixture, getKeyTriple } from '@bitgo/utxo-core/testutil'; -import { assertHasValidSignature } from '../../../src/descriptor/NamedDescriptor'; -import { DefaultWsh2Of3 } from '../../../src/descriptor/createWallet'; +import { assertHasValidSignature } from '../../../../src/descriptor/NamedDescriptor'; +import { DefaultWsh2Of3 } from '../../../../src/descriptor/createWallet'; describe('createDescriptors', function () { it('should create standard named descriptors', async function () { diff --git a/modules/abstract-utxo/test/descriptor/createWallet/fixtures/DefaultWsh2Of3.json b/modules/abstract-utxo/test/unit/descriptor/createWallet/fixtures/DefaultWsh2Of3.json similarity index 100% rename from modules/abstract-utxo/test/descriptor/createWallet/fixtures/DefaultWsh2Of3.json rename to modules/abstract-utxo/test/unit/descriptor/createWallet/fixtures/DefaultWsh2Of3.json diff --git a/modules/abstract-utxo/test/descriptor/descriptorWallet.ts b/modules/abstract-utxo/test/unit/descriptor/descriptorWallet.ts similarity index 80% rename from modules/abstract-utxo/test/descriptor/descriptorWallet.ts rename to modules/abstract-utxo/test/unit/descriptor/descriptorWallet.ts index 45222903b2..0eb11a96e8 100644 --- a/modules/abstract-utxo/test/descriptor/descriptorWallet.ts +++ b/modules/abstract-utxo/test/unit/descriptor/descriptorWallet.ts @@ -2,10 +2,10 @@ import assert from 'assert'; import { getDefaultXPubs, getDescriptorMap } from '@bitgo/utxo-core/testutil/descriptor'; -import { getDescriptorMapFromWallet, isDescriptorWallet } from '../../src/descriptor'; -import { UtxoWallet } from '../../src/wallet'; -import { toBip32Triple } from '../../src/keychains'; -import { policyAllowAll } from '../../src/descriptor/validatePolicy'; +import { getDescriptorMapFromWallet, isDescriptorWallet } from '../../../src/descriptor'; +import { UtxoWallet } from '../../../src/wallet'; +import { toBip32Triple } from '../../../src/keychains'; +import { policyAllowAll } from '../../../src/descriptor/validatePolicy'; describe('isDescriptorWalletData', function () { const descriptorMap = getDescriptorMap('Wsh2Of3'); diff --git a/modules/abstract-utxo/test/descriptor/fixtures/NamedDescriptorWithSignature.json b/modules/abstract-utxo/test/unit/descriptor/fixtures/NamedDescriptorWithSignature.json similarity index 100% rename from modules/abstract-utxo/test/descriptor/fixtures/NamedDescriptorWithSignature.json rename to modules/abstract-utxo/test/unit/descriptor/fixtures/NamedDescriptorWithSignature.json diff --git a/modules/sdk-coin-bch/test/unit/bch.ts b/modules/abstract-utxo/test/unit/impl/bch/unit/bch.ts similarity index 98% rename from modules/sdk-coin-bch/test/unit/bch.ts rename to modules/abstract-utxo/test/unit/impl/bch/unit/bch.ts index af9a9991d0..08e2be2f4d 100644 --- a/modules/sdk-coin-bch/test/unit/bch.ts +++ b/modules/abstract-utxo/test/unit/impl/bch/unit/bch.ts @@ -3,8 +3,8 @@ */ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Bch } from '../../src/bch'; -import { Tbch } from '../../src/tbch'; + +import { Bch, Tbch } from '../../../../../src/impl/bch'; describe('Custom BCH Tests', function () { const bitgo: TestBitGoAPI = TestBitGo.decorate(BitGoAPI, { env: 'test' }); diff --git a/modules/sdk-coin-bcha/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/bcha/unit/index.ts similarity index 96% rename from modules/sdk-coin-bcha/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/bcha/unit/index.ts index d614861851..288403626d 100644 --- a/modules/sdk-coin-bcha/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/bcha/unit/index.ts @@ -1,6 +1,7 @@ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Bcha, Tbcha } from '../../src'; + +import { Bcha, Tbcha } from '../../../../../src/impl/bcha'; describe('Bcha', function () { const coinName = 'tbcha'; diff --git a/modules/sdk-coin-bsv/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/bsv/unit/index.ts similarity index 94% rename from modules/sdk-coin-bsv/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/bsv/unit/index.ts index eb4db365df..51dcbff74f 100644 --- a/modules/sdk-coin-bsv/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/bsv/unit/index.ts @@ -1,6 +1,7 @@ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Bsv, Tbsv } from '../../src'; + +import { Bsv, Tbsv } from '../../../../../src/impl/bsv'; describe('Bsv', function () { const coinName = 'tbsv'; diff --git a/modules/sdk-coin-btc/test/unit/btc.ts b/modules/abstract-utxo/test/unit/impl/btc/unit/btc.ts similarity index 99% rename from modules/sdk-coin-btc/test/unit/btc.ts rename to modules/abstract-utxo/test/unit/impl/btc/unit/btc.ts index ae9a35e949..395476735a 100644 --- a/modules/sdk-coin-btc/test/unit/btc.ts +++ b/modules/abstract-utxo/test/unit/impl/btc/unit/btc.ts @@ -1,15 +1,15 @@ import 'should'; import assert from 'assert'; -import { btcBackupKey } from './fixtures'; import { type TestBitGoAPI, TestBitGo } from '@bitgo/sdk-test'; - -import { Tbtc } from '../../src'; import { BitGoAPI, encrypt } from '@bitgo/sdk-api'; import * as utxolib from '@bitgo/utxo-lib'; - import { Wallet } from '@bitgo/sdk-core'; +import { Tbtc } from '../../../../../src/impl/btc'; + +import { btcBackupKey } from './fixtures'; + describe('BTC:', () => { let bitgo: TestBitGoAPI; diff --git a/modules/sdk-coin-btc/test/unit/fixtures/btcBackupKey.ts b/modules/abstract-utxo/test/unit/impl/btc/unit/fixtures/btcBackupKey.ts similarity index 100% rename from modules/sdk-coin-btc/test/unit/fixtures/btcBackupKey.ts rename to modules/abstract-utxo/test/unit/impl/btc/unit/fixtures/btcBackupKey.ts diff --git a/modules/sdk-coin-btc/test/unit/fixtures/index.ts b/modules/abstract-utxo/test/unit/impl/btc/unit/fixtures/index.ts similarity index 100% rename from modules/sdk-coin-btc/test/unit/fixtures/index.ts rename to modules/abstract-utxo/test/unit/impl/btc/unit/fixtures/index.ts diff --git a/modules/sdk-coin-btg/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/btg/unit/index.ts similarity index 93% rename from modules/sdk-coin-btg/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/btg/unit/index.ts index 92507862f6..2bc3f2a960 100644 --- a/modules/sdk-coin-btg/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/btg/unit/index.ts @@ -1,6 +1,7 @@ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Btg } from '../../src'; + +import { Btg } from '../../../../../src/impl/btg'; describe('Btg', function () { const coinName = 'btg'; diff --git a/modules/sdk-coin-dash/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/dash/unit/index.ts similarity index 93% rename from modules/sdk-coin-dash/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/dash/unit/index.ts index 75d73e749f..b4b796a6da 100644 --- a/modules/sdk-coin-dash/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/dash/unit/index.ts @@ -1,6 +1,7 @@ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Dash, Tdash } from '../../src'; + +import { Dash, Tdash } from '../../../../../src/impl/dash'; describe('Dash', function () { const coinName = 'tdash'; diff --git a/modules/sdk-coin-doge/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/doge/unit/index.ts similarity index 93% rename from modules/sdk-coin-doge/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/doge/unit/index.ts index 2fb623d689..9effb31938 100644 --- a/modules/sdk-coin-doge/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/doge/unit/index.ts @@ -1,6 +1,7 @@ import { BitGoAPI } from '@bitgo/sdk-api'; import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test'; -import { Doge, Tdoge } from '../../src'; + +import { Doge, Tdoge } from '../../../../../src/impl/doge'; describe('Doge', function () { const coinName = 'tdoge'; diff --git a/modules/sdk-coin-ltc/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/ltc/unit/index.ts similarity index 97% rename from modules/sdk-coin-ltc/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/ltc/unit/index.ts index 6b0c74477a..43d0cc1266 100644 --- a/modules/sdk-coin-ltc/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/ltc/unit/index.ts @@ -1,10 +1,10 @@ import 'should'; import { TestBitGoAPI, TestBitGo } from '@bitgo/sdk-test'; - -import { Ltc, Tltc } from '../../src'; import { BitGoAPI } from '@bitgo/sdk-api'; +import { Ltc, Tltc } from '../../../../../src/impl/ltc'; + describe('Litecoin:', function () { const bitgo: TestBitGoAPI = TestBitGo.decorate(BitGoAPI, { env: 'test' }); bitgo.initializeTestVars(); diff --git a/modules/sdk-coin-zec/test/unit/index.ts b/modules/abstract-utxo/test/unit/impl/zec/unit/index.ts similarity index 93% rename from modules/sdk-coin-zec/test/unit/index.ts rename to modules/abstract-utxo/test/unit/impl/zec/unit/index.ts index bbb07e7a0a..d7247fdb76 100644 --- a/modules/sdk-coin-zec/test/unit/index.ts +++ b/modules/abstract-utxo/test/unit/impl/zec/unit/index.ts @@ -1,6 +1,7 @@ import 'should'; import { BitGoAPI } from '@bitgo/sdk-api'; -import { Zec, Tzec } from '../../src'; + +import { Zec, Tzec } from '../../../../../src/impl/zec'; describe('Zec', function () { const coinName = 'tzec'; diff --git a/modules/abstract-utxo/test/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.explanation.json b/modules/abstract-utxo/test/unit/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.explanation.json similarity index 100% rename from modules/abstract-utxo/test/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.explanation.json rename to modules/abstract-utxo/test/unit/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.explanation.json diff --git a/modules/abstract-utxo/test/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.json b/modules/abstract-utxo/test/unit/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.json similarity index 100% rename from modules/abstract-utxo/test/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.json rename to modules/abstract-utxo/test/unit/offlineVault/fixtures/Wsh2Of3.buildAdmin.custodial.json diff --git a/modules/abstract-utxo/test/offlineVault/halfSigned.ts b/modules/abstract-utxo/test/unit/offlineVault/halfSigned.ts similarity index 97% rename from modules/abstract-utxo/test/offlineVault/halfSigned.ts rename to modules/abstract-utxo/test/unit/offlineVault/halfSigned.ts index 0eac732c73..ee81ec6877 100644 --- a/modules/abstract-utxo/test/offlineVault/halfSigned.ts +++ b/modules/abstract-utxo/test/unit/offlineVault/halfSigned.ts @@ -6,8 +6,8 @@ import * as t from 'io-ts'; import { decodeOrElse } from '@bitgo/sdk-core'; import * as utxolib from '@bitgo/utxo-lib'; -import { createHalfSigned, getTransactionExplanation } from '../../src/offlineVault'; -import { DescriptorTransaction } from '../../src/offlineVault/descriptor'; +import { createHalfSigned, getTransactionExplanation } from '../../../src/offlineVault'; +import { DescriptorTransaction } from '../../../src/offlineVault/descriptor'; import { getFixtureRoot } from '../transaction/descriptor/fixtures.utils'; const { assertEqualFixture } = getFixtureRoot(__dirname + '/fixtures'); diff --git a/modules/abstract-utxo/test/transaction/descriptor/explainPsbt.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/explainPsbt.ts similarity index 89% rename from modules/abstract-utxo/test/transaction/descriptor/explainPsbt.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/explainPsbt.ts index 2947889b79..0175db23cb 100644 --- a/modules/abstract-utxo/test/transaction/descriptor/explainPsbt.ts +++ b/modules/abstract-utxo/test/unit/transaction/descriptor/explainPsbt.ts @@ -3,8 +3,8 @@ import assert from 'assert'; import { getKeyTriple } from '@bitgo/utxo-core/testutil'; import { getDescriptorMap, mockPsbtDefaultWithDescriptorTemplate } from '@bitgo/utxo-core/testutil/descriptor'; -import { TransactionExplanation } from '../../../src'; -import { explainPsbt } from '../../../src/transaction/descriptor'; +import { TransactionExplanation } from '../../../../src'; +import { explainPsbt } from '../../../../src/transaction/descriptor'; import { getFixtureRoot } from './fixtures.utils'; diff --git a/modules/abstract-utxo/test/transaction/descriptor/fixtures.utils.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/fixtures.utils.ts similarity index 100% rename from modules/abstract-utxo/test/transaction/descriptor/fixtures.utils.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/fixtures.utils.ts diff --git a/modules/abstract-utxo/test/transaction/descriptor/fixtures/explainPsbt.a.json b/modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/explainPsbt.a.json similarity index 100% rename from modules/abstract-utxo/test/transaction/descriptor/fixtures/explainPsbt.a.json rename to modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/explainPsbt.a.json diff --git a/modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithExternalRecipient.json b/modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithExternalRecipient.json similarity index 100% rename from modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithExternalRecipient.json rename to modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithExternalRecipient.json diff --git a/modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithInternalRecipient.json b/modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithInternalRecipient.json similarity index 100% rename from modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithInternalRecipient.json rename to modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithInternalRecipient.json diff --git a/modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithoutRecipients.json b/modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithoutRecipients.json similarity index 100% rename from modules/abstract-utxo/test/transaction/descriptor/fixtures/parseWithoutRecipients.json rename to modules/abstract-utxo/test/unit/transaction/descriptor/fixtures/parseWithoutRecipients.json diff --git a/modules/abstract-utxo/test/transaction/descriptor/outputDifference.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/outputDifference.ts similarity index 98% rename from modules/abstract-utxo/test/transaction/descriptor/outputDifference.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/outputDifference.ts index a57bce6eea..6eb9ed87ae 100644 --- a/modules/abstract-utxo/test/transaction/descriptor/outputDifference.ts +++ b/modules/abstract-utxo/test/unit/transaction/descriptor/outputDifference.ts @@ -6,7 +6,7 @@ import { matchingOutput, outputDifference, outputDifferencesWithExpected, -} from '../../../src/transaction/outputDifference'; +} from '../../../../src/transaction/outputDifference'; describe('outputDifference', function () { function output(script: string, value: bigint | number): ActualOutput; diff --git a/modules/abstract-utxo/test/transaction/descriptor/parse.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/parse.ts similarity index 94% rename from modules/abstract-utxo/test/transaction/descriptor/parse.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/parse.ts index be7cc565ea..f4120329b8 100644 --- a/modules/abstract-utxo/test/transaction/descriptor/parse.ts +++ b/modules/abstract-utxo/test/unit/transaction/descriptor/parse.ts @@ -11,15 +11,18 @@ import { import { toPlainObject } from '@bitgo/utxo-core/testutil'; import { createAddressFromDescriptor } from '@bitgo/utxo-core/descriptor'; -import { ParsedOutputsBigInt, toBaseParsedTransactionOutputsFromPsbt } from '../../../src/transaction/descriptor/parse'; +import { + ParsedOutputsBigInt, + toBaseParsedTransactionOutputsFromPsbt, +} from '../../../../src/transaction/descriptor/parse'; import { AggregateValidationError, assertExpectedOutputDifference, ErrorImplicitExternalOutputs, ErrorMissingOutputs, -} from '../../../src/transaction/descriptor/verifyTransaction'; -import { toAmountType } from '../../../src/transaction/descriptor/parseToAmountType'; -import { BaseOutput } from '../../../src'; +} from '../../../../src/transaction/descriptor/verifyTransaction'; +import { toAmountType } from '../../../../src/transaction/descriptor/parseToAmountType'; +import { BaseOutput } from '../../../../src'; import { getFixtureRoot } from './fixtures.utils'; diff --git a/modules/abstract-utxo/test/transaction/descriptor/sign.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/sign.ts similarity index 88% rename from modules/abstract-utxo/test/transaction/descriptor/sign.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/sign.ts index 7c12456c43..93ca504cf2 100644 --- a/modules/abstract-utxo/test/transaction/descriptor/sign.ts +++ b/modules/abstract-utxo/test/unit/transaction/descriptor/sign.ts @@ -3,8 +3,8 @@ import assert from 'assert'; import { getKeyTriple } from '@bitgo/utxo-core/testutil'; import { getDescriptorMap, mockPsbtDefaultWithDescriptorTemplate } from '@bitgo/utxo-core/testutil/descriptor'; -import { signPsbt } from '../../../src/transaction/descriptor'; -import { ErrorUnknownInput } from '../../../src/transaction/descriptor/signPsbt'; +import { signPsbt } from '../../../../src/transaction/descriptor'; +import { ErrorUnknownInput } from '../../../../src/transaction/descriptor/signPsbt'; describe('sign', function () { const psbtUnsigned = mockPsbtDefaultWithDescriptorTemplate('Wsh2Of3'); diff --git a/modules/abstract-utxo/test/transaction/descriptor/validatePolicy.ts b/modules/abstract-utxo/test/unit/transaction/descriptor/validatePolicy.ts similarity index 90% rename from modules/abstract-utxo/test/transaction/descriptor/validatePolicy.ts rename to modules/abstract-utxo/test/unit/transaction/descriptor/validatePolicy.ts index 103f436795..07abbb57b4 100644 --- a/modules/abstract-utxo/test/transaction/descriptor/validatePolicy.ts +++ b/modules/abstract-utxo/test/unit/transaction/descriptor/validatePolicy.ts @@ -4,15 +4,19 @@ import { Triple } from '@bitgo/sdk-core'; import { BIP32Interface } from '@bitgo/utxo-lib'; import { getKeyTriple } from '@bitgo/utxo-core/testutil'; -import { DescriptorTemplate, getDescriptor } from '../../../../utxo-core/src/testutil/descriptor'; +import { DescriptorTemplate, getDescriptor } from '../../../../../utxo-core/src/testutil/descriptor'; import { assertDescriptorPolicy, DescriptorPolicyValidationError, DescriptorValidationPolicy, getPolicyForEnv, getValidatorDescriptorTemplate, -} from '../../../src/descriptor/validatePolicy'; -import { NamedDescriptor, createNamedDescriptorWithSignature, toNamedDescriptorNative } from '../../../src/descriptor'; +} from '../../../../src/descriptor/validatePolicy'; +import { + NamedDescriptor, + createNamedDescriptorWithSignature, + toNamedDescriptorNative, +} from '../../../../src/descriptor'; function testAssertDescriptorPolicy( ds: NamedDescriptor[], diff --git a/modules/sdk-coin-bch/package.json b/modules/sdk-coin-bch/package.json index c4e66cfe74..5439b97561 100644 --- a/modules/sdk-coin-bch/package.json +++ b/modules/sdk-coin-bch/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,12 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-bch/src/index.ts b/modules/sdk-coin-bch/src/index.ts index 7664ae2042..654f9bfc0e 100644 --- a/modules/sdk-coin-bch/src/index.ts +++ b/modules/sdk-coin-bch/src/index.ts @@ -1,3 +1,10 @@ -export * from './bch'; -export * from './tbch'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Bch, Tbch } from '@bitgo/abstract-utxo'; + +export { Bch } from '@bitgo/abstract-utxo'; +export { Tbch } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('bch', Bch.createInstance); + sdk.register('tbch', Tbch.createInstance); +}; diff --git a/modules/sdk-coin-bch/src/register.ts b/modules/sdk-coin-bch/src/register.ts deleted file mode 100644 index 775b5a81b0..0000000000 --- a/modules/sdk-coin-bch/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Bch } from './bch'; -import { Tbch } from './tbch'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('bch', Bch.createInstance); - sdk.register('tbch', Tbch.createInstance); -}; diff --git a/modules/sdk-coin-bcha/package.json b/modules/sdk-coin-bcha/package.json index 8e9aef32fd..c592ce7d59 100644 --- a/modules/sdk-coin-bcha/package.json +++ b/modules/sdk-coin-bcha/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,13 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-coin-bch": "^2.4.7", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-bcha/src/index.ts b/modules/sdk-coin-bcha/src/index.ts index 5b4ec00f79..f22a1cd84a 100644 --- a/modules/sdk-coin-bcha/src/index.ts +++ b/modules/sdk-coin-bcha/src/index.ts @@ -1,3 +1,10 @@ -export * from './bcha'; -export * from './tbcha'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Bcha, Tbcha } from '@bitgo/abstract-utxo'; + +export { Bcha } from '@bitgo/abstract-utxo'; +export { Tbcha } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('bcha', Bcha.createInstance); + sdk.register('tbcha', Tbcha.createInstance); +}; diff --git a/modules/sdk-coin-bcha/src/register.ts b/modules/sdk-coin-bcha/src/register.ts deleted file mode 100644 index 03035ca1ee..0000000000 --- a/modules/sdk-coin-bcha/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Bcha } from './bcha'; -import { Tbcha } from './tbcha'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('bcha', Bcha.createInstance); - sdk.register('tbcha', Tbcha.createInstance); -}; diff --git a/modules/sdk-coin-bsv/package.json b/modules/sdk-coin-bsv/package.json index 3e04d1f5d1..1086f057ef 100644 --- a/modules/sdk-coin-bsv/package.json +++ b/modules/sdk-coin-bsv/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,13 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-coin-bch": "^2.4.7", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-bsv/src/index.ts b/modules/sdk-coin-bsv/src/index.ts index e69010e3b8..8bbf8c55d5 100644 --- a/modules/sdk-coin-bsv/src/index.ts +++ b/modules/sdk-coin-bsv/src/index.ts @@ -1,3 +1,10 @@ -export * from './bsv'; -export * from './tbsv'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Bsv, Tbsv } from '@bitgo/abstract-utxo'; + +export { Bsv } from '@bitgo/abstract-utxo'; +export { Tbsv } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('bsv', Bsv.createInstance); + sdk.register('tbsv', Tbsv.createInstance); +}; diff --git a/modules/sdk-coin-bsv/src/register.ts b/modules/sdk-coin-bsv/src/register.ts deleted file mode 100644 index b15e9405e0..0000000000 --- a/modules/sdk-coin-bsv/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Bsv } from './bsv'; -import { Tbsv } from './tbsv'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('bsv', Bsv.createInstance); - sdk.register('tbsv', Tbsv.createInstance); -}; diff --git a/modules/sdk-coin-btc/package.json b/modules/sdk-coin-btc/package.json index e9e9347f0e..db3a2a20f0 100644 --- a/modules/sdk-coin-btc/package.json +++ b/modules/sdk-coin-btc/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,13 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0", - "@bitgo/utxo-ord": "^1.22.7" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-btc/src/index.ts b/modules/sdk-coin-btc/src/index.ts index 557f215b45..6d34bda541 100644 --- a/modules/sdk-coin-btc/src/index.ts +++ b/modules/sdk-coin-btc/src/index.ts @@ -1,6 +1,16 @@ -export * from './btc'; -export * from './tbtc'; -export * from './tbtcsig'; -export * from './tbtc4'; -export * from './tbtcbgsig'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Btc, Tbtc, Tbtc4, Tbtcsig, Tbtcbgsig } from '@bitgo/abstract-utxo'; + +export { Btc, VerifyRecoveryTransactionOptions, InscriptionBuilder } from '@bitgo/abstract-utxo'; +export { Tbtc } from '@bitgo/abstract-utxo'; +export { Tbtcsig } from '@bitgo/abstract-utxo'; +export { Tbtc4 } from '@bitgo/abstract-utxo'; +export { Tbtcbgsig } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('btc', Btc.createInstance); + sdk.register('tbtc', Tbtc.createInstance); + sdk.register('tbtcsig', Tbtcsig.createInstance); + sdk.register('tbtcbgsig', Tbtcbgsig.createInstance); + sdk.register('tbtc4', Tbtc4.createInstance); +}; diff --git a/modules/sdk-coin-btc/src/register.ts b/modules/sdk-coin-btc/src/register.ts deleted file mode 100644 index df08dd2446..0000000000 --- a/modules/sdk-coin-btc/src/register.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Btc } from './btc'; -import { Tbtc } from './tbtc'; -import { Tbtc4 } from './tbtc4'; -import { Tbtcsig } from './tbtcsig'; -import { Tbtcbgsig } from './tbtcbgsig'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('btc', Btc.createInstance); - sdk.register('tbtc', Tbtc.createInstance); - sdk.register('tbtcsig', Tbtcsig.createInstance); - sdk.register('tbtcbgsig', Tbtcbgsig.createInstance); - sdk.register('tbtc4', Tbtc4.createInstance); -}; diff --git a/modules/sdk-coin-btg/package.json b/modules/sdk-coin-btg/package.json index 6f25675d4a..ea9ce6a4ea 100644 --- a/modules/sdk-coin-btg/package.json +++ b/modules/sdk-coin-btg/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,12 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-btg/src/index.ts b/modules/sdk-coin-btg/src/index.ts index b80d015c68..78233dc517 100644 --- a/modules/sdk-coin-btg/src/index.ts +++ b/modules/sdk-coin-btg/src/index.ts @@ -1,2 +1,8 @@ -export * from './btg'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Btg } from '@bitgo/abstract-utxo'; + +export { Btg } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('btg', Btg.createInstance); +}; diff --git a/modules/sdk-coin-btg/src/register.ts b/modules/sdk-coin-btg/src/register.ts deleted file mode 100644 index 4189fbc16d..0000000000 --- a/modules/sdk-coin-btg/src/register.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Btg } from './btg'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('btg', Btg.createInstance); -}; diff --git a/modules/sdk-coin-dash/package.json b/modules/sdk-coin-dash/package.json index 9ba281f749..8026ae6219 100644 --- a/modules/sdk-coin-dash/package.json +++ b/modules/sdk-coin-dash/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,12 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-dash/src/index.ts b/modules/sdk-coin-dash/src/index.ts index 6bca81b636..9dcbe3d727 100644 --- a/modules/sdk-coin-dash/src/index.ts +++ b/modules/sdk-coin-dash/src/index.ts @@ -1,3 +1,10 @@ -export * from './dash'; -export * from './tdash'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Dash, Tdash } from '@bitgo/abstract-utxo'; + +export { Dash } from '@bitgo/abstract-utxo'; +export { Tdash } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('dash', Dash.createInstance); + sdk.register('tdash', Tdash.createInstance); +}; diff --git a/modules/sdk-coin-dash/src/register.ts b/modules/sdk-coin-dash/src/register.ts deleted file mode 100644 index 753918afc2..0000000000 --- a/modules/sdk-coin-dash/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Dash } from './dash'; -import { Tdash } from './tdash'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('dash', Dash.createInstance); - sdk.register('tdash', Tdash.createInstance); -}; diff --git a/modules/sdk-coin-doge/package.json b/modules/sdk-coin-doge/package.json index 4966fdd8b0..2061b69b06 100644 --- a/modules/sdk-coin-doge/package.json +++ b/modules/sdk-coin-doge/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,12 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-doge/src/index.ts b/modules/sdk-coin-doge/src/index.ts index e8ef1cb914..9e9d321f42 100644 --- a/modules/sdk-coin-doge/src/index.ts +++ b/modules/sdk-coin-doge/src/index.ts @@ -1,3 +1,10 @@ -export * from './doge'; -export * from './tdoge'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Doge, Tdoge } from '@bitgo/abstract-utxo'; + +export { Doge } from '@bitgo/abstract-utxo'; +export { Tdoge } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('doge', Doge.createInstance); + sdk.register('tdoge', Tdoge.createInstance); +}; diff --git a/modules/sdk-coin-doge/src/register.ts b/modules/sdk-coin-doge/src/register.ts deleted file mode 100644 index f88715a034..0000000000 --- a/modules/sdk-coin-doge/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Doge } from './doge'; -import { Tdoge } from './tdoge'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('doge', Doge.createInstance); - sdk.register('tdoge', Tdoge.createInstance); -}; diff --git a/modules/sdk-coin-ltc/package.json b/modules/sdk-coin-ltc/package.json index 9b39c01eae..b213fa377c 100644 --- a/modules/sdk-coin-ltc/package.json +++ b/modules/sdk-coin-ltc/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,12 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4", - "@bitgo/sdk-test": "^9.1.7" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-ltc/src/index.ts b/modules/sdk-coin-ltc/src/index.ts index 862b9f1214..edc7a5b995 100644 --- a/modules/sdk-coin-ltc/src/index.ts +++ b/modules/sdk-coin-ltc/src/index.ts @@ -1,3 +1,10 @@ -export * from './ltc'; -export * from './tltc'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Ltc, Tltc } from '@bitgo/abstract-utxo'; + +export { Ltc } from '@bitgo/abstract-utxo'; +export { Tltc } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('ltc', Ltc.createInstance); + sdk.register('tltc', Tltc.createInstance); +}; diff --git a/modules/sdk-coin-ltc/src/register.ts b/modules/sdk-coin-ltc/src/register.ts deleted file mode 100644 index c2c02acc77..0000000000 --- a/modules/sdk-coin-ltc/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Ltc } from './ltc'; -import { Tltc } from './tltc'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('ltc', Ltc.createInstance); - sdk.register('tltc', Tltc.createInstance); -}; diff --git a/modules/sdk-coin-zec/package.json b/modules/sdk-coin-zec/package.json index 07733d0daa..6b94223e45 100644 --- a/modules/sdk-coin-zec/package.json +++ b/modules/sdk-coin-zec/package.json @@ -11,9 +11,7 @@ "clean": "rm -r ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", - "test": "npm run coverage", - "coverage": "nyc -- npm run unit-test", - "unit-test": "mocha" + "unit-test": "echo 'test in abstract-utxo'" }, "author": "BitGo SDK Team ", "license": "MIT", @@ -41,11 +39,7 @@ }, "dependencies": { "@bitgo/abstract-utxo": "^10.0.1", - "@bitgo/sdk-core": "^36.15.0", - "@bitgo/utxo-lib": "^11.13.0" - }, - "devDependencies": { - "@bitgo/sdk-api": "^1.70.4" + "@bitgo/sdk-core": "^36.15.0" }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ diff --git a/modules/sdk-coin-zec/src/index.ts b/modules/sdk-coin-zec/src/index.ts index fcb6599566..cad9236f1e 100644 --- a/modules/sdk-coin-zec/src/index.ts +++ b/modules/sdk-coin-zec/src/index.ts @@ -1,3 +1,10 @@ -export * from './zec'; -export * from './tzec'; -export * from './register'; +import { BitGoBase } from '@bitgo/sdk-core'; +import { Zec, Tzec } from '@bitgo/abstract-utxo'; + +export { Zec } from '@bitgo/abstract-utxo'; +export { Tzec } from '@bitgo/abstract-utxo'; + +export const register = (sdk: BitGoBase): void => { + sdk.register('zec', Zec.createInstance); + sdk.register('tzec', Tzec.createInstance); +}; diff --git a/modules/sdk-coin-zec/src/register.ts b/modules/sdk-coin-zec/src/register.ts deleted file mode 100644 index 9f8f972353..0000000000 --- a/modules/sdk-coin-zec/src/register.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { BitGoBase } from '@bitgo/sdk-core'; -import { Tzec } from './tzec'; -import { Zec } from './zec'; - -export const register = (sdk: BitGoBase): void => { - sdk.register('zec', Zec.createInstance); - sdk.register('tzec', Tzec.createInstance); -}; diff --git a/yarn.lock b/yarn.lock index 8cf443687f..294cb45d9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15117,6 +15117,32 @@ mocha@10.6.0: yargs-parser "^20.2.9" yargs-unparser "^2.0.0" +mocha@^10.2.0: + version "10.8.2" + resolved "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + mock-property@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz"