Visible accounts for dapps (default whitelist) (#3898)
* Add APIs for Dapp management * Move AddDapps modal * Add DappsPermissions Modal (basics) * Allow whitelist editing * Add select/unselect tests * Case * Case * Modal render/non-render tests * UI made slightly prettier * Adjust spacing * Allow get/set of null for default whitelist (all) * Allow null = all for selection * Adjust selected background * Address valid comment on formatters location
This commit is contained in:
@@ -24,6 +24,10 @@ export function inAddress (address) {
|
||||
return inHex(address);
|
||||
}
|
||||
|
||||
export function inAddresses (addresses) {
|
||||
return (addresses || []).map(inAddress);
|
||||
}
|
||||
|
||||
export function inBlockNumber (blockNumber) {
|
||||
if (isString(blockNumber)) {
|
||||
switch (blockNumber) {
|
||||
|
||||
@@ -42,6 +42,10 @@ export function outAddress (address) {
|
||||
return toChecksumAddress(address);
|
||||
}
|
||||
|
||||
export function outAddresses (addresses) {
|
||||
return (addresses || []).map(outAddress);
|
||||
}
|
||||
|
||||
export function outBlock (block) {
|
||||
if (block) {
|
||||
Object.keys(block).forEach((key) => {
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { inAddress, inData, inHex, inNumber16, inOptions } from '../../format/input';
|
||||
import { outAccountInfo, outAddress, outChainStatus, outHistogram, outNumber, outPeers, outTransaction } from '../../format/output';
|
||||
import { inAddress, inAddresses, inData, inHex, inNumber16, inOptions } from '../../format/input';
|
||||
import { outAccountInfo, outAddress, outAddresses, outChainStatus, outHistogram, outNumber, outPeers, outTransaction } from '../../format/output';
|
||||
|
||||
export default class Parity {
|
||||
constructor (transport) {
|
||||
@@ -128,6 +128,18 @@ export default class Parity {
|
||||
.execute('parity_generateSecretPhrase');
|
||||
}
|
||||
|
||||
getDappsAddresses (dappId) {
|
||||
return this._transport
|
||||
.execute('parity_getDappsAddresses', dappId)
|
||||
.then(outAddresses);
|
||||
}
|
||||
|
||||
getNewDappsWhitelist () {
|
||||
return this._transport
|
||||
.execute('parity_getNewDappsWhitelist')
|
||||
.then((addresses) => addresses ? addresses.map(outAddress) : null);
|
||||
}
|
||||
|
||||
hashContent (url) {
|
||||
return this._transport
|
||||
.execute('parity_hashContent', url);
|
||||
@@ -135,8 +147,8 @@ export default class Parity {
|
||||
|
||||
importGethAccounts (accounts) {
|
||||
return this._transport
|
||||
.execute('parity_importGethAccounts', (accounts || []).map(inAddress))
|
||||
.then((accounts) => (accounts || []).map(outAddress));
|
||||
.execute('parity_importGethAccounts', inAddresses)
|
||||
.then(outAddresses);
|
||||
}
|
||||
|
||||
killAccount (account, password) {
|
||||
@@ -144,6 +156,11 @@ export default class Parity {
|
||||
.execute('parity_killAccount', inAddress(account), password);
|
||||
}
|
||||
|
||||
listRecentDapps () {
|
||||
return this._transport
|
||||
.execute('parity_listRecentDapps');
|
||||
}
|
||||
|
||||
removeAddress (address) {
|
||||
return this._transport
|
||||
.execute('parity_removeAddress', inAddress(address));
|
||||
@@ -152,7 +169,7 @@ export default class Parity {
|
||||
listGethAccounts () {
|
||||
return this._transport
|
||||
.execute('parity_listGethAccounts')
|
||||
.then((accounts) => (accounts || []).map(outAddress));
|
||||
.then(outAddresses);
|
||||
}
|
||||
|
||||
localTransactions () {
|
||||
@@ -289,6 +306,11 @@ export default class Parity {
|
||||
.execute('parity_setAuthor', inAddress(address));
|
||||
}
|
||||
|
||||
setDappsAddresses (dappId, addresses) {
|
||||
return this._transport
|
||||
.execute('parity_setDappsAddresses', dappId, inAddresses(addresses));
|
||||
}
|
||||
|
||||
setExtraData (data) {
|
||||
return this._transport
|
||||
.execute('parity_setExtraData', inData(data));
|
||||
@@ -309,6 +331,11 @@ export default class Parity {
|
||||
.execute('parity_setMode', mode);
|
||||
}
|
||||
|
||||
setNewDappsWhitelist (addresses) {
|
||||
return this._transport
|
||||
.execute('parity_setNewDappsWhitelist', addresses ? inAddresses(addresses) : null);
|
||||
}
|
||||
|
||||
setTransactionsLimit (quantity) {
|
||||
return this._transport
|
||||
.execute('parity_setTransactionsLimit', inNumber16(quantity));
|
||||
|
||||
Reference in New Issue
Block a user