@@ -23,52 +23,36 @@ QtObject {
2323 required property var connectorController
2424 property string httpUserAgent: " " // Custom user agent for web profiles
2525
26- property alias dappUrl: connectorManager .dappUrl
27- property alias dappOrigin: connectorManager .dappOrigin
28- property alias dappName: connectorManager .dappName
29- property alias dappIconUrl: connectorManager .dappIconUrl
30- property alias clientId: connectorManager .clientId
26+ readonly property alias dappUrl: connectorManager .dappUrl
27+ readonly property alias dappOrigin: connectorManager .dappOrigin
28+ readonly property alias dappName: connectorManager .dappName
29+ readonly property alias dappIconUrl: connectorManager .dappIconUrl
30+ readonly property alias clientId: connectorManager .clientId
3131
32- function hasWalletConnected (hostname , address ) {
33- if (! connectorController) return false
34-
35- const dApps = connectorController .getDApps ()
36- try {
37- const dAppsObj = JSON .parse (dApps)
38- if (Array .isArray (dAppsObj)) {
39- return dAppsObj .some (function (dapp ) {
40- return dapp .url && dapp .url .indexOf (hostname) >= 0
41- })
42- }
43- } catch (e) {
44- console .warn (" [ConnectorBridge] Error checking wallet connection:" , e)
45- }
46- return false
47- }
32+ readonly property ConnectorManager connectorManager: ConnectorManager {
33+ id: connectorManager
34+ connectorController: root .connectorController // (shared_modules/connector/controller.nim)
4835
49- function disconnect (hostname ) {
50- if (! connectorController) return false
51- return connectorController .disconnect (hostname)
36+ // Forward events to Eip1193ProviderAdapter
37+ onConnectEvent : (info ) => eip1193ProviderAdapter .connectEvent (info)
38+ onAccountsChangedEvent : (accounts ) => eip1193ProviderAdapter .accountsChangedEvent (accounts)
39+ onChainChangedEvent : (chainId ) => eip1193ProviderAdapter .chainChangedEvent (chainId)
40+ onRequestCompletedEvent : (payload ) => eip1193ProviderAdapter .requestCompletedEvent (payload)
41+ onDisconnectEvent : (error ) => eip1193ProviderAdapter .disconnectEvent (error)
42+ onMessageEvent : (message ) => eip1193ProviderAdapter .messageEvent (message)
43+ onProviderStateChanged : () => eip1193ProviderAdapter .providerStateChanged ()
5244 }
5345
54- function updateDAppUrl ( url , name ) {
55- if ( ! url) return
46+ readonly property Eip1193ProviderAdapter eip1193ProviderAdapter : Eip1193ProviderAdapter {
47+ WebChannel . id : " ethereumProvider "
5648
57- const urlStr = url .toString ()
58- connectorManager .dappUrl = urlStr
59- connectorManager .dappOrigin = Utils .normalizeOrigin (urlStr)
60- connectorManager .dappName = name || BrowserUtils .extractDomainName (urlStr)
61- connectorManager .dappChainId = 1
62- }
49+ chainId: BrowserUtils .chainIdToHex (connectorManager .dappChainId )
50+ networkVersion: connectorManager .dappChainId .toString ()
51+ selectedAddress: connectorManager .accounts .length > 0 ? connectorManager .accounts [0 ] : " "
52+ accounts: connectorManager .accounts
53+ connected: connectorManager .connected
6354
64- function createScript (scriptName , runOnSubframes = true ) {
65- return {
66- name: scriptName,
67- sourceUrl: Qt .resolvedUrl (" ../js/" + scriptName),
68- injectionPoint: WebEngineScript .DocumentCreation ,
69- worldId: WebEngineScript .MainWorld ,
70- runOnSubframes: runOnSubframes
71- }
55+ onRequestInternal : (args ) => connectorManager .request (args)
7256 }
7357
7458 readonly property var _scripts: [
@@ -93,40 +77,43 @@ QtObject {
9377 userScripts .collection : root ._scripts
9478 }
9579
96- readonly property ConnectorManager connectorManager: ConnectorManager {
97- connectorController: root .connectorController // (shared_modules/connector/controller.nim)
98-
99- dappUrl: " "
100- dappOrigin: " "
101- dappName: " "
102- dappIconUrl: " "
103- dappChainId: 1
104- clientId: " status-desktop/dapp-browser"
80+ readonly property WebChannel channel: WebChannel {
81+ registeredObjects: [eip1193ProviderAdapter]
82+ }
10583
106- // Forward events to Eip1193ProviderAdapter
107- onConnectEvent : (info ) => eip1193ProviderAdapter .connectEvent (info)
108- onAccountsChangedEvent : (accounts ) => eip1193ProviderAdapter .accountsChangedEvent (accounts)
109- onChainChangedEvent : (chainId ) => eip1193ProviderAdapter .chainChangedEvent (chainId)
110- onRequestCompletedEvent : (payload ) => eip1193ProviderAdapter .requestCompletedEvent (payload)
111- onDisconnectEvent : (error ) => eip1193ProviderAdapter .disconnectEvent (error)
112- onMessageEvent : (message ) => eip1193ProviderAdapter .messageEvent (message)
84+ function hasWalletConnected (hostname , address ) {
85+ if (! connectorController) return false
11386
114- onProviderStateChanged : () => eip1193ProviderAdapter .providerStateChanged ()
87+ const dApps = connectorController .getDApps ()
88+ try {
89+ const dAppsObj = JSON .parse (dApps)
90+ if (Array .isArray (dAppsObj)) {
91+ return dAppsObj .some (function (dapp ) {
92+ return dapp .url && dapp .url .indexOf (hostname) >= 0
93+ })
94+ }
95+ } catch (e) {
96+ console .warn (" [ConnectorBridge] Error checking wallet connection:" , e)
97+ }
98+ return false
11599 }
116100
117- readonly property WebChannel channel: WebChannel {
118- registeredObjects: [eip1193ProviderAdapter]
101+ function disconnect (hostname ) {
102+ if (! connectorController) return false
103+ return connectorController .disconnect (hostname)
119104 }
120105
121- readonly property Eip1193ProviderAdapter eip1193ProviderAdapter: Eip1193ProviderAdapter {
122- WebChannel .id : " ethereumProvider"
123-
124- chainId: BrowserUtils .chainIdToHex (connectorManager .dappChainId )
125- networkVersion: connectorManager .dappChainId .toString ()
126- selectedAddress: connectorManager .accounts .length > 0 ? connectorManager .accounts [0 ] : " "
127- accounts: connectorManager .accounts
128- connected: connectorManager .connected
106+ function updateDAppUrl (url , name ) {
107+ connectorManager .updateDAppUrl (url, name)
108+ }
129109
130- onRequestInternal : (args ) => connectorManager .request (args)
110+ function createScript (scriptName , runOnSubframes = true ) {
111+ return {
112+ name: scriptName,
113+ sourceUrl: Qt .resolvedUrl (" ../js/" + scriptName),
114+ injectionPoint: WebEngineScript .DocumentCreation ,
115+ worldId: WebEngineScript .MainWorld ,
116+ runOnSubframes: runOnSubframes
117+ }
131118 }
132119}
0 commit comments