@@ -12,7 +12,7 @@ import ProviderRpcError from "./error";
1212import Utils from "./utils" ;
1313import IdMapping from "./id_mapping" ;
1414import { EventEmitter } from "events" ;
15- import isUtf8 from ' isutf8' ;
15+ import isUtf8 from " isutf8" ;
1616
1717class TrustWeb3Provider extends EventEmitter {
1818 constructor ( config ) {
@@ -44,7 +44,7 @@ class TrustWeb3Provider extends EventEmitter {
4444 // this points to window in methods like web3.eth.getAccounts()
4545 var that = this ;
4646 if ( ! ( this instanceof TrustWeb3Provider ) ) {
47- that = window . ethereum
47+ that = window . ethereum ;
4848 }
4949 return that . _request ( payload , false ) ;
5050 }
@@ -60,7 +60,7 @@ class TrustWeb3Provider extends EventEmitter {
6060 * @deprecated Use request({method: "eth_requestAccounts"}) instead.
6161 */
6262 enable ( ) {
63- console . log ( ' enable() is deprecated, please use window.ethereum.request({method: "eth_requestAccounts"}) instead.' )
63+ console . log ( " enable() is deprecated, please use window.ethereum.request({method: \ "eth_requestAccounts\ "}) instead." ) ;
6464 return this . request ( { method : "eth_requestAccounts" , params : [ ] } ) ;
6565 }
6666
@@ -95,11 +95,11 @@ class TrustWeb3Provider extends EventEmitter {
9595 * @deprecated Use request() method instead.
9696 */
9797 sendAsync ( payload , callback ) {
98- console . log ( ' sendAsync(data, callback) is deprecated, please use window.ethereum.request(data) instead.' )
98+ console . log ( " sendAsync(data, callback) is deprecated, please use window.ethereum.request(data) instead." ) ;
9999 // this points to window in methods like web3.eth.getAccounts()
100100 var that = this ;
101101 if ( ! ( this instanceof TrustWeb3Provider ) ) {
102- that = window . ethereum
102+ that = window . ethereum ;
103103 }
104104 if ( Array . isArray ( payload ) ) {
105105 Promise . all ( payload . map ( that . _request . bind ( that ) ) )
@@ -208,7 +208,7 @@ class TrustWeb3Provider extends EventEmitter {
208208 } else {
209209 buffer = Buffer . from ( data ) ;
210210 }
211- const hex = buffer . toString ( ' hex' ) ;
211+ const hex = buffer . toString ( " hex" ) ;
212212 if ( isUtf8 ( buffer ) ) {
213213 this . postMessage ( "signPersonalMessage" , payload . id , { data : hex } ) ;
214214 } else {
@@ -266,11 +266,20 @@ class TrustWeb3Provider extends EventEmitter {
266266 data . result = result ;
267267 }
268268 if ( this . isDebug ) {
269- console . log ( `<== sendResponse id: ${ id } , result: ${ result } , data: ${ JSON . stringify ( data ) } ` ) ;
269+ console . log ( `<== sendResponse id: ${ id } , result: ${ JSON . stringify ( result ) } , data: ${ JSON . stringify ( data ) } ` ) ;
270270 }
271271 if ( callback ) {
272272 wrapResult ? callback ( null , data ) : callback ( null , result ) ;
273273 this . callbacks . delete ( id ) ;
274+ } else {
275+ console . log ( `callback id: ${ id } not found` ) ;
276+ // check if it's iframe callback
277+ for ( var i = 0 ; i < window . frames . length ; i ++ ) {
278+ const frame = window . frames [ i ] ;
279+ if ( frame . ethereum . callbacks . has ( id ) ) {
280+ frame . ethereum . sendResponse ( id , result ) ;
281+ }
282+ }
274283 }
275284 }
276285
0 commit comments