@@ -116,6 +116,7 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
116116 }
117117
118118 linkedUpdated = ( linked : boolean ) => {
119+ console . debug ( '[WalletLinkRelay] Link status updated:' , linked ) ;
119120 this . isLinked = linked ;
120121 const cachedAddresses = this . storage . getItem ( LOCAL_STORAGE_ADDRESSES_KEY ) ;
121122
@@ -140,10 +141,12 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
140141 } ;
141142
142143 metadataUpdated = ( key : string , value : string ) => {
144+ console . debug ( '[WalletLinkRelay] Metadata updated:' , { key, value } ) ;
143145 this . storage . setItem ( key , value ) ;
144146 } ;
145147
146148 chainUpdated = ( chainId : string , jsonRpcUrl : string ) => {
149+ console . debug ( '[WalletLinkRelay] Chain updated:' , { chainId, jsonRpcUrl } ) ;
147150 if (
148151 this . chainCallbackParams . chainId === chainId &&
149152 this . chainCallbackParams . jsonRpcUrl === jsonRpcUrl
@@ -161,6 +164,7 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
161164 } ;
162165
163166 accountUpdated = ( selectedAddress : string ) => {
167+ console . debug ( '[WalletLinkRelay] Account updated:' , selectedAddress ) ;
164168 if ( this . accountsCallback ) {
165169 this . accountsCallback ( [ selectedAddress ] ) ;
166170 }
@@ -170,29 +174,35 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
170174 // reason we don't get a response via an explicit web3 message
171175 // we can still fulfill the eip1102 request.
172176 Array . from ( WalletLinkRelay . accountRequestCallbackIds . values ( ) ) . forEach ( ( id ) => {
173- const message : WalletLinkEventData = {
177+ const message : WalletLinkResponseEventData = {
174178 type : 'WEB3_RESPONSE' ,
175179 id,
176180 response : {
177181 method : 'requestEthereumAccounts' ,
178182 result : [ selectedAddress as AddressString ] ,
179183 } ,
180184 } ;
181- this . invokeCallback ( { ... message , id } ) ;
185+ this . invokeCallback ( message ) ;
182186 } ) ;
183187 WalletLinkRelay . accountRequestCallbackIds . clear ( ) ;
184188 }
185189 } ;
186190
187191 connectedUpdated = ( connected : boolean ) => {
188- this . ui . setConnected ( connected ) ;
192+ console . debug ( '[WalletLinkRelay] Connection status updated:' , connected ) ;
193+ if ( this . ui ) {
194+ this . ui . setConnected ( connected ) ;
195+ } else {
196+ console . warn ( '[WalletLinkRelay] UI not initialized, skipping setConnected call' ) ;
197+ }
189198 } ;
190199
191200 public attachUI ( ) {
192201 this . ui . attach ( ) ;
193202 }
194203
195204 public resetAndReload ( ) : void {
205+ console . debug ( '[WalletLinkRelay] Reset and reload triggered' ) ;
196206 Promise . race ( [
197207 this . connection . setSessionMetadata ( '__destroyed' , '1' ) ,
198208 new Promise ( ( resolve ) => setTimeout ( ( ) => resolve ( null ) , 1000 ) ) ,
@@ -452,6 +462,13 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
452462 protected publishWeb3RequestEvent ( id : string , request : Web3Request ) : void {
453463 const message : WalletLinkEventData = { type : 'WEB3_REQUEST' , id, request } ;
454464 const storedSession = Session . load ( this . storage ) ;
465+ console . debug ( '[WalletLinkRelay] Publishing Web3Request:' , {
466+ id,
467+ method : request . method ,
468+ params : 'params' in request ? request . params : undefined ,
469+ sessionId : this . _session . id ,
470+ } ) ;
471+
455472 this . diagnostic ?. log ( EVENTS . WEB3_REQUEST , {
456473 eventId : message . id ,
457474 method : `relay::${ request . method } ` ,
@@ -461,7 +478,12 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
461478 } ) ;
462479
463480 this . publishEvent ( 'Web3Request' , message , true )
464- . then ( ( _ ) => {
481+ . then ( ( eventId ) => {
482+ console . debug ( '[WalletLinkRelay] Web3Request published successfully:' , {
483+ id,
484+ eventId,
485+ method : request . method ,
486+ } ) ;
465487 this . diagnostic ?. log ( EVENTS . WEB3_REQUEST_PUBLISHED , {
466488 eventId : message . id ,
467489 method : `relay::${ request . method } ` ,
@@ -471,6 +493,11 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
471493 } ) ;
472494 } )
473495 . catch ( ( err ) => {
496+ console . error ( '[WalletLinkRelay] Failed to publish Web3Request:' , {
497+ id,
498+ method : request . method ,
499+ error : err . message ,
500+ } ) ;
474501 this . handleWeb3ResponseMessage ( {
475502 type : 'WEB3_RESPONSE' ,
476503 id : message . id ,
@@ -487,6 +514,7 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
487514 type : 'WEB3_REQUEST_CANCELED' ,
488515 id,
489516 } ;
517+ console . debug ( '[WalletLinkRelay] Publishing Web3RequestCanceled:' , { id } ) ;
490518 this . publishEvent ( 'Web3RequestCanceled' , message , false ) . then ( ) ;
491519 }
492520
@@ -495,18 +523,31 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
495523 message : WalletLinkEventData ,
496524 callWebhook : boolean
497525 ) : Promise < string > {
526+ console . debug ( '[WalletLinkRelay] Publishing event:' , {
527+ event,
528+ message,
529+ callWebhook,
530+ } ) ;
498531 return this . connection . publishEvent ( event , message , callWebhook ) ;
499532 }
500533
501534 handleWeb3ResponseMessage ( message : WalletLinkResponseEventData ) {
502535 const { response } = message ;
536+ console . debug ( '[WalletLinkRelay] Handling Web3Response:' , {
537+ id : message . id ,
538+ method : response . method ,
539+ hasResult : 'result' in response ,
540+ hasError : 'errorMessage' in response ,
541+ errorMessage : 'errorMessage' in response ? response . errorMessage : undefined ,
542+ } ) ;
503543
504544 this . diagnostic ?. log ( EVENTS . WEB3_RESPONSE , {
505545 eventId : message . id ,
506546 method : `relay::${ response . method } ` ,
507547 sessionIdHash : this . getSessionIdHash ( ) ,
508548 } ) ;
509549 if ( response . method === 'requestEthereumAccounts' ) {
550+ console . debug ( '[WalletLinkRelay] Processing requestEthereumAccounts response for all callbacks' ) ;
510551 WalletLinkRelay . accountRequestCallbackIds . forEach ( ( id ) =>
511552 this . invokeCallback ( { ...message , id } )
512553 ) ;
@@ -524,6 +565,12 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
524565 errorCode ?: number
525566 ) {
526567 const errorMessage = error ?. message ?? getMessageFromCode ( errorCode ) ;
568+ console . debug ( '[WalletLinkRelay] Handling error response:' , {
569+ id,
570+ method,
571+ errorMessage,
572+ errorCode,
573+ } ) ;
527574 this . handleWeb3ResponseMessage ( {
528575 type : 'WEB3_RESPONSE' ,
529576 id,
@@ -537,9 +584,16 @@ export class WalletLinkRelay extends RelayAbstract implements WalletLinkConnecti
537584
538585 private invokeCallback ( message : WalletLinkResponseEventData ) {
539586 const callback = this . relayEventManager . callbacks . get ( message . id ) ;
587+ console . debug ( '[WalletLinkRelay] Invoking callback:' , {
588+ id : message . id ,
589+ hasCallback : ! ! callback ,
590+ method : message . response . method ,
591+ } ) ;
540592 if ( callback ) {
541593 callback ( message . response ) ;
542594 this . relayEventManager . callbacks . delete ( message . id ) ;
595+ } else {
596+ console . warn ( '[WalletLinkRelay] No callback found for response:' , message . id ) ;
543597 }
544598 }
545599
0 commit comments