UNPKG

hm-aftermath-ts-sdk

Version:
136 lines 3.68 kB
import { ObjectId, SuiAddress } from "../../types"; import { CoinType } from "../coin/coinTypes"; import { Balance, Event, Timestamp, TransactionDigest } from "../../general/types/generalTypes"; export interface ApiDcaInitializeOrdertStrategyBody { minPrice: Balance; maxPrice: Balance; } export interface ApiDcaTransactionForCreateOrderBody { walletAddress: SuiAddress; allocateCoinType: CoinType; allocateCoinAmount: Balance; buyCoinType: CoinType; frequencyMs: Timestamp; tradesAmount: number; strategy?: ApiDcaInitializeOrdertStrategyBody; isSponsoredTx?: boolean; delayTimeMs: Timestamp; maxAllowableSlippageBps: number; coinPerTradeAmount: Balance; customRecipient?: SuiAddress; } export interface ApiDcaTransactionForCloseOrderBody { walletAddress: SuiAddress; bytes: string; signature: string; } export type DcaFailedTradeReason = "INTERNAL" | "STRATEGY" | "GAS_CAP" | "UNKNOWN_USER"; export interface DcaOrderTradeObject { allocatedCoin: { coin: CoinType; amount: Balance; }; buyCoin: { coin: CoinType; amount: Balance; }; tnxDigest: TransactionDigest; tnxDate: Timestamp; rate: number | undefined; } export interface DcaOrderFailedTradeObject { timestamp: number; reason: DcaFailedTradeReason | undefined; } export interface DcaOrdertStrategyObject { minPrice: Balance; maxPrice: Balance; } export interface DcaOrderOverviewObject { allocatedCoin: { coin: CoinType; amount: Balance; }; buyCoin: { coin: CoinType; amount: Balance; }; totalSpent: Balance; intervalMs: Timestamp; totalTrades: number; tradesRemaining: number; maxSlippageBps: number; strategy?: DcaOrdertStrategyObject; recipient?: SuiAddress; progress: number; created: { time: Timestamp; tnxDigest: TransactionDigest; }; nextTrade: { time: Timestamp; tnxDigest: TransactionDigest; }; lastExecutedTrade?: { time: Timestamp; tnxDigest: TransactionDigest; }; } export interface DcaOrderObject { objectId: ObjectId; overview: DcaOrderOverviewObject; trades: DcaOrderTradeObject[]; failed: DcaOrderFailedTradeObject[]; } export interface DcaOrdersObject { active: DcaOrderObject[]; past: DcaOrderObject[]; } export interface DcaCreatedOrderEvent extends Event { orderId: ObjectId; owner: ObjectId; inputValue: Balance; inputType: CoinType; outputType: CoinType; gasValue: Balance; frequencyMs: Timestamp; startTimestampMs: Timestamp; amountPerTrade: Balance; maxAllowableSlippageBps: Balance; minAmountOut: Balance; maxAmountOut: Balance; remainingTrades: bigint; recipient: SuiAddress; } export interface DcaClosedOrderEvent extends Event { orderId: ObjectId; owner: ObjectId; remainingValue: Balance; inputType: CoinType; outputType: CoinType; gasValue: Balance; frequencyMs: Timestamp; lastTradeTimestampMs: Timestamp; amountPerTrade: Balance; maxAllowableSlippageBps: Balance; minAmountOut: Balance; maxAmountOut: Balance; remainingTrades: bigint; } export interface DcaExecutedTradeEvent extends Event { orderId: ObjectId; user: ObjectId; inputType: CoinType; inputAmount: Balance; outputType: CoinType; outputAmount: Balance; } export interface ApiDcaCreateUserBody { walletAddress: SuiAddress; bytes: string; signature: string; } export interface ApiDCAsOwnedBody { walletAddress: SuiAddress; } //# sourceMappingURL=dcaTypes.d.ts.map