@blockchain-api/bitcoin-js
Version:
Blockchain Api Bitcoin JS
65 lines (64 loc) • 2.72 kB
TypeScript
import { Network } from 'bitcoinjs-lib';
import { UTXO } from '../interfaces/UTXO';
/**
* Generate Bitcoin wallet
* @param testnet testnet or mainnet version of address
* @param mnemonic mnemonic seed to use
* @returns wallet
*/
export declare const generateWallet: (mnemonic: string, path: string, network: Network) => Promise<{
mnemonic: string;
accountExtPubkey: string;
accountExtPrivatekey: string;
bip32ExtPubkey: string;
bip32ExtPrivatekey: string;
}>;
/**
* Generate Bitcoin address from mnemonic
* @param testnet testnet or mainnet version of address
* @param mnemonic mnemonic seed to use
* @param i derivation index of address to generate. Up to 2^31 addresses can be generated.
* @returns blockchain address
*/
export declare const generateAddressFromMnemonic: (path: string, mnemonic: string, i: number, network: Network) => Promise<string>;
/**
* Convert Bitcoin Private Key to Address
* @param testnet testnet or mainnet version of address
* @param privkey private key to use
* @returns blockchain address
*/
export declare const generateAddressFromPrivatekey: (privkey: string, network: Network) => string;
/**
* Generate Bitcoin private key from mnemonic seed
* @param testnet testnet or mainnet version of address
* @param mnemonic mnemonic to generate private key from
* @param i derivation index of private key to generate.
* @returns blockchain private key to the address
*/
export declare const generatePrivateKeyFromMnemonic: (mnemonic: string, path: string, i: number, network: Network) => Promise<string>;
/**
* Generate address from xpub
* @param currency type of blockchain
* @param testnet testnet or mainnet version of address
* @param xpub extended public key to generate address from
* @param i derivation index of address to generate. Up to 2^31 addresses can be generated.
* @returns blockchain address
*/
export declare const generateAddressFromXPub: (xpub: string, i: number, network: Network) => string;
/**
* Check bitcoin address is valid
* @param testnet testnet or mainnet version of address
* @param address bitcoin address
* @returns true || false
*/
export declare const isValidAddress: (address: string, network: Network) => boolean;
/**
* Sign bitcoin tx offline
* @param testnet testnet or mainnet version of address
* @param outputs transaction outputs
* @param privateKey sender private key
* @param toAddress receiver
* @param valueInBtc valut in btc
* @returns rawTx
*/
export declare const signTxOffline: (outputs: UTXO[], privateKey: string, toAddress: string, value: number, network: Network, changeAddress?: string | undefined) => string;