UNPKG

@shocknet/clink-sdk

Version:

sdk client for clink

52 lines (51 loc) 1.53 kB
export declare const utf8Decoder: TextDecoder; export declare const utf8Encoder: TextEncoder; export type Noffer = `noffer1${string}`; export type Ndebit = `ndebit1${string}`; export type Nmanage = `nmanage1${string}`; export declare const Bech32MaxSize = 5000; /** * Bech32 regex. * @see https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki#bech32 */ export declare const BECH32_REGEX: RegExp; export type ManagePointer = { pubkey: string; relay: string; pointer?: string; }; export type OfferPointer = { pubkey: string; relay: string; offer: string; priceType: OfferPriceType; price?: number; }; export declare enum OfferPriceType { Fixed = 0, Variable = 1, Spontaneous = 2 } export type DebitPointer = { pubkey: string; relay: string; pointer?: string; }; type Prefixes = { noffer: OfferPointer; ndebit: DebitPointer; nmanage: ManagePointer; }; type DecodeValue<Prefix extends keyof Prefixes> = { type: Prefix; data: Prefixes[Prefix]; }; export type DecodeResult = { [P in keyof Prefixes]: DecodeValue<P>; }[keyof Prefixes]; export declare function decodeBech32<Prefix extends keyof Prefixes>(nip19: `${Prefix}1${string}`): DecodeValue<Prefix>; export declare function decodeBech32(nip19: string): DecodeResult; export declare const nofferEncode: (offer: OfferPointer) => string; export declare const ndebitEncode: (debit: DebitPointer) => string; export declare const nmanageEncode: (manage: ManagePointer) => string; export {};