@deriverse/kit 1.0.39 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auto_buffer.d.ts +0 -2
- package/dist/auto_data.d.ts +0 -2
- package/dist/constants.d.ts +12 -0
- package/dist/constants.js +26 -0
- package/dist/engine/account-helpers.d.ts +59 -0
- package/dist/engine/account-helpers.js +177 -0
- package/dist/engine/account-helpers.test.d.ts +1 -0
- package/dist/engine/account-helpers.test.js +199 -0
- package/dist/engine/client-queries.d.ts +36 -0
- package/dist/engine/client-queries.js +498 -0
- package/dist/engine/client-queries.test.d.ts +1 -0
- package/dist/engine/client-queries.test.js +341 -0
- package/dist/engine/context-builders.d.ts +16 -0
- package/dist/engine/context-builders.js +158 -0
- package/dist/engine/context-builders.test.d.ts +1 -0
- package/dist/engine/context-builders.test.js +156 -0
- package/dist/engine/index.d.ts +101 -0
- package/dist/engine/index.js +745 -0
- package/dist/engine/index.test.d.ts +1 -0
- package/dist/engine/index.test.js +663 -0
- package/dist/engine/logs-decoder.d.ts +18 -0
- package/dist/engine/logs-decoder.js +414 -0
- package/dist/engine/logs-decoder.test.d.ts +1 -0
- package/dist/engine/logs-decoder.test.js +836 -0
- package/dist/engine/perp-instructions.d.ts +68 -0
- package/dist/engine/perp-instructions.js +478 -0
- package/dist/engine/perp-instructions.test.d.ts +1 -0
- package/dist/engine/perp-instructions.test.js +296 -0
- package/dist/engine/spot-instructions.d.ts +52 -0
- package/dist/engine/spot-instructions.js +376 -0
- package/dist/engine/spot-instructions.test.d.ts +1 -0
- package/dist/engine/spot-instructions.test.js +221 -0
- package/dist/engine/utils.d.ts +23 -0
- package/dist/engine/utils.js +329 -0
- package/dist/engine/utils.test.d.ts +1 -0
- package/dist/engine/utils.test.js +120 -0
- package/dist/index.d.ts +6 -247
- package/dist/index.js +14 -2923
- package/dist/instruction_models.d.ts +0 -2
- package/dist/instruction_models.js +39 -40
- package/dist/logs_models.d.ts +0 -2
- package/dist/types/engine-args.d.ts +32 -0
- package/dist/types/engine-args.js +2 -0
- package/dist/types/enums.d.ts +43 -0
- package/dist/{types.js → types/enums.js} +3 -5
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.js +38 -0
- package/dist/types/log-message.d.ts +2 -0
- package/dist/types/log-message.js +2 -0
- package/dist/types/responses.d.ts +248 -0
- package/dist/types/responses.js +2 -0
- package/dist/types/schemas.d.ts +165 -0
- package/dist/types/schemas.js +254 -0
- package/dist/types/schemas.test.d.ts +1 -0
- package/dist/types/schemas.test.js +94 -0
- package/dist/utils.d.ts +0 -0
- package/dist/utils.js +1 -0
- package/package.json +26 -6
- package/dist/types.d.ts +0 -565
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Instrument, LogMessage } from '../types';
|
|
2
|
+
import { TokenStateModel } from '../structure_models';
|
|
3
|
+
/**
|
|
4
|
+
* Context needed for decoding transaction logs
|
|
5
|
+
*/
|
|
6
|
+
export interface LogsDecoderContext {
|
|
7
|
+
instruments: Map<number, Instrument>;
|
|
8
|
+
tokens: Map<number, TokenStateModel>;
|
|
9
|
+
uiNumbers: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Decode transaction logs into structured log messages
|
|
13
|
+
* @param data Array of log strings from transaction
|
|
14
|
+
* @param ctx Context containing instruments, tokens, and uiNumbers flag
|
|
15
|
+
* @returns Array of decoded log messages
|
|
16
|
+
*/
|
|
17
|
+
declare function decodeTransactionLogs(data: readonly string[], ctx: LogsDecoderContext): LogMessage[];
|
|
18
|
+
export { decodeTransactionLogs };
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeTransactionLogs = decodeTransactionLogs;
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
5
|
+
const base64_arraybuffer_1 = require("base64-arraybuffer");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
const logs_models_1 = require("../logs_models");
|
|
9
|
+
/**
|
|
10
|
+
* Decode transaction logs into structured log messages
|
|
11
|
+
* @param data Array of log strings from transaction
|
|
12
|
+
* @param ctx Context containing instruments, tokens, and uiNumbers flag
|
|
13
|
+
* @returns Array of decoded log messages
|
|
14
|
+
*/
|
|
15
|
+
function decodeTransactionLogs(data, ctx) {
|
|
16
|
+
const { instruments, tokens, uiNumbers } = ctx;
|
|
17
|
+
let assetTokenDec = 1;
|
|
18
|
+
let crncyTokenDec = 1;
|
|
19
|
+
let logs = [];
|
|
20
|
+
for (let log of data) {
|
|
21
|
+
if (log.startsWith('Program returned error') || log.startsWith(`Program logged: "Error`)) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
if (!log.startsWith('Program data: ')) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const buffer = buffer_1.Buffer.from((0, base64_arraybuffer_1.decode)(log.substring(14)));
|
|
28
|
+
switch (buffer[0]) {
|
|
29
|
+
case logs_models_1.LogType.deposit: {
|
|
30
|
+
if (buffer.length == logs_models_1.DepositReportModel.LENGTH) {
|
|
31
|
+
let report = logs_models_1.DepositReportModel.fromBuffer(buffer);
|
|
32
|
+
if (uiNumbers) {
|
|
33
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, report.tokenId, uiNumbers);
|
|
34
|
+
report.amount /= crncyTokenDec;
|
|
35
|
+
}
|
|
36
|
+
logs.push(report);
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
case logs_models_1.LogType.withdraw: {
|
|
41
|
+
if (buffer.length == logs_models_1.WithdrawReportModel.LENGTH) {
|
|
42
|
+
let report = logs_models_1.WithdrawReportModel.fromBuffer(buffer);
|
|
43
|
+
if (uiNumbers) {
|
|
44
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, report.tokenId, uiNumbers);
|
|
45
|
+
report.amount /= crncyTokenDec;
|
|
46
|
+
}
|
|
47
|
+
logs.push(report);
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case logs_models_1.LogType.perpDeposit: {
|
|
52
|
+
if (buffer.length == logs_models_1.PerpDepositReportModel.LENGTH) {
|
|
53
|
+
let report = logs_models_1.PerpDepositReportModel.fromBuffer(buffer);
|
|
54
|
+
if (uiNumbers) {
|
|
55
|
+
const instrInfo = instruments.get(report.instrId);
|
|
56
|
+
if (instrInfo) {
|
|
57
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
58
|
+
report.amount /= crncyTokenDec;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
logs.push(report);
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case logs_models_1.LogType.buyMarketSeat: {
|
|
66
|
+
if (buffer.length == logs_models_1.BuyMarketSeatReportModel.LENGTH) {
|
|
67
|
+
let report = logs_models_1.BuyMarketSeatReportModel.fromBuffer(buffer);
|
|
68
|
+
if (uiNumbers) {
|
|
69
|
+
const instrInfo = instruments.get(report.instrId);
|
|
70
|
+
if (instrInfo) {
|
|
71
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
72
|
+
report.amount /= crncyTokenDec;
|
|
73
|
+
report.seatPrice /= crncyTokenDec;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
logs.push(report);
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case logs_models_1.LogType.sellMarketSeat: {
|
|
81
|
+
if (buffer.length == logs_models_1.SellMarketSeatReportModel.LENGTH) {
|
|
82
|
+
let report = logs_models_1.SellMarketSeatReportModel.fromBuffer(buffer);
|
|
83
|
+
if (uiNumbers) {
|
|
84
|
+
const instrInfo = instruments.get(report.instrId);
|
|
85
|
+
if (instrInfo) {
|
|
86
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
87
|
+
report.seatPrice /= crncyTokenDec;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
logs.push(report);
|
|
91
|
+
}
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
case logs_models_1.LogType.perpWithdraw: {
|
|
95
|
+
if (buffer.length == logs_models_1.PerpWithdrawReportModel.LENGTH) {
|
|
96
|
+
let report = logs_models_1.PerpWithdrawReportModel.fromBuffer(buffer);
|
|
97
|
+
if (uiNumbers) {
|
|
98
|
+
const instrInfo = instruments.get(report.instrId);
|
|
99
|
+
if (instrInfo) {
|
|
100
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
101
|
+
report.amount /= crncyTokenDec;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
logs.push(report);
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case logs_models_1.LogType.feesDeposit: {
|
|
109
|
+
if (buffer.length == logs_models_1.FeesDepositReportModel.LENGTH) {
|
|
110
|
+
let report = logs_models_1.FeesDepositReportModel.fromBuffer(buffer);
|
|
111
|
+
if (uiNumbers) {
|
|
112
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, report.tokenId, uiNumbers);
|
|
113
|
+
report.amount /= crncyTokenDec;
|
|
114
|
+
}
|
|
115
|
+
logs.push(report);
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case logs_models_1.LogType.feesWithdraw: {
|
|
120
|
+
if (buffer.length == logs_models_1.FeesWithdrawReportModel.LENGTH) {
|
|
121
|
+
let report = logs_models_1.FeesWithdrawReportModel.fromBuffer(buffer);
|
|
122
|
+
if (uiNumbers) {
|
|
123
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, report.tokenId, uiNumbers);
|
|
124
|
+
report.amount /= crncyTokenDec;
|
|
125
|
+
}
|
|
126
|
+
logs.push(report);
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case logs_models_1.LogType.spotLpTrade: {
|
|
131
|
+
if (buffer.length == logs_models_1.SpotlpTradeReportModel.LENGTH) {
|
|
132
|
+
let report = logs_models_1.SpotlpTradeReportModel.fromBuffer(buffer);
|
|
133
|
+
if (uiNumbers) {
|
|
134
|
+
const instrInfo = instruments.get(report.instrId);
|
|
135
|
+
if (instrInfo) {
|
|
136
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
137
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
138
|
+
report.qty /= constants_1.lpDec;
|
|
139
|
+
report.tokens /= assetTokenDec;
|
|
140
|
+
report.crncy /= crncyTokenDec;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
logs.push(report);
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
case logs_models_1.LogType.moveSpot: {
|
|
148
|
+
if (buffer.length == logs_models_1.MoveSpotAvailFundsReportModel.LENGTH) {
|
|
149
|
+
let report = logs_models_1.MoveSpotAvailFundsReportModel.fromBuffer(buffer);
|
|
150
|
+
if (uiNumbers) {
|
|
151
|
+
const instrInfo = instruments.get(report.instrId);
|
|
152
|
+
if (instrInfo) {
|
|
153
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
154
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
155
|
+
report.qty /= assetTokenDec;
|
|
156
|
+
report.crncy /= crncyTokenDec;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
logs.push(report);
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case logs_models_1.LogType.earnings: {
|
|
164
|
+
if (buffer.length == logs_models_1.EarningsReportModel.LENGTH) {
|
|
165
|
+
let report = logs_models_1.EarningsReportModel.fromBuffer(buffer);
|
|
166
|
+
if (uiNumbers) {
|
|
167
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, report.tokenId, uiNumbers);
|
|
168
|
+
report.amount /= crncyTokenDec;
|
|
169
|
+
}
|
|
170
|
+
logs.push(report);
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case logs_models_1.LogType.drvsAirdrop: {
|
|
175
|
+
if (buffer.length == logs_models_1.DrvsAirdropReportModel.LENGTH) {
|
|
176
|
+
let report = logs_models_1.DrvsAirdropReportModel.fromBuffer(buffer);
|
|
177
|
+
if (uiNumbers) {
|
|
178
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, 0, uiNumbers);
|
|
179
|
+
report.amount /= crncyTokenDec;
|
|
180
|
+
}
|
|
181
|
+
logs.push(report);
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case logs_models_1.LogType.spotPlaceOrder: {
|
|
186
|
+
if (buffer.length == logs_models_1.SpotPlaceOrderReportModel.LENGTH) {
|
|
187
|
+
let report = logs_models_1.SpotPlaceOrderReportModel.fromBuffer(buffer);
|
|
188
|
+
if (uiNumbers) {
|
|
189
|
+
const instrInfo = instruments.get(report.instrId);
|
|
190
|
+
if (instrInfo) {
|
|
191
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
192
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
193
|
+
report.qty /= assetTokenDec;
|
|
194
|
+
}
|
|
195
|
+
report.price /= constants_1.dec;
|
|
196
|
+
}
|
|
197
|
+
logs.push(report);
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
case logs_models_1.LogType.spotFillOrder: {
|
|
202
|
+
if (buffer.length == logs_models_1.SpotFillOrderReportModel.LENGTH) {
|
|
203
|
+
let report = logs_models_1.SpotFillOrderReportModel.fromBuffer(buffer);
|
|
204
|
+
if (uiNumbers) {
|
|
205
|
+
report.qty /= assetTokenDec;
|
|
206
|
+
report.crncy /= crncyTokenDec;
|
|
207
|
+
report.rebates /= crncyTokenDec;
|
|
208
|
+
report.price /= constants_1.dec;
|
|
209
|
+
}
|
|
210
|
+
logs.push(report);
|
|
211
|
+
}
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
case logs_models_1.LogType.spotNewOrder: {
|
|
215
|
+
if (buffer.length == logs_models_1.SpotNewOrderReportModel.LENGTH) {
|
|
216
|
+
let report = logs_models_1.SpotNewOrderReportModel.fromBuffer(buffer);
|
|
217
|
+
if (uiNumbers) {
|
|
218
|
+
report.qty /= assetTokenDec;
|
|
219
|
+
report.crncy /= crncyTokenDec;
|
|
220
|
+
}
|
|
221
|
+
logs.push(report);
|
|
222
|
+
}
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
case logs_models_1.LogType.spotOrderCancel: {
|
|
226
|
+
if (buffer.length == logs_models_1.SpotOrderCancelReportModel.LENGTH) {
|
|
227
|
+
let report = logs_models_1.SpotOrderCancelReportModel.fromBuffer(buffer);
|
|
228
|
+
if (uiNumbers) {
|
|
229
|
+
const instrInfo = instruments.get(report.instrId);
|
|
230
|
+
if (instrInfo) {
|
|
231
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
232
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
233
|
+
report.qty /= assetTokenDec;
|
|
234
|
+
report.crncy /= crncyTokenDec;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
logs.push(report);
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case logs_models_1.LogType.spotOrderRevoke: {
|
|
242
|
+
if (buffer.length == logs_models_1.SpotOrderRevokeReportModel.LENGTH) {
|
|
243
|
+
let report = logs_models_1.SpotOrderRevokeReportModel.fromBuffer(buffer);
|
|
244
|
+
if (uiNumbers) {
|
|
245
|
+
report.qty /= assetTokenDec;
|
|
246
|
+
report.crncy /= crncyTokenDec;
|
|
247
|
+
}
|
|
248
|
+
logs.push(report);
|
|
249
|
+
}
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
case logs_models_1.LogType.spotFees: {
|
|
253
|
+
if (buffer.length == logs_models_1.SpotFeesReportModel.LENGTH) {
|
|
254
|
+
let report = logs_models_1.SpotFeesReportModel.fromBuffer(buffer);
|
|
255
|
+
if (uiNumbers) {
|
|
256
|
+
report.fees /= crncyTokenDec;
|
|
257
|
+
report.refPayment /= crncyTokenDec;
|
|
258
|
+
}
|
|
259
|
+
logs.push(report);
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
case logs_models_1.LogType.spotPlaceMassCancel: {
|
|
264
|
+
if (buffer.length == logs_models_1.SpotPlaceMassCancelReportModel.LENGTH) {
|
|
265
|
+
let report = logs_models_1.SpotPlaceMassCancelReportModel.fromBuffer(buffer);
|
|
266
|
+
if (uiNumbers) {
|
|
267
|
+
const instrInfo = instruments.get(report.instrId);
|
|
268
|
+
if (instrInfo) {
|
|
269
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
270
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
logs.push(report);
|
|
274
|
+
}
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
case logs_models_1.LogType.spotMassCancel: {
|
|
278
|
+
if (buffer.length == logs_models_1.SpotMassCancelReportModel.LENGTH) {
|
|
279
|
+
let report = logs_models_1.SpotMassCancelReportModel.fromBuffer(buffer);
|
|
280
|
+
if (uiNumbers) {
|
|
281
|
+
report.qty /= assetTokenDec;
|
|
282
|
+
report.crncy /= crncyTokenDec;
|
|
283
|
+
}
|
|
284
|
+
logs.push(report);
|
|
285
|
+
}
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
case logs_models_1.LogType.perpPlaceOrder: {
|
|
289
|
+
if (buffer.length == logs_models_1.PerpPlaceOrderReportModel.LENGTH) {
|
|
290
|
+
let report = logs_models_1.PerpPlaceOrderReportModel.fromBuffer(buffer);
|
|
291
|
+
if (uiNumbers) {
|
|
292
|
+
const instrInfo = instruments.get(report.instrId);
|
|
293
|
+
if (instrInfo) {
|
|
294
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
295
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
296
|
+
report.perps /= assetTokenDec;
|
|
297
|
+
}
|
|
298
|
+
report.price /= constants_1.dec;
|
|
299
|
+
}
|
|
300
|
+
logs.push(report);
|
|
301
|
+
}
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
case logs_models_1.LogType.perpFillOrder: {
|
|
305
|
+
if (buffer.length == logs_models_1.PerpFillOrderReportModel.LENGTH) {
|
|
306
|
+
let report = logs_models_1.PerpFillOrderReportModel.fromBuffer(buffer);
|
|
307
|
+
if (uiNumbers) {
|
|
308
|
+
report.perps /= assetTokenDec;
|
|
309
|
+
report.crncy /= crncyTokenDec;
|
|
310
|
+
report.rebates /= crncyTokenDec;
|
|
311
|
+
report.price /= constants_1.dec;
|
|
312
|
+
}
|
|
313
|
+
logs.push(report);
|
|
314
|
+
}
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
case logs_models_1.LogType.perpNewOrder: {
|
|
318
|
+
if (buffer.length == logs_models_1.PerpNewOrderReportModel.LENGTH) {
|
|
319
|
+
let report = logs_models_1.PerpNewOrderReportModel.fromBuffer(buffer);
|
|
320
|
+
if (uiNumbers) {
|
|
321
|
+
report.perps /= assetTokenDec;
|
|
322
|
+
report.crncy /= crncyTokenDec;
|
|
323
|
+
}
|
|
324
|
+
logs.push(report);
|
|
325
|
+
}
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
case logs_models_1.LogType.perpOrderCancel: {
|
|
329
|
+
if (buffer.length == logs_models_1.PerpOrderCancelReportModel.LENGTH) {
|
|
330
|
+
let report = logs_models_1.PerpOrderCancelReportModel.fromBuffer(buffer);
|
|
331
|
+
if (uiNumbers) {
|
|
332
|
+
const instrInfo = instruments.get(report.instrId);
|
|
333
|
+
if (instrInfo) {
|
|
334
|
+
assetTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.assetTokenId, uiNumbers);
|
|
335
|
+
crncyTokenDec = (0, utils_1.tokenDec)(tokens, instrInfo.header.crncyTokenId, uiNumbers);
|
|
336
|
+
report.perps /= assetTokenDec;
|
|
337
|
+
report.crncy /= crncyTokenDec;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
logs.push(report);
|
|
341
|
+
}
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
case logs_models_1.LogType.perpOrderRevoke: {
|
|
345
|
+
if (buffer.length == logs_models_1.PerpOrderRevokeReportModel.LENGTH) {
|
|
346
|
+
let report = logs_models_1.PerpOrderRevokeReportModel.fromBuffer(buffer);
|
|
347
|
+
if (uiNumbers) {
|
|
348
|
+
report.perps /= assetTokenDec;
|
|
349
|
+
report.crncy /= crncyTokenDec;
|
|
350
|
+
}
|
|
351
|
+
logs.push(report);
|
|
352
|
+
}
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
case logs_models_1.LogType.perpFees: {
|
|
356
|
+
if (buffer.length == logs_models_1.PerpFeesReportModel.LENGTH) {
|
|
357
|
+
let report = logs_models_1.PerpFeesReportModel.fromBuffer(buffer);
|
|
358
|
+
if (uiNumbers) {
|
|
359
|
+
report.fees /= crncyTokenDec;
|
|
360
|
+
report.refPayment /= crncyTokenDec;
|
|
361
|
+
}
|
|
362
|
+
logs.push(report);
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
case logs_models_1.LogType.perpPlaceMassCancel: {
|
|
367
|
+
if (buffer.length == logs_models_1.PerpPlaceMassCancelReportModel.LENGTH) {
|
|
368
|
+
let report = logs_models_1.PerpPlaceMassCancelReportModel.fromBuffer(buffer);
|
|
369
|
+
logs.push(report);
|
|
370
|
+
}
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
case logs_models_1.LogType.perpMassCancel: {
|
|
374
|
+
if (buffer.length == logs_models_1.PerpMassCancelReportModel.LENGTH) {
|
|
375
|
+
let report = logs_models_1.PerpMassCancelReportModel.fromBuffer(buffer);
|
|
376
|
+
if (uiNumbers) {
|
|
377
|
+
report.perps /= assetTokenDec;
|
|
378
|
+
report.crncy /= crncyTokenDec;
|
|
379
|
+
}
|
|
380
|
+
logs.push(report);
|
|
381
|
+
}
|
|
382
|
+
break;
|
|
383
|
+
}
|
|
384
|
+
case logs_models_1.LogType.perpFunding: {
|
|
385
|
+
if (buffer.length == logs_models_1.PerpFundingReportModel.LENGTH) {
|
|
386
|
+
let report = logs_models_1.PerpFundingReportModel.fromBuffer(buffer);
|
|
387
|
+
if (uiNumbers) {
|
|
388
|
+
report.funding /= crncyTokenDec;
|
|
389
|
+
}
|
|
390
|
+
logs.push(report);
|
|
391
|
+
}
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
case logs_models_1.LogType.perpSocLoss: {
|
|
395
|
+
if (buffer.length == logs_models_1.PerpSocLossReportModel.LENGTH) {
|
|
396
|
+
let report = logs_models_1.PerpSocLossReportModel.fromBuffer(buffer);
|
|
397
|
+
if (uiNumbers) {
|
|
398
|
+
report.socLoss /= crncyTokenDec;
|
|
399
|
+
}
|
|
400
|
+
logs.push(report);
|
|
401
|
+
}
|
|
402
|
+
break;
|
|
403
|
+
}
|
|
404
|
+
case logs_models_1.LogType.perpChangeLeverage: {
|
|
405
|
+
if (buffer.length == logs_models_1.PerpChangeLeverageReportModel.LENGTH) {
|
|
406
|
+
let report = logs_models_1.PerpChangeLeverageReportModel.fromBuffer(buffer);
|
|
407
|
+
logs.push(report);
|
|
408
|
+
}
|
|
409
|
+
break;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
return logs;
|
|
414
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|