@dynamic-labs/bitcoin 4.8.3 → 4.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,30 @@
1
1
 
2
+ ### [4.8.5](https://github.com/dynamic-labs/dynamic-auth/compare/v4.8.4...v4.8.5) (2025-03-06)
3
+
4
+
5
+ ### Features
6
+
7
+ * evm connector can sign arbitrary transactions ([#8217](https://github.com/dynamic-labs/dynamic-auth/issues/8217)) ([c5b227c](https://github.com/dynamic-labs/dynamic-auth/commit/c5b227c5a5d527f3fc74b8c1c9d0247eaf35a016))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * optimize shadow dom re-renders ([#8193](https://github.com/dynamic-labs/dynamic-auth/issues/8193)) ([c97310c](https://github.com/dynamic-labs/dynamic-auth/commit/c97310c9f3eb73b9f69b0b48a79e6bbd93d2e94a))
13
+ * show multichain wallets with zerodev ([#8220](https://github.com/dynamic-labs/dynamic-auth/issues/8220)) ([a48689d](https://github.com/dynamic-labs/dynamic-auth/commit/a48689da1303512551bdf8114de45493d33221a3))
14
+
15
+ ### [4.8.4](https://github.com/dynamic-labs/dynamic-auth/compare/v4.8.3...v4.8.4) (2025-03-05)
16
+
17
+
18
+ ### Features
19
+
20
+ * add iframe deeplink support for iOS Safari ([#8168](https://github.com/dynamic-labs/dynamic-auth/issues/8168)) ([cc4a6b9](https://github.com/dynamic-labs/dynamic-auth/commit/cc4a6b94b8e1b36b303ea5bf86734ba2e73bcef9))
21
+ * add binance bitcoin wallet support ([#8089](ttps://github.com/dynamic-labs/dynamic-auth/issues/8089)) ([c8a3a41](https://github.com/dynamic-labs/dynamic-auth/commit/c8a3a418e4f431b3442e5bc7332530b777e223c8))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * mobile wallet iframe redirects ([#8213](https://github.com/dynamic-labs/dynamic-auth/issues/8213)) ([96ea428](https://github.com/dynamic-labs/dynamic-auth/commit/96ea428375232e57379faef6e2a61dd818325777))
27
+
2
28
  ### [4.8.3](https://github.com/dynamic-labs/dynamic-auth/compare/v4.8.2...v4.8.3) (2025-03-04)
3
29
 
4
30
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.8.3";
6
+ var version = "4.8.5";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.8.3";
2
+ var version = "4.8.5";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/bitcoin",
3
- "version": "4.8.3",
3
+ "version": "4.8.5",
4
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -25,11 +25,11 @@
25
25
  "bitcoinjs-lib": "6.1.5",
26
26
  "sats-connect": "3.0.1",
27
27
  "jsontokens": "4.0.1",
28
- "@dynamic-labs/assert-package-version": "4.8.3",
29
- "@dynamic-labs/types": "4.8.3",
30
- "@dynamic-labs/utils": "4.8.3",
31
- "@dynamic-labs/wallet-book": "4.8.3",
32
- "@dynamic-labs/wallet-connector-core": "4.8.3",
28
+ "@dynamic-labs/assert-package-version": "4.8.5",
29
+ "@dynamic-labs/types": "4.8.5",
30
+ "@dynamic-labs/utils": "4.8.5",
31
+ "@dynamic-labs/wallet-book": "4.8.5",
32
+ "@dynamic-labs/wallet-connector-core": "4.8.5",
33
33
  "eventemitter3": "5.0.1"
34
34
  },
35
35
  "peerDependencies": {}
@@ -0,0 +1,80 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../_virtual/_tslib.cjs');
7
+ var bitcoinjsLib = require('bitcoinjs-lib');
8
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
+ var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
10
+ var createSignPsbtOptions = require('../../utils/psbt/createSignPsbtOptions.cjs');
11
+
12
+ class BinanceConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
13
+ constructor(opts) {
14
+ super(Object.assign(Object.assign({}, opts), { overrideKey: 'binancewalletbtc' }));
15
+ this.name = 'Binance Wallet';
16
+ this.overrideKey = 'binancewalletbtc';
17
+ }
18
+ getAddress() {
19
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
20
+ const provider = this.getProvider();
21
+ if (!provider) {
22
+ return;
23
+ }
24
+ const [address] = yield provider.requestAccounts();
25
+ const bitcoinAddress = {
26
+ address,
27
+ publicKey: yield provider.getPublicKey(),
28
+ };
29
+ yield this.setConnectedAccountWithAddresses({
30
+ active: true,
31
+ mainAddress: address,
32
+ ordinalsAddress: bitcoinAddress,
33
+ });
34
+ return address;
35
+ });
36
+ }
37
+ getConnectedAccounts() {
38
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
39
+ const provider = this.getProvider();
40
+ if (!provider) {
41
+ return [];
42
+ }
43
+ return provider.getAccounts();
44
+ });
45
+ }
46
+ signMessage(messageToSign, options) {
47
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
48
+ var _a;
49
+ const provider = this.getProvider();
50
+ if (!provider) {
51
+ return;
52
+ }
53
+ // default to ecdsa
54
+ const protocol = (_a = options === null || options === void 0 ? void 0 : options.protocol) !== null && _a !== void 0 ? _a : 'ecdsa';
55
+ if (options === null || options === void 0 ? void 0 : options.address) {
56
+ walletConnectorCore.logger.debug('[OneKeyConnector] signMessage - Not possible to specify address to sign with', {
57
+ address: options.address,
58
+ });
59
+ }
60
+ return provider.signMessage(messageToSign, protocol);
61
+ });
62
+ }
63
+ signPsbt(request) {
64
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
65
+ const provider = this.getProvider();
66
+ if (!provider) {
67
+ return;
68
+ }
69
+ const psbtFromBase64 = bitcoinjsLib.Psbt.fromBase64(request.unsignedPsbtBase64);
70
+ const psbtOptions = createSignPsbtOptions.createPsbtOptions(psbtFromBase64, request);
71
+ const signedPsbtHex = yield provider.signPsbt(psbtFromBase64.toHex(), {
72
+ autoFinalized: false,
73
+ toSignInputs: psbtOptions.toSignInputs || [],
74
+ });
75
+ return { signedPsbt: bitcoinjsLib.Psbt.fromHex(signedPsbtHex).toBase64() };
76
+ });
77
+ }
78
+ }
79
+
80
+ exports.BinanceConnector = BinanceConnector;
@@ -0,0 +1,14 @@
1
+ import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '../BitcoinWalletConnector';
2
+ import { BitcoinSignPsbtRequest, BitcoinSignPsbtResponse, BitcoinSignProtocol } from '../../types';
3
+ export declare class BinanceConnector extends BitcoinWalletConnector {
4
+ name: string;
5
+ overrideKey: string;
6
+ constructor(opts: BitcoinWalletConnectorOpts);
7
+ getAddress(): Promise<string | undefined>;
8
+ getConnectedAccounts(): Promise<string[]>;
9
+ signMessage(messageToSign: string, options?: {
10
+ address?: string;
11
+ protocol?: BitcoinSignProtocol;
12
+ }): Promise<string | undefined>;
13
+ signPsbt(request: BitcoinSignPsbtRequest): Promise<BitcoinSignPsbtResponse | undefined>;
14
+ }
@@ -0,0 +1,76 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../_virtual/_tslib.js';
3
+ import { Psbt } from 'bitcoinjs-lib';
4
+ import { logger } from '@dynamic-labs/wallet-connector-core';
5
+ import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
6
+ import { createPsbtOptions } from '../../utils/psbt/createSignPsbtOptions.js';
7
+
8
+ class BinanceConnector extends BitcoinWalletConnector {
9
+ constructor(opts) {
10
+ super(Object.assign(Object.assign({}, opts), { overrideKey: 'binancewalletbtc' }));
11
+ this.name = 'Binance Wallet';
12
+ this.overrideKey = 'binancewalletbtc';
13
+ }
14
+ getAddress() {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ const provider = this.getProvider();
17
+ if (!provider) {
18
+ return;
19
+ }
20
+ const [address] = yield provider.requestAccounts();
21
+ const bitcoinAddress = {
22
+ address,
23
+ publicKey: yield provider.getPublicKey(),
24
+ };
25
+ yield this.setConnectedAccountWithAddresses({
26
+ active: true,
27
+ mainAddress: address,
28
+ ordinalsAddress: bitcoinAddress,
29
+ });
30
+ return address;
31
+ });
32
+ }
33
+ getConnectedAccounts() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const provider = this.getProvider();
36
+ if (!provider) {
37
+ return [];
38
+ }
39
+ return provider.getAccounts();
40
+ });
41
+ }
42
+ signMessage(messageToSign, options) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ var _a;
45
+ const provider = this.getProvider();
46
+ if (!provider) {
47
+ return;
48
+ }
49
+ // default to ecdsa
50
+ const protocol = (_a = options === null || options === void 0 ? void 0 : options.protocol) !== null && _a !== void 0 ? _a : 'ecdsa';
51
+ if (options === null || options === void 0 ? void 0 : options.address) {
52
+ logger.debug('[OneKeyConnector] signMessage - Not possible to specify address to sign with', {
53
+ address: options.address,
54
+ });
55
+ }
56
+ return provider.signMessage(messageToSign, protocol);
57
+ });
58
+ }
59
+ signPsbt(request) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ const provider = this.getProvider();
62
+ if (!provider) {
63
+ return;
64
+ }
65
+ const psbtFromBase64 = Psbt.fromBase64(request.unsignedPsbtBase64);
66
+ const psbtOptions = createPsbtOptions(psbtFromBase64, request);
67
+ const signedPsbtHex = yield provider.signPsbt(psbtFromBase64.toHex(), {
68
+ autoFinalized: false,
69
+ toSignInputs: psbtOptions.toSignInputs || [],
70
+ });
71
+ return { signedPsbt: Psbt.fromHex(signedPsbtHex).toBase64() };
72
+ });
73
+ }
74
+ }
75
+
76
+ export { BinanceConnector };
@@ -0,0 +1 @@
1
+ export { BinanceConnector } from './BinanceConnector';
@@ -13,6 +13,7 @@ var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
13
13
  var createSignPsbtOptions = require('../../utils/psbt/createSignPsbtOptions.cjs');
