Files
common/packages/util-crypto/src/address/keyDerived.ts
T
Jaco Greeff 8d355ff6fc Local base58 alphabet check for better errors (#622)
* Local base58 alphabet check for better errors

* Rewrite yarn.lock

* Align error return values

* Split base58{Encode, Decode}

* base58Encode input types

* Function names, some docs
2020-06-26 14:46:19 +02:00

22 lines
673 B
TypeScript

// Copyright 2017-2020 @polkadot/util-crypto authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import BN from 'bn.js';
import { bnToU8a, stringToU8a, u8aConcat } from '@polkadot/util';
import blake2AsU8a from '../blake2/asU8a';
import decodeAddress from './decode';
const PREFIX = stringToU8a('modlpy/utilisuba');
export default function createKeyDerived (who: Uint8Array | string, index: BigInt | BN | number): Uint8Array {
return blake2AsU8a(
u8aConcat(
PREFIX,
decodeAddress(who),
bnToU8a(index, { bitLength: 16, isLe: true })
)
);
}