@dynamic-labs/bitcoin 4.77.1 → 4.77.2

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,19 @@
1
1
 
2
+ ### [4.77.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.77.1...v4.77.2) (2026-04-16)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * add support for next 16 and dual-module-import breaking. ([#10926](https://github.com/dynamic-labs/dynamic-auth/issues/10926)) ([312c7b8](https://github.com/dynamic-labs/dynamic-auth/commit/312c7b83f7a39109c9a9950a6d45ea9a815dd800))
8
+ * **DYNT-399:** phantom btc missing public address ([#10914](https://github.com/dynamic-labs/dynamic-auth/issues/10914)) ([632ead1](https://github.com/dynamic-labs/dynamic-auth/commit/632ead1e3b500ff2e78915459d6764e4c4a49168))
9
+ * **playwright:** fix tests flakiness [DYNT-555] ([#10923](https://github.com/dynamic-labs/dynamic-auth/issues/10923)) ([6556884](https://github.com/dynamic-labs/dynamic-auth/commit/65568849580bb8549eb11a1c44fd22fbc56f624c))
10
+ * **playwright:** stabilize flaky tests (domain-access-control + embedded-wallet) DYNT-495 ([#10881](https://github.com/dynamic-labs/dynamic-auth/issues/10881)) ([4925e19](https://github.com/dynamic-labs/dynamic-auth/commit/4925e1903b5f6a37a550cb34ab900abff1cc9f23))
11
+ * remediate high-severity dependency vulnerabilities ([#10919](https://github.com/dynamic-labs/dynamic-auth/issues/10919)) ([7d7cfdd](https://github.com/dynamic-labs/dynamic-auth/commit/7d7cfdd162d9f7a3c8c2501d47b33ae8f4e4d26d))
12
+ * remediate high-severity dependency vulnerabilities ([#10925](https://github.com/dynamic-labs/dynamic-auth/issues/10925)) ([4039d25](https://github.com/dynamic-labs/dynamic-auth/commit/4039d25afea78c49999443caba65d42d4fc96c95))
13
+ * upgrade axios to 1.15.0 to fix CVE-2026-40175 ([#10918](https://github.com/dynamic-labs/dynamic-auth/issues/10918)) ([74751dc](https://github.com/dynamic-labs/dynamic-auth/commit/74751dcf4e7a918e39de2fb667ee6ead4a7a4602))
14
+ * **waas:** skip password prompt when wallet is not password-encrypted ([#10916](https://github.com/dynamic-labs/dynamic-auth/issues/10916)) ([e3dd403](https://github.com/dynamic-labs/dynamic-auth/commit/e3dd4035c447106d40baa5e7e12fa35fafa0808f))
15
+ * **walletconnect:** improve error logging and handle empty network configs ([#10897](https://github.com/dynamic-labs/dynamic-auth/issues/10897)) ([bea7a9f](https://github.com/dynamic-labs/dynamic-auth/commit/bea7a9fd4628e4fbca554f8eed4a0dc097fab83b))
16
+
2
17
  ### [4.77.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.77.0...v4.77.1) (2026-04-10)
3
18
 
4
19
  ### Bug Fixes
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.77.1";
6
+ var version = "4.77.2";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.77.1";
2
+ var version = "4.77.2";
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.77.1",
3
+ "version": "4.77.2",
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",
@@ -28,13 +28,13 @@
28
28
  "ecpair": "2.1.0",
29
29
  "sats-connect": "4.2.1",
30
30
  "jsontokens": "4.0.1",
31
- "@dynamic-labs/assert-package-version": "4.77.1",
32
- "@dynamic-labs/logger": "4.77.1",
33
- "@dynamic-labs/types": "4.77.1",
34
- "@dynamic-labs/utils": "4.77.1",
35
- "@dynamic-labs/waas": "4.77.1",
36
- "@dynamic-labs/wallet-book": "4.77.1",
37
- "@dynamic-labs/wallet-connector-core": "4.77.1",
31
+ "@dynamic-labs/assert-package-version": "4.77.2",
32
+ "@dynamic-labs/logger": "4.77.2",
33
+ "@dynamic-labs/types": "4.77.2",
34
+ "@dynamic-labs/utils": "4.77.2",
35
+ "@dynamic-labs/waas": "4.77.2",
36
+ "@dynamic-labs/wallet-book": "4.77.2",
37
+ "@dynamic-labs/wallet-connector-core": "4.77.2",
38
38
  "eventemitter3": "5.0.1"
39
39
  },
40
40
  "peerDependencies": {}
@@ -23,12 +23,27 @@ class PhantomConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
23
23
  var _a, _b;
24
24
  let paymentAccount, ordinalsAccount;
25
25
  if ((_a = this.walletMethods) === null || _a === void 0 ? void 0 : _a.connect) {
26
- const { accounts } = yield this.walletMethods.connect();
27
- const parsedAccounts = accounts.map((account) => ({
26
+ const { accounts } = yield this.walletMethods.connect({
27
+ purposes: ['payment', 'ordinals'],
28
+ });
29
+ const typedAccounts = accounts;
30
+ const mapAccount = (account) => ({
28
31
  address: account.address,
29
32
  publicKey: Buffer.from(account.publicKey).toString('hex'),
30
- }));
31
- [paymentAccount, ordinalsAccount] = parsedAccounts;
33
+ });
34
+ const ordinalsRaw = typedAccounts.find((a) => a.purpose === 'ordinals');
35
+ const paymentRaw = typedAccounts.find((a) => a.purpose === 'payment');
36
+ if (ordinalsRaw || paymentRaw) {
37
+ // Purpose-based assignment — matches behavior of the provider path below
38
+ ordinalsAccount = ordinalsRaw ? mapAccount(ordinalsRaw) : undefined;
39
+ paymentAccount = paymentRaw ? mapAccount(paymentRaw) : undefined;
40
+ }
41
+ else {
42
+ // Positional fallback when purpose field is absent:
43
+ // per BitcoinConnectInput spec, accounts are returned in the same order as purposes requested
44
+ const parsedAccounts = typedAccounts.map(mapAccount);
45
+ [paymentAccount, ordinalsAccount] = parsedAccounts;
46
+ }
32
47
  // in case it only returns one account, we will use it as both payment and ordinals
33
48
  if (!ordinalsAccount) {
34
49
  ordinalsAccount = paymentAccount;
@@ -19,12 +19,27 @@ class PhantomConnector extends BitcoinWalletConnector {
19
19
  var _a, _b;
20
20
  let paymentAccount, ordinalsAccount;
21
21
  if ((_a = this.walletMethods) === null || _a === void 0 ? void 0 : _a.connect) {
22
- const { accounts } = yield this.walletMethods.connect();
23
- const parsedAccounts = accounts.map((account) => ({
22
+ const { accounts } = yield this.walletMethods.connect({
23
+ purposes: ['payment', 'ordinals'],
24
+ });
25
+ const typedAccounts = accounts;
26
+ const mapAccount = (account) => ({
24
27
  address: account.address,
25
28
  publicKey: Buffer.from(account.publicKey).toString('hex'),
26
- }));
27
- [paymentAccount, ordinalsAccount] = parsedAccounts;
29
+ });
30
+ const ordinalsRaw = typedAccounts.find((a) => a.purpose === 'ordinals');
31
+ const paymentRaw = typedAccounts.find((a) => a.purpose === 'payment');
32
+ if (ordinalsRaw || paymentRaw) {
33
+ // Purpose-based assignment — matches behavior of the provider path below
34
+ ordinalsAccount = ordinalsRaw ? mapAccount(ordinalsRaw) : undefined;
35
+ paymentAccount = paymentRaw ? mapAccount(paymentRaw) : undefined;
36
+ }
37
+ else {
38
+ // Positional fallback when purpose field is absent:
39
+ // per BitcoinConnectInput spec, accounts are returned in the same order as purposes requested
40
+ const parsedAccounts = typedAccounts.map(mapAccount);
41
+ [paymentAccount, ordinalsAccount] = parsedAccounts;
42
+ }
28
43
  // in case it only returns one account, we will use it as both payment and ordinals
29
44
  if (!ordinalsAccount) {
30
45
  ordinalsAccount = paymentAccount;