File tree Expand file tree Collapse file tree 2 files changed +11
-7
lines changed
Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -55,13 +55,18 @@ export class RainbowProvider extends EventEmitter {
5555 rainbowIsDefaultProvider = false ;
5656
5757 [ key : string ] : unknown ;
58+ backgroundMessenger : Messenger | undefined = undefined ;
5859
59- constructor ( { messenger } : { messenger ?: Messenger } = { } ) {
60+ constructor ( {
61+ messenger,
62+ backgroundMessenger,
63+ } : { messenger ?: Messenger ; backgroundMessenger ?: Messenger } = { } ) {
6064 super ( ) ;
6165
6266 // RainbowProvider is also used in popup via RainbowConnector
6367 // here we don't need to listen to anything so we don't need these listeners
6468 if ( isValidUrl ( window . location . href ) ) {
69+ this . backgroundMessenger = backgroundMessenger ;
6570 const host = getDappHost ( window . location . href ) ;
6671 messenger ?. reply ( `accountsChanged:${ host } ` , async ( address ) => {
6772 this . emit ( 'accountsChanged' , [ address ] ) ;
@@ -112,6 +117,10 @@ export class RainbowProvider extends EventEmitter {
112117 method,
113118 params,
114119 } : RequestArguments ) : Promise < RequestResponse | undefined > {
120+ this . backgroundMessenger ?. send (
121+ 'rainbow_prefetchDappMetadata' ,
122+ window . location . href ,
123+ ) ;
115124 if ( ! this . rainbowIsDefaultProvider ) {
116125 const provider = getMetaMaskProvider ( ) ;
117126 if ( provider ) {
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ declare global {
3232const messenger = initializeMessenger ( { connect : 'popup' } ) ;
3333const backgroundMessenger = initializeMessenger ( { connect : 'background' } ) ;
3434
35- const rainbowProvider = new RainbowProvider ( { messenger } ) ;
35+ const rainbowProvider = new RainbowProvider ( { messenger, backgroundMessenger } ) ;
3636
3737if ( shouldInjectProvider ( ) ) {
3838 announceProvider ( {
@@ -68,11 +68,6 @@ if (shouldInjectProvider()) {
6868 window . location . reload ( ) ;
6969 } ) ;
7070
71- backgroundMessenger . send (
72- 'rainbow_prefetchDappMetadata' ,
73- window . location . href ,
74- ) ;
75-
7671 Object . defineProperties ( window , {
7772 rainbow : { value : rainbowProvider , configurable : false , writable : false } ,
7873 ethereum : {
You can’t perform that action at this time.
0 commit comments