mirror of
https://github.com/pezkuwichain/pezkuwi-ui.git
synced 2026-07-24 06:35:42 +00:00
Optional pair type (account-only) (#409)
This commit is contained in:
@@ -95,7 +95,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
json.meta.whenEdited = Date.now();
|
json.meta.whenEdited = Date.now();
|
||||||
|
|
||||||
this.keyring.addFromJson(json);
|
this.keyring.addFromJson(json);
|
||||||
this.accounts.add(this._store, pair.address, json);
|
this.accounts.add(this._store, pair.address, json, pair.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
public forgetAccount (address: string): void {
|
public forgetAccount (address: string): void {
|
||||||
@@ -180,7 +180,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
// FIXME Just for the transition period (ignoreChecksum)
|
// FIXME Just for the transition period (ignoreChecksum)
|
||||||
const pair = this.keyring.addFromJson(json as KeyringPair$Json, true);
|
const pair = this.keyring.addFromJson(json as KeyringPair$Json, true);
|
||||||
|
|
||||||
this.accounts.add(this._store, pair.address, json);
|
this.accounts.add(this._store, pair.address, json, pair.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
const [, hexAddr] = key.split(':');
|
const [, hexAddr] = key.split(':');
|
||||||
@@ -237,7 +237,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
};
|
};
|
||||||
const pair = this.keyring.addFromAddress(address, json.meta);
|
const pair = this.keyring.addFromAddress(address, json.meta);
|
||||||
|
|
||||||
this.accounts.add(this._store, pair.address, json);
|
this.accounts.add(this._store, pair.address, json, pair.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
private allowGenesis (json?: KeyringJson | { meta: KeyringJson$Meta } | null): boolean {
|
private allowGenesis (json?: KeyringJson | { meta: KeyringJson$Meta } | null): boolean {
|
||||||
@@ -315,7 +315,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
const json = pair.toJson(password);
|
const json = pair.toJson(password);
|
||||||
|
|
||||||
this.keyring.addFromJson(json);
|
this.keyring.addFromJson(json);
|
||||||
this.accounts.add(this._store, pair.address, json);
|
this.accounts.add(this._store, pair.address, json, pair.type);
|
||||||
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
@@ -327,7 +327,7 @@ export class Keyring extends Base implements KeyringStruct {
|
|||||||
pair.setMeta(meta);
|
pair.setMeta(meta);
|
||||||
json.meta = pair.meta;
|
json.meta = pair.meta;
|
||||||
|
|
||||||
this.accounts.add(this._store, address, json);
|
this.accounts.add(this._store, address, json, pair.type);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// Copyright 2017-2020 @polkadot/ui-keyring authors & contributors
|
// Copyright 2017-2020 @polkadot/ui-keyring authors & contributors
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import type { KeypairType } from '@polkadot/util-crypto/types';
|
||||||
import type { SubjectInfo, AddressSubject, SingleAddress } from './types';
|
import type { SubjectInfo, AddressSubject, SingleAddress } from './types';
|
||||||
import type { KeyringJson, KeyringStore } from '../types';
|
import type { KeyringJson, KeyringStore } from '../types';
|
||||||
|
|
||||||
@@ -32,12 +33,13 @@ export default function genericSubject (keyCreator: (address: string) => string,
|
|||||||
development.subject.subscribe(next);
|
development.subject.subscribe(next);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
add: (store: KeyringStore, address: string, json: KeyringJson): SingleAddress => {
|
add: (store: KeyringStore, address: string, json: KeyringJson, type?: KeypairType): SingleAddress => {
|
||||||
current = { ...current };
|
current = { ...current };
|
||||||
|
|
||||||
current[address] = {
|
current[address] = {
|
||||||
json: { ...json, address },
|
json: { ...json, address },
|
||||||
option: createOptionItem(address, json.meta.name)
|
option: createOptionItem(address, json.meta.name),
|
||||||
|
type
|
||||||
};
|
};
|
||||||
|
|
||||||
// we do not store dev accounts, injected or hardware (the latter two are external/transient)
|
// we do not store dev accounts, injected or hardware (the latter two are external/transient)
|
||||||
|
|||||||
@@ -2,12 +2,14 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { BehaviorSubject } from 'rxjs';
|
import type { BehaviorSubject } from 'rxjs';
|
||||||
|
import type { KeypairType } from '@polkadot/util-crypto/types';
|
||||||
import type { KeyringSectionOption } from '../options/types';
|
import type { KeyringSectionOption } from '../options/types';
|
||||||
import type { KeyringJson, KeyringStore } from '../types';
|
import type { KeyringJson, KeyringStore } from '../types';
|
||||||
|
|
||||||
export interface SingleAddress {
|
export interface SingleAddress {
|
||||||
json: KeyringJson;
|
json: KeyringJson;
|
||||||
option: KeyringSectionOption;
|
option: KeyringSectionOption;
|
||||||
|
type?: KeypairType;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SubjectInfo {
|
export interface SubjectInfo {
|
||||||
@@ -15,7 +17,7 @@ export interface SubjectInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface AddressSubject {
|
export interface AddressSubject {
|
||||||
add: (store: KeyringStore, address: string, json: KeyringJson) => SingleAddress;
|
add: (store: KeyringStore, address: string, json: KeyringJson, type?: KeypairType) => SingleAddress;
|
||||||
remove: (store: KeyringStore, address: string) => void;
|
remove: (store: KeyringStore, address: string) => void;
|
||||||
subject: BehaviorSubject<SubjectInfo>;
|
subject: BehaviorSubject<SubjectInfo>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user