UNPKG

@scrow/tapscript

Version:

A development build of tapscript. Built for escrow.

48 lines (39 loc) 1.1 kB
import { Buff, Bytes } from '@cmdcode/buff' import { Network, ScriptData, ScriptWord } from './index.js' export type AddrEnum = 'p2pkh' | 'p2sh' | 'p2w-pkh' | 'p2w-sh' | 'p2tr' export interface DecoderTool { base58 : (str : string) => Buff bech32 : (str : string) => DecodedData bech32m : (str : string) => DecodedData } export interface DecodedData { data : Buff prefix : string version : number } export type AddressType = [ type : AddrEnum, prefix : string, network : Network, size : number, format : 'base58' | 'bech32' | 'bech32m' ] export interface AddressMeta { type : AddrEnum prefix : string network : Network size : number format : 'base58' | 'bech32' | 'bech32m' } export interface AddressData { hex : string key : string network : Network asm : ScriptWord[] type : AddrEnum } export interface AddressTool { create : (input : ScriptData, network ?: Network) => string encode : (keydata : Bytes, network ?: Network) => string decode : (address : string, network ?: Network) => AddressData }