UNPKG

@drift-labs/common

Version:

Common functions for Drift

123 lines 6.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDriftEventKey = void 0; const _1 = require("."); /** * Utility method to get a unique key for any drift event. * @param event * @returns */ const getDriftEventKey = (event) => { var _a, _b, _c, _d, _e, _f; const _eventType = event.eventType; switch (_eventType) { case 'SwapRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.txSig}_${_typedEvent.inMarketIndex}_${_typedEvent.outMarketIndex}`; } case 'OrderRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.order.userOrderId}_${_typedEvent.order.orderId}`; } case 'CurveRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.recordId.toString()}`; } case 'DeleteUserRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}`; } case 'DepositRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.depositRecordId.toString()}`; } case 'FundingPaymentRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.txSig}_${_typedEvent.marketIndex}`; } case 'FuelSeasonRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${_typedEvent.txSig}`; } case 'FuelSweepRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.authority.toString()}_${_typedEvent.txSig}`; } case 'LiquidationRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.liquidationId}`; } case 'FundingRateRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.recordId.toString()}`; } case 'NewUserRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.user.toString()}_${_typedEvent.txSig}`; } case 'InsuranceFundRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.txSig}`; } case 'InsuranceFundStakeRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_1.ENUM_UTILS.toStr(_typedEvent.action)}_${_typedEvent.txSig}`; } case 'SpotMarketVaultDepositRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`; } case 'SpotInterestRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.txSig}`; } case 'LPRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_1.ENUM_UTILS.toStr(_typedEvent.action)}_${_typedEvent.txSig}`; } case 'SettlePnlRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.marketIndex}_${_typedEvent.user.toString()}_${_typedEvent.txSig}`; } case 'SignedMsgOrderRecord': { const _typedEvent = event; return `${_typedEvent.eventType}_${_typedEvent.hash}`; } case 'OrderActionRecord': { const _typedEvent = event; const _actionStr = _1.ENUM_UTILS.toStr(_typedEvent.action); switch (_actionStr) { case 'trigger': { return `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${_typedEvent.txSig}`; } case 'fill': { const orderId = _typedEvent.taker ? _typedEvent.takerOrderId : _typedEvent.makerOrderId; const pubkey = _typedEvent.taker ? _typedEvent.taker : _typedEvent.maker; return `${_typedEvent.eventType}_${pubkey.toString()}_${_typedEvent.marketIndex.toString()}_${orderId.toString()}_${_typedEvent.fillRecordId}_${_1.ENUM_UTILS.toStr(_typedEvent.action)}_${_typedEvent.txSig.toString()}`; } case 'expire': { return `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${(_a = _typedEvent.taker) === null || _a === void 0 ? void 0 : _a.toString()}_${(_b = _typedEvent.maker) === null || _b === void 0 ? void 0 : _b.toString()}_${_typedEvent.txSig}`; } case 'place': { return `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${(_c = _typedEvent.taker) === null || _c === void 0 ? void 0 : _c.toString()}_${(_d = _typedEvent.maker) === null || _d === void 0 ? void 0 : _d.toString()}_${_typedEvent.txSig}`; } case 'cancel': { return `${_typedEvent.eventType}_${_actionStr}_${_typedEvent.marketIndex}_${_typedEvent.takerOrderId}_${_typedEvent.makerOrderId}_${(_e = _typedEvent.taker) === null || _e === void 0 ? void 0 : _e.toString()}_${(_f = _typedEvent.maker) === null || _f === void 0 ? void 0 : _f.toString()}_${_typedEvent.txSig}`; } default: { throw new Error(`Unhandled Order Action: ${_actionStr}`); } } } default: { const _unhandledEvent = _eventType; throw new Error(`Unhandled event type: ${_unhandledEvent}`); } } }; exports.getDriftEventKey = getDriftEventKey; //# sourceMappingURL=driftEvents.js.map