UNPKG

client-aftermath-ts-sdk

Version:
59 lines (58 loc) 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DcaApi = void 0; const eventsApiHelpers_1 = require("../../../general/apiHelpers/eventsApiHelpers"); const utils_1 = require("../../../general/utils"); class DcaApi { // ========================================================================= // Constructor // ========================================================================= constructor(Provider) { this.Provider = Provider; this.createCloseOrderTx = (inputs) => { const { tx } = inputs; return tx.moveCall({ target: utils_1.Helpers.transactions.createTxTarget(this.addresses.packages.dca, DcaApi.constants.moduleNames.dca, "close_order"), typeArguments: [inputs.allocateCoinType, inputs.buyCoinType], arguments: [ tx.object(inputs.orderId), tx.object(this.addresses.objects.config), ], }); }; // ========================================================================= // Events // ========================================================================= this.createdOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.events, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.createdOrder); this.createdOrderEventTypeV2 = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.eventsV2, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.createdOrderV2); this.closedOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.events, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.closedOrder); this.executedOrderEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.packages.events, DcaApi.constants.moduleNames.events, DcaApi.constants.eventNames.executedTrade); const addresses = this.Provider.addresses.dca; if (!addresses) throw new Error("not all required addresses have been set in provider"); this.addresses = addresses; this.eventTypes = { createdOrder: this.createdOrderEventType(), createdOrderV2: this.createdOrderEventTypeV2(), closedOrder: this.closedOrderEventType(), executedTrade: this.executedOrderEventType(), }; } } exports.DcaApi = DcaApi; // ========================================================================= // Constants // ========================================================================= DcaApi.constants = { moduleNames: { dca: "order", events: "events", config: "config", }, eventNames: { createdOrder: "CreatedOrderEvent", createdOrderV2: "CreatedOrderEventV2", closedOrder: "ClosedOrderEvent", executedTrade: "ExecutedTradeEvent", }, };