14
14
  var _const = require('../../const.cjs');
15
15
  var getSatsConnectSigningProtocol = require('../../utils/getSatsConnectSigningProtocol/getSatsConnectSigningProtocol.cjs');
16
+ var satoshisToBtc = require('../../utils/satoshisToBtc/satoshisToBtc.cjs');
16
17
 
17
18
  class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
18
19
  constructor(opts) {
@@ -25,6 +26,16 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletCo
25
26
  (_c = opts.walletData.injectedConfig[0].walletStandard) === null || _c === void 0 ? void 0 : _c.providerId;
26
27
  }
27
28
  }
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ getBalance(address) {
31
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
32
+ const balance = yield satsConnect.request('getBalance', undefined);
33
+ if (balance.status !== 'success') {
34
+ throw balance.error;
35
+ }
36
+ return satoshisToBtc.satoshisToBtc(Number(balance.result.confirmed)).toString();
37
+ });
38
+ }
28
39
  getGenericUserCancelledError() {
29
40
  const error = new Error();
30
41
  error.code = '-32000'; // error code for user cancelled
@@ -66,6 +77,7 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletCo
66
77
  return false;
67
78
  const inAppBrowserTemplate = utils.template(inAppBrowserUrl);
68
79
  const deepLink = inAppBrowserTemplate({
80
+ // TODO: use PlatformService
69
81
  encodedDappURI: encodeURIComponent(window.location.toString()),
70
82
  });
71
83
  utils.PlatformService.openURL(deepLink);
@@ -6,6 +6,7 @@ export declare abstract class BitcoinSatsConnectConnector extends BitcoinWalletC
6
6
  currentNetwork: BitcoinNetworkType;
7
7
  providerId: string | undefined;
8
8
  constructor(opts: BitcoinWalletConnectorOpts);
9
+ getBalance(address: string): Promise<string | undefined>;
9
10
  private getGenericUserCancelledError;
10
11
  private getAddresses;
11
12
  /**
@@ -9,6 +9,7 @@ import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
9
9
  import { createSignPsbtOptionsForSatsConnect } from '../../utils/psbt/createSignPsbtOptions.js';
10
10
  import { SATSCONNECT_FEATURE } from '../../const.js';
11
11
  import { getSatsConnectSigningProtocol } from '../../utils/getSatsConnectSigningProtocol/getSatsConnectSigningProtocol.js';
12
+ import { satoshisToBtc } from '../../utils/satoshisToBtc/satoshisToBtc.js';
12
13
 
13
14
  class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
14
15
  constructor(opts) {
@@ -21,6 +22,16 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
21
22
  (_c = opts.walletData.injectedConfig[0].walletStandard) === null || _c === void 0 ? void 0 : _c.providerId;
22
23
  }
23
24
  }
25
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
+ getBalance(address) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const balance = yield request('getBalance', undefined);
29
+ if (balance.status !== 'success') {
30
+ throw balance.error;
31
+ }
32
+ return satoshisToBtc(Number(balance.result.confirmed)).toString();
33
+ });
34
+ }
24
35
  getGenericUserCancelledError() {
25
36
  const error = new Error();
26
37
  error.code = '-32000'; // error code for user cancelled
@@ -62,6 +73,7 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
62
73
  return false;
63
74
  const inAppBrowserTemplate = template(inAppBrowserUrl);
64
75
  const deepLink = inAppBrowserTemplate({
76
+ // TODO: use PlatformService
65
77
  encodedDappURI: encodeURIComponent(window.location.toString()),
66
78
  });
67
79
  PlatformService.openURL(deepLink);
@@ -65,7 +65,7 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
65
65
  yield this.cache.clearConnectedAcccounts();
66
66
  });
67
67
  }
68
- getBalance(address) {
68
+ apiGetBalance(address) {
69
69
  return _tslib.__awaiter(this, void 0, void 0, function* () {
70
70
  const API_URL = getMempoolApiUrl.getMempoolApiUrl(address);
71
71
  const response = yield fetch(`${API_URL}/address/${address}`);
@@ -92,6 +92,17 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
92
92
  return balance.toString();
93
93
  });
94
94
  }
95
+ getBalance(address) {
96
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
97
+ const provider = this.getProvider();
98
+ if (!(provider === null || provider === void 0 ? void 0 : provider.getBalance)) {
99
+ return this.apiGetBalance(address);
100
+ }
101
+ const balanceResponse = yield provider.getBalance();
102
+ const balance = satoshisToBtc.satoshisToBtc(balanceResponse.total);
103
+ return balance.toString();
104
+ });
105
+ }
95
106
  getConnectedAccountsFromCache() {
96
107
  return _tslib.__awaiter(this, void 0, void 0, function* () {
97
108
  var _a;
@@ -33,6 +33,7 @@ export declare abstract class BitcoinWalletConnector extends WalletConnectorBase
33
33
  isInstalledOnBrowser(): boolean;
34
34
  getDeepLink(): string | undefined;
35
35
  endSession(): Promise<void>;
36
+ private apiGetBalance;
36
37
  getBalance(address: string): Promise<string | undefined>;
37
38
  getConnectedAccountsFromCache(): Promise<string[]>;
38
39
  getConnectedAccounts(): Promise<string[]>;
@@ -61,7 +61,7 @@ class BitcoinWalletConnector extends WalletConnectorBase {
61
61
  yield this.cache.clearConnectedAcccounts();
62
62
  });
63
63
  }
64
- getBalance(address) {
64
+ apiGetBalance(address) {
65
65
  return __awaiter(this, void 0, void 0, function* () {
66
66
  const API_URL = getMempoolApiUrl(address);
67
67
  const response = yield fetch(`${API_URL}/address/${address}`);
@@ -88,6 +88,17 @@ class BitcoinWalletConnector extends WalletConnectorBase {
88
88
  return balance.toString();
89
89
  });
90
90
  }
91
+ getBalance(address) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const provider = this.getProvider();
94
+ if (!(provider === null || provider === void 0 ? void 0 : provider.getBalance)) {
95
+ return this.apiGetBalance(address);
96
+ }
97
+ const balanceResponse = yield provider.getBalance();
98
+ const balance = satoshisToBtc(balanceResponse.total);
99
+ return balance.toString();
100
+ });
101
+ }
91
102
  getConnectedAccountsFromCache() {
92
103
  return __awaiter(this, void 0, void 0, function* () {
93
104
  var _a;
@@ -24,8 +24,10 @@ class OkxConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
24
24
  this.mobileExperience === 'in-app-browser') {
25
25
  const inAppBrowserCompiledTemplate = utils.template(this.metadata.inAppBrowserUrl);
26
26
  const deepLink = inAppBrowserCompiledTemplate({
27
+ // TODO: use PlatformService
27
28
  encodedDappURI: encodeURIComponent(window.location.toString()),
28
29
  });
30
+ // TODO: use PlatformService
29
31
  window.location.assign(deepLink);
30
32
  return;
31
33
  }
@@ -20,8 +20,10 @@ class OkxConnector extends BitcoinWalletConnector {
20
20
  this.mobileExperience === 'in-app-browser') {
21
21
  const inAppBrowserCompiledTemplate = template(this.metadata.inAppBrowserUrl);
22
22
  const deepLink = inAppBrowserCompiledTemplate({
23
+ // TODO: use PlatformService
23
24
  encodedDappURI: encodeURIComponent(window.location.toString()),
24
25
  });
26
+ // TODO: use PlatformService
25
27
  window.location.assign(deepLink);
26
28
  return;
27
29
  }
@@ -24,6 +24,7 @@ class OneKeyConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
24
24
  this.mobileExperience === 'in-app-browser') {
25
25
  const inAppBrowserCompiledTemplate = utils.template(this.metadata.inAppBrowserUrl);
26
26
  const deepLink = inAppBrowserCompiledTemplate({
27
+ // TODO: use PlatformService
27
28
  encodedDappURI: encodeURIComponent(window.location.toString()),
28
29
  });
29
30
  utils.PlatformService.openURL(deepLink);
@@ -20,6 +20,7 @@ class OneKeyConnector extends BitcoinWalletConnector {
20
20
  this.mobileExperience === 'in-app-browser') {
21
21
  const inAppBrowserCompiledTemplate = template(this.metadata.inAppBrowserUrl);
22
22
  const deepLink = inAppBrowserCompiledTemplate({
23
+ // TODO: use PlatformService
23
24
  encodedDappURI: encodeURIComponent(window.location.toString()),
24
25
  });
25
26
  PlatformService.openURL(deepLink);
@@ -8,3 +8,4 @@ export * from './OneKeyConnector';
8
8
  export * from './OylConnector';
9
9
  export * from './UnisatConnector';
10
10
  export * from './FallbackBitcoinConnector';
11
+ export * from './BinanceConnector';
package/src/index.cjs CHANGED
@@ -18,6 +18,7 @@ var OneKeyConnector = require('./connectors/OneKeyConnector/OneKeyConnector.cjs'
18
18
  var OylConnector = require('./connectors/OylConnector/OylConnector.cjs');
19
19
  var UnisatConnector = require('./connectors/UnisatConnector/UnisatConnector.cjs');
20
20
  var FallbackBitcoinConnector = require('./connectors/FallbackBitcoinConnector/FallbackBitcoinConnector.cjs');
21
+ var BinanceConnector = require('./connectors/BinanceConnector/BinanceConnector.cjs');
21
22
  var BitgetConnector = require('./connectors/BitgetConnector/BitgetConnector.cjs');
22
23
  var fetchBtcKitConnectors = require('./utils/fetchBtcKitConnectors/fetchBtcKitConnectors.cjs');
23
24
  var fetchSatsConnectConnectors = require('./utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs');
@@ -37,6 +38,7 @@ const BitcoinWalletConnectors = (props) => [
37
38
  OylConnector.OylConnector,
38
39
  UnisatConnector.UnisatConnector,
39
40
  BitgetConnector.BitgetConnector,
41
+ BinanceConnector.BinanceConnector,
40
42
  FallbackBitcoinConnector.FallbackBitcoinConnector,
41
43
  ];
42
44
 
package/src/index.js CHANGED
@@ -14,6 +14,7 @@ import { OneKeyConnector } from './connectors/OneKeyConnector/OneKeyConnector.js
14
14
  import { OylConnector } from './connectors/OylConnector/OylConnector.js';
15
15
  import { UnisatConnector } from './connectors/UnisatConnector/UnisatConnector.js';
16
16
  import { FallbackBitcoinConnector } from './connectors/FallbackBitcoinConnector/FallbackBitcoinConnector.js';
17
+ import { BinanceConnector } from './connectors/BinanceConnector/BinanceConnector.js';
17
18
  import { BitgetConnector } from './connectors/BitgetConnector/BitgetConnector.js';
18
19
  import { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
19
20
  export { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
@@ -35,6 +36,7 @@ const BitcoinWalletConnectors = (props) => [
35
36
  OylConnector,
36
37
  UnisatConnector,
37
38
  BitgetConnector,
39
+ BinanceConnector,
38
40
  FallbackBitcoinConnector,
39
41
  ];
40
42
 
package/src/types.d.ts CHANGED
@@ -129,3 +129,12 @@ export type BitcoinWalletStandardMethods = {
129
129
  signAndSendTransaction?: BitcoinSignAndSendTransactionMethod;
130
130
  };
131
131
  export type BitcoinSignProtocol = 'ecdsa' | 'bip322-simple';
132
+ interface ProviderBalance {
133
+ confirmed: number;
134
+ unconfirmed: number;
135
+ total: number;
136
+ }
137
+ export interface ProviderWithBalance {
138
+ getBalance: () => Promise<ProviderBalance>;
139
+ }
140
+ export {};