@meshconnect/uwc-bridge-parent 1.6.1 → 1.7.0

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.
@@ -25,6 +25,40 @@ export interface WalletStandardInfo {
25
25
  interface Bip122ConnectFeature {
26
26
  connect: (input: unknown) => Promise<unknown>;
27
27
  }
28
+ /**
29
+ * Marshaled so a FRAMED child can revoke the origin's bip122 authorization.
30
+ * Without it the child's only route was a local-cache clear, which leaves the
31
+ * grant intact — so a re-connect replays the same account and a pinned-address
32
+ * connect can never reach a different one.
33
+ */
34
+ interface Bip122DisconnectFeature {
35
+ disconnect: () => Promise<unknown>;
36
+ }
37
+ /**
38
+ * A bip122 account reduced to plain, structured-cloneable data.
39
+ *
40
+ * `publicKey` travels as a number array rather than a `Uint8Array`: the child
41
+ * rebuilds it (`BridgeChild.reviveBip122Account`), which keeps the wire shape
42
+ * free of typed-array assumptions.
43
+ */
44
+ export interface Bip122WireAccount {
45
+ address: string;
46
+ publicKey: number[];
47
+ purpose?: string;
48
+ }
49
+ /**
50
+ * Reshape a wallet-native bip122 account into plain data before it crosses
51
+ * Comlink.
52
+ *
53
+ * REQUIRED, not cosmetic. Comlink marshals by structured clone, which copies
54
+ * only OWN ENUMERABLE properties — and MetaMask's account is a class instance
55
+ * whose `address`/`publicKey` are accessors on the prototype chain
56
+ * (`Object.getOwnPropertyNames(account)` is `[]`). Passing one through
57
+ * unchanged therefore delivers `{}` to the child, and the first
58
+ * `bytesToHex(account.publicKey)` throws "bytes is not iterable" — which made
59
+ * every framed bip122 connect fail before reaching the wallet.
60
+ */
61
+ export declare function toBip122WireAccount(account: unknown): Bip122WireAccount;
28
62
  interface Bip122SignMessageFeature {
29
63
  signMessage: (input: unknown) => Promise<unknown>;
30
64
  }
@@ -41,9 +75,12 @@ interface Bip122SignTransactionFeature {
41
75
  */
42
76
  export interface Bip122WireWallet {
43
77
  name: string;
44
- accounts: any[];
78
+ /** Plain data — see {@link toBip122WireAccount} for why this cannot be the
79
+ * wallet's own account objects. */
80
+ accounts: Bip122WireAccount[];
45
81
  features: {
46
82
  'bitcoin:connect'?: Bip122ConnectFeature | undefined;
83
+ 'bitcoin:disconnect'?: Bip122DisconnectFeature | undefined;
47
84
  'bitcoin:signMessage'?: Bip122SignMessageFeature | undefined;
48
85
  'bitcoin:signTransaction'?: Bip122SignTransactionFeature | undefined;
49
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,28 @@ function wrapWithSourceGuard(listener, expectedSource) {
23
23
  }
24
24
  };
25
25
  }
26
+ /**
27
+ * Reshape a wallet-native bip122 account into plain data before it crosses
28
+ * Comlink.
29
+ *
30
+ * REQUIRED, not cosmetic. Comlink marshals by structured clone, which copies
31
+ * only OWN ENUMERABLE properties — and MetaMask's account is a class instance
32
+ * whose `address`/`publicKey` are accessors on the prototype chain
33
+ * (`Object.getOwnPropertyNames(account)` is `[]`). Passing one through
34
+ * unchanged therefore delivers `{}` to the child, and the first
35
+ * `bytesToHex(account.publicKey)` throws "bytes is not iterable" — which made
36
+ * every framed bip122 connect fail before reaching the wallet.
37
+ */
38
+ export function toBip122WireAccount(account) {
39
+ const a = account;
40
+ return {
41
+ address: a.address,
42
+ // `Array.from` handles both a real Uint8Array and an already-plain array,
43
+ // so a wallet that hands back either shape marshals identically.
44
+ publicKey: Array.from(a.publicKey ?? []),
45
+ ...(a.purpose ? { purpose: a.purpose } : {})
46
+ };
47
+ }
26
48
  export class BridgeParent {
27
49
  iframe;
28
50
  parentAPI = null;
@@ -281,11 +303,20 @@ export class BridgeParent {
281
303
  throw new Error(`subscribeBip122WalletEvent: no wallet found for walletId "${walletId}"`);
282
304
  }
283
305
  // ONLY path — Bitcoin has no adapter class to re-emit connect/disconnect
284
- // on a switch the way StandardWalletAdapter does for Solana, so there is
285
- // no fallback branch here: standard:events is the sole account-change
286
- // signal a bitcoin:* wallet exposes.
306
+ // on a switch the way StandardWalletAdapter does for Solana.
307
+ //
308
+ // Wallets disagree on WHERE that signal lives: Trust publishes
309
+ // `standard:events`, MetaMask publishes `bitcoin:events`. Both expose
310
+ // the same `on('change', …)` contract. Reading only the standard key
311
+ // made every MetaMask account switch unobservable on the FRAMED path —
312
+ // i.e. production Link, since the child routes through this bridge
313
+ // before its own direct-mode fallback can run. Select on callability so
314
+ // a present-but-malformed feature can't shadow a working one.
287
315
  const standardWallet = wallet;
288
- const standardEvents = standardWallet.features?.['standard:events'];
316
+ const features = standardWallet.features;
317
+ const standardEvents = typeof features?.['standard:events']?.on === 'function'
318
+ ? features['standard:events']
319
+ : features?.['bitcoin:events'];
289
320
  if (typeof standardEvents?.on !== 'function')
290
321
  return undefined;
291
322
  // Reduce to a plain string | null BEFORE crossing Comlink — the raw
@@ -747,6 +778,7 @@ export class BridgeParent {
747
778
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
748
779
  const features = wallet.features;
749
780
  const connectFeature = features['bitcoin:connect'];
781
+ const disconnectFeature = features['bitcoin:disconnect'];
750
782
  const signMessageFeature = features['bitcoin:signMessage'];
751
783
  const signTransactionFeature = features['bitcoin:signTransaction'];
752
784
  bitcoinWallets.push({
@@ -755,11 +787,24 @@ export class BridgeParent {
755
787
  features: Object.keys(wallet.features),
756
788
  wallet: {
757
789
  name: wallet.name,
758
- accounts: wallet.accounts,
790
+ accounts: (wallet.accounts ?? []).map(toBip122WireAccount),
759
791
  features: {
760
792
  'bitcoin:connect': connectFeature
761
793
  ? Comlink.proxy({
762
- connect: async (input) => await connectFeature.connect(input)
794
+ // Reshape the RESULT too, not just the snapshot above — the
795
+ // accounts a connect returns are the same prototype-accessor
796
+ // instances and would otherwise cross as `{}`.
797
+ connect: async (input) => {
798
+ const result = (await connectFeature.connect(input));
799
+ return {
800
+ accounts: (result?.accounts ?? []).map(toBip122WireAccount)
801
+ };
802
+ }
803
+ })
804
+ : undefined,
805
+ 'bitcoin:disconnect': disconnectFeature
806
+ ? Comlink.proxy({
807
+ disconnect: async () => await disconnectFeature.disconnect()
763
808
  })
764
809
  : undefined,
765
810
  'bitcoin:signMessage': signMessageFeature
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-bridge-parent",
3
- "version": "1.6.1",
3
+ "version": "1.7.0",
4
4
  "description": "Parent window bridge for Universal Wallet Connector",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -611,21 +611,39 @@ describe('BridgeParent', () => {
611
611
  // for a `bitcoin:*` wallet whose uuid matches. `standard:events` is the
612
612
  // ONLY path (no connect/disconnect fallback), since there is no adapter
613
613
  // to re-emit them.
614
- async function armStandardEventsBitcoinWallet(
614
+ /**
615
+ * Arm a discovered bip122 wallet whose account-change stream lives under
616
+ * `eventsKey`, and subscribe to it through the bridge.
617
+ *
618
+ * Parameterized on the key because wallets disagree on where that stream
619
+ * lives — Trust publishes `standard:events`, MetaMask `bitcoin:events` —
620
+ * and the bridge must handle both identically.
621
+ */
622
+ async function armBitcoinWallet(
615
623
  initialAccounts: { address: string }[],
616
- chains: string[] = ['bitcoin:mainnet']
624
+ opts: {
625
+ eventsKey?: 'standard:events' | 'bitcoin:events'
626
+ chains?: string[]
627
+ /** Adds an uncallable `standard:events`, which must not shadow a working key. */
628
+ malformedStandardEvents?: boolean
629
+ } = {}
617
630
  ) {
631
+ const {
632
+ eventsKey = 'standard:events',
633
+ chains = ['bitcoin:mainnet'],
634
+ malformedStandardEvents = false
635
+ } = opts
618
636
  const { getWallets } = await import('@wallet-standard/app')
619
637
 
620
638
  let changeListener: ((props: unknown) => void) | undefined
621
639
  const off = vi.fn()
622
- const wallet = {
640
+ const wallet: any = {
623
641
  name: 'MetaMask',
624
642
  chains,
625
643
  accounts: initialAccounts,
626
644
  features: {
627
645
  'bitcoin:connect': { connect: vi.fn() },
628
- 'standard:events': {
646
+ [eventsKey]: {
629
647
  on: vi.fn((event: string, listener: (props: unknown) => void) => {
630
648
  if (event === 'change') changeListener = listener
631
649
  return off
@@ -633,6 +651,7 @@ describe('BridgeParent', () => {
633
651
  }
634
652
  }
635
653
  }
654
+ if (malformedStandardEvents) wallet.features['standard:events'] = {}
636
655
 
637
656
  vi.mocked(getWallets).mockReturnValue({
638
657
  get: () => [wallet] as any,
@@ -659,6 +678,51 @@ describe('BridgeParent', () => {
659
678
  }
660
679
  }
661
680
 
681
+ it('falls back to bitcoin:events and forwards the active address (MetaMask)', async () => {
682
+ const { wallet, callback, fire, teardown, off } = await armBitcoinWallet(
683
+ [{ address: 'bc1qoriginal' }],
684
+ {
685
+ eventsKey: 'bitcoin:events'
686
+ }
687
+ )
688
+
689
+ expect(wallet.features['bitcoin:events'].on).toHaveBeenCalledWith(
690
+ 'change',
691
+ expect.any(Function)
692
+ )
693
+
694
+ wallet.accounts = [{ address: 'bc1qswitched' }]
695
+ fire({ accounts: wallet.accounts })
696
+ expect(callback).toHaveBeenCalledWith('bc1qswitched')
697
+
698
+ // De-authorized → null, which the child maps to [] (a disconnect).
699
+ wallet.accounts = []
700
+ fire({ accounts: [] })
701
+ expect(callback).toHaveBeenCalledWith(null)
702
+
703
+ // A pure chain/feature delta carries no `accounts` and must be ignored.
704
+ fire({ chains: ['bitcoin:mainnet'] })
705
+ expect(callback).toHaveBeenCalledTimes(2)
706
+
707
+ teardown?.()
708
+ expect(off).toHaveBeenCalledTimes(1)
709
+ })
710
+
711
+ it('prefers bitcoin:events over a present-but-uncallable standard:events', async () => {
712
+ const { wallet, callback, fire } = await armBitcoinWallet(
713
+ [{ address: 'bc1qoriginal' }],
714
+ {
715
+ eventsKey: 'bitcoin:events',
716
+ malformedStandardEvents: true
717
+ }
718
+ )
719
+
720
+ wallet.accounts = [{ address: 'bc1qswitched' }]
721
+ fire({ accounts: wallet.accounts })
722
+
723
+ expect(callback).toHaveBeenCalledWith('bc1qswitched')
724
+ })
725
+
662
726
  it('throws when no wallet matches the given walletId', async () => {
663
727
  const { getWallets } = await import('@wallet-standard/app')
664
728
  vi.mocked(getWallets).mockReturnValue({
@@ -707,7 +771,7 @@ describe('BridgeParent', () => {
707
771
  })
708
772
 
709
773
  it('resolves a multi-chain wallet (eip155 first) by its bitcoin:-keyed walletId, not chains[0]', async () => {
710
- const { teardown } = await armStandardEventsBitcoinWallet(
774
+ const { teardown } = await armBitcoinWallet(
711
775
  [{ address: 'bc1qexisting' }],
712
776
  ['eip155:1', 'eip155:137', 'bitcoin:mainnet']
713
777
  )
@@ -715,7 +779,7 @@ describe('BridgeParent', () => {
715
779
  })
716
780
 
717
781
  it('subscribes to standard:events change and forwards the active address as a plain string', async () => {
718
- const { wallet, teardown, off } = await armStandardEventsBitcoinWallet([
782
+ const { wallet, teardown, off } = await armBitcoinWallet([
719
783
  { address: 'bc1qoriginal' }
720
784
  ])
721
785
 
@@ -729,8 +793,9 @@ describe('BridgeParent', () => {
729
793
  })
730
794
 
731
795
  it('propagates a switch, then null on de-auth, and ignores non-account changes', async () => {
732
- const { wallet, callback, off, teardown, fire } =
733
- await armStandardEventsBitcoinWallet([{ address: 'bc1qACC1' }])
796
+ const { wallet, callback, off, teardown, fire } = await armBitcoinWallet([
797
+ { address: 'bc1qACC1' }
798
+ ])
734
799
 
735
800
  wallet.accounts = [{ address: 'bc1qACC2' }]
736
801
  fire({ accounts: wallet.accounts })
@@ -749,7 +814,7 @@ describe('BridgeParent', () => {
749
814
  })
750
815
 
751
816
  it('never lets the wallet-standard unsubscribe return value escape the teardown (unserializable-return-value guard)', async () => {
752
- const { off, teardown } = await armStandardEventsBitcoinWallet([
817
+ const { off, teardown } = await armBitcoinWallet([
753
818
  { address: 'bc1qACC1' }
754
819
  ])
755
820
  off.mockReturnValue({ some: 'non-cloneable-emitter-return' })
@@ -80,15 +80,27 @@ interface ExtendedStandardWalletAdapter extends StandardWalletAdapter {
80
80
  * contract); `accounts` is the wallet's currently-authorized account set, whose
81
81
  * first entry is the active account.
82
82
  */
83
+ /**
84
+ * A wallet-standard `change` event stream. Aliased because bip122 wallets
85
+ * publish it under two different feature keys and the shape is identical for
86
+ * both — writing the signature out twice invites them drifting apart.
87
+ */
88
+ interface Bip122ChangeEvents {
89
+ on?: (
90
+ event: 'change',
91
+ listener: (properties: { accounts?: readonly unknown[] }) => void
92
+ ) => () => void
93
+ }
94
+
83
95
  interface StandardEventsCapableWallet {
84
96
  accounts?: readonly { address: string }[]
85
97
  features?: {
86
- 'standard:events'?: {
87
- on?: (
88
- event: 'change',
89
- listener: (properties: { accounts?: readonly unknown[] }) => void
90
- ) => () => void
91
- }
98
+ 'standard:events'?: Bip122ChangeEvents
99
+ // MetaMask publishes its bitcoin account-change stream under
100
+ // `bitcoin:events`, NOT `standard:events` (Trust uses the latter). Same
101
+ // `on('change', …)` contract, different key — so both are read. Mirrors
102
+ // `BitcoinWalletService`'s identically-named type.
103
+ 'bitcoin:events'?: Bip122ChangeEvents
92
104
  }
93
105
  }
94
106
 
@@ -104,6 +116,56 @@ interface Bip122ConnectFeature {
104
116
  connect: (input: unknown) => Promise<unknown>
105
117
  }
106
118
 
119
+ /**
120
+ * Marshaled so a FRAMED child can revoke the origin's bip122 authorization.
121
+ * Without it the child's only route was a local-cache clear, which leaves the
122
+ * grant intact — so a re-connect replays the same account and a pinned-address
123
+ * connect can never reach a different one.
124
+ */
125
+ interface Bip122DisconnectFeature {
126
+ disconnect: () => Promise<unknown>
127
+ }
128
+
129
+ /**
130
+ * A bip122 account reduced to plain, structured-cloneable data.
131
+ *
132
+ * `publicKey` travels as a number array rather than a `Uint8Array`: the child
133
+ * rebuilds it (`BridgeChild.reviveBip122Account`), which keeps the wire shape
134
+ * free of typed-array assumptions.
135
+ */
136
+ export interface Bip122WireAccount {
137
+ address: string
138
+ publicKey: number[]
139
+ purpose?: string
140
+ }
141
+
142
+ /**
143
+ * Reshape a wallet-native bip122 account into plain data before it crosses
144
+ * Comlink.
145
+ *
146
+ * REQUIRED, not cosmetic. Comlink marshals by structured clone, which copies
147
+ * only OWN ENUMERABLE properties — and MetaMask's account is a class instance
148
+ * whose `address`/`publicKey` are accessors on the prototype chain
149
+ * (`Object.getOwnPropertyNames(account)` is `[]`). Passing one through
150
+ * unchanged therefore delivers `{}` to the child, and the first
151
+ * `bytesToHex(account.publicKey)` throws "bytes is not iterable" — which made
152
+ * every framed bip122 connect fail before reaching the wallet.
153
+ */
154
+ export function toBip122WireAccount(account: unknown): Bip122WireAccount {
155
+ const a = account as {
156
+ address: string
157
+ publicKey: Uint8Array | number[]
158
+ purpose?: string
159
+ }
160
+ return {
161
+ address: a.address,
162
+ // `Array.from` handles both a real Uint8Array and an already-plain array,
163
+ // so a wallet that hands back either shape marshals identically.
164
+ publicKey: Array.from(a.publicKey ?? []),
165
+ ...(a.purpose ? { purpose: a.purpose } : {})
166
+ }
167
+ }
168
+
107
169
  interface Bip122SignMessageFeature {
108
170
  signMessage: (input: unknown) => Promise<unknown>
109
171
  }
@@ -122,10 +184,12 @@ interface Bip122SignTransactionFeature {
122
184
  */
123
185
  export interface Bip122WireWallet {
124
186
  name: string
125
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
- accounts: any[]
187
+ /** Plain data — see {@link toBip122WireAccount} for why this cannot be the
188
+ * wallet's own account objects. */
189
+ accounts: Bip122WireAccount[]
127
190
  features: {
128
191
  'bitcoin:connect'?: Bip122ConnectFeature | undefined
192
+ 'bitcoin:disconnect'?: Bip122DisconnectFeature | undefined
129
193
  'bitcoin:signMessage'?: Bip122SignMessageFeature | undefined
130
194
  'bitcoin:signTransaction'?: Bip122SignTransactionFeature | undefined
131
195
  }
@@ -569,11 +633,21 @@ export class BridgeParent {
569
633
  )
570
634
  }
571
635
  // ONLY path — Bitcoin has no adapter class to re-emit connect/disconnect
572
- // on a switch the way StandardWalletAdapter does for Solana, so there is
573
- // no fallback branch here: standard:events is the sole account-change
574
- // signal a bitcoin:* wallet exposes.
636
+ // on a switch the way StandardWalletAdapter does for Solana.
637
+ //
638
+ // Wallets disagree on WHERE that signal lives: Trust publishes
639
+ // `standard:events`, MetaMask publishes `bitcoin:events`. Both expose
640
+ // the same `on('change', …)` contract. Reading only the standard key
641
+ // made every MetaMask account switch unobservable on the FRAMED path —
642
+ // i.e. production Link, since the child routes through this bridge
643
+ // before its own direct-mode fallback can run. Select on callability so
644
+ // a present-but-malformed feature can't shadow a working one.
575
645
  const standardWallet = wallet as unknown as StandardEventsCapableWallet
576
- const standardEvents = standardWallet.features?.['standard:events']
646
+ const features = standardWallet.features
647
+ const standardEvents =
648
+ typeof features?.['standard:events']?.on === 'function'
649
+ ? features['standard:events']
650
+ : features?.['bitcoin:events']
577
651
  if (typeof standardEvents?.on !== 'function') return undefined
578
652
 
579
653
  // Reduce to a plain string | null BEFORE crossing Comlink — the raw
@@ -1147,6 +1221,7 @@ export class BridgeParent {
1147
1221
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1148
1222
  const features = wallet.features as Record<string, any>
1149
1223
  const connectFeature = features['bitcoin:connect']
1224
+ const disconnectFeature = features['bitcoin:disconnect']
1150
1225
  const signMessageFeature = features['bitcoin:signMessage']
1151
1226
  const signTransactionFeature = features['bitcoin:signTransaction']
1152
1227
 
@@ -1156,12 +1231,28 @@ export class BridgeParent {
1156
1231
  features: Object.keys(wallet.features),
1157
1232
  wallet: {
1158
1233
  name: wallet.name,
1159
- accounts: wallet.accounts as unknown[],
1234
+ accounts: (wallet.accounts ?? []).map(toBip122WireAccount),
1160
1235
  features: {
1161
1236
  'bitcoin:connect': connectFeature
1162
1237
  ? Comlink.proxy({
1163
- connect: async (input: unknown) =>
1164
- await connectFeature.connect(input)
1238
+ // Reshape the RESULT too, not just the snapshot above — the
1239
+ // accounts a connect returns are the same prototype-accessor
1240
+ // instances and would otherwise cross as `{}`.
1241
+ connect: async (input: unknown) => {
1242
+ const result = (await connectFeature.connect(input)) as {
1243
+ accounts?: unknown[]
1244
+ }
1245
+ return {
1246
+ accounts: (result?.accounts ?? []).map(
1247
+ toBip122WireAccount
1248
+ )
1249
+ }
1250
+ }
1251
+ })
1252
+ : undefined,
1253
+ 'bitcoin:disconnect': disconnectFeature
1254
+ ? Comlink.proxy({
1255
+ disconnect: async () => await disconnectFeature.disconnect()
1165
1256
  })
1166
1257
  : undefined,
1167
1258
  'bitcoin:signMessage': signMessageFeature
@@ -0,0 +1,119 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { toBip122WireAccount } from './BridgeParent'
3
+
4
+ /**
5
+ * Regression guard for the bip122 account wire shape.
6
+ *
7
+ * Framed bip122 connect failed for every wallet until `toBip122WireAccount`
8
+ * existed: Comlink marshals with the structured clone algorithm, which copies
9
+ * only OWN ENUMERABLE properties, and MetaMask's bitcoin account is a class
10
+ * instance whose `address`/`publicKey` live as accessors on the prototype. The
11
+ * child therefore received `{}` and the adapter's first
12
+ * `bytesToHex(account.publicKey)` threw "bytes is not iterable" — before the
13
+ * request ever reached the wallet.
14
+ *
15
+ * `structuredClone` is used directly rather than a real MessageChannel: it IS
16
+ * the algorithm `postMessage` applies, and isolating it keeps the failing
17
+ * mechanism visible instead of buried in transport setup.
18
+ */
19
+
20
+ /**
21
+ * Stand-in for a wallet-native account.
22
+ *
23
+ * The `#` private fields are load-bearing — they are what makes
24
+ * `Object.getOwnPropertyNames(account)` empty, exactly as observed on
25
+ * MetaMask's real account object. A fixture using ordinary properties would
26
+ * survive a structured clone and would therefore pass against the very bug
27
+ * this file exists to catch.
28
+ */
29
+ class WalletNativeAccount {
30
+ readonly #address: string
31
+ readonly #publicKey: Uint8Array
32
+ readonly #purpose?: string
33
+
34
+ constructor(address: string, publicKey: Uint8Array, purpose?: string) {
35
+ this.#address = address
36
+ this.#publicKey = publicKey
37
+ this.#purpose = purpose
38
+ }
39
+
40
+ get address(): string {
41
+ return this.#address
42
+ }
43
+ get publicKey(): Uint8Array {
44
+ return this.#publicKey
45
+ }
46
+ get purpose(): string | undefined {
47
+ return this.#purpose
48
+ }
49
+ }
50
+
51
+ const ADDRESS = 'bc1qjxztncefrl5czfyfxd449t8tht634g9cnaz5ka'
52
+ const PUBLIC_KEY = Uint8Array.from([3, 65, 234, 69, 78, 93, 165, 185, 148])
53
+
54
+ describe('toBip122WireAccount', () => {
55
+ it('confirms the flattening this transform exists to prevent', () => {
56
+ const account = new WalletNativeAccount(ADDRESS, PUBLIC_KEY, 'payment')
57
+
58
+ // The accessors are on the prototype, so the instance owns nothing...
59
+ expect(Object.getOwnPropertyNames(account)).toEqual([])
60
+
61
+ // ...and a structured clone consequently carries no data at all.
62
+ const cloned = structuredClone(account) as Record<string, unknown>
63
+ expect(Object.keys(cloned)).toEqual([])
64
+ expect(cloned.address).toBeUndefined()
65
+ expect(cloned.publicKey).toBeUndefined()
66
+ })
67
+
68
+ it('survives a structured clone with every field the adapter reads', () => {
69
+ const account = new WalletNativeAccount(ADDRESS, PUBLIC_KEY, 'payment')
70
+
71
+ const cloned = structuredClone(toBip122WireAccount(account))
72
+
73
+ // These three are exactly what wallet-standard.ts `getAccounts` consumes.
74
+ expect(cloned.address).toBe(ADDRESS)
75
+ expect(cloned.publicKey).toEqual([3, 65, 234, 69, 78, 93, 165, 185, 148])
76
+ expect(cloned.purpose).toBe('payment')
77
+ })
78
+
79
+ it('sends publicKey as a plain array so the wire carries no typed-array assumption', () => {
80
+ const wire = toBip122WireAccount(
81
+ new WalletNativeAccount(ADDRESS, PUBLIC_KEY)
82
+ )
83
+
84
+ expect(Array.isArray(wire.publicKey)).toBe(true)
85
+ expect(wire.publicKey).not.toBeInstanceOf(Uint8Array)
86
+ })
87
+
88
+ it('omits purpose when the wallet does not report one', () => {
89
+ const wire = toBip122WireAccount(
90
+ new WalletNativeAccount(ADDRESS, PUBLIC_KEY)
91
+ )
92
+
93
+ expect('purpose' in wire).toBe(false)
94
+ })
95
+
96
+ it('marshals a wallet that already hands back plain data identically', () => {
97
+ // Not every bip122 wallet uses accessor-backed classes; a plain object with
98
+ // a number-array publicKey must produce the same wire shape.
99
+ const wire = toBip122WireAccount({
100
+ address: ADDRESS,
101
+ publicKey: [3, 65, 234],
102
+ purpose: 'ordinal'
103
+ })
104
+
105
+ expect(wire).toEqual({
106
+ address: ADDRESS,
107
+ publicKey: [3, 65, 234],
108
+ purpose: 'ordinal'
109
+ })
110
+ })
111
+
112
+ it('tolerates a missing publicKey rather than throwing mid-discovery', () => {
113
+ // Discovery maps EVERY account; one malformed entry must not take down the
114
+ // whole wallet list.
115
+ const wire = toBip122WireAccount({ address: ADDRESS })
116
+
117
+ expect(wire.publicKey).toEqual([])
118
+ })
119
+ })