UNPKG

4.83 kBTypeScriptView Raw
1import type { HexString } from '@polkadot/util/types';
2import type { EncryptedJson, Keypair, KeypairType, Prefix } from '@polkadot/util-crypto/types';
3export interface KeyringOptions {
4 /** The ss58Format to use for address encoding (defaults to 42) */
5 ss58Format?: Prefix;
6 /** The type of keyring to create (defaults to ed25519) */
7 type?: KeypairType;
8}
9export interface KeyringPair$MetaHardware {
10 accountIndex?: number;
11 accountOffset?: number;
12 addressOffset?: number;
13 hardwareType?: 'ledger';
14}
15export interface KeyringPair$MetaFlags {
16 isDefaultAuthSelected?: boolean;
17 isExternal?: boolean;
18 isHardware?: boolean;
19 isHidden?: boolean;
20 isInjected?: boolean;
21 isMultisig?: boolean;
22 isProxied?: boolean;
23 isRecent?: boolean;
24 isTesting?: boolean;
25}
26export interface KeyringPair$MetaContract {
27 abi: string;
28 genesisHash?: HexString | null;
29}
30export interface KeyringPair$MetaExtension {
31 source?: string;
32}
33export interface KeyringPair$MetaMultisig {
34 threshold?: number;
35 who?: string[];
36}
37export interface KeyringPair$MetaParent {
38 parentAddress?: string;
39 parentName?: string;
40}
41export interface KeyringPair$Meta extends KeyringPair$MetaExtension, KeyringPair$MetaFlags, KeyringPair$MetaHardware, KeyringPair$MetaMultisig, KeyringPair$MetaParent {
42 address?: string;
43 contract?: KeyringPair$MetaContract;
44 genesisHash?: HexString | null;
45 name?: string;
46 suri?: string;
47 tags?: string[];
48 type?: KeypairType;
49 whenCreated?: number;
50 whenEdited?: number;
51 whenUsed?: number;
52 [key: string]: unknown;
53}
54export interface KeyringPair$Json extends EncryptedJson {
55 /** The ss58 encoded address or the hex-encoded version (the latter is for ETH-compat chains) */
56 address: string;
57 /** The underlying metadata associated with the keypair */
58 meta: KeyringPair$Meta;
59}
60export interface SignOptions {
61 /** Create a MultiSignature-compatible output with an indicator type */
62 withType?: boolean;
63}
64export interface KeyringPair {
65 readonly address: string;
66 readonly addressRaw: Uint8Array;
67 readonly meta: KeyringPair$Meta;
68 readonly isLocked: boolean;
69 readonly publicKey: Uint8Array;
70 readonly type: KeypairType;
71 decodePkcs8(passphrase?: string, encoded?: Uint8Array): void;
72 derive(suri: string, meta?: KeyringPair$Meta): KeyringPair;
73 encodePkcs8(passphrase?: string): Uint8Array;
74 lock(): void;
75 setMeta(meta: KeyringPair$Meta): void;
76 sign(message: string | Uint8Array, options?: SignOptions): Uint8Array;
77 toJson(passphrase?: string): KeyringPair$Json;
78 unlock(passphrase?: string): void;
79 verify(message: string | Uint8Array, signature: Uint8Array, signerPublic: string | Uint8Array): boolean;
80 vrfSign(message: string | Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): Uint8Array;
81 vrfVerify(message: string | Uint8Array, vrfResult: Uint8Array, signerPublic: string | Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): boolean;
82}
83export interface KeyringPairs {
84 add: (pair: KeyringPair) => KeyringPair;
85 all: () => KeyringPair[];
86 get: (address: string | Uint8Array) => KeyringPair;
87 remove: (address: string | Uint8Array) => void;
88}
89export interface KeyringInstance {
90 readonly pairs: KeyringPair[];
91 readonly publicKeys: Uint8Array[];
92 readonly type: KeypairType;
93 decodeAddress(encoded: string | Uint8Array, ignoreChecksum?: boolean, ss58Format?: Prefix): Uint8Array;
94 encodeAddress(key: Uint8Array | string, ss58Format?: Prefix): string;
95 setSS58Format(ss58Format: Prefix): void;
96 addPair(pair: KeyringPair): KeyringPair;
97 addFromAddress(address: string | Uint8Array, meta?: KeyringPair$Meta, encoded?: Uint8Array | null, type?: KeypairType, ignoreChecksum?: boolean): KeyringPair;
98 addFromJson(pair: KeyringPair$Json, ignoreChecksum?: boolean): KeyringPair;
99 addFromMnemonic(mnemonic: string, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
100 addFromPair(pair: Keypair, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
101 addFromSeed(seed: Uint8Array, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
102 addFromUri(suri: string, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
103 createFromJson(json: KeyringPair$Json, ignoreChecksum?: boolean): KeyringPair;
104 createFromPair(pair: Keypair, meta: KeyringPair$Meta, type: KeypairType): KeyringPair;
105 createFromUri(suri: string, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
106 getPair(address: string | Uint8Array): KeyringPair;
107 getPairs(): KeyringPair[];
108 getPublicKeys(): Uint8Array[];
109 removePair(address: string | Uint8Array): void;
110 toJson(address: string | Uint8Array, passphrase?: string): KeyringPair$Json;
111}