Merge pull request #5856 from paritytech/mh-pubnode-dappsigner
Fixed account selection for Dapps on public node
This commit is contained in:
commit
e871b7a0ac
@ -129,6 +129,8 @@ export default class Accounts {
|
|||||||
|
|
||||||
set dappsDefaultAddress (value) {
|
set dappsDefaultAddress (value) {
|
||||||
this._dappsDefaultAddress = value.toLowerCase();
|
this._dappsDefaultAddress = value.toLowerCase();
|
||||||
|
|
||||||
|
this.persist();
|
||||||
}
|
}
|
||||||
|
|
||||||
get (address) {
|
get (address) {
|
||||||
@ -191,10 +193,16 @@ export default class Accounts {
|
|||||||
this.persist();
|
this.persist();
|
||||||
}
|
}
|
||||||
|
|
||||||
addresses () {
|
allAddresses () {
|
||||||
return Object.keys(this._store);
|
return Object.keys(this._store);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
accountAddresses () {
|
||||||
|
return Object
|
||||||
|
.keys(this._store)
|
||||||
|
.filter((address) => this._store[address].uuid);
|
||||||
|
}
|
||||||
|
|
||||||
map (mapper) {
|
map (mapper) {
|
||||||
const result = {};
|
const result = {};
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export default class LocalAccountsMiddleware extends Middleware {
|
|||||||
const register = this.register.bind(this);
|
const register = this.register.bind(this);
|
||||||
|
|
||||||
register('eth_accounts', () => {
|
register('eth_accounts', () => {
|
||||||
return accounts.addresses();
|
return accounts.accountAddresses();
|
||||||
});
|
});
|
||||||
|
|
||||||
register('eth_coinbase', () => {
|
register('eth_coinbase', () => {
|
||||||
@ -73,7 +73,7 @@ export default class LocalAccountsMiddleware extends Middleware {
|
|||||||
});
|
});
|
||||||
|
|
||||||
register('parity_defaultAccount', () => {
|
register('parity_defaultAccount', () => {
|
||||||
return accounts.lastAddress;
|
return accounts.dappsDefaultAddress;
|
||||||
});
|
});
|
||||||
|
|
||||||
register('parity_exportAccount', ([address, password]) => {
|
register('parity_exportAccount', ([address, password]) => {
|
||||||
@ -98,11 +98,11 @@ export default class LocalAccountsMiddleware extends Middleware {
|
|||||||
});
|
});
|
||||||
|
|
||||||
register('parity_getNewDappsAddresses', () => {
|
register('parity_getNewDappsAddresses', () => {
|
||||||
return [];
|
return accounts.accountAddresses();
|
||||||
});
|
});
|
||||||
|
|
||||||
register('parity_getNewDappsDefaultAddress', () => {
|
register('parity_getNewDappsDefaultAddress', () => {
|
||||||
return accounts.lastAddress;
|
return accounts.dappsDefaultAddress;
|
||||||
});
|
});
|
||||||
|
|
||||||
register('parity_hardwareAccountsInfo', () => {
|
register('parity_hardwareAccountsInfo', () => {
|
||||||
@ -149,6 +149,8 @@ export default class LocalAccountsMiddleware extends Middleware {
|
|||||||
|
|
||||||
register('parity_setNewDappsDefaultAddress', ([address]) => {
|
register('parity_setNewDappsDefaultAddress', ([address]) => {
|
||||||
accounts.dappsDefaultAddress = address;
|
accounts.dappsDefaultAddress = address;
|
||||||
|
|
||||||
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
register('parity_postTransaction', ([tx]) => {
|
register('parity_postTransaction', ([tx]) => {
|
||||||
@ -210,6 +212,10 @@ export default class LocalAccountsMiddleware extends Middleware {
|
|||||||
return account.isValidPassword(password);
|
return account.isValidPassword(password);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
register('parity_upgradeReady', () => {
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
register('signer_confirmRequest', ([id, modify, password]) => {
|
register('signer_confirmRequest', ([id, modify, password]) => {
|
||||||
const {
|
const {
|
||||||
gasPrice,
|
gasPrice,
|
||||||
|
@ -21,6 +21,10 @@ export default class Middleware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
register (method, handler) {
|
register (method, handler) {
|
||||||
|
if (method in this._handlers) {
|
||||||
|
throw new Error(`${method} is already defined in the middleware!`);
|
||||||
|
}
|
||||||
|
|
||||||
this._handlers[method] = handler;
|
this._handlers[method] = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user