PHP WebShell
Текущая директория: /opt/BitGoJS/modules/abstract-utxo/src/offlineVault
Просмотр файла: OfflineVaultHalfSigned.ts
import * as utxolib from '@bitgo/utxo-lib';
import { BIP32Interface } from '@bitgo/utxo-lib';
import { BaseCoin } from '@bitgo/sdk-core';
import { getNetworkFromChain } from '../names';
import { OfflineVaultSignable } from './OfflineVaultSignable';
import { DescriptorTransaction, getHalfSignedPsbt } from './descriptor';
export type OfflineVaultHalfSigned = {
halfSigned: { txHex: string };
};
function createHalfSignedFromPsbt(psbt: utxolib.Psbt): OfflineVaultHalfSigned {
return { halfSigned: { txHex: psbt.toHex() } };
}
export function createHalfSigned(
coin: string,
prv: string | BIP32Interface,
derivationId: string,
tx: unknown
): OfflineVaultHalfSigned {
const network = getNetworkFromChain(coin);
if (typeof prv === 'string') {
prv = utxolib.bip32.fromBase58(prv);
}
prv = BaseCoin.deriveKeyWithSeedBip32(prv, derivationId).key;
if (!OfflineVaultSignable.is(tx)) {
throw new Error('unsupported transaction type');
}
if (DescriptorTransaction.is(tx)) {
return createHalfSignedFromPsbt(getHalfSignedPsbt(tx, prv, network));
}
throw new Error('unsupported transaction type');
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!