PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-staking/test/unit
Просмотр файла: fixtures.utils.ts
import { Descriptor } from '@bitgo/wasm-miniscript';
import * as utxolib from '@bitgo/utxo-lib';
import * as bitcoinjslib from 'bitcoinjs-lib';
import { toPlainObjectFromTx, toPlainObjectFromPsbt } from '@bitgo/utxo-core/testutil/descriptor';
export function normalize(v: unknown): unknown {
if (typeof v === 'bigint') {
return v.toString();
}
if (v instanceof Descriptor) {
return v.toString();
}
if (v instanceof Uint8Array) {
v = Buffer.from(v);
}
if (v instanceof Buffer) {
return v.toString('hex');
}
if (v instanceof bitcoinjslib.Psbt) {
v = utxolib.Psbt.fromBuffer(v.toBuffer());
}
if (v instanceof utxolib.Psbt) {
return toPlainObjectFromPsbt(v);
}
if (v instanceof utxolib.Transaction) {
return toPlainObjectFromTx(v);
}
if (Array.isArray(v)) {
return v.map(normalize);
}
if (typeof v === 'object' && v !== null) {
return Object.fromEntries(Object.entries(v).flatMap(([k, v]) => (v === undefined ? [] : [[k, normalize(v)]])));
}
return v;
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!