@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.
- package/dist/BridgeParent.d.ts +38 -1
- package/dist/BridgeParent.d.ts.map +1 -1
- package/dist/BridgeParent.js +51 -6
- package/dist/BridgeParent.js.map +1 -1
- package/package.json +1 -1
- package/src/BridgeParent.test.ts +74 -9
- package/src/BridgeParent.ts +106 -15
- package/src/bip122-account-marshaling.test.ts +119 -0
package/dist/BridgeParent.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":"AAOA,OAAO,EAAc,WAAW,EAAwB,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAkCnF,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAEvE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;IAE/D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;CAC5E;AAED,UAAU,6BAA8B,SAAQ,qBAAqB;IACnE,eAAe,EAAE,CACb,2BAA2B,GAC3B,2BAA2B,GAC3B,+BAA+B,GAC/B,4BAA4B,CAC/B,EAAE,CAAA;IACH,yBAAyB,EAAE,CACzB,WAAW,EAAE,eAAe,EAC5B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,yBAAyB,EAAE,CACzB,WAAW,EAAE,eAAe,KACzB,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,CAAA;IACjC,6BAA6B,EAAE,CAC7B,YAAY,EAAE,eAAe,EAAE,KAC5B,OAAO,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAA;IACnC,0BAA0B,EAAE,CAC1B,WAAW,EAAE,eAAe,EAC5B,gBAAgB,CAAC,EAAE,MAAM,KACtB,OAAO,CAAC,UAAU,CAAC,CAAA;CACzB;
|
|
1
|
+
{"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
|
package/dist/BridgeParent.js
CHANGED
|
@@ -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
|
|
285
|
-
//
|
|
286
|
-
// signal
|
|
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
|
|
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
|
-
|
|
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
|
package/dist/BridgeParent.js.map
CHANGED
|
@@ -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
package/src/BridgeParent.test.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
817
|
+
const { off, teardown } = await armBitcoinWallet([
|
|
753
818
|
{ address: 'bc1qACC1' }
|
|
754
819
|
])
|
|
755
820
|
off.mockReturnValue({ some: 'non-cloneable-emitter-return' })
|
package/src/BridgeParent.ts
CHANGED
|
@@ -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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
126
|
-
|
|
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
|
|
573
|
-
//
|
|
574
|
-
// signal
|
|
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
|
|
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
|
|
1234
|
+
accounts: (wallet.accounts ?? []).map(toBip122WireAccount),
|
|
1160
1235
|
features: {
|
|
1161
1236
|
'bitcoin:connect': connectFeature
|
|
1162
1237
|
? Comlink.proxy({
|
|
1163
|
-
|
|
1164
|
-
|
|
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
|
+
})
|