diff --git a/.gitignore b/.gitignore index f33712a034..2f2c9a6edd 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,6 @@ coverage # vscode .vscode + +# typescript +tsconfig.build.tsbuildinfo diff --git a/jest.config.js b/jest.config.js index bac1eacb35..6e891d4b4f 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,6 +1,23 @@ module.exports = { - projects: [ - '/packages/*' - ], - testTimeout: 240000 + preset: 'ts-jest', + testRegex: '((\\.|/)(e2e|test|spec))\\.[jt]sx?$', + moduleNameMapper: { + '@defichain/jellyfish-address': '/packages/jellyfish-address/src', + '@defichain/jellyfish-api-core': '/packages/jellyfish-api-core/src', + '@defichain/jellyfish-api-jsonrpc': '/packages/jellyfish-api-jsonrpc/src', + '@defichain/jellyfish-crypto': '/packages/jellyfish-crypto/src', + '@defichain/jellyfish-json': '/packages/jellyfish-json/src', + '@defichain/jellyfish-network': '/packages/jellyfish-network/src', + '@defichain/jellyfish-transaction': '/packages/jellyfish-transaction/src', + '@defichain/jellyfish-transaction-builder': '/packages/jellyfish-transaction-builder/src', + '@defichain/jellyfish-wallet': '/packages/jellyfish-wallet/src', + '@defichain/jellyfish-wallet-mnemonic': '/packages/jellyfish-wallet-mnemonic/src', + '@defichain/testcontainers': '/packages/testcontainers/src', + '@defichain/testing': '/packages/testing/src' + }, + testTimeout: 240000, + coveragePathIgnorePatterns: [ + '/node_modules/', + '.*/__tests__/.*' + ] } diff --git a/package.json b/package.json index 1fedc13c9a..53844d8fd6 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "node": ">=14.x" }, "scripts": { + "clean": "rm -rf ./packages/**/dist && rm -rf ./packages/**/tsconfig.build.tsbuildinfo", "prepare": "husky install", "build": "lerna run build", "version": "lerna version $1 --yes --no-push --no-git-tag-version", @@ -29,7 +30,7 @@ "standard": "ts-standard --fix", "test": "jest --maxWorkers=100%", "test:ci": "jest --ci --coverage --forceExit --maxWorkers=4", - "all": "npm run build && npm run standard && npm run test" + "all": "npm run clean && npm run build && npm run standard && npm run test" }, "devDependencies": { "@size-limit/preset-app": "^4.10.1", diff --git a/packages/jellyfish-address/package.json b/packages/jellyfish-address/package.json index b272575e7a..be31c0dabf 100644 --- a/packages/jellyfish-address/package.json +++ b/packages/jellyfish-address/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "@defichain/jellyfish-crypto": "0.0.0", diff --git a/packages/jellyfish-address/tsconfig.build.json b/packages/jellyfish-address/tsconfig.build.json new file mode 100644 index 0000000000..ca34350227 --- /dev/null +++ b/packages/jellyfish-address/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-crypto/tsconfig.build.json"}, + {"path": "../jellyfish-network/tsconfig.build.json"}, + {"path": "../jellyfish-transaction/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-api-core/package.json b/packages/jellyfish-api-core/package.json index af85e5ef3c..4cc9205e64 100644 --- a/packages/jellyfish-api-core/package.json +++ b/packages/jellyfish-api-core/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "@defichain/jellyfish-json": "0.0.0" diff --git a/packages/jellyfish-api-core/tsconfig.build.json b/packages/jellyfish-api-core/tsconfig.build.json new file mode 100644 index 0000000000..f054dadf84 --- /dev/null +++ b/packages/jellyfish-api-core/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-json/tsconfig.build.json"}, + {"path": "../testcontainers/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-api-jsonrpc/package.json b/packages/jellyfish-api-jsonrpc/package.json index cb3f76344b..b5d5d8110c 100644 --- a/packages/jellyfish-api-jsonrpc/package.json +++ b/packages/jellyfish-api-jsonrpc/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "@defichain/jellyfish-api-core": "0.0.0", diff --git a/packages/jellyfish-api-jsonrpc/tsconfig.build.json b/packages/jellyfish-api-jsonrpc/tsconfig.build.json new file mode 100644 index 0000000000..b08b81c4d2 --- /dev/null +++ b/packages/jellyfish-api-jsonrpc/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-api-core/tsconfig.build.json"}, + {"path": "../testcontainers/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-crypto/package.json b/packages/jellyfish-crypto/package.json index 8014e732d0..8f9fc04e76 100644 --- a/packages/jellyfish-crypto/package.json +++ b/packages/jellyfish-crypto/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "bech32": "^2.0.0", diff --git a/packages/jellyfish-address/tsconfig.json b/packages/jellyfish-crypto/tsconfig.build.json similarity index 73% rename from packages/jellyfish-address/tsconfig.json rename to packages/jellyfish-crypto/tsconfig.build.json index 9670bde91d..e04e74398d 100644 --- a/packages/jellyfish-address/tsconfig.json +++ b/packages/jellyfish-crypto/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.build.json", "include": [ "./src/**/*" ], diff --git a/packages/jellyfish-crypto/tsconfig.json b/packages/jellyfish-crypto/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-crypto/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-json/package.json b/packages/jellyfish-json/package.json index af75256c85..ef58009684 100644 --- a/packages/jellyfish-json/package.json +++ b/packages/jellyfish-json/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "peerDependencies": { "bignumber.js": "^9.0.1" diff --git a/packages/jellyfish-api-core/tsconfig.json b/packages/jellyfish-json/tsconfig.build.json similarity index 73% rename from packages/jellyfish-api-core/tsconfig.json rename to packages/jellyfish-json/tsconfig.build.json index 9670bde91d..e04e74398d 100644 --- a/packages/jellyfish-api-core/tsconfig.json +++ b/packages/jellyfish-json/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.build.json", "include": [ "./src/**/*" ], diff --git a/packages/jellyfish-json/tsconfig.json b/packages/jellyfish-json/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-json/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-network/package.json b/packages/jellyfish-network/package.json index 81499e1b61..e6fdae0729 100644 --- a/packages/jellyfish-network/package.json +++ b/packages/jellyfish-network/package.json @@ -32,6 +32,6 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" } } diff --git a/packages/jellyfish-api-jsonrpc/tsconfig.json b/packages/jellyfish-network/tsconfig.build.json similarity index 73% rename from packages/jellyfish-api-jsonrpc/tsconfig.json rename to packages/jellyfish-network/tsconfig.build.json index 9670bde91d..e04e74398d 100644 --- a/packages/jellyfish-api-jsonrpc/tsconfig.json +++ b/packages/jellyfish-network/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.build.json", "include": [ "./src/**/*" ], diff --git a/packages/jellyfish-network/tsconfig.json b/packages/jellyfish-network/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-network/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_account.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_account.test.ts index 99d00a72af..7e62be85ae 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_account.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_account.test.ts @@ -1,7 +1,6 @@ import BigNumber from 'bignumber.js' import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc' -import { OP_CODES } from '@defichain/jellyfish-transaction' -import { AccountToAccount } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_account' +import { OP_CODES, AccountToAccount } from '@defichain/jellyfish-transaction' import { P2WPKH } from '@defichain/jellyfish-address' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { createToken, mintTokens, sendTokensToAddress, utxosToAccount } from '@defichain/testing' diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_utxos.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_utxos.test.ts index 316ebd9217..f556facd90 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_utxos.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_account_to_utxos.test.ts @@ -1,7 +1,6 @@ import BigNumber from 'bignumber.js' import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc' -import { OP_CODES } from '@defichain/jellyfish-transaction' -import { AccountToUtxos } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_account' +import { OP_CODES, AccountToUtxos } from '@defichain/jellyfish-transaction' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { utxosToAccount } from '@defichain/testing' import { getProviders, MockProviders } from '../provider.mock' diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_utxos_to_account.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_utxos_to_account.test.ts index 8723a5ca82..496a8c8a99 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_utxos_to_account.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_account_utxos_to_account.test.ts @@ -1,7 +1,6 @@ import BigNumber from 'bignumber.js' import { Bech32, HASH160 } from '@defichain/jellyfish-crypto' -import { OP_CODES } from '@defichain/jellyfish-transaction' -import { UtxosToAccount } from '@defichain/jellyfish-transaction/src/script/defi/dftx_account' +import { OP_CODES, UtxosToAccount } from '@defichain/jellyfish-transaction' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc' import { getProviders, MockProviders } from '../provider.mock' diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_add_liquidity.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_add_liquidity.test.ts index 7d5b5d086a..d184012130 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_add_liquidity.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_add_liquidity.test.ts @@ -1,7 +1,7 @@ import BigNumber from 'bignumber.js' import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc' import { RegTest } from '@defichain/jellyfish-network' -import { OP_CODES } from '@defichain/jellyfish-transaction' +import { OP_CODES, PoolAddLiquidity } from '@defichain/jellyfish-transaction' import { P2WPKH } from '@defichain/jellyfish-address' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { createPoolPair, createToken, mintTokens, sendTokensToAddress, utxosToAccount } from '@defichain/testing' @@ -13,7 +13,6 @@ import { sendTransaction } from '../test.utils' import { Bech32, HASH160 } from '@defichain/jellyfish-crypto' -import { PoolAddLiquidity } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_pool' const container = new MasterNodeRegTestContainer() let providers: MockProviders diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_remove_liquidity.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_remove_liquidity.test.ts index 613b7f0b31..e2abf7be87 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_remove_liquidity.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_liq_pool_remove_liquidity.test.ts @@ -1,6 +1,6 @@ import BigNumber from 'bignumber.js' import { JsonRpcClient } from '@defichain/jellyfish-api-jsonrpc' -import { OP_CODES } from '@defichain/jellyfish-transaction' +import { OP_CODES, PoolRemoveLiquidity } from '@defichain/jellyfish-transaction' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { addPoolLiquidity, createPoolPair, createToken, mintTokens } from '@defichain/testing' import { getProviders, MockProviders } from '../provider.mock' @@ -11,7 +11,6 @@ import { sendTransaction } from '../test.utils' import { Bech32, HASH160 } from '@defichain/jellyfish-crypto' -import { PoolRemoveLiquidity } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_pool' const container = new MasterNodeRegTestContainer() let providers: MockProviders diff --git a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_p2wpkh.test.ts b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_p2wpkh.test.ts index 84904b3ec2..748c8f0d3d 100644 --- a/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_p2wpkh.test.ts +++ b/packages/jellyfish-transaction-builder/__tests__/txn/txn_builder_p2wpkh.test.ts @@ -3,12 +3,9 @@ import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { getProviders, MockProviders } from '../provider.mock' import { P2WPKHTxnBuilder } from '../../src' import { fundEllipticPair } from '../test.utils' -import { OP_DEFI_TX } from '@defichain/jellyfish-transaction/dist/script/defi' -import { CDfTx } from '@defichain/jellyfish-transaction/dist/script/defi/dftx' -import { OP_CODES } from '@defichain/jellyfish-transaction/dist' -import { DeFiOpUnmapped } from '@defichain/jellyfish-transaction/src/script/defi/dftx_unmapped' +import { DeFiOpUnmapped, OP_CODES, OP_DEFI_TX, CDfTx } from '@defichain/jellyfish-transaction' -// P2WPKHTxnBuilder is abstact and not instantiable +// P2WPKHTxnBuilder is abstract and not instantiable class TestBuilder extends P2WPKHTxnBuilder {} const container = new MasterNodeRegTestContainer() diff --git a/packages/jellyfish-transaction-builder/package.json b/packages/jellyfish-transaction-builder/package.json index fb36340a10..6fa402e2fd 100644 --- a/packages/jellyfish-transaction-builder/package.json +++ b/packages/jellyfish-transaction-builder/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "peerDependencies": { "bignumber.js": "^9.0.1" diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts index 2288e2ef4f..cfcd0a8796 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts @@ -4,12 +4,11 @@ import { SignInputOption, Transaction, TransactionSegWit, - TransactionSigner, Vin, Vout + TransactionSigner, Vin, Vout, OP_DEFI_TX } from '@defichain/jellyfish-transaction' import { BigNumber } from 'bignumber.js' import { EllipticPairProvider, FeeRateProvider, Prevout, PrevoutProvider } from '../provider' import { calculateFeeP2WPKH } from './txn_fee' -import { OP_DEFI_TX } from '@defichain/jellyfish-transaction/dist/script/defi' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' const MAX_FEE_RATE = new BigNumber('0.00100000') diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts index 393eb3ed30..9638268658 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts @@ -1,6 +1,8 @@ import BigNumber from 'bignumber.js' -import { AccountToAccount, AccountToUtxos, UtxosToAccount } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_account' -import { DeFiTransactionConstants, OP_CODES, Script, Transaction, TransactionSegWit, Vout } from '@defichain/jellyfish-transaction' +import { + AccountToAccount, AccountToUtxos, UtxosToAccount, DeFiTransactionConstants, + OP_CODES, Script, Transaction, TransactionSegWit, Vout +} from '@defichain/jellyfish-transaction' import { P2WPKHTxnBuilder } from './txn_builder' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder_dex.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder_dex.ts index 772711ce2b..2c9751b296 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder_dex.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder_dex.ts @@ -1,5 +1,4 @@ -import { OP_CODES, Script, TransactionSegWit } from '@defichain/jellyfish-transaction' -import { PoolSwap } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_pool' +import { OP_CODES, Script, TransactionSegWit, PoolSwap } from '@defichain/jellyfish-transaction' import { P2WPKHTxnBuilder } from './txn_builder' export class TxnBuilderDex extends P2WPKHTxnBuilder { diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder_liq_pool.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder_liq_pool.ts index 7959d2aecd..f6675b1226 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder_liq_pool.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder_liq_pool.ts @@ -1,5 +1,4 @@ -import { PoolAddLiquidity, PoolRemoveLiquidity } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_pool' -import { OP_CODES, Script, TransactionSegWit } from '@defichain/jellyfish-transaction' +import { OP_CODES, Script, TransactionSegWit, PoolAddLiquidity, PoolRemoveLiquidity } from '@defichain/jellyfish-transaction' import { P2WPKHTxnBuilder } from './txn_builder' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder_oracles.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder_oracles.ts index ee62a8e44d..49b71393fe 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder_oracles.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder_oracles.ts @@ -1,5 +1,7 @@ -import { AppointOracle, RemoveOracle, SetOracleData, UpdateOracle } from '@defichain/jellyfish-transaction/dist/script/defi/dftx_oracles' -import { OP_CODES, Script, TransactionSegWit } from '@defichain/jellyfish-transaction' +import { + OP_CODES, Script, TransactionSegWit, + AppointOracle, RemoveOracle, SetOracleData, UpdateOracle +} from '@defichain/jellyfish-transaction' import { P2WPKHTxnBuilder } from './txn_builder' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' diff --git a/packages/jellyfish-transaction-builder/tsconfig.build.json b/packages/jellyfish-transaction-builder/tsconfig.build.json new file mode 100644 index 0000000000..5fb6ba6ea8 --- /dev/null +++ b/packages/jellyfish-transaction-builder/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-api-jsonrpc/tsconfig.build.json"}, + {"path": "../testcontainers/tsconfig.build.json"}, + {"path": "../testing/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-transaction-builder/tsconfig.json b/packages/jellyfish-transaction-builder/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-transaction-builder/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-transaction/package.json b/packages/jellyfish-transaction/package.json index d79508a578..0814ca783d 100644 --- a/packages/jellyfish-transaction/package.json +++ b/packages/jellyfish-transaction/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "peerDependencies": { "bignumber.js": "^9.0.1" diff --git a/packages/jellyfish-transaction/src/script/defi/index.ts b/packages/jellyfish-transaction/src/script/defi/index.ts index 7a877ae74d..affd98605e 100644 --- a/packages/jellyfish-transaction/src/script/defi/index.ts +++ b/packages/jellyfish-transaction/src/script/defi/index.ts @@ -5,6 +5,18 @@ import { OP_RETURN } from '../control' import { CDfTx, DfTx } from './dftx' import { OP_CODES } from '../mapping' +export * from './dftx_account' +export * from './dftx_balance' +export * from './dftx_governance' +export * from './dftx_masternode' +export * from './dftx_misc' +export * from './dftx_oracles' +export * from './dftx_pool' +export * from './dftx_price' +export * from './dftx_token' +export * from './dftx_unmapped' +export * from './dftx' + const DEFI_SIGNATURE = '44665478' // DfTx /** diff --git a/packages/jellyfish-transaction/src/script/index.ts b/packages/jellyfish-transaction/src/script/index.ts index c8e0877d8f..99f9f3795f 100644 --- a/packages/jellyfish-transaction/src/script/index.ts +++ b/packages/jellyfish-transaction/src/script/index.ts @@ -6,3 +6,4 @@ export * from './data' export * from './mapping' export * from './opcode' export * from './stack' +export * from './defi' diff --git a/packages/jellyfish-transaction/tsconfig.build.json b/packages/jellyfish-transaction/tsconfig.build.json new file mode 100644 index 0000000000..1976a96d6d --- /dev/null +++ b/packages/jellyfish-transaction/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-api-core/tsconfig.build.json"}, + {"path": "../jellyfish-api-jsonrpc/tsconfig.build.json"}, + {"path": "../testcontainers/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-transaction/tsconfig.json b/packages/jellyfish-transaction/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-transaction/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-wallet-mnemonic/__tests__/mnemonic/bip32.test.ts b/packages/jellyfish-wallet-mnemonic/__tests__/mnemonic/bip32.test.ts index 086364dc84..14f64a97ec 100644 --- a/packages/jellyfish-wallet-mnemonic/__tests__/mnemonic/bip32.test.ts +++ b/packages/jellyfish-wallet-mnemonic/__tests__/mnemonic/bip32.test.ts @@ -1,7 +1,6 @@ import { MnemonicHdNode, MnemonicHdNodeProvider, mnemonicToSeed, generateMnemonic } from '../../src' import BigNumber from 'bignumber.js' -import { Transaction, Vout } from '@defichain/jellyfish-transaction' -import { OP_CODES } from '@defichain/jellyfish-transaction/dist/script' +import { Transaction, Vout, OP_CODES } from '@defichain/jellyfish-transaction' import { HASH160 } from '@defichain/jellyfish-crypto' const regTestBip32Options = { diff --git a/packages/jellyfish-wallet-mnemonic/package.json b/packages/jellyfish-wallet-mnemonic/package.json index 37c8fbc968..54dfcf5f67 100644 --- a/packages/jellyfish-wallet-mnemonic/package.json +++ b/packages/jellyfish-wallet-mnemonic/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "@defichain/jellyfish-wallet": "0.0.0", diff --git a/packages/jellyfish-wallet-mnemonic/tsconfig.build.json b/packages/jellyfish-wallet-mnemonic/tsconfig.build.json new file mode 100644 index 0000000000..6bdb214a8d --- /dev/null +++ b/packages/jellyfish-wallet-mnemonic/tsconfig.build.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-wallet/tsconfig.build.json"}, + {"path": "../jellyfish-transaction/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-wallet-mnemonic/tsconfig.json b/packages/jellyfish-wallet-mnemonic/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-wallet-mnemonic/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/jellyfish-wallet/package.json b/packages/jellyfish-wallet/package.json index e919b64c9d..8f0383289b 100644 --- a/packages/jellyfish-wallet/package.json +++ b/packages/jellyfish-wallet/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "peerDependencies": { "bignumber.js": "^9.0.1" diff --git a/packages/jellyfish-wallet/src/wallet_account.ts b/packages/jellyfish-wallet/src/wallet_account.ts index a7495cbf1f..4bc6a94250 100644 --- a/packages/jellyfish-wallet/src/wallet_account.ts +++ b/packages/jellyfish-wallet/src/wallet_account.ts @@ -1,5 +1,4 @@ -import { Script } from '@defichain/jellyfish-transaction' -import { OP_CODES } from '@defichain/jellyfish-transaction/dist/script' +import { Script, OP_CODES } from '@defichain/jellyfish-transaction' import { WalletHdNode } from './wallet_hd_node' import { Bech32, HASH160 } from '@defichain/jellyfish-crypto' import { Network } from '@defichain/jellyfish-network' diff --git a/packages/jellyfish-wallet/tsconfig.build.json b/packages/jellyfish-wallet/tsconfig.build.json new file mode 100644 index 0000000000..ba205d607f --- /dev/null +++ b/packages/jellyfish-wallet/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-address/tsconfig.build.json"}, + {"path": "../jellyfish-crypto/tsconfig.build.json"}, + {"path": "../jellyfish-transaction/tsconfig.build.json"} + ] +} diff --git a/packages/jellyfish-wallet/tsconfig.json b/packages/jellyfish-wallet/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/jellyfish-wallet/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/packages/testcontainers/package.json b/packages/testcontainers/package.json index 18bcb72dfa..9f31b68029 100644 --- a/packages/testcontainers/package.json +++ b/packages/testcontainers/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "dockerode": "^3.3.0", diff --git a/packages/jellyfish/tsconfig.json b/packages/testcontainers/tsconfig.build.json similarity index 73% rename from packages/jellyfish/tsconfig.json rename to packages/testcontainers/tsconfig.build.json index 5dcbb2bb91..3808cd271f 100644 --- a/packages/jellyfish/tsconfig.json +++ b/packages/testcontainers/tsconfig.build.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "../../tsconfig.build.json", "include": [ "./src/**/*" ], diff --git a/packages/testcontainers/tsconfig.json b/packages/testcontainers/tsconfig.json deleted file mode 100644 index 5dcbb2bb91..0000000000 --- a/packages/testcontainers/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - } -} diff --git a/packages/testing/package.json b/packages/testing/package.json index 88d9fa1816..41b593d446 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -32,7 +32,7 @@ "dist" ], "scripts": { - "build": "tsc" + "build": "tsc -b ./tsconfig.build.json" }, "dependencies": { "@defichain/jellyfish-api-core": "0.0.0", diff --git a/packages/testing/src/poolpair.ts b/packages/testing/src/poolpair.ts index a5b05e7f0d..f51ac95fe0 100644 --- a/packages/testing/src/poolpair.ts +++ b/packages/testing/src/poolpair.ts @@ -1,6 +1,6 @@ import BigNumber from 'bignumber.js' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' -import { CreatePoolPairUTXO } from '@defichain/jellyfish-api-core/dist/category/poolpair' +import { poolpair } from '@defichain/jellyfish-api-core' import { getNewAddress } from './wallet' /** @@ -37,7 +37,7 @@ export interface CreatePoolPairOptions { commission?: number status?: boolean ownerAddress?: string - utxos?: CreatePoolPairUTXO[] + utxos?: poolpair.CreatePoolPairUTXO[] } /** diff --git a/packages/testing/tsconfig.build.json b/packages/testing/tsconfig.build.json new file mode 100644 index 0000000000..b33545be32 --- /dev/null +++ b/packages/testing/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.build.json", + "include": [ + "./src/**/*" + ], + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "references": [ + {"path": "../jellyfish-api-core/tsconfig.build.json"}, + {"path": "../jellyfish-network/tsconfig.build.json"}, + {"path": "../jellyfish-crypto/tsconfig.build.json"}, + {"path": "../testcontainers/tsconfig.build.json"} + ] +} diff --git a/packages/testing/tsconfig.json b/packages/testing/tsconfig.json deleted file mode 100644 index 9670bde91d..0000000000 --- a/packages/testing/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": [ - "./src/**/*" - ], - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - } -} diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000000..fc4a7c5185 --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "lib": ["es2020"], + "target": "es6", + "module": "commonjs", + "moduleResolution": "node", + "strict": true, + "esModuleInterop": true, + "noUnusedLocals": true + } +} diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000000..7d090a6dd6 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,24 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + }, + "files": [], + "references": [ + {"path": "./packages/jellyfish-address/tsconfig.build.json"}, + {"path": "./packages/jellyfish-api-core/tsconfig.build.json"}, + {"path": "./packages/jellyfish-api-jsonrpc/tsconfig.build.json"}, + {"path": "./packages/jellyfish-crypto/tsconfig.build.json"}, + {"path": "./packages/jellyfish-json/tsconfig.build.json"}, + {"path": "./packages/jellyfish-network/tsconfig.build.json"}, + {"path": "./packages/jellyfish-transaction/tsconfig.build.json"}, + {"path": "./packages/jellyfish-transaction-builder/tsconfig.build.json"}, + {"path": "./packages/jellyfish-wallet/tsconfig.build.json"}, + {"path": "./packages/jellyfish-wallet-mnemonic/tsconfig.build.json"}, + {"path": "./packages/testcontainers/tsconfig.build.json"}, + {"path": "./packages/testing/tsconfig.build.json"} + ] +} diff --git a/tsconfig.json b/tsconfig.json index 4f6002144c..b91f334b8e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,20 @@ { + "extends": "./tsconfig.base.json", "compilerOptions": { - "declaration": true, - "target": "es6", - "lib": [ - "es2020" - ], - "module": "commonjs", - "strict": true, - "esModuleInterop": true + "baseUrl": "./packages", + "paths": { + "@defichain/jellyfish-address/*": ["jellyfish-address/src/*"], + "@defichain/jellyfish-api-core/*": ["jellyfish-api-core/src/*"], + "@defichain/jellyfish-api-jsonrpc/*": ["jellyfish-api-jsonrpc/src/*"], + "@defichain/jellyfish-crypto/*": ["jellyfish-crypto/src/*"], + "@defichain/jellyfish-json/*": ["jellyfish-json/src/*"], + "@defichain/jellyfish-network/*": ["jellyfish-network/src/*"], + "@defichain/jellyfish-transaction/*": ["jellyfish-transaction/src/*"], + "@defichain/jellyfish-transaction-builder/*": ["jellyfish-transaction-builder/src/*"], + "@defichain/jellyfish-wallet/*": ["jellyfish-wallet/src/*"], + "@defichain/jellyfish-wallet-mnemonic/*": ["jellyfish-wallet-mnemonic/src/*"], + "@defichain/testcontainers/*": ["testcontainers/src/*"], + "@defichain/testing/*": ["testing/src/*"], + } } }