@@ -13,6 +13,7 @@ import {
13
13
getMultichainAccountServiceMessenger ,
14
14
getRootMessenger ,
15
15
MOCK_BTC_P2TR_ACCOUNT_1 ,
16
+ MOCK_BTC_P2WPKH_ACCOUNT_1 ,
16
17
MOCK_BTC_P2TR_DISCOVERED_ACCOUNT_1 ,
17
18
MOCK_HD_ACCOUNT_1 ,
18
19
MOCK_HD_KEYRING_1 ,
@@ -42,7 +43,7 @@ class MockBtcKeyring {
42
43
#getIndexFromDerivationPath( derivationPath : string ) : number {
43
44
// eslint-disable-next-line prefer-regex-literals
44
45
const derivationPathIndexRegex = new RegExp (
45
- "^m/44'/501 '/(?<index>[0-9]+)'/0'$" ,
46
+ "^m/44'/0 '/(?<index>[0-9]+)'/0'$" ,
46
47
'u' ,
47
48
) ;
48
49
@@ -83,7 +84,7 @@ class MockBtcKeyring {
83
84
}
84
85
85
86
/**
86
- * Sets up a SolAccountProvider for testing.
87
+ * Sets up a BtcAccountProvider for testing.
87
88
*
88
89
* @param options - Configuration options for setup.
89
90
* @param options.messenger - An optional messenger instance to use. Defaults to a new Messenger.
@@ -161,7 +162,7 @@ function setup({
161
162
}
162
163
163
164
describe ( 'BtcAccountProvider' , ( ) => {
164
- it ( 'getName returns Solana ' , ( ) => {
165
+ it ( 'getName returns Bitcoin ' , ( ) => {
165
166
const { provider } = setup ( { accounts : [ ] } ) ;
166
167
expect ( provider . getName ( ) ) . toBe ( 'Bitcoin' ) ;
167
168
} ) ;
@@ -197,7 +198,7 @@ describe('BtcAccountProvider', () => {
197
198
} ) ;
198
199
199
200
it ( 'creates accounts' , async ( ) => {
200
- const accounts = [ MOCK_BTC_P2TR_ACCOUNT_1 ] ;
201
+ const accounts = [ MOCK_BTC_P2TR_ACCOUNT_1 , MOCK_BTC_P2WPKH_ACCOUNT_1 ] ;
201
202
const { provider, keyring } = setup ( {
202
203
accounts,
203
204
} ) ;
@@ -207,7 +208,7 @@ describe('BtcAccountProvider', () => {
207
208
entropySource : MOCK_HD_KEYRING_1 . metadata . id ,
208
209
groupIndex : newGroupIndex ,
209
210
} ) ;
210
- expect ( newAccounts ) . toHaveLength ( 1 ) ;
211
+ expect ( newAccounts ) . toHaveLength ( 2 ) ;
211
212
expect ( keyring . createAccount ) . toHaveBeenCalled ( ) ;
212
213
} ) ;
213
214
@@ -221,7 +222,7 @@ describe('BtcAccountProvider', () => {
221
222
entropySource : MOCK_HD_KEYRING_1 . metadata . id ,
222
223
groupIndex : 0 ,
223
224
} ) ;
224
- expect ( newAccounts ) . toHaveLength ( 1 ) ;
225
+ expect ( newAccounts ) . toHaveLength ( 2 ) ;
225
226
expect ( newAccounts [ 0 ] ) . toStrictEqual ( MOCK_BTC_P2TR_ACCOUNT_1 ) ;
226
227
} ) ;
227
228
@@ -261,16 +262,16 @@ describe('BtcAccountProvider', () => {
261
262
groupIndex : 0 ,
262
263
} ) ;
263
264
264
- expect ( discovered ) . toHaveLength ( 1 ) ;
265
+ expect ( discovered ) . toHaveLength ( 2 ) ;
265
266
// Ensure we did go through creation path
266
267
expect ( mocks . keyring . createAccount ) . toHaveBeenCalled ( ) ;
267
268
// Provider should now expose one account (newly created)
268
- expect ( provider . getAccounts ( ) ) . toHaveLength ( 1 ) ;
269
+ expect ( provider . getAccounts ( ) ) . toHaveLength ( 2 ) ;
269
270
} ) ;
270
271
271
272
it ( 'returns existing account if it already exists at index' , async ( ) => {
272
273
const { provider, mocks } = setup ( {
273
- accounts : [ MOCK_BTC_P2TR_ACCOUNT_1 ] ,
274
+ accounts : [ MOCK_BTC_P2TR_ACCOUNT_1 , MOCK_BTC_P2WPKH_ACCOUNT_1 ] ,
274
275
} ) ;
275
276
276
277
// Simulate one discovered account — should resolve to the existing one
@@ -281,7 +282,10 @@ describe('BtcAccountProvider', () => {
281
282
groupIndex : 0 ,
282
283
} ) ;
283
284
284
- expect ( discovered ) . toStrictEqual ( [ MOCK_BTC_P2TR_ACCOUNT_1 ] ) ;
285
+ expect ( discovered ) . toStrictEqual ( [
286
+ MOCK_BTC_P2TR_ACCOUNT_1 ,
287
+ MOCK_BTC_P2WPKH_ACCOUNT_1 ,
288
+ ] ) ;
285
289
} ) ;
286
290
287
291
it ( 'does not return any accounts if no account is discovered' , async ( ) => {
0 commit comments