@2waychain/2wayjs
Version:
API wrapper to access the AIBlock 2 Way Chain
85 lines (84 loc) • 3.21 kB
TypeScript
import { IAssetItem, IAssetToken, ICreateTxIn, ICreateTxPayload, IFetchBalanceResponse, IKeypair, IOutPoint, IResult, ITxOut, Script } from '../interfaces';
/**
* Constructs a signature used in P2PKH script
*
* @export
* @param {Uint8Array} signableData
* @param {Uint8Array} secretKey
* @return {*} {string}
*/
export declare function constructSignature(signableData: Uint8Array, secretKey: Uint8Array): IResult<string>;
/**
* Constructs signable data from previous OutPoint for P2PKH script
*
* @export
* @param {IOutPoint} outPoint - Previous `OutPoint`
* @return {*} {string}
*/
export declare function constructTxInSignableData(outPoint: IOutPoint | null): string | null;
/**
* Gets OutPoint formatted as a string
*
* @export
* @param {(IOutPoint | null)} outPoint
* @return {*} {(string | null)}
*/
export declare function getFormattedOutPointString(outPoint: IOutPoint | null): string | null;
/**
* Generates a new 32 byte DRUID
*
* @returns {string}
*/
export declare function generateDRUID(): IResult<string>;
/**
* Formats script data for "from" address creation
*
* @export
* @return {*} {string}
* @param script - `Script` value
*/
export declare function getFormattedScriptString(script: Script): string;
/**
* Gets "from" address used in 2 way transaction values
*
* @export
* @param {ICreateTxIn[]} txIns - Transaction inputs
* @return {*} {string}
*/
export declare function constructTxInsAddress(txIns: ICreateTxIn[]): IResult<string>;
export declare function constructTxInSignableAssetHash(asset: IAssetToken | IAssetItem): string;
/** Construct a signable hash for a transaction using both the inputs and outputs of the transaction
*
* @param txIn - Transaction input
* @param txOuts - Transaction outputs
* @returns {string} - Signable hash
*/
export declare function constructTxInOutSignableHash(txIn: IOutPoint | null, txOuts: ITxOut[]): string;
/**
* Updates the signatures of the transaction given the available outputs
*
* @param transaction - Transaction to update
* @param fetchBalanceResponse - Response from fetch balance
* @param allKeypairs - All keypairs
* @returns
*/
export declare function updateSignatures(transaction: ICreateTxPayload, fetchBalanceResponse: IFetchBalanceResponse, allKeypairs: Map<string, IKeypair>): import("neverthrow").Ok<ICreateTxPayload, never>;
/**
* Gets the address of the outpoint that matches the transaction hash of the input
*
* @param fetchBalanceResponse - Response from fetch balance
* @param t_hash - Transaction hash
* @returns
*/
export declare function getAddressFromFetchBalanceResponse(fetchBalanceResponse: IFetchBalanceResponse, t_hash: string): string;
/**
* Construct a Pay-to-Public-Key-Hash script
*
* @export
* @param {string} checkData - Data to check
* @param {string} signatureData - Signature
* @param {string} publicKeyData - Public key
* @param {(number | null)} addressVersion - Address version
* @return {*} {IResult<Script>}
*/
export declare function p2pkh(checkData: string, signatureData: string, publicKeyData: string, addressVersion: number | null): IResult<Script>;