2019-03-05 07:11:20 +01:00
|
|
|
import { Network } from '../networks';
|
2019-03-03 15:07:49 +01:00
|
|
|
import { p2data as embed } from './embed';
|
|
|
|
import { p2ms } from './p2ms';
|
|
|
|
import { p2pk } from './p2pk';
|
|
|
|
import { p2pkh } from './p2pkh';
|
|
|
|
import { p2sh } from './p2sh';
|
|
|
|
import { p2wpkh } from './p2wpkh';
|
|
|
|
import { p2wsh } from './p2wsh';
|
2018-06-05 09:24:47 +02:00
|
|
|
|
2018-12-28 16:00:52 +01:00
|
|
|
export interface Payment {
|
2019-07-11 07:49:26 +02:00
|
|
|
name?: string;
|
2019-03-03 15:07:49 +01:00
|
|
|
network?: Network;
|
|
|
|
output?: Buffer;
|
2019-03-07 04:29:24 +01:00
|
|
|
data?: Buffer[];
|
2019-03-03 15:07:49 +01:00
|
|
|
m?: number;
|
|
|
|
n?: number;
|
2019-03-07 04:29:24 +01:00
|
|
|
pubkeys?: Buffer[];
|
2019-03-03 15:07:49 +01:00
|
|
|
input?: Buffer;
|
2019-03-07 04:29:24 +01:00
|
|
|
signatures?: Buffer[];
|
2019-03-03 15:07:49 +01:00
|
|
|
pubkey?: Buffer;
|
|
|
|
signature?: Buffer;
|
|
|
|
address?: string;
|
|
|
|
hash?: Buffer;
|
|
|
|
redeem?: Payment;
|
2019-03-07 04:29:24 +01:00
|
|
|
witness?: Buffer[];
|
2018-12-28 16:00:52 +01:00
|
|
|
}
|
|
|
|
|
2019-09-07 06:42:03 +02:00
|
|
|
export type PaymentCreator = (a: Payment, opts?: PaymentOpts) => Payment;
|
|
|
|
|
2019-03-07 04:59:52 +01:00
|
|
|
export type PaymentFunction = () => Payment;
|
|
|
|
|
2018-12-28 16:00:52 +01:00
|
|
|
export interface PaymentOpts {
|
2019-03-03 15:07:49 +01:00
|
|
|
validate?: boolean;
|
|
|
|
allowIncomplete?: boolean;
|
2018-12-28 16:00:52 +01:00
|
|
|
}
|
|
|
|
|
2019-03-07 04:29:24 +01:00
|
|
|
export type StackElement = Buffer | number;
|
|
|
|
export type Stack = StackElement[];
|
2019-03-07 04:47:26 +01:00
|
|
|
export type StackFunction = () => Stack;
|
2019-03-07 04:29:24 +01:00
|
|
|
|
2019-03-03 15:07:49 +01:00
|
|
|
export { embed, p2ms, p2pk, p2pkh, p2sh, p2wpkh, p2wsh };
|
2018-06-05 09:24:47 +02:00
|
|
|
|
|
|
|
// TODO
|
|
|
|
// witness commitment
|