From 950b21c596380f53bc14c2cb224838ffde2efbaf Mon Sep 17 00:00:00 2001 From: Pierre Gee Date: Tue, 26 Sep 2023 16:13:13 +0800 Subject: [PATCH] chore(jellyfish-transaction-builder): add interface on the same package (#2158) #### What this PR does / why we need it: Having package build issues, need to make the package agnostic image #### Which issue(s) does this PR fixes?: Fixes # #### Additional comments?: --- .../__tests__/provider.mock.ts | 3 +-- packages/jellyfish-transaction-builder/src/provider.ts | 9 ++++++++- .../jellyfish-transaction-builder/src/txn/txn_builder.ts | 3 +-- .../src/txn/txn_builder_account.ts | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/jellyfish-transaction-builder/__tests__/provider.mock.ts b/packages/jellyfish-transaction-builder/__tests__/provider.mock.ts index 4a90806fa5..0ac15c5a8c 100644 --- a/packages/jellyfish-transaction-builder/__tests__/provider.mock.ts +++ b/packages/jellyfish-transaction-builder/__tests__/provider.mock.ts @@ -1,10 +1,9 @@ import BigNumber from 'bignumber.js' import { Bech32, EllipticPair, Eth, HASH160, WIF } from '@defichain/jellyfish-crypto' -import { EllipticPairProvider, FeeRateProvider, Prevout, PrevoutProvider } from '../src' +import { EllipticPairProvider, FeeRateProvider, ListUnspentQueryOptions, Prevout, PrevoutProvider } from '../src' import { MasterNodeRegTestContainer } from '@defichain/testcontainers' import { OP_CODES, Script } from '@defichain/jellyfish-transaction' import { randomEllipticPair } from './test.utils' -import { ListUnspentQueryOptions } from '@defichain/jellyfish-api-core/src/category/wallet' export class MockFeeRateProvider implements FeeRateProvider { constructor ( diff --git a/packages/jellyfish-transaction-builder/src/provider.ts b/packages/jellyfish-transaction-builder/src/provider.ts index e1d24636b8..71459d0a33 100644 --- a/packages/jellyfish-transaction-builder/src/provider.ts +++ b/packages/jellyfish-transaction-builder/src/provider.ts @@ -1,7 +1,6 @@ import BigNumber from 'bignumber.js' import { EllipticPair } from '@defichain/jellyfish-crypto' import { Vout } from '@defichain/jellyfish-transaction' -import { ListUnspentQueryOptions } from '@defichain/jellyfish-api-core/src/category/wallet' export interface FeeRateProvider { /** @@ -10,6 +9,14 @@ export interface FeeRateProvider { estimate: () => Promise } +export interface ListUnspentQueryOptions { + minimumAmount?: number + maximumAmount?: number + maximumCount?: number + minimumSumAmount?: number + tokenId?: string +} + export interface PrevoutProvider { /** * @return {Prevout[]} all outputs to create transaction, aka to send all. diff --git a/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts b/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts index 17acfabd8e..5a89915446 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder.ts @@ -10,12 +10,11 @@ import { } from '@defichain/jellyfish-transaction' import { SignInputOption, TransactionSigner } from '@defichain/jellyfish-transaction-signature' import BigNumber from 'bignumber.js' -import { EllipticPairProvider, FeeRateProvider, Prevout, PrevoutProvider } from '../provider' +import { EllipticPairProvider, FeeRateProvider, ListUnspentQueryOptions, Prevout, PrevoutProvider } from '../provider' import { calculateFeeP2WPKH } from './txn_fee' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' import { EllipticPair } from '@defichain/jellyfish-crypto' import { Network } from '@defichain/jellyfish-network' -import { ListUnspentQueryOptions } from '@defichain/jellyfish-api-core/src/category/wallet' 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 7050960945..99f93e7441 100644 --- a/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts +++ b/packages/jellyfish-transaction-builder/src/txn/txn_builder_account.ts @@ -5,7 +5,7 @@ import { } from '@defichain/jellyfish-transaction' import { P2WPKHTxnBuilder } from './txn_builder' import { TxnBuilderError, TxnBuilderErrorType } from './txn_builder_error' -import { ListUnspentQueryOptions } from '@defichain/jellyfish-api-core/src/category/wallet' +import { ListUnspentQueryOptions } from '../provider' export class TxnBuilderAccount extends P2WPKHTxnBuilder { /**