@dynamic-labs/bitcoin 3.0.0-alpha.4 → 3.0.0-alpha.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,28 @@
1
1
 
2
+ ## [3.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.4...v3.0.0-alpha.5) (2024-06-14)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * remove viem dependency from non-evm packages (#5508)
8
+ * move rpc providers into their own packages (#5981)
9
+
10
+ ### Features
11
+
12
+ * add in-app browser navigation support for sats-connect ([#5988](https://github.com/dynamic-labs/DynamicAuth/issues/5988)) ([be27d2d](https://github.com/dynamic-labs/DynamicAuth/commit/be27d2d4030bbe2157e879497d8e6a00b4a3e404))
13
+ * move rpc providers into their own packages ([#5981](https://github.com/dynamic-labs/DynamicAuth/issues/5981)) ([d7a62d6](https://github.com/dynamic-labs/DynamicAuth/commit/d7a62d60e79dfa6d6651b0fa103e90b6f8a9ccf3))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * embedded solana wallets can send SPL tokens and estimate gas ([#5982](https://github.com/dynamic-labs/DynamicAuth/issues/5982)) ([36623eb](https://github.com/dynamic-labs/DynamicAuth/commit/36623eb99d1d1dfebfd8b6f3194eeff31e7de2bf))
19
+ * improve logic related to turnkey and emailVerifcation ([#5946](https://github.com/dynamic-labs/DynamicAuth/issues/5946)) ([dd0b2dc](https://github.com/dynamic-labs/DynamicAuth/commit/dd0b2dc6d93a8bbbcb6eef88732e62b747005bb3))
20
+ * show linked wallets with unavailable providers in user wallets list ([#5992](https://github.com/dynamic-labs/DynamicAuth/issues/5992)) ([996079c](https://github.com/dynamic-labs/DynamicAuth/commit/996079ced360651c7b1eb5273548e0548f6f9f3a))
21
+ * switch network modal not closing after switching to a supported network ([#5979](https://github.com/dynamic-labs/DynamicAuth/issues/5979)) ([f239952](https://github.com/dynamic-labs/DynamicAuth/commit/f2399523dd82bb28046992cac4582688b688bdc0))
22
+
23
+
24
+ * remove viem dependency from non-evm packages ([#5508](https://github.com/dynamic-labs/DynamicAuth/issues/5508)) ([0299dc3](https://github.com/dynamic-labs/DynamicAuth/commit/0299dc3cbb611182d763e9a89d1270c2e2f32df5))
25
+
2
26
  ## [3.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.3...v3.0.0-alpha.4) (2024-06-12)
3
27
 
4
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/bitcoin",
3
- "version": "3.0.0-alpha.4",
3
+ "version": "3.0.0-alpha.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -32,9 +32,9 @@
32
32
  "@wallet-standard/base": "1.0.1",
33
33
  "bitcoinjs-lib": "6.1.5",
34
34
  "sats-connect": "2.0.0",
35
- "@dynamic-labs/utils": "3.0.0-alpha.4",
36
- "@dynamic-labs/wallet-book": "3.0.0-alpha.4",
37
- "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.4",
35
+ "@dynamic-labs/utils": "3.0.0-alpha.5",
36
+ "@dynamic-labs/wallet-book": "3.0.0-alpha.5",
37
+ "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.5",
38
38
  "stream": "0.0.2"
39
39
  },
40
40
  "peerDependencies": {}
@@ -7,8 +7,9 @@ var _tslib = require('../../../_virtual/_tslib.cjs');
7
7
  var bitcoinjsLib = require('bitcoinjs-lib');
8
8
  var satsConnect = require('sats-connect');
9
9
  var sdkApiCore = require('@dynamic-labs/sdk-api-core');
10
+ var utils = require('@dynamic-labs/utils');
11
+ var walletBook = require('@dynamic-labs/wallet-book');
10
12
  var _const = require('../../const.cjs');
11
- require('@dynamic-labs/utils');
12
13
  require('@dynamic-labs/wallet-connector-core');
13
14
  var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
14
15
  var validatePsbt = require('../../utils/psbt/validator/validatePsbt.cjs');
@@ -27,7 +28,7 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletCo
27
28
  }
28
29
  getAddress() {
29
30
  return _tslib.__awaiter(this, void 0, void 0, function* () {
30
- var _a;
31
+ var _a, _b;
31
32
  // xverse doesn't support wallet standard, so we won't have a wallet object,
32
33
  // but it's already the default provider for sats-connect, so it's ok
33
34
  // for getProvider in getAddress to return undefined
@@ -36,11 +37,21 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletCo
36
37
  if (!supportsSatsConnect.supportsSatsConnect(this)) {
37
38
  return;
38
39
  }
40
+ const wallet = walletBook.findWalletBookWallet(this.walletBook, this.key);
41
+ const inAppBrowserUrl = (_a = wallet === null || wallet === void 0 ? void 0 : wallet.mobile) === null || _a === void 0 ? void 0 : _a.inAppBrowser;
42
+ if (utils.isMobile() && !this.isInstalledOnBrowser() && inAppBrowserUrl) {
43
+ const inAppBrowserTemplate = utils.template(inAppBrowserUrl);
44
+ const deepLink = inAppBrowserTemplate({
45
+ encodedDappURI: encodeURIComponent(window.location.toString()),
46
+ });
47
+ window.location.href = deepLink;
48
+ return;
49
+ }
39
50
  const cachedActiveAccount = yield this.cache.getActiveAccount();
40
51
  if (cachedActiveAccount) {
41
52
  const ordinalsAddress = cachedActiveAccount.additionalAddresses.find((address) => address.type === sdkApiCore.WalletAddressType.Ordinals);
42
53
  const paymentAddress = cachedActiveAccount.additionalAddresses.find((address) => address.type === sdkApiCore.WalletAddressType.Payment);
43
- return (_a = ordinalsAddress === null || ordinalsAddress === void 0 ? void 0 : ordinalsAddress.address) !== null && _a !== void 0 ? _a : paymentAddress === null || paymentAddress === void 0 ? void 0 : paymentAddress.address;
54
+ return (_b = ordinalsAddress === null || ordinalsAddress === void 0 ? void 0 : ordinalsAddress.address) !== null && _b !== void 0 ? _b : paymentAddress === null || paymentAddress === void 0 ? void 0 : paymentAddress.address;
44
55
  }
45
56
  return new Promise((resolve, reject) => {
46
57
  satsConnect.getAddress({
@@ -3,8 +3,9 @@ import { __awaiter } from '../../../_virtual/_tslib.js';
3
3
  import { Psbt } from 'bitcoinjs-lib';
4
4
  import { BitcoinNetworkType, getAddress, AddressPurpose, signMessage, sendBtcTransaction, signTransaction } from 'sats-connect';
5
5
  import { WalletAddressType } from '@dynamic-labs/sdk-api-core';
6
+ import { isMobile, template } from '@dynamic-labs/utils';
7
+ import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
6
8
  import { SATSCONNECT_FEATURE } from '../../const.js';
7
- import '@dynamic-labs/utils';
8
9
  import '@dynamic-labs/wallet-connector-core';
9
10
  import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
10
11
  import { validatePsbt } from '../../utils/psbt/validator/validatePsbt.js';
@@ -23,7 +24,7 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
23
24
  }
24
25
  getAddress() {
25
26
  return __awaiter(this, void 0, void 0, function* () {
26
- var _a;
27
+ var _a, _b;
27
28
  // xverse doesn't support wallet standard, so we won't have a wallet object,
28
29
  // but it's already the default provider for sats-connect, so it's ok
29
30
  // for getProvider in getAddress to return undefined
@@ -32,11 +33,21 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
32
33
  if (!supportsSatsConnect(this)) {
33
34
  return;
34
35
  }
36
+ const wallet = findWalletBookWallet(this.walletBook, this.key);
37
+ const inAppBrowserUrl = (_a = wallet === null || wallet === void 0 ? void 0 : wallet.mobile) === null || _a === void 0 ? void 0 : _a.inAppBrowser;
38
+ if (isMobile() && !this.isInstalledOnBrowser() && inAppBrowserUrl) {
39
+ const inAppBrowserTemplate = template(inAppBrowserUrl);
40
+ const deepLink = inAppBrowserTemplate({
41
+ encodedDappURI: encodeURIComponent(window.location.toString()),
42
+ });
43
+ window.location.href = deepLink;
44
+ return;
45
+ }
35
46
  const cachedActiveAccount = yield this.cache.getActiveAccount();
36
47
  if (cachedActiveAccount) {
37
48
  const ordinalsAddress = cachedActiveAccount.additionalAddresses.find((address) => address.type === WalletAddressType.Ordinals);
38
49
  const paymentAddress = cachedActiveAccount.additionalAddresses.find((address) => address.type === WalletAddressType.Payment);
39
- return (_a = ordinalsAddress === null || ordinalsAddress === void 0 ? void 0 : ordinalsAddress.address) !== null && _a !== void 0 ? _a : paymentAddress === null || paymentAddress === void 0 ? void 0 : paymentAddress.address;
50
+ return (_b = ordinalsAddress === null || ordinalsAddress === void 0 ? void 0 : ordinalsAddress.address) !== null && _b !== void 0 ? _b : paymentAddress === null || paymentAddress === void 0 ? void 0 : paymentAddress.address;
40
51
  }
41
52
  return new Promise((resolve, reject) => {
42
53
  getAddress({
package/src/index.cjs CHANGED
@@ -10,6 +10,7 @@ require('bitcoinjs-lib');
10
10
  require('@dynamic-labs/wallet-connector-core');
11
11
  require('@dynamic-labs/utils');
12
12
  require('@dynamic-labs/sdk-api-core');
13
+ require('@dynamic-labs/wallet-book');
13
14
  var fetchBtcKitConnectors = require('./utils/fetchBtcKitConnectors/fetchBtcKitConnectors.cjs');
14
15
  var fetchSatsConnectConnectors = require('./utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs');
15
16
  var hasSatsConnectFeature = require('./utils/hasSatsConnectFeature.cjs');
package/src/index.js CHANGED
@@ -6,6 +6,7 @@ import 'bitcoinjs-lib';
6
6
  import '@dynamic-labs/wallet-connector-core';
7
7
  import '@dynamic-labs/utils';
8
8
  import '@dynamic-labs/sdk-api-core';
9
+ import '@dynamic-labs/wallet-book';
9
10
  import { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
10
11
  export { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
11
12
  import { fetchSatsConnectConnectors } from './utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.js';