PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-staking/test/unit/babylon
Просмотр файла: key.utils.ts
import assert from 'assert';
import * as utxolib from '@bitgo/utxo-lib';
import { ECPairInterface } from '@bitgo/utxo-lib';
import { getKey } from '@bitgo/utxo-core/testutil';
export function getECKey(seed: string): ECPairInterface {
const { privateKey } = getKey(seed);
assert(privateKey);
return utxolib.ECPair.fromPrivateKey(privateKey);
}
export function getECKeys(key: string, count: number): ECPairInterface[] {
return Array.from({ length: count }, (_, i) => getECKey(`${key}${i}`));
}
export function getXOnlyPubkey(key: ECPairInterface): Buffer {
return key.publicKey.subarray(1);
}
export function fromXOnlyPublicKey(key: Buffer): ECPairInterface {
for (const prefix of [0x02, 0x03]) {
try {
return utxolib.ECPair.fromPublicKey(Buffer.concat([Buffer.from([prefix]), key]));
} catch {
continue;
}
}
throw new Error('Invalid x-only public key');
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!