@2waychain/2wayjs
Version:
API wrapper to access the AIBlock 2 Way Chain
136 lines (135 loc) • 5.84 kB
TypeScript
import { IAssetToken, IAssetItem, IDruidExpectation, IPending2WTxDetails, IResult, IApiCreateTxResponse, IMakePaymentResponse } from '../interfaces';
/**
* Initialize an empty structure of type `IAssetToken`, providing optional additional values
*
* @export
* @param {Partial<IAssetToken>} [options] - Optional additional values to initialize the structure with
* @return {*} {IAssetToken}
*/
export declare function initIAssetToken(options?: Partial<IAssetToken>): IAssetToken;
/**
* Initialize an empty structure of type `IAssetItem`, providing optional additional values
*
* @export
* @param {Partial<IAssetItem>} [options] - Optional additional values to initialize the structure with
* @return {*} {IAssetItem}
*/
export declare function initIAssetItem(options?: Partial<IAssetItem>): IAssetItem;
/**
* Initialize an empty structure of type `IDruidExpectation`, providing optional additional values
*
* @export
* @param {Partial<IDruidExpectation>} [options] - Optional additional values to initialize the structure with
* @return {*} {IDruidExpectation}
*/
export declare function initIDruidExpectation(options?: Partial<IDruidExpectation>): IDruidExpectation;
/**
* Initialize an empty structure of type `IPending2WTxDetails`, providing optional additional values
*
* @export
* @param {Partial<IPending2WTxDetails>} [options] - Optional additional values to initialize the structure with
* @return {*} {IPending2WTxDetails}
*/
export declare function initIPending2WTxDetails(options?: Partial<IPending2WTxDetails>): IPending2WTxDetails;
/**
* Add left-hand-side asset to right-hand-side asset
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {(IResult<IAssetToken | IAssetItem>)}
*/
export declare const addLhsAssetToRhsAsset: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<IAssetToken | IAssetItem>;
/**
* Subtract the right-hand-side asset from the left-hand-side asset
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {(IResult<IAssetToken | IAssetItem>)}
*/
export declare const subRhsAssetFromLhsAsset: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<IAssetToken | IAssetItem>;
/**
* Determine whether the left-hand-side asset is equal to, or greater than the right-hand-side asset
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {IResult<boolean>}
*/
export declare const lhsAssetIsEqOrGreaterThanRhsAsset: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<boolean>;
/**
* Determine whether the left-hand-side asset is greater than the right-hand-side asset
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {IResult<boolean>}
*/
export declare const lhsAssetIsGreaterThanRhsAsset: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<boolean>;
/**
* Determine whether the left-hand-side asset is less than the right-hand-side asset
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {IResult<boolean>}
*/
export declare const lhsAssetIsLessThanRhsAsset: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<boolean>;
/**
* Determine whether an asset is of type `IAssetToken`
*
* @param {*} value
* @return {*} {value is IAssetToken}
*/
export declare const isOfTypeIAssetToken: (value: any) => value is IAssetToken;
/**
* Determine whether an asset is of type `IAssetItem`
*
* @param {*} value
* @return {*} {value is IAssetItem}
*/
export declare const isOfTypeIAssetItem: (value: any) => value is IAssetItem;
/**
* Determine whether the provided value is of type `IPending2WTxDetails`
*
* @param {*} value
* @return {*} {value is IPending2WTxDetails} (: value is IPending2WTxDetails)
*/
export declare const isOfTypeIPending2WTxDetails: (value: any) => boolean;
/**
*
*
* @template T
* @param {*} arg
* @param {*} testAgainst
* @return {*} {arg is T}
*/
export declare const isOfType: <T>(arg: any, testAgainst: any) => arg is T;
/**
* Determine whether two assets are of type `IAssetToken`
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {IResult<[IAssetToken, IAssetToken]>}
*/
export declare const assetsAreBothTokens: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<[IAssetToken, IAssetToken]>;
/**
* Determine wheter two assets are `IAssetItem` assets which are compatible based on their DRS transaction hash
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {IResult<[IAssetItem, IAssetItem]>}
*/
export declare const assetsAreBothCompatibleItems: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => IResult<[IAssetItem, IAssetItem]>;
/**
* Determine whether or not two assets are compatible
*
* @param {(IAssetToken | IAssetItem)} lhs
* @param {(IAssetToken | IAssetItem)} rhs
* @return {*} {boolean}
*/
export declare const assetsAreCompatible: (lhs: IAssetToken | IAssetItem, rhs: IAssetToken | IAssetItem) => boolean;
/**
* Create an `ICreateTransactionResponse` object from a response received by the network (network response is terrible to digest)
*
* @param {string[]} usedAddresses
* @param {IApiCreateTxResponse} networkResponse
* @return {*} {IResult<IMakePaymentResponse>}
*/
export declare const transformCreateTxResponseFromNetwork: (usedAddresses: string[], networkResponse: IApiCreateTxResponse) => IResult<IMakePaymentResponse>;