@@ -3,13 +3,14 @@ import {
3
3
WalletFactory ,
4
4
WalletManagerActivateProps ,
5
5
WalletManagerWorker ,
6
+ WalletRepository ,
6
7
exposeApi ,
7
8
walletManagerChannel ,
8
9
walletManagerProperties
9
10
} from '@cardano-sdk/web-extension' ;
10
11
11
- import { AsyncKeyAgent } from '@cardano-sdk/key-management' ;
12
12
import { storage as WebExtensionStorage , runtime } from 'webextension-polyfill' ;
13
+ import { Witnesser } from '@cardano-sdk/key-management' ;
13
14
import { env , logger } from '../util' ;
14
15
import { from , merge , of } from 'rxjs' ;
15
16
import { getWallet } from '../../../../src' ;
@@ -18,7 +19,7 @@ import { toEmpty } from '@cardano-sdk/util-rxjs';
18
19
import { walletName } from '../const' ;
19
20
20
21
export interface WalletFactoryDependencies {
21
- keyAgent : AsyncKeyAgent ;
22
+ witnesser : Witnesser ;
22
23
stores : storage . WalletStores ;
23
24
}
24
25
@@ -28,26 +29,31 @@ export interface WalletFactoryDependencies {
28
29
* Please check its documentation for examples.
29
30
*/
30
31
const walletFactory : WalletFactory = {
31
- create : async ( props : WalletManagerActivateProps , { keyAgent , stores } : WalletFactoryDependencies ) =>
32
+ create : async ( props : WalletManagerActivateProps , { witnesser , stores } : WalletFactoryDependencies ) =>
32
33
(
33
34
await getWallet ( {
34
35
env,
35
- keyAgent,
36
36
logger,
37
37
name : props . observableWalletName ,
38
- stores
38
+ stores,
39
+ witnesser
39
40
} )
40
41
) . wallet
41
42
} ;
42
43
43
44
const storesFactory : StoresFactory = {
44
- create : ( { walletId } ) => storage . createPouchDbWalletStores ( walletId , { logger } )
45
+ create : ( { name } ) => storage . createPouchDbWalletStores ( name , { logger } )
45
46
} ;
46
47
47
48
export const wallet$ = ( ( ) => {
49
+ const walletRepository = new WalletRepository < any > ( {
50
+ logger,
51
+ store : new storage . InMemoryCollectionStore ( )
52
+ } ) ;
53
+
48
54
const walletManager = new WalletManagerWorker (
49
55
{ walletName } ,
50
- { logger, managerStorage : WebExtensionStorage . local , runtime, storesFactory, walletFactory }
56
+ { logger, managerStorage : WebExtensionStorage . local , runtime, storesFactory, walletFactory, walletRepository }
51
57
) ;
52
58
exposeApi (
53
59
{ api$ : of ( walletManager ) , baseChannel : walletManagerChannel ( walletName ) , properties : walletManagerProperties } ,
0 commit comments