Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
3ecc15d7
Unverified
Commit
3ecc15d7
authored
May 09, 2019
by
yann300
Committed by
GitHub
May 09, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1948 from ethereum/yann300-patch-32
Don't web3().personal.getListAccounts if connected to injected provider
parents
563a68a2
9cda2fa9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
18 deletions
+29
-18
universal-dapp.js
src/universal-dapp.js
+29
-18
No files found.
src/universal-dapp.js
View file @
3ecc15d7
...
@@ -134,30 +134,41 @@ module.exports = class UniversalDApp extends UdappApi {
...
@@ -134,30 +134,41 @@ module.exports = class UniversalDApp extends UdappApi {
getAccounts
(
cb
)
{
getAccounts
(
cb
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
executionContext
.
isVM
())
{
const
provider
=
executionContext
.
getProvider
()
// Weirdness of web3: listAccounts() is sync, `getListAccounts()` is async
switch
(
provider
)
{
// See: https://github.com/ethereum/web3.js/issues/442
case
'vm'
:
{
if
(
this
.
_deps
.
config
.
get
(
'settings/personal-mode'
))
{
if
(
!
this
.
accounts
)
{
return
executionContext
.
web3
().
personal
.
getListAccounts
((
error
,
accounts
)
=>
{
if
(
cb
)
cb
(
'No accounts?'
)
if
(
cb
)
cb
(
error
,
accounts
)
reject
(
'No accounts?'
)
if
(
error
)
return
reject
(
error
)
return
resolve
(
accounts
)
}
})
if
(
cb
)
cb
(
null
,
Object
.
keys
(
this
.
accounts
))
}
else
{
resolve
(
Object
.
keys
(
this
.
accounts
))
}
break
case
'web3'
:
{
if
(
this
.
_deps
.
config
.
get
(
'settings/personal-mode'
))
{
return
executionContext
.
web3
().
personal
.
getListAccounts
((
error
,
accounts
)
=>
{
if
(
cb
)
cb
(
error
,
accounts
)
if
(
error
)
return
reject
(
error
)
resolve
(
accounts
)
})
}
else
{
executionContext
.
web3
().
eth
.
getAccounts
((
error
,
accounts
)
=>
{
if
(
cb
)
cb
(
error
,
accounts
)
if
(
error
)
return
reject
(
error
)
resolve
(
accounts
)
})
}
}
break
case
'injected'
:
{
executionContext
.
web3
().
eth
.
getAccounts
((
error
,
accounts
)
=>
{
executionContext
.
web3
().
eth
.
getAccounts
((
error
,
accounts
)
=>
{
if
(
cb
)
cb
(
error
,
accounts
)
if
(
cb
)
cb
(
error
,
accounts
)
if
(
error
)
return
reject
(
error
)
if
(
error
)
return
reject
(
error
)
resolve
(
accounts
)
resolve
(
accounts
)
})
})
}
}
}
else
{
if
(
!
this
.
accounts
)
{
if
(
cb
)
cb
(
'No accounts?'
)
reject
(
'No accounts?'
)
return
}
if
(
cb
)
cb
(
null
,
Object
.
keys
(
this
.
accounts
))
resolve
(
Object
.
keys
(
this
.
accounts
))
}
}
})
})
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment