Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 3x 3x 3x 3x 3x 35x 1x 34x 3x 35x 34x 34x 34x 34x 9x 25x 25x 25x | /* * Copyright © 2019 Lisk Foundation * * See the LICENSE file at the top-level directory of this distribution * for licensing information. * * Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation, * no part of this software, including this file, may be copied, modified, * propagated, or distributed except according to the terms contained in the * LICENSE file. * * Removal or modification of this copyright notice is prohibited. * */ import { getKeys } from '@liskhq/lisk-cryptography'; import { validateNetworkIdentifier } from '@liskhq/lisk-validator'; import { SecondSignatureTransaction } from './9_second_signature_transaction'; import { TransactionJSON } from './transaction_types'; import { createBaseTransaction } from './utils'; export interface SecondPassphraseInputs { readonly passphrase?: string; readonly secondPassphrase: string; readonly timeOffset?: number; readonly networkIdentifier: string; } const validateInputs = ({ secondPassphrase, networkIdentifier, }: { readonly secondPassphrase: string; readonly networkIdentifier: string; }): void => { if (typeof secondPassphrase !== 'string') { throw new Error('Please provide a secondPassphrase. Expected string.'); } validateNetworkIdentifier(networkIdentifier); }; export const registerSecondPassphrase = ( inputs: SecondPassphraseInputs, ): Partial<TransactionJSON> => { validateInputs(inputs); const { passphrase, secondPassphrase, networkIdentifier } = inputs; const { publicKey } = getKeys(secondPassphrase); const transaction = { ...createBaseTransaction(inputs), type: 9, asset: { publicKey }, networkIdentifier, }; if (!passphrase) { return transaction; } const secondSignatureTransaction = new SecondSignatureTransaction( transaction as TransactionJSON, ); secondSignatureTransaction.sign(passphrase); return secondSignatureTransaction.toJSON(); }; |