From 18982b0c2de17ca90dd962da20b48ef803db4566 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Tue, 13 Nov 2018 12:35:31 +0100 Subject: [PATCH] Expose address decoding/encoding on keyring (#248) --- packages/keyring/src/index.ts | 8 ++++++-- packages/keyring/src/pair/index.ts | 2 +- packages/keyring/src/types.d.ts | 6 ++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/keyring/src/index.ts b/packages/keyring/src/index.ts index 7c5f9759a..85190e1e4 100644 --- a/packages/keyring/src/index.ts +++ b/packages/keyring/src/index.ts @@ -36,6 +36,10 @@ export default class Keyring implements KeyringInstance { this._pairs = new Pairs(); } + decodeAddress = decodeAddress; + encodeAddress = encodeAddress; + setAddressPrefix = setAddressPrefix; + /** * @name addPair * @signature addPair (pair: KeyringPair): KeyringPair @@ -56,7 +60,7 @@ export default class Keyring implements KeyringInstance { */ addFromAddress (address: string | Uint8Array, meta?: KeyringPair$Meta, defaultEncoded?: Uint8Array): KeyringPair { // @ts-ignore no secretKey - cannot unlock - return this.addPair(createPair({ publicKey: decodeAddress(address) }, meta, defaultEncoded)); + return this.addPair(createPair({ publicKey: this.decodeAddress(address) }, meta, defaultEncoded)); } /** @@ -224,4 +228,4 @@ export default class Keyring implements KeyringInstance { } } -export { Keyring, decodeAddress, encodeAddress, setAddressPrefix }; +export { Keyring }; diff --git a/packages/keyring/src/pair/index.ts b/packages/keyring/src/pair/index.ts index d647e9d3d..8f1042480 100644 --- a/packages/keyring/src/pair/index.ts +++ b/packages/keyring/src/pair/index.ts @@ -8,7 +8,7 @@ import { PairState } from './types'; import { naclSign, naclVerify } from '@polkadot/util-crypto/index'; -import encodeAddress from '../address/encode'; +import { encodeAddress } from '../address'; import decode from './decode'; import encode from './encode'; import getMeta from './getMeta'; diff --git a/packages/keyring/src/types.d.ts b/packages/keyring/src/types.d.ts index 574779e2b..ba896dd57 100644 --- a/packages/keyring/src/types.d.ts +++ b/packages/keyring/src/types.d.ts @@ -2,6 +2,8 @@ // This software may be modified and distributed under the terms // of the ISC license. See the LICENSE file for details. +import { Prefix } from './address/types'; + export type KeyringPair$Meta = { [index: string]: any } @@ -39,6 +41,10 @@ export interface KeyringPairs { } export interface KeyringInstance { + decodeAddress (encoded: string | Uint8Array): Uint8Array, + encodeAddress (key: Uint8Array | string): string, + setAddressPrefix (prefix: Prefix): void, + addPair (pair: KeyringPair): KeyringPair, addFromAddress (address: string | Uint8Array, meta?: KeyringPair$Meta): KeyringPair, addFromMnemonic (mnemonic: string, meta?: KeyringPair$Meta): KeyringPair,