UNPKG

@radixdlt/account

Version:

A JavaScript client library for interacting with the Radix Distributed Ledger.

38 lines (32 loc) 1 kB
import { UInt256 } from '@radixdlt/uint256' import { Mnemonic, PrivateKey } from '@radixdlt/crypto' import { SigningKeychain, SigningKeychainT } from '../src' export const makeSigningKeyChainWithFunds = (): SigningKeychainT => { const signingKeychain = SigningKeychain.create({ startWithInitialSigningKey: false, mnemonic: Mnemonic.generateNew(), // not used, }) const addPK = (privateKeyScalar: number): void => { const privateKey = PrivateKey.fromScalar( UInt256.valueOf(privateKeyScalar), )._unsafeUnwrap() signingKeychain.addSigningKeyFromPrivateKey({ privateKey, alsoSwitchTo: true, name: `SigningKey with funds, privateKey: ${privateKeyScalar}`, }) } addPK(1) addPK(2) addPK(3) addPK(4) addPK(5) signingKeychain.switchSigningKey('first') if ( signingKeychain.__unsafeGetSigningKey().publicKey.toString(true) !== '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' ) { throw new Error('incorrect imple') } return signingKeychain }