11import Core from '@nervosnetwork/ckb-sdk-core'
22import { v4 as uuid } from 'uuid'
3- import { BehaviorSubject } from 'rxjs'
4- import { LackOfDefaultNetwork , DefaultNetworkUnremovable } from 'exceptions/network'
3+ import { DefaultNetworkUnremovable , LackOfDefaultNetwork } from 'exceptions/network'
54
65import Store from 'models/store'
76
87import { Validate , Required } from 'decorators'
98import { UsedName , NetworkNotFound , InvalidFormat } from 'exceptions'
109import { NetworkListSubject , CurrentNetworkIDSubject } from 'models/subjects/networks'
1110import { MAINNET_GENESIS_HASH , EMPTY_GENESIS_HASH , NetworkID , NetworkName , NetworkRemote , NetworksKey , NetworkType , Network , NetworkWithID } from 'types/network'
11+ import { remote } from 'electron'
12+ import NetworkSwitchSubject from 'models/subjects/network-switch-subject'
1213
13- export const networkSwitchSubject = new BehaviorSubject < undefined | NetworkWithID > ( undefined )
14+ const isRenderer = process && process . type === 'renderer'
15+ const networkSwitchSubject = isRenderer
16+ ? remote . require ( './models/subjects/network-switch-subject' ) . default . getSubject ( )
17+ : NetworkSwitchSubject . getSubject ( )
18+
19+ const currentNetworkIDSubject = isRenderer
20+ ? remote . require ( './models/subjects/networks' ) . default . CurrentNetworkIDSubject
21+ : CurrentNetworkIDSubject
22+
23+ const networkListSubject = isRenderer
24+ ? remote . require ( './models/subjects/networks' ) . default . NetworkListSubject
25+ : NetworkListSubject
1426
1527const presetNetworks : { selected : string , networks : NetworkWithID [ ] } = {
1628 selected : 'mainnet' ,
@@ -40,20 +52,20 @@ export default class NetworksService extends Store {
4052 super ( 'networks' , 'index.json' , JSON . stringify ( presetNetworks ) )
4153
4254 const currentNetworkList = this . getAll ( )
43- NetworkListSubject . next ( { currentNetworkList } )
55+ networkListSubject . next ( { currentNetworkList } )
4456
4557 const currentNetwork = this . getCurrent ( )
4658 if ( currentNetwork ) {
4759 if ( currentNetwork . type !== NetworkType . Default ) {
4860 this . update ( currentNetwork . id , { } ) // Update to trigger chain/genesis hash refresh
4961 }
5062
51- CurrentNetworkIDSubject . next ( { currentNetworkID : currentNetwork . id } )
63+ currentNetworkIDSubject . next ( { currentNetworkID : currentNetwork . id } )
5264 networkSwitchSubject . next ( currentNetwork )
5365 }
5466
5567 this . on ( NetworksKey . List , async ( _ , currentNetworkList : NetworkWithID [ ] = [ ] ) => {
56- NetworkListSubject . next ( { currentNetworkList } )
68+ networkListSubject . next ( { currentNetworkList } )
5769
5870 const currentID = this . getCurrentID ( )
5971 if ( currentNetworkList . find ( network => network . id === currentID ) ) {
@@ -72,7 +84,7 @@ export default class NetworksService extends Store {
7284 if ( ! currentNetwork ) {
7385 throw new NetworkNotFound ( currentNetworkID )
7486 }
75- CurrentNetworkIDSubject . next ( { currentNetworkID } )
87+ currentNetworkIDSubject . next ( { currentNetworkID } )
7688 networkSwitchSubject . next ( currentNetwork )
7789 } )
7890 }
@@ -158,7 +170,7 @@ export default class NetworksService extends Store {
158170 this . updateAll ( list )
159171
160172 if ( this . getCurrentID ( ) === id ) {
161- CurrentNetworkIDSubject . next ( { currentNetworkID : id } )
173+ currentNetworkIDSubject . next ( { currentNetworkID : id } )
162174 networkSwitchSubject . next ( network )
163175 }
164176 }
0 commit comments