@h2protocol/v4-client-js 1.3.48-h2.1 → 1.3.49-h2.1
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/build/cjs/src/clients/composite-client.js +8 -71
- package/build/cjs/src/clients/helpers/chain-helpers.js +24 -38
- package/build/cjs/src/clients/modules/composer.js +1 -37
- package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/esm/src/clients/composite-client.d.ts.map +1 -1
- package/build/esm/src/clients/composite-client.js +8 -71
- package/build/esm/src/clients/helpers/chain-helpers.d.ts.map +1 -1
- package/build/esm/src/clients/helpers/chain-helpers.js +24 -38
- package/build/esm/src/clients/modules/composer.d.ts.map +1 -1
- package/build/esm/src/clients/modules/composer.js +2 -38
- package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/clients/composite-client.ts +7 -75
- package/src/clients/helpers/chain-helpers.ts +24 -41
- package/src/clients/modules/composer.ts +0 -39
- package//344/270/213/345/215/225/344/272/244/346/230/223/351/200/273/350/276/221/350/257/246/350/247/243.md +437 -0
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.CompositeClient = void 0;
|
|
7
7
|
const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
|
|
8
8
|
const order_1 = require("@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order");
|
|
9
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
10
|
const ethers_1 = require("ethers");
|
|
10
11
|
const long_1 = require("../lib/long");
|
|
11
12
|
const protobufjs_1 = __importDefault(require("protobufjs"));
|
|
@@ -242,26 +243,6 @@ class CompositeClient {
|
|
|
242
243
|
* @returns The transaction hash.
|
|
243
244
|
*/
|
|
244
245
|
async placeOrder(subaccount, marketId, type, side, price, size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice, marketInfo, currentHeight, goodTilBlock, memo, broadcastMode) {
|
|
245
|
-
// 调试打印:下单入口参数
|
|
246
|
-
console.log('[DEBUG placeOrder] 下单入口参数:', {
|
|
247
|
-
marketId,
|
|
248
|
-
type,
|
|
249
|
-
side,
|
|
250
|
-
price,
|
|
251
|
-
size,
|
|
252
|
-
clientId,
|
|
253
|
-
timeInForce,
|
|
254
|
-
goodTilTimeInSeconds,
|
|
255
|
-
execution,
|
|
256
|
-
postOnly,
|
|
257
|
-
reduceOnly,
|
|
258
|
-
triggerPrice,
|
|
259
|
-
marketInfo,
|
|
260
|
-
currentHeight,
|
|
261
|
-
goodTilBlock,
|
|
262
|
-
subaccountNumber: subaccount.subaccountNumber,
|
|
263
|
-
subaccountAddress: subaccount.address,
|
|
264
|
-
});
|
|
265
246
|
const msgs = new Promise((resolve) => {
|
|
266
247
|
const msg = this.placeOrderMessage(subaccount, marketId, type, side, price, size, clientId, timeInForce, goodTilTimeInSeconds, execution, postOnly, reduceOnly, triggerPrice, marketInfo, currentHeight, goodTilBlock);
|
|
267
248
|
msg
|
|
@@ -303,11 +284,6 @@ class CompositeClient {
|
|
|
303
284
|
const orderFlags = (0, chain_helpers_1.calculateOrderFlags)(type, timeInForce);
|
|
304
285
|
const account = this.validatorClient.post.account(subaccount.address, orderFlags);
|
|
305
286
|
return this.send(subaccount, () => msgs, true, undefined, memo, broadcastMode, () => account).then((result) => {
|
|
306
|
-
// 调试打印:交易发送结果
|
|
307
|
-
console.log('[DEBUG placeOrder] 交易发送结果:', {
|
|
308
|
-
result,
|
|
309
|
-
transactionHash: result.transactionHash || result.hash,
|
|
310
|
-
});
|
|
311
287
|
return result;
|
|
312
288
|
});
|
|
313
289
|
}
|
|
@@ -351,33 +327,6 @@ class CompositeClient {
|
|
|
351
327
|
const orderSide = (0, chain_helpers_1.calculateSide)(side);
|
|
352
328
|
const quantums = (0, chain_helpers_1.calculateQuantums)(size, atomicResolution, stepBaseQuantums);
|
|
353
329
|
const subticks = (0, chain_helpers_1.calculateSubticks)(price, atomicResolution, quantumConversionExponent, subticksPerTick);
|
|
354
|
-
// 调试打印:订单信息汇总
|
|
355
|
-
// 注意:避免直接计算 quantums.multiply(subticks) 因为可能产生无法序列化的 BigInt
|
|
356
|
-
const quantumsNum = Number(quantums.toString());
|
|
357
|
-
const subticksNum = Number(subticks.toString());
|
|
358
|
-
const orderValueStr = quantums.multiply(subticks).toString();
|
|
359
|
-
console.log('[DEBUG placeOrderMessage] 订单信息汇总:', {
|
|
360
|
-
marketId,
|
|
361
|
-
type,
|
|
362
|
-
side,
|
|
363
|
-
inputPrice: price,
|
|
364
|
-
inputSize: size,
|
|
365
|
-
marketParams: {
|
|
366
|
-
clobPairId,
|
|
367
|
-
atomicResolution,
|
|
368
|
-
stepBaseQuantums,
|
|
369
|
-
quantumConversionExponent,
|
|
370
|
-
subticksPerTick,
|
|
371
|
-
},
|
|
372
|
-
calculatedQuantums: quantums.toString(),
|
|
373
|
-
calculatedSubticks: subticks.toString(),
|
|
374
|
-
quantumsNumber: quantumsNum,
|
|
375
|
-
subticksNumber: subticksNum,
|
|
376
|
-
// 计算订单总价值(注意:这可能需要根据实际业务逻辑调整)
|
|
377
|
-
orderValueRaw: orderValueStr,
|
|
378
|
-
// 转换为可读的报价单位(避免序列化问题)
|
|
379
|
-
orderValueInQuote: (quantumsNum * subticksNum / Math.pow(10, atomicResolution - quantumConversionExponent + 6)).toFixed(8),
|
|
380
|
-
});
|
|
381
330
|
const orderTimeInForce = (0, chain_helpers_1.calculateTimeInForce)(type, timeInForce, execution, postOnly);
|
|
382
331
|
let goodTilBlockTime = 0;
|
|
383
332
|
if (orderFlags === types_1.OrderFlags.LONG_TERM || orderFlags === types_1.OrderFlags.CONDITIONAL) {
|
|
@@ -395,10 +344,6 @@ class CompositeClient {
|
|
|
395
344
|
}
|
|
396
345
|
async retrieveMarketInfo(marketId, marketInfo) {
|
|
397
346
|
if (marketInfo) {
|
|
398
|
-
console.log('[DEBUG retrieveMarketInfo] 使用提供的市场信息:', {
|
|
399
|
-
marketId,
|
|
400
|
-
marketInfo,
|
|
401
|
-
});
|
|
402
347
|
return Promise.resolve(marketInfo);
|
|
403
348
|
}
|
|
404
349
|
else {
|
|
@@ -409,18 +354,6 @@ class CompositeClient {
|
|
|
409
354
|
const stepBaseQuantums = market.stepBaseQuantums;
|
|
410
355
|
const quantumConversionExponent = market.quantumConversionExponent;
|
|
411
356
|
const subticksPerTick = market.subticksPerTick;
|
|
412
|
-
// 调试打印:获取的市场信息
|
|
413
|
-
console.log('[DEBUG retrieveMarketInfo] 从API获取的市场信息:', {
|
|
414
|
-
marketId,
|
|
415
|
-
marketResponse: market,
|
|
416
|
-
extractedParams: {
|
|
417
|
-
clobPairId,
|
|
418
|
-
atomicResolution,
|
|
419
|
-
stepBaseQuantums,
|
|
420
|
-
quantumConversionExponent,
|
|
421
|
-
subticksPerTick,
|
|
422
|
-
},
|
|
423
|
-
});
|
|
424
357
|
return {
|
|
425
358
|
clobPairId,
|
|
426
359
|
atomicResolution,
|
|
@@ -833,10 +766,14 @@ class CompositeClient {
|
|
|
833
766
|
return this.validatorClient.post.depositToMegavaultMsg(subaccount.address, subaccount.subaccountNumber, (0, helpers_1.bigIntToBytes)((0, chain_helpers_1.calculateVaultQuantums)(amountUsdc)));
|
|
834
767
|
}
|
|
835
768
|
async withdrawFromMegavault(subaccount, shares, minAmount, broadcastMode) {
|
|
836
|
-
|
|
769
|
+
// 使用 BigNumber 处理 shares,避免大数字转换为科学计数法
|
|
770
|
+
const sharesBN = (0, bignumber_js_1.default)(shares).integerValue(bignumber_js_1.default.ROUND_FLOOR);
|
|
771
|
+
return this.validatorClient.post.withdrawFromMegavault(subaccount, (0, helpers_1.bigIntToBytes)(BigInt(sharesBN.toFixed(0, bignumber_js_1.default.ROUND_FLOOR))), (0, helpers_1.bigIntToBytes)((0, chain_helpers_1.calculateVaultQuantums)(minAmount)), broadcastMode);
|
|
837
772
|
}
|
|
838
773
|
withdrawFromMegavaultMessage(subaccount, shares, minAmount) {
|
|
839
|
-
|
|
774
|
+
// 使用 BigNumber 处理 shares,避免大数字转换为科学计数法
|
|
775
|
+
const sharesBN = (0, bignumber_js_1.default)(shares).integerValue(bignumber_js_1.default.ROUND_FLOOR);
|
|
776
|
+
return this.validatorClient.post.withdrawFromMegavaultMsg(subaccount.address, subaccount.subaccountNumber, (0, helpers_1.bigIntToBytes)(BigInt(sharesBN.toFixed(0, bignumber_js_1.default.ROUND_FLOOR))), (0, helpers_1.bigIntToBytes)((0, chain_helpers_1.calculateVaultQuantums)(minAmount)));
|
|
840
777
|
}
|
|
841
778
|
/**
|
|
842
779
|
* @description Submit a governance proposal to add a new market.
|
|
@@ -941,4 +878,4 @@ class CompositeClient {
|
|
|
941
878
|
}
|
|
942
879
|
}
|
|
943
880
|
exports.CompositeClient = CompositeClient;
|
|
944
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMkRBQWdEO0FBTWhELHNGQUdvRTtBQUNwRSxtQ0FBb0M7QUFDcEMsc0NBQW1DO0FBQ25DLDREQUFrQztBQUVsQyw0Q0FBK0M7QUFDL0Msa0RBQXNFO0FBQ3RFLG9DQUE2RDtBQUM3RCwyQ0FXcUI7QUFDckIsMkRBVWlDO0FBQ2pDLHFEQUFpRDtBQUNqRCx5Q0FBeUM7QUFDekMsNkNBQWtEO0FBRWxELDZDQUE4QztBQUU5Qyx5REFBcUQ7QUFFckQsb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7QUFDakMsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQWtEckIsTUFBYSxlQUFlO0lBTTFCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFvQixPQUFnQixFQUFFLFVBQW1CO1FBVmxELGFBQVEsR0FBcUIsNEJBQWdCLENBQUMsSUFBSSxDQUFDO1FBV3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSw4QkFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLGtDQUFlLENB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
|
|
881
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2NvbXBvc2l0ZS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsMkRBQWdEO0FBTWhELHNGQUdvRTtBQUNwRSxnRUFBcUM7QUFDckMsbUNBQW9DO0FBQ3BDLHNDQUFtQztBQUNuQyw0REFBa0M7QUFFbEMsNENBQStDO0FBQy9DLGtEQUFzRTtBQUN0RSxvQ0FBNkQ7QUFDN0QsMkNBV3FCO0FBQ3JCLDJEQVVpQztBQUNqQyxxREFBaUQ7QUFDakQseUNBQXlDO0FBQ3pDLDZDQUFrRDtBQUVsRCw2Q0FBOEM7QUFFOUMseURBQXFEO0FBRXJELG9FQUFvRTtBQUNwRSxxRUFBcUU7QUFDckUsd0VBQXdFO0FBQ3hFLGtFQUFrRTtBQUNsRSxvQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLG9CQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFrRHJCLE1BQWEsZUFBZTtJQU0xQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFnQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBb0IsT0FBZ0IsRUFBRSxVQUFtQjtRQVZsRCxhQUFRLEdBQXFCLDRCQUFnQixDQUFDLElBQUksQ0FBQztRQVd4RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksOEJBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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
|
|
@@ -25,27 +25,26 @@ function round(input, base) {
|
|
|
25
25
|
.times((0, bignumber_js_1.default)(base))
|
|
26
26
|
.toNumber();
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Round a BigNumber to the nearest multiple of base, using BigNumber to avoid precision loss
|
|
30
|
+
*/
|
|
31
|
+
function roundBigNumber(input, base) {
|
|
32
|
+
return (0, bignumber_js_1.default)(input)
|
|
33
|
+
.div((0, bignumber_js_1.default)(base))
|
|
34
|
+
.integerValue(bignumber_js_1.default.ROUND_FLOOR)
|
|
35
|
+
.times((0, bignumber_js_1.default)(base));
|
|
36
|
+
}
|
|
28
37
|
function calculateQuantums(size, atomicResolution, stepBaseQuantums) {
|
|
29
38
|
const rawQuantums = (0, bignumber_js_1.default)(size).times((0, bignumber_js_1.default)(10).pow((0, bignumber_js_1.default)(atomicResolution).negated()));
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
const rawQuantumsStr = rawQuantums.toFixed(0, bignumber_js_1.default.ROUND_FLOOR);
|
|
33
|
-
const quantums = round(Number(rawQuantumsStr), stepBaseQuantums);
|
|
39
|
+
// 使用 BigNumber 进行 round 计算,避免转换为 number 时丢失精度
|
|
40
|
+
const quantums = roundBigNumber(rawQuantums, stepBaseQuantums);
|
|
34
41
|
// stepBaseQuantums functions as minimum order size
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
atomicResolution,
|
|
40
|
-
stepBaseQuantums,
|
|
41
|
-
rawQuantums: rawQuantums.toString(),
|
|
42
|
-
rawQuantumsStr,
|
|
43
|
-
quantumsAfterRound: quantums,
|
|
44
|
-
finalQuantums: result,
|
|
45
|
-
finalQuantumsLong: String(result),
|
|
46
|
-
});
|
|
42
|
+
const stepBaseQuantumsBN = (0, bignumber_js_1.default)(stepBaseQuantums);
|
|
43
|
+
const result = bignumber_js_1.default.max(quantums, stepBaseQuantumsBN);
|
|
44
|
+
// 使用 toFixed(0) 确保转换为整数字符串,避免科学计数法
|
|
45
|
+
const resultStr = result.toFixed(0, bignumber_js_1.default.ROUND_FLOOR);
|
|
47
46
|
// 使用 fromString 保持精度,避免 fromNumber 可能的精度丢失
|
|
48
|
-
return long_1.Long.fromString(
|
|
47
|
+
return long_1.Long.fromString(resultStr);
|
|
49
48
|
}
|
|
50
49
|
function calculateVaultQuantums(size) {
|
|
51
50
|
return BigInt((0, bignumber_js_1.default)(size).times(1000000).toFixed(0, bignumber_js_1.default.ROUND_FLOOR));
|
|
@@ -54,27 +53,14 @@ function calculateSubticks(price, atomicResolution, quantumConversionExponent, s
|
|
|
54
53
|
const QUOTE_QUANTUMS_ATOMIC_RESOLUTION = -6;
|
|
55
54
|
const exponent = atomicResolution - quantumConversionExponent - QUOTE_QUANTUMS_ATOMIC_RESOLUTION;
|
|
56
55
|
const rawSubticks = (0, bignumber_js_1.default)(price).times((0, bignumber_js_1.default)(10).pow(exponent));
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
console.log('[DEBUG calculateSubticks] 价格转换详情:', {
|
|
64
|
-
inputPrice: price,
|
|
65
|
-
atomicResolution,
|
|
66
|
-
quantumConversionExponent,
|
|
67
|
-
subticksPerTick,
|
|
68
|
-
QUOTE_QUANTUMS_ATOMIC_RESOLUTION,
|
|
69
|
-
calculatedExponent: exponent,
|
|
70
|
-
rawSubticks: rawSubticks.toString(),
|
|
71
|
-
rawSubticksNumber,
|
|
72
|
-
subticksAfterRound: subticks,
|
|
73
|
-
finalSubticks: result,
|
|
74
|
-
finalSubticksLong: String(result),
|
|
75
|
-
});
|
|
56
|
+
// 使用 BigNumber 进行 round 计算,避免转换为 number 时丢失精度
|
|
57
|
+
const subticks = roundBigNumber(rawSubticks, subticksPerTick);
|
|
58
|
+
const subticksPerTickBN = (0, bignumber_js_1.default)(subticksPerTick);
|
|
59
|
+
const result = bignumber_js_1.default.max(subticks, subticksPerTickBN);
|
|
60
|
+
// 使用 toFixed(0) 确保转换为整数字符串,避免科学计数法
|
|
61
|
+
const resultStr = result.toFixed(0, bignumber_js_1.default.ROUND_FLOOR);
|
|
76
62
|
// 使用 fromString 保持精度,避免 fromNumber 可能的精度丢失
|
|
77
|
-
return long_1.Long.fromString(
|
|
63
|
+
return long_1.Long.fromString(resultStr);
|
|
78
64
|
}
|
|
79
65
|
function calculateSide(side) {
|
|
80
66
|
return side === constants_1.OrderSide.BUY ? proto_includes_1.Order_Side.SIDE_BUY : proto_includes_1.Order_Side.SIDE_SELL;
|
|
@@ -208,4 +194,4 @@ function calculateConditionalOrderTriggerSubticks(orderType, atomicResolution, q
|
|
|
208
194
|
return long_1.Long.fromNumber(0);
|
|
209
195
|
}
|
|
210
196
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4taGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2hlbHBlcnMvY2hhaW4taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU9BLHNCQU1DO0FBWUQsOENBaUJDO0FBRUQsd0RBRUM7QUFFRCw4Q0FpQkM7QUFFRCxzQ0FFQztBQUVELG9EQXVGQztBQUVELGtEQXdCQztBQUVELDBEQVVDO0FBRUQsd0RBbUJDO0FBRUQsNEZBK0JDO0FBMVBELGdFQUFxQztBQUNyQyx5Q0FBc0M7QUFFdEMsNENBQXNGO0FBQ3RGLDhEQUErRjtBQUMvRixvQ0FBc0M7QUFFdEMsU0FBZ0IsS0FBSyxDQUFDLEtBQWEsRUFBRSxJQUFZO0lBQy9DLE9BQU8sSUFBQSxzQkFBUyxFQUFDLEtBQUssQ0FBQztTQUNwQixHQUFHLENBQUMsSUFBQSxzQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BCLFlBQVksQ0FBQyxzQkFBUyxDQUFDLFdBQVcsQ0FBQztTQUNuQyxLQUFLLENBQUMsSUFBQSxzQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCLFFBQVEsRUFBRSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsSUFBd0I7SUFDaEUsT0FBTyxJQUFBLHNCQUFTLEVBQUMsS0FBSyxDQUFDO1NBQ3BCLEdBQUcsQ0FBQyxJQUFBLHNCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEIsWUFBWSxDQUFDLHNCQUFTLENBQUMsV0FBVyxDQUFDO1NBQ25DLEtBQUssQ0FBQyxJQUFBLHNCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLElBQVksRUFDWixnQkFBd0IsRUFDeEIsZ0JBQXdCO0lBRXhCLE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQVMsRUFBQyxJQUFJLENBQUMs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
|
|
@@ -42,42 +42,6 @@ class Composer {
|
|
|
42
42
|
builderCodeParameters,
|
|
43
43
|
orderRouterAddress,
|
|
44
44
|
};
|
|
45
|
-
// 调试打印:最终构建的订单消息
|
|
46
|
-
// 注意:避免直接序列化 Long.multiply() 的结果,可能产生 BigInt
|
|
47
|
-
const quantumsStr = quantums.toString();
|
|
48
|
-
const subticksStr = subticks.toString();
|
|
49
|
-
const quantumsNum = quantums.toNumber();
|
|
50
|
-
const subticksNum = subticks.toNumber();
|
|
51
|
-
// 使用字符串形式避免 BigInt 序列化问题
|
|
52
|
-
const orderValueRawStr = quantums.multiply(subticks).toString();
|
|
53
|
-
console.log('[DEBUG composeMsgPlaceOrder] 最终构建的订单消息:', {
|
|
54
|
-
clobPairId,
|
|
55
|
-
clientId,
|
|
56
|
-
side: side,
|
|
57
|
-
sideName: proto_includes_1.Order_Side[side] || `UNKNOWN_${side}`,
|
|
58
|
-
quantums: quantumsStr,
|
|
59
|
-
subticks: subticksStr,
|
|
60
|
-
quantumsNumber: quantumsNum,
|
|
61
|
-
subticksNumber: subticksNum,
|
|
62
|
-
// 计算订单总价值(使用字符串形式避免序列化问题)
|
|
63
|
-
orderValueRaw: orderValueRawStr,
|
|
64
|
-
// 注意:如果 orderValueRawNumber 太大,可能无法转换为 number
|
|
65
|
-
orderValueRawNumber: orderValueRawStr.length < 15 ? Number(orderValueRawStr) : 'too large to convert',
|
|
66
|
-
goodTilBlock,
|
|
67
|
-
goodTilBlockTime,
|
|
68
|
-
timeInForce: timeInForce,
|
|
69
|
-
timeInForceName: proto_includes_1.Order_TimeInForce[timeInForce] || `UNKNOWN_${timeInForce}`,
|
|
70
|
-
reduceOnly,
|
|
71
|
-
orderId: {
|
|
72
|
-
subaccountId: {
|
|
73
|
-
owner: address,
|
|
74
|
-
number: subaccountNumber,
|
|
75
|
-
},
|
|
76
|
-
clientId,
|
|
77
|
-
orderFlags,
|
|
78
|
-
clobPairId,
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
45
|
const msg = {
|
|
82
46
|
order,
|
|
83
47
|
};
|
|
@@ -479,4 +443,4 @@ class Composer {
|
|
|
479
443
|
}
|
|
480
444
|
}
|
|
481
445
|
exports.Composer = Composer;
|
|
482
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9tb2R1bGVzL2NvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWNBLDhGQUFpRztBQWtCakcseUNBQXNDO0FBQ3RDLDREQUFrQztBQUVsQyw0Q0EyQnNCO0FBRXRCLHFEQVkwQjtBQUUxQiwrQ0FBa0Q7QUFFbEQsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUNqQyxvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBMkJyQixNQUFhLFFBQVE7SUFDbkIsbUNBQW1DO0lBQzVCLG9CQUFvQixDQUN6QixPQUFlLEVBQ2YsZ0JBQXdCLEVBQ3hCLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLGdCQUF3QixFQUN4QixJQUFnQixFQUNoQixRQUFjLEVBQ2QsUUFBYyxFQUNkLFdBQThCLEVBQzlCLFVBQW1CLEVBQ25CLGNBQXNCLEVBQ3RCLGdCQUFxQyxvQ0FBbUIsQ0FBQywwQkFBMEIsRUFDbkYsa0NBQXdDLFdBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ3ZELGNBQWdDLEVBQ2hDLHFCQUE4QyxFQUM5QyxxQkFBNkIsRUFBRTtRQUUvQixJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFLE1BQU0sWUFBWSxHQUFpQjtZQUNqQyxLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxnQkFBZ0I7U0FDekIsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLFlBQVk7WUFDWixRQUFRO1lBQ1IsVUFBVTtZQUNWLFVBQVU7U0FDWCxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQVU7WUFDbkIsT0FBTztZQUNQLElBQUk7WUFDSixRQUFRLEVBQUUsUUFBZTtZQUN6QixRQUFRLEVBQUUs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
|
|
446
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9tb2R1bGVzL2NvbXBvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWNBLDhGQUFpRztBQWtCakcseUNBQXNDO0FBQ3RDLDREQUFrQztBQUVsQyw0Q0EyQnNCO0FBRXRCLHFEQVkwQjtBQUUxQiwrQ0FBa0Q7QUFFbEQsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUNqQyxvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBMkJyQixNQUFhLFFBQVE7SUFDbkIsbUNBQW1DO0lBQzVCLG9CQUFvQixDQUN6QixPQUFlLEVBQ2YsZ0JBQXdCLEVBQ3hCLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLGdCQUF3QixFQUN4QixJQUFnQixFQUNoQixRQUFjLEVBQ2QsUUFBYyxFQUNkLFdBQThCLEVBQzlCLFVBQW1CLEVBQ25CLGNBQXNCLEVBQ3RCLGdCQUFxQyxvQ0FBbUIsQ0FBQywwQkFBMEIsRUFDbkYsa0NBQXdDLFdBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ3ZELGNBQWdDLEVBQ2hDLHFCQUE4QyxFQUM5QyxxQkFBNkIsRUFBRTtRQUUvQixJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFLE1BQU0sWUFBWSxHQUFpQjtZQUNqQyxLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxnQkFBZ0I7U0FDekIsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLFlBQVk7WUFDWixRQUFRO1lBQ1IsVUFBVTtZQUNWLFVBQVU7U0FDWCxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQVU7WUFDbkIsT0FBTztZQUNQLElBQUk7WUFDSixRQUFRLEVBQUUsUUFBZTtZQUN6QixRQUFRLEVBQUUs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
|