@thorchain/asgardex-util
Version:
Helper utilities for ASGARDEX clients
95 lines (94 loc) • 3.96 kB
TypeScript
import { BaseAmount, Asset } from '@xchainjs/xchain-util';
/**
* Memo to swap
*
* @param asset Asset to swap
* @param address Destination `address` to swap and send to someone. If `address` is emtpy or undefined, it will send swap amount toitself
* @param limit Price protection. If the value isn't achieved then it is refunded.
* ie, set 10000000 to be garuanteed a minimum of 1 full asset.
* If LIM is ommitted, then there is no price protection
*
* @see https://docs.thorchain.org/developers/transaction-memos#transactions
*/
export declare const getSwapMemo: ({ asset, address, limit, short }: {
asset: Asset;
address?: string | undefined;
limit?: {
type: import("@xchainjs/xchain-util").Denomination.Base;
amount: () => import("bignumber.js").default;
plus: (value: any | import("bignumber.js").default.Value, decimal?: number | undefined) => any;
minus: (value: any | import("bignumber.js").default.Value, decimal?: number | undefined) => any;
times: (value: any | import("bignumber.js").default.Value, decimal?: number | undefined) => any;
div: (value: any | import("bignumber.js").default.Value, decimal?: number | undefined) => any;
gt: (value: any | import("bignumber.js").default.Value) => boolean;
gte: (value: any | import("bignumber.js").default.Value) => boolean;
lt: (value: any | import("bignumber.js").default.Value) => boolean;
lte: (value: any | import("bignumber.js").default.Value) => boolean;
eq: (value: any | import("bignumber.js").default.Value) => boolean;
decimal: number;
} | undefined;
short?: boolean | undefined;
}) => string;
/**
* Memo to deposit
*
* @param asset Asset to deposit into a specified pool
* @param address (optional) For cross-chain deposits, an address is needed to cross-reference addresses
*
* Memo is based on definition in https://gitlab.com/thorchain/thornode/-/blob/develop/x/thorchain/memo/memo.go#L35
*/
export declare const getDepositMemo: ({ asset, address, short }: {
asset: Asset;
address?: string | undefined;
short?: boolean | undefined;
}) => string;
/**
* Memo to withdraw
*
* @param asset Asset to withdraw from a pool
* @param percent Percent (0-100%)
*
* @see https://docs.thorchain.org/developers/transaction-memos#transactions
*/
export declare const getWithdrawMemo: ({ asset, percent, targetAsset, short }: {
asset: Asset;
percent: number;
targetAsset?: Asset | undefined;
short?: boolean | undefined;
}) => string;
/**
* Memo to switch
*
* @param address Address to send amounts to
*
* Memo is based on definitions in https://gitlab.com/thorchain/thornode/-/blob/develop/x/thorchain/memo/memo.go#L38-65
*/
export declare const getSwitchMemo: (address: string) => string;
/**
* Memo to bond
*
* @param thorAddress THOR address to send amounts to
*
* Memo is based on definition in https://gitlab.com/thorchain/thornode/-/blob/develop/x/thorchain/memo/memo.go#L55
* @docs https://docs.thorchain.org/thornodes/joining#2-send-bond
*/
export declare const getBondMemo: (thorAddress: string) => string;
/**
* Memo to unbond
*
* @param thorAddress THOR address unbond from
* @param units Base Amount of units to unbond
*
* Memo is based on definition in https://gitlab.com/thorchain/thornode/-/blob/develop/x/thorchain/memo/memo.go#L55
* @docs https://docs.thorchain.org/thornodes/leaving#unbonding
*/
export declare const getUnbondMemo: (thorAddress: string, units: BaseAmount) => string;
/**
* Memo to leave
*
* @param thorAddress THOR address to leave from
*
* Memo is based on definition in https://gitlab.com/thorchain/thornode/-/blob/develop/x/thorchain/memo/memo.go#L55
* @docs https://docs.thorchain.org/thornodes/leaving#leaving
*/
export declare const getLeaveMemo: (thorAddress: string) => string;