File tree Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -73,6 +73,31 @@ describe('dev-connection', () => {
7373 await waitForUpdated ( el . signer )
7474 expect ( el . signer . getValue ( ) ) . to . be . equal ( signer )
7575 } )
76+ it ( 'when setEip1193Provider is called with BrowserProvider constructor and network options, called BrowserProvider with network options and signer will update' , async ( ) => {
77+ const el = connection ( )
78+ let network : undefined
79+ expect ( el . signer . getValue ( ) ) . to . be . equal ( undefined )
80+ expect ( network ) . to . be . equal ( undefined )
81+
82+ const mock = {
83+ request : ( ) => Promise . resolve ( ) ,
84+ }
85+ const networkOptions = { chainId : 1 , name : 'Ethereum' }
86+ const signer = new ethers . VoidSigner ( ethers . ZeroAddress )
87+
88+ el . setEip1193Provider (
89+ mock ,
90+ function ( _transport : any , _network : any ) {
91+ network = _network
92+ return { getSigner : async ( ) => signer }
93+ } as any ,
94+ networkOptions ,
95+ )
96+
97+ await waitForUpdated ( el . signer )
98+ expect ( el . signer . getValue ( ) ) . to . be . equal ( signer )
99+ expect ( network ) . to . be . equal ( networkOptions )
100+ } )
76101 describe ( 'EIP-1193 events listener' , ( ) => {
77102 const mockFc = ( _e : string ) => {
78103 let fn : any
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ import {
1818 type Eip1193Provider ,
1919 type BrowserProvider ,
2020 type EventEmitterable ,
21+ type Networkish ,
2122} from 'ethers'
2223import { BehaviorSubject , Subscription } from 'rxjs'
2324import { UllrElement } from '@aggre/ullr'
@@ -89,6 +90,7 @@ export class Connection extends UllrElement {
8990 async setEip1193Provider (
9091 prov : Eip1193Provider ,
9192 providerFactory ?: typeof BrowserProvider ,
93+ network ?: Networkish ,
9294 ) {
9395 const old = this . eip1193Provider . value
9496 this . eip1193Provider . next ( prov )
@@ -103,7 +105,7 @@ export class Connection extends UllrElement {
103105 old . removeListener ( 'disconnect' , this . _disconnectListener )
104106 }
105107 if ( providerFactory ) {
106- const browserProvider = new providerFactory ( prov )
108+ const browserProvider = new providerFactory ( prov , network )
107109 this . signer . next ( await browserProvider . getSigner ( ) )
108110 }
109111 }
You can’t perform that action at this time.
0 commit comments