@@ -10,6 +10,7 @@ export const ConnectionProvider: React.FC<{ children: React.ReactNode }> = ({
1010} ) => {
1111 const [ connectionStatus , setConnectionStatus ] = useState < ConnectionStatus > ( {
1212 connected : false ,
13+ accounts : [ ] ,
1314 } )
1415
1516 const connect = ( ) => {
@@ -19,10 +20,15 @@ export const ConnectionProvider: React.FC<{ children: React.ReactNode }> = ({
1920 connected : status . isConnected ,
2021 sessionToken : status . session ?. accessToken ,
2122 error : undefined ,
23+ accounts : [ ] ,
2224 } )
2325 } )
2426 . catch ( ( err ) => {
25- setConnectionStatus ( { connected : false , error : err . details } )
27+ setConnectionStatus ( {
28+ connected : false ,
29+ error : err . details ,
30+ accounts : [ ] ,
31+ } )
2632 } )
2733 }
2834
@@ -32,6 +38,7 @@ export const ConnectionProvider: React.FC<{ children: React.ReactNode }> = ({
3238 sdk . disconnect ( ) . then ( ( ) =>
3339 setConnectionStatus ( {
3440 connected : false ,
41+ accounts : [ ] ,
3542 } )
3643 )
3744 }
@@ -84,21 +91,10 @@ export const ConnectionProvider: React.FC<{ children: React.ReactNode }> = ({
8491 . then ( ( wallets ) => {
8592 const requestedAccounts =
8693 wallets as sdk . dappAPI . RequestAccountsResult
87- if ( requestedAccounts ?. length > 0 ) {
88- const primaryWallet = requestedAccounts . find (
89- ( w ) => w . primary
90- )
91- if ( primaryWallet ) {
92- setConnectionStatus ( ( c ) => ( {
93- ...c ,
94- primaryParty : primaryWallet . partyId ,
95- } ) )
96- } else {
97- // TODO: Throw error
98- }
99- } else {
100- // TODO: Throw error
101- }
94+ setConnectionStatus ( ( c ) => ( {
95+ ...c ,
96+ accounts : requestedAccounts ,
97+ } ) )
10298 } )
10399 . catch ( ( err ) => {
104100 console . error ( 'Error requesting wallets:' , err )
@@ -112,23 +108,10 @@ export const ConnectionProvider: React.FC<{ children: React.ReactNode }> = ({
112108 const onAccountsChanged = (
113109 wallets : sdk . dappAPI . AccountsChangedEvent
114110 ) => {
115- let primaryWallet = undefined
116- if ( wallets . length > 0 ) {
117- primaryWallet = wallets . find ( ( w ) => w . primary )
118- }
119-
120- if ( primaryWallet ) {
121- setConnectionStatus ( ( c ) => ( {
122- ...c ,
123- primaryParty : primaryWallet ! . partyId ,
124- } ) )
125- } else {
126- setConnectionStatus ( ( c ) => {
127- const noParty = { ...c }
128- delete noParty . primaryParty
129- return noParty
130- } )
131- }
111+ setConnectionStatus ( ( c ) => ( {
112+ ...c ,
113+ accounts : wallets ,
114+ } ) )
132115 }
133116 provider . on < sdk . dappAPI . TxChangedEvent > ( 'txChanged' , messageListener )
134117 provider . on < sdk . dappAPI . AccountsChangedEvent > (
0 commit comments