Browse Source

Fix some exports

fixTypes
junderw 6 years ago
parent
commit
91d3037cf3
No known key found for this signature in database GPG Key ID: B256185D3A971908
  1. 26
      src/address.ts
  2. 37
      src/index.ts
  3. 4
      src/networks.ts

26
src/address.ts

@ -9,18 +9,18 @@ const payments = require('./payments')
import * as Networks from './networks' import * as Networks from './networks'
import { Network } from './networks' import { Network } from './networks'
export declare type Base58CheckResult = { export type Base58CheckResult = {
hash: Buffer; hash: Buffer;
version: number; version: number;
} }
export declare type Bech32Result = { export type Bech32Result = {
version: number; version: number;
prefix: string; prefix: string;
data: Buffer; data: Buffer;
} }
function fromBase58Check (address: string): Base58CheckResult { export function fromBase58Check (address: string): Base58CheckResult {
const payload = bs58check.decode(address) const payload = bs58check.decode(address)
// TODO: 4.0.0, move to "toOutputScript" // TODO: 4.0.0, move to "toOutputScript"
@ -33,7 +33,7 @@ function fromBase58Check (address: string): Base58CheckResult {
return { version: version, hash: hash } return { version: version, hash: hash }
} }
function fromBech32 (address: string): Bech32Result { export function fromBech32 (address: string): Bech32Result {
const result = bech32.decode(address) const result = bech32.decode(address)
const data = bech32.fromWords(result.words.slice(1)) const data = bech32.fromWords(result.words.slice(1))
@ -44,7 +44,7 @@ function fromBech32 (address: string): Bech32Result {
} }
} }
function toBase58Check (hash: Buffer, version: number): string { export function toBase58Check (hash: Buffer, version: number): string {
typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments) typeforce(types.tuple(types.Hash160bit, types.UInt8), arguments)
const payload = Buffer.allocUnsafe(21) const payload = Buffer.allocUnsafe(21)
@ -54,14 +54,14 @@ function toBase58Check (hash: Buffer, version: number): string {
return bs58check.encode(payload) return bs58check.encode(payload)
} }
function toBech32 (data: Buffer, version: number, prefix: string): string { export function toBech32 (data: Buffer, version: number, prefix: string): string {
const words = bech32.toWords(data) const words = bech32.toWords(data)
words.unshift(version) words.unshift(version)
return bech32.encode(prefix, words) return bech32.encode(prefix, words)
} }
function fromOutputScript (output: Buffer, network: Network): string { //TODO: Network export function fromOutputScript (output: Buffer, network: Network): string { //TODO: Network
network = network || networks.bitcoin network = network || networks.bitcoin
try { return payments.p2pkh({ output, network }).address } catch (e) {} try { return payments.p2pkh({ output, network }).address } catch (e) {}
@ -72,7 +72,7 @@ function fromOutputScript (output: Buffer, network: Network): string { //TODO: N
throw new Error(bscript.toASM(output) + ' has no matching Address') throw new Error(bscript.toASM(output) + ' has no matching Address')
} }
function toOutputScript (address: string, network: Network): Buffer { export function toOutputScript (address: string, network: Network): Buffer {
network = network || networks.bitcoin network = network || networks.bitcoin
let decodeBase58: Base58CheckResult let decodeBase58: Base58CheckResult
@ -100,13 +100,3 @@ function toOutputScript (address: string, network: Network): Buffer {
throw new Error(address + ' has no matching Script') throw new Error(address + ' has no matching Script')
} }
module.exports = {
fromBase58Check: fromBase58Check,
fromBech32: fromBech32,
fromOutputScript: fromOutputScript,
toBase58Check: toBase58Check,
toBech32: toBech32,
toOutputScript: toOutputScript
}
export {}

37
src/index.ts

@ -1,17 +1,26 @@
const script = require('./script') const opcodes = require('bitcoin-ops')
module.exports = { import * as Block from './block'
Block: require('./block'), import * as ECPair from './ecpair'
ECPair: require('./ecpair'), import * as Transaction from './transaction'
Transaction: require('./transaction'), import * as TransactionBuilder from './transaction_builder'
TransactionBuilder: require('./transaction_builder'), import * as address from './address'
import * as bip32 from 'bip32'
import * as crypto from './crypto'
import * as networks from './networks'
import * as payments from './payments'
import * as script from './script'
address: require('./address'), export {
bip32: require('bip32'), Block,
crypto: require('./crypto'), ECPair,
networks: require('./networks'), Transaction,
opcodes: require('bitcoin-ops'), TransactionBuilder,
payments: require('./payments'), address,
script: script bip32,
crypto,
networks,
opcodes,
payments,
script,
} }
export {}

4
src/networks.ts

@ -1,6 +1,6 @@
// https://en.bitcoin.it/wiki/List_of_address_prefixes // https://en.bitcoin.it/wiki/List_of_address_prefixes
// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731 // Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
export declare type Network = { export type Network = {
messagePrefix: string; messagePrefix: string;
bech32: string; bech32: string;
bip32: bip32; bip32: bip32;
@ -9,7 +9,7 @@ export declare type Network = {
wif: number; wif: number;
} }
declare type bip32 = { type bip32 = {
public: number; public: number;
private: number; private: number;
} }

Loading…
Cancel
Save