PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-lib/src
Просмотр файла: address.ts
import * as bitcoinjs from 'bitcoinjs-lib';
import { Base58CheckResult, Bech32Result } from 'bitcoinjs-lib/src/address';
import * as zcashAddress from '../src/bitgo/zcash/address';
import { isValidNetwork, isZcash, Network } from './networks';
import { p2trPayments } from './index';
export function fromOutputScript(outputScript: Buffer, network: Network): string {
if (isValidNetwork(network) && isZcash(network)) {
return zcashAddress.fromOutputScript(outputScript, network);
}
// We added p2tr payments from our forked bitcoinjs-lib to utxo-lib instead. Our bitcoinjs fork will no longer have
// p2tr support so utxo-lib should take care of retrieving a p2tr address from outputScript and bitcoinjs-lib can
// handle the other type of payments.
try {
return p2trPayments.p2tr({ output: outputScript, network }).address as string;
} catch (e) {
// noop. try the bitcoinjs method
}
return bitcoinjs.address.fromOutputScript(outputScript, network as bitcoinjs.Network);
}
export function toOutputScript(address: string, network: Network): Buffer {
if (isValidNetwork(network) && isZcash(network)) {
return zcashAddress.toOutputScript(address, network);
}
return bitcoinjs.address.toOutputScript(address, network as bitcoinjs.Network);
}
export function toBase58Check(hash: Buffer, version: number, network: Network): string {
if (isValidNetwork(network) && isZcash(network)) {
return zcashAddress.toBase58Check(hash, version);
}
return bitcoinjs.address.toBase58Check(hash, version);
}
export function fromBase58Check(address: string, network: Network): Base58CheckResult {
if (isValidNetwork(network) && isZcash(network)) {
return zcashAddress.fromBase58Check(address);
}
return bitcoinjs.address.fromBase58Check(address);
}
export const { fromBech32, toBech32 } = bitcoinjs.address;
export { Base58CheckResult, Bech32Result };
Выполнить команду
Для локальной разработки. Не используйте в интернете!