Add contracts to ui-keyring (#137)

* add contracts to keyring

* genesisHash

* requested changes + allPlus option type

* remove duplicate fn

* add contracts to keyring

* genesisHash

* requested changes + allPlus option type

* remove duplicate fn

* changes

* contract key

* prefixes
This commit is contained in:
kwingram25
2019-06-06 13:57:07 +02:00
committed by Jaco Greeff
parent 091ab41242
commit bdfbb69946
8 changed files with 151 additions and 17 deletions
+23
View File
@@ -56,6 +56,7 @@ class KeyringOption implements KeyringOptionInstance {
this.addAccounts(keyring, options);
this.addAddresses(keyring, options);
this.addContracts(keyring, options);
options.address = this.linkItems({
'Addresses': options.address,
@@ -65,12 +66,21 @@ class KeyringOption implements KeyringOptionInstance {
'Accounts': options.account,
'Development': options.testing
});
options.contract = this.linkItems({
'Contracts': options.contract
});
options.all = ([] as KeyringSectionOptions).concat(
options.account,
options.address
);
options.allPlus = ([] as KeyringSectionOptions).concat(
options.account,
options.address,
options.contract
);
this.optionsSubject.next(options);
});
@@ -129,11 +139,24 @@ class KeyringOption implements KeyringOptionInstance {
});
}
private addContracts (keyring: KeyringStruct, options: KeyringOptions): void {
const available = keyring.contracts.subject.getValue();
Object
.values(available)
.sort(sortByName)
.forEach(({ option }: SingleAddress) => {
options.contract.push(option);
});
}
private emptyOptions (): KeyringOptions {
return {
account: [],
address: [],
contract: [],
all: [],
allPlus: [],
recent: [],
testing: []
};
+2
View File
@@ -20,6 +20,8 @@ export type KeyringOptions = {
account: KeyringSectionOptions,
address: KeyringSectionOptions,
all: KeyringSectionOptions,
allPlus: KeyringSectionOptions,
contract: KeyringSectionOptions,
recent: KeyringSectionOptions,
testing: KeyringSectionOptions
};