@@ -15,12 +15,11 @@ namespace WalletConnect.Web3Modal
1515#if UNITY_WEBGL
1616 public class WebGlConnector : Connector
1717 {
18-
1918 [ DllImport ( "__Internal" ) ]
2019 private static extern void Initialize ( string parameters , Action callback ) ;
2120
2221 private static TaskCompletionSource < bool > _initializationTaskCompletionSource ;
23-
22+
2423 private string _lastAccountStatus ;
2524
2625 public WebGlConnector ( )
@@ -36,28 +35,29 @@ protected override async Task InitializeAsyncCore(Web3ModalConfig web3ModalConfi
3635 . Where ( c => ! string . IsNullOrWhiteSpace ( c . ViemName ) )
3736 . Select ( c => c . ViemName )
3837 . ToArray ( ) ;
39-
38+
4039 var parameters = new WebGlInitializeParameters
4140 {
4241 projectId = walletConnectConfig . Id ,
4342 metadata = walletConnectConfig . Metadata ,
4443 chains = viemChainNames ,
4544 enableOnramp = web3ModalConfig . enableOnramp ,
45+ enableAnalytics = web3ModalConfig . enableAnalytics
4646 } ;
47-
47+
4848 var parametersJson = JsonConvert . SerializeObject ( parameters ) ;
49-
49+
5050#pragma warning disable S2696
5151 _initializationTaskCompletionSource = new TaskCompletionSource < bool > ( ) ;
5252#pragma warning restore S2696
5353
5454 Initialize ( parametersJson , InitializationCallback ) ;
5555
5656 await _initializationTaskCompletionSource . Task ;
57-
57+
5858 WagmiInterop . InitializeEvents ( ) ;
5959 ModalInterop . InitializeEvents ( ) ;
60-
60+
6161 WagmiInterop . WatchAccountTriggered += WatchAccountTriggeredHandler ;
6262 WagmiInterop . WatchChainIdTriggered += WatchChainIdTriggeredHandler ;
6363 }
@@ -79,9 +79,9 @@ protected override async Task<bool> TryResumeSessionAsyncCore()
7979 if ( getAccountResult . isConnecting )
8080 {
8181 var tcs = new TaskCompletionSource < bool > ( ) ;
82-
82+
8383 WagmiInterop . WatchAccountTriggered += WagmiInteropOnWatchAccountTriggered ;
84-
84+
8585 void WagmiInteropOnWatchAccountTriggered ( GetAccountReturnType arg )
8686 {
8787 if ( arg . isConnecting )
@@ -91,6 +91,7 @@ void WagmiInteropOnWatchAccountTriggered(GetAccountReturnType arg)
9191
9292 WagmiInterop . WatchAccountTriggered -= WagmiInteropOnWatchAccountTriggered ;
9393 }
94+
9495 var result = await tcs . Task ;
9596
9697 return result ;
@@ -125,12 +126,12 @@ protected override async Task<Account[]> GetAccountsCore()
125126 . Select ( addr => new Account ( addr , chainId ) )
126127 . ToArray ( ) ;
127128 }
128-
129+
129130 private void WatchAccountTriggeredHandler ( GetAccountReturnType arg )
130131 {
131132 var previousLastAccountStatus = _lastAccountStatus ;
132133 _lastAccountStatus = arg . status ;
133-
134+
134135 var account = new Account ( arg . address , $ "eip155:{ arg . chainId } ") ;
135136
136137 if ( _lastAccountStatus == "connected" && previousLastAccountStatus != "connected" )
@@ -155,11 +156,11 @@ private void WatchChainIdTriggeredHandler(int ethChainId)
155156 {
156157 if ( ethChainId == default )
157158 return ;
158-
159+
159160 var chainId = $ "eip155:{ ethChainId } ";
160161 OnChainChanged ( new ChainChangedEventArgs ( chainId ) ) ;
161162 }
162-
163+
163164 [ MonoPInvokeCallback ( typeof ( Action ) ) ]
164165 public static void InitializationCallback ( )
165166 {
@@ -173,8 +174,9 @@ internal class WebGlInitializeParameters
173174 public string projectId ;
174175 public Metadata metadata ;
175176 public string [ ] chains ;
176-
177+
177178 public bool enableOnramp ;
179+ public bool enableAnalytics ;
178180 }
179181#endif
180182}
0 commit comments