@btc-vision/transaction
Version:
OPNet transaction library allows you to create and sign transactions for the OPNet network.
38 lines (25 loc) • 1.08 kB
text/typescript
import { type Network, Psbt, type Signer } from '@btc-vision/bitcoin';
import { type MessageHash, type PublicKey, type SchnorrSignature, type Signature, } from '@btc-vision/ecpair';
/**
* Create a custom keypair.
* @class CustomKeypair
*/
export abstract class CustomKeypair implements Signer {
public abstract network: Network;
public abstract publicKey: PublicKey;
public abstract addresses: string[];
public abstract p2tr: string;
public abstract p2wpkh: string;
protected constructor() {}
public abstract signTaprootInput(
transaction: Psbt,
i: number,
sighashTypes: number[],
): Promise<void>;
public abstract signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
public abstract getPublicKey(): PublicKey;
public abstract sign(hash: MessageHash, lowR?: boolean): Signature;
public abstract signSchnorr(hash: MessageHash): SchnorrSignature;
public abstract verify(hash: MessageHash, signature: Signature): boolean;
public abstract init(): Promise<void>;
}