@d8x/perpetuals-sdk 0.1.9 → 0.1.11
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/abi/central-park/IPerpetualManager.json +24 -31
- package/dist/abi/central-park/LimitOrderBook.json +60 -16
- package/dist/bundle.js +31 -14
- package/dist/config/defaultConfig.json +1 -1
- package/dist/src/perpetualDataHandler.js +1 -0
- package/dist/src/traderInterface.d.ts +2 -1
- package/dist/src/traderInterface.js +21 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/writeAccessHandler.d.ts +0 -1
- package/dist/src/writeAccessHandler.js +5 -10
- package/package.json +1 -1
- package/src/perpetualDataHandler.ts +1 -0
- package/src/traderInterface.ts +20 -1
- package/src/version.ts +1 -1
- package/src/writeAccessHandler.ts +0 -2
|
@@ -161,6 +161,18 @@
|
|
|
161
161
|
"internalType": "int128",
|
|
162
162
|
"name": "newPositionSizeBC",
|
|
163
163
|
"type": "int128"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"indexed": false,
|
|
167
|
+
"internalType": "int128",
|
|
168
|
+
"name": "fFeeCC",
|
|
169
|
+
"type": "int128"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"indexed": false,
|
|
173
|
+
"internalType": "int128",
|
|
174
|
+
"name": "fPnlCC",
|
|
175
|
+
"type": "int128"
|
|
164
176
|
}
|
|
165
177
|
],
|
|
166
178
|
"name": "Liquidate",
|
|
@@ -383,37 +395,6 @@
|
|
|
383
395
|
"name": "PricingLiquidityUpdated",
|
|
384
396
|
"type": "event"
|
|
385
397
|
},
|
|
386
|
-
{
|
|
387
|
-
"anonymous": false,
|
|
388
|
-
"inputs": [
|
|
389
|
-
{
|
|
390
|
-
"indexed": true,
|
|
391
|
-
"internalType": "uint24",
|
|
392
|
-
"name": "perpetualId",
|
|
393
|
-
"type": "uint24"
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
"indexed": true,
|
|
397
|
-
"internalType": "address",
|
|
398
|
-
"name": "trader",
|
|
399
|
-
"type": "address"
|
|
400
|
-
},
|
|
401
|
-
{
|
|
402
|
-
"indexed": true,
|
|
403
|
-
"internalType": "bytes16",
|
|
404
|
-
"name": "positionId",
|
|
405
|
-
"type": "bytes16"
|
|
406
|
-
},
|
|
407
|
-
{
|
|
408
|
-
"indexed": false,
|
|
409
|
-
"internalType": "int128",
|
|
410
|
-
"name": "pnlCC",
|
|
411
|
-
"type": "int128"
|
|
412
|
-
}
|
|
413
|
-
],
|
|
414
|
-
"name": "RealizedPnL",
|
|
415
|
-
"type": "event"
|
|
416
|
-
},
|
|
417
398
|
{
|
|
418
399
|
"anonymous": false,
|
|
419
400
|
"inputs": [
|
|
@@ -946,6 +927,18 @@
|
|
|
946
927
|
"internalType": "int128",
|
|
947
928
|
"name": "price",
|
|
948
929
|
"type": "int128"
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"indexed": false,
|
|
933
|
+
"internalType": "int128",
|
|
934
|
+
"name": "fFeeCC",
|
|
935
|
+
"type": "int128"
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
"indexed": false,
|
|
939
|
+
"internalType": "int128",
|
|
940
|
+
"name": "fPnlCC",
|
|
941
|
+
"type": "int128"
|
|
949
942
|
}
|
|
950
943
|
],
|
|
951
944
|
"name": "Trade",
|
|
@@ -429,12 +429,17 @@
|
|
|
429
429
|
"type": "uint64"
|
|
430
430
|
},
|
|
431
431
|
{
|
|
432
|
-
"internalType": "
|
|
433
|
-
"name": "
|
|
434
|
-
"type": "
|
|
432
|
+
"internalType": "bytes32",
|
|
433
|
+
"name": "parentChildDigest1",
|
|
434
|
+
"type": "bytes32"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"internalType": "bytes32",
|
|
438
|
+
"name": "parentChildDigest2",
|
|
439
|
+
"type": "bytes32"
|
|
435
440
|
}
|
|
436
441
|
],
|
|
437
|
-
"internalType": "struct
|
|
442
|
+
"internalType": "struct IClientOrder.ClientOrder[]",
|
|
438
443
|
"name": "orders",
|
|
439
444
|
"type": "tuple[]"
|
|
440
445
|
}
|
|
@@ -599,6 +604,30 @@
|
|
|
599
604
|
"stateMutability": "view",
|
|
600
605
|
"type": "function"
|
|
601
606
|
},
|
|
607
|
+
{
|
|
608
|
+
"inputs": [
|
|
609
|
+
{
|
|
610
|
+
"internalType": "bytes32",
|
|
611
|
+
"name": "",
|
|
612
|
+
"type": "bytes32"
|
|
613
|
+
}
|
|
614
|
+
],
|
|
615
|
+
"name": "orderDependency",
|
|
616
|
+
"outputs": [
|
|
617
|
+
{
|
|
618
|
+
"internalType": "bytes32",
|
|
619
|
+
"name": "parentChildDigest1",
|
|
620
|
+
"type": "bytes32"
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"internalType": "bytes32",
|
|
624
|
+
"name": "parentChildDigest2",
|
|
625
|
+
"type": "bytes32"
|
|
626
|
+
}
|
|
627
|
+
],
|
|
628
|
+
"stateMutability": "view",
|
|
629
|
+
"type": "function"
|
|
630
|
+
},
|
|
602
631
|
{
|
|
603
632
|
"inputs": [
|
|
604
633
|
{
|
|
@@ -811,12 +840,17 @@
|
|
|
811
840
|
"type": "uint64"
|
|
812
841
|
},
|
|
813
842
|
{
|
|
814
|
-
"internalType": "
|
|
815
|
-
"name": "
|
|
816
|
-
"type": "
|
|
843
|
+
"internalType": "bytes32",
|
|
844
|
+
"name": "parentChildDigest1",
|
|
845
|
+
"type": "bytes32"
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"internalType": "bytes32",
|
|
849
|
+
"name": "parentChildDigest2",
|
|
850
|
+
"type": "bytes32"
|
|
817
851
|
}
|
|
818
852
|
],
|
|
819
|
-
"internalType": "struct
|
|
853
|
+
"internalType": "struct IClientOrder.ClientOrder[]",
|
|
820
854
|
"name": "orders",
|
|
821
855
|
"type": "tuple[]"
|
|
822
856
|
},
|
|
@@ -899,12 +933,17 @@
|
|
|
899
933
|
"type": "uint64"
|
|
900
934
|
},
|
|
901
935
|
{
|
|
902
|
-
"internalType": "
|
|
903
|
-
"name": "
|
|
904
|
-
"type": "
|
|
936
|
+
"internalType": "bytes32",
|
|
937
|
+
"name": "parentChildDigest1",
|
|
938
|
+
"type": "bytes32"
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"internalType": "bytes32",
|
|
942
|
+
"name": "parentChildDigest2",
|
|
943
|
+
"type": "bytes32"
|
|
905
944
|
}
|
|
906
945
|
],
|
|
907
|
-
"internalType": "struct
|
|
946
|
+
"internalType": "struct IClientOrder.ClientOrder",
|
|
908
947
|
"name": "_order",
|
|
909
948
|
"type": "tuple"
|
|
910
949
|
},
|
|
@@ -989,12 +1028,17 @@
|
|
|
989
1028
|
"type": "uint64"
|
|
990
1029
|
},
|
|
991
1030
|
{
|
|
992
|
-
"internalType": "
|
|
993
|
-
"name": "
|
|
994
|
-
"type": "
|
|
1031
|
+
"internalType": "bytes32",
|
|
1032
|
+
"name": "parentChildDigest1",
|
|
1033
|
+
"type": "bytes32"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"internalType": "bytes32",
|
|
1037
|
+
"name": "parentChildDigest2",
|
|
1038
|
+
"type": "bytes32"
|
|
995
1039
|
}
|
|
996
1040
|
],
|
|
997
|
-
"internalType": "struct
|
|
1041
|
+
"internalType": "struct IClientOrder.ClientOrder[]",
|
|
998
1042
|
"name": "_orders",
|
|
999
1043
|
"type": "tuple[]"
|
|
1000
1044
|
},
|
package/dist/bundle.js
CHANGED
|
@@ -4916,6 +4916,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
4916
4916
|
*/
|
|
4917
4917
|
PerpetualDataHandler.getConfigByLocation = function (filename) {
|
|
4918
4918
|
// file path: this throws a warning during build - that's ok, it just won't work in react apps
|
|
4919
|
+
// eslint-disable-next-line
|
|
4919
4920
|
var configFile = __webpack_require__("./dist/src sync recursive")(filename);
|
|
4920
4921
|
(0, nodeSDKTypes_1.loadABIs)(configFile);
|
|
4921
4922
|
return configFile;
|
|
@@ -6280,6 +6281,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6280
6281
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
6281
6282
|
var marketData_1 = __importDefault(__webpack_require__(/*! ./marketData */ "./dist/src/marketData.js"));
|
|
6282
6283
|
var perpetualDataHandler_1 = __importDefault(__webpack_require__(/*! ./perpetualDataHandler */ "./dist/src/perpetualDataHandler.js"));
|
|
6284
|
+
var nodeSDKTypes_1 = __webpack_require__(/*! ./nodeSDKTypes */ "./dist/src/nodeSDKTypes.js");
|
|
6283
6285
|
var traderDigests_1 = __importDefault(__webpack_require__(/*! ./traderDigests */ "./dist/src/traderDigests.js"));
|
|
6284
6286
|
var d8XMath_1 = __webpack_require__(/*! ./d8XMath */ "./dist/src/d8XMath.js");
|
|
6285
6287
|
/**
|
|
@@ -6448,6 +6450,26 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
6448
6450
|
var orderBookContract = this.getOrderBookContract(symbol);
|
|
6449
6451
|
return perpetualDataHandler_1.default._getABIFromContract(orderBookContract, method);
|
|
6450
6452
|
};
|
|
6453
|
+
TraderInterface.chainOrders = function (orders, ids) {
|
|
6454
|
+
// add dependency
|
|
6455
|
+
var obOrders = new Array(orders.length);
|
|
6456
|
+
if (orders.length == 1 || orders.length > 3) {
|
|
6457
|
+
// nothing to add
|
|
6458
|
+
obOrders = orders.map(function (o) { return perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(o); });
|
|
6459
|
+
}
|
|
6460
|
+
else if (orders.length == 2) {
|
|
6461
|
+
// first order is parent, second a child
|
|
6462
|
+
obOrders[0] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[0], [ids[1], nodeSDKTypes_1.ZERO_ORDER_ID]);
|
|
6463
|
+
obOrders[1] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[1], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
6464
|
+
}
|
|
6465
|
+
else {
|
|
6466
|
+
// first order is parent, other two its children
|
|
6467
|
+
obOrders[0] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[0], [ids[1], ids[2]]);
|
|
6468
|
+
obOrders[1] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[1], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
6469
|
+
obOrders[2] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[2], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
6470
|
+
}
|
|
6471
|
+
return obOrders;
|
|
6472
|
+
};
|
|
6451
6473
|
return TraderInterface;
|
|
6452
6474
|
}(marketData_1.default));
|
|
6453
6475
|
exports["default"] = TraderInterface;
|
|
@@ -6788,7 +6810,7 @@ exports.containsFlag = containsFlag;
|
|
|
6788
6810
|
|
|
6789
6811
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
6790
6812
|
exports.D8X_SDK_VERSION = void 0;
|
|
6791
|
-
exports.D8X_SDK_VERSION = "0.1.
|
|
6813
|
+
exports.D8X_SDK_VERSION = "0.1.11";
|
|
6792
6814
|
//# sourceMappingURL=version.js.map
|
|
6793
6815
|
|
|
6794
6816
|
/***/ }),
|
|
@@ -6879,7 +6901,6 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
6879
6901
|
_this.traderAddr = "";
|
|
6880
6902
|
_this.signer = null;
|
|
6881
6903
|
_this.gasLimit = 15000000;
|
|
6882
|
-
_this.chainId = 0;
|
|
6883
6904
|
if (privateKey) {
|
|
6884
6905
|
_this.privateKey = privateKey;
|
|
6885
6906
|
}
|
|
@@ -6902,9 +6923,9 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
6902
6923
|
*/
|
|
6903
6924
|
WriteAccessHandler.prototype.createProxyInstance = function (provider) {
|
|
6904
6925
|
return __awaiter(this, void 0, void 0, function () {
|
|
6905
|
-
var wallet, _a
|
|
6906
|
-
return __generator(this, function (
|
|
6907
|
-
switch (
|
|
6926
|
+
var wallet, _a;
|
|
6927
|
+
return __generator(this, function (_b) {
|
|
6928
|
+
switch (_b.label) {
|
|
6908
6929
|
case 0:
|
|
6909
6930
|
if (provider == undefined) {
|
|
6910
6931
|
this.provider = new ethers_1.ethers.providers.JsonRpcBatchProvider(this.nodeURL);
|
|
@@ -6918,15 +6939,11 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
6918
6939
|
}
|
|
6919
6940
|
return [4 /*yield*/, this.initContractsAndData(this.signer)];
|
|
6920
6941
|
case 1:
|
|
6921
|
-
|
|
6942
|
+
_b.sent();
|
|
6922
6943
|
_a = this;
|
|
6923
6944
|
return [4 /*yield*/, this.signer.getAddress()];
|
|
6924
6945
|
case 2:
|
|
6925
|
-
_a.traderAddr =
|
|
6926
|
-
_b = this;
|
|
6927
|
-
return [4 /*yield*/, this.provider.getNetwork()];
|
|
6928
|
-
case 3:
|
|
6929
|
-
_b.chainId = (_c.sent()).chainId;
|
|
6946
|
+
_a.traderAddr = _b.sent();
|
|
6930
6947
|
return [2 /*return*/];
|
|
6931
6948
|
}
|
|
6932
6949
|
});
|
|
@@ -36562,7 +36579,7 @@ module.exports = JSON.parse('[{"inputs":[{"internalType":"address","name":"_mock
|
|
|
36562
36579
|
/***/ ((module) => {
|
|
36563
36580
|
|
|
36564
36581
|
"use strict";
|
|
36565
|
-
module.exports = JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"uint32","name":"numLots","type":"uint32"}],"name":"BrokerLotsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"int128","name":"fVolume","type":"int128"}],"name":"BrokerVolumeTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"}],"name":"Clear","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"protocolFeeCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"participationFundFeeCC","type":"int128"}],"name":"DistributeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"indexed":false,"internalType":"int128","name":"amountLiquidatedBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"liquidationPrice","type":"int128"},{"indexed":false,"internalType":"int128","name":"newPositionSizeBC","type":"int128"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"id","type":"uint8"},{"indexed":false,"internalType":"address","name":"marginTokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"shareTokenAddress","type":"address"},{"indexed":false,"internalType":"uint16","name":"iTargetPoolSizeUpdateTime","type":"uint16"},{"indexed":false,"internalType":"int128","name":"fMaxTransferPerConvergencePeriod","type":"int128"},{"indexed":false,"internalType":"int128","name":"fBrokerCollateralLotSize","type":"int128"}],"name":"LiquidityPoolCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityWithdrawalInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"uint24","name":"id","type":"uint24"},{"indexed":false,"internalType":"int128[7]","name":"baseParams","type":"int128[7]"},{"indexed":false,"internalType":"int128[5]","name":"underlyingRiskParams","type":"int128[5]"},{"indexed":false,"internalType":"int128[13]","name":"defaultFundRiskParams","type":"int128[13]"},{"indexed":false,"internalType":"uint256","name":"eCollateralCurrency","type":"uint256"}],"name":"PerpetualCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"bytes32","name":"orderHash","type":"bytes32"}],"name":"PerpetualLimitOrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":false,"internalType":"int128","name":"pricingLiquidity","type":"int128"},{"indexed":false,"internalType":"int128","name":"totalLiquidity","type":"int128"}],"name":"PricingLiquidityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"indexed":false,"internalType":"int128","name":"pnlCC","type":"int128"}],"name":"RealizedPnL","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"_liqPoolID","type":"uint8"}],"name":"RunLiquidityPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"delay","type":"uint8"}],"name":"SetBlockDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32[]","name":"designations","type":"uint32[]"},{"indexed":false,"internalType":"uint16[]","name":"fees","type":"uint16[]"}],"name":"SetBrokerDesignations","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetBrokerTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetBrokerVolumeTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"}],"name":"SetClearedState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fSettlementMarkPremiumRate","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSettlementS2Price","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSettlementS3Price","type":"int128"}],"name":"SetEmergencyState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"}],"name":"SetNormalState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"bytes4[2]","name":"baseQuoteS2","type":"bytes4[2]"},{"indexed":false,"internalType":"bytes4[2]","name":"baseQuoteS3","type":"bytes4[2]"}],"name":"SetOracles","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value","type":"int128"}],"name":"SetParameter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value1","type":"int128"},{"indexed":false,"internalType":"int128","name":"value2","type":"int128"}],"name":"SetParameterPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128[7]","name":"baseParams","type":"int128[7]"}],"name":"SetPerpetualBaseParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128[5]","name":"underlyingRiskParams","type":"int128[5]"},{"indexed":false,"internalType":"int128[13]","name":"defaultFundRiskParams","type":"int128[13]"}],"name":"SetPerpetualRiskParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value","type":"int128"}],"name":"SetPoolParameter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetTraderTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetTraderVolumeTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddr","type":"address"}],"name":"SetUtilityToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int256","name":"amount","type":"int256"}],"name":"Settle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"amount","type":"int128"}],"name":"TokensDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"amount","type":"int128"}],"name":"TokensWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"indexed":false,"internalType":"struct IPerpetualOrder.Order","name":"order","type":"tuple"},{"indexed":false,"internalType":"bytes32","name":"orderDigest","type":"bytes32"},{"indexed":false,"internalType":"int128","name":"newPositionSizeBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"price","type":"int128"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"address","name":"oldOBFactory","type":"address"},{"indexed":false,"internalType":"address","name":"newOBFactory","type":"address"}],"name":"TransferAddressTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"_poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fEarnings","type":"int128"},{"indexed":false,"internalType":"int128","name":"newDefaultFundSize","type":"int128"}],"name":"TransferEarningsToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"broker","type":"address"},{"indexed":false,"internalType":"int128","name":"feeCC","type":"int128"}],"name":"TransferFeeToBroker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"int128","name":"referralRebate","type":"int128"}],"name":"TransferFeeToReferrer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fNewAMMFundCash","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewLiqPoolTotalAMMFundsCash","type":"int128"}],"name":"UpdateAMMFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"uint8","name":"liquidityPoolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fAMMFundCashCCInPerpetual","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetAMMFundSizeInPerpetual","type":"int128"},{"indexed":false,"internalType":"int128","name":"fAMMFundCashCCInPool","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetAMMFundSizeInPool","type":"int128"}],"name":"UpdateAMMFundTargetSize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"uint32","name":"iLots","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"iNewBrokerLots","type":"uint32"}],"name":"UpdateBrokerAddedCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDeltaAmountCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewFundCash","type":"int128"}],"name":"UpdateDefaultFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"liquidityPoolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDefaultFundCashCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetDFSize","type":"int128"}],"name":"UpdateDefaultFundTargetSize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fNormalizedPerpetualWeight","type":"int128"}],"name":"UpdateFundAllocationWeight","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fFundingRate","type":"int128"}],"name":"UpdateFundingRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"indexed":false,"internalType":"int128","name":"fPositionBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCashCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fLockedInValueQC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fFundingPaymentCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fOpenInterestBC","type":"int128"}],"name":"UpdateMarginAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fMidPricePremium","type":"int128"},{"indexed":false,"internalType":"int128","name":"fMarkPricePremium","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSpotIndexPrice","type":"int128"}],"name":"UpdateMarkPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDeltaAmountCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewFundCash","type":"int128"}],"name":"UpdateParticipationFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCurrentAMMExposureEMAShort","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCurrentAMMExposureEMALong","type":"int128"}],"name":"UpdateReprTradeSizes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"unitAccumulativeFunding","type":"int128"}],"name":"UpdateUnitAccumulatedFunding","type":"event"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"activatePerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fTokenAmount","type":"int128"}],"name":"addAMMLiquidityToPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"},{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint32","name":"_iLots","type":"uint32"}],"name":"brokerDepositToDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"}],"name":"calculateBoundedSlippage","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128[2]","name":"_fK2AMM","type":"int128[2]"},{"internalType":"int128","name":"_fk2Trader","type":"int128"},{"internalType":"int128","name":"_fCoverN","type":"int128"},{"internalType":"int128[2]","name":"fStressRet2","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressRet3","type":"int128[2]"},{"internalType":"int128[2]","name":"fIndexPrices","type":"int128[2]"},{"internalType":"enum AMMPerpLogic.CollateralCurrency","name":"_eCCY","type":"uint8"}],"name":"calculateDefaultFundSize","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fBidAskSpread","type":"int128"},{"internalType":"int128","name":"_fIncentiveSpread","type":"int128"}],"name":"calculatePerpetualPrice","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"bool","name":"_withCDF","type":"bool"}],"name":"calculateRiskNeutralPD","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"chargePostingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"countActivePerpAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marginTokenAddress","type":"address"},{"internalType":"uint16","name":"_iTargetPoolSizeUpdateTime","type":"uint16"},{"internalType":"int128","name":"_fMaxTransferPerConvergencePeriod","type":"int128"},{"internalType":"int128","name":"_fBrokerCollateralLotSize","type":"int128"}],"name":"createLiquidityPool","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolId","type":"uint8"},{"internalType":"bytes4[2]","name":"_baseQuoteS2","type":"bytes4[2]"},{"internalType":"bytes4[2]","name":"_baseQuoteS3","type":"bytes4[2]"},{"internalType":"int128[7]","name":"_baseParams","type":"int128[7]"},{"internalType":"int128[5]","name":"_underlyingRiskParams","type":"int128[5]"},{"internalType":"int128[13]","name":"_defaultFundRiskParams","type":"int128[13]"},{"internalType":"uint256","name":"_eCollateralCurrency","type":"uint256"}],"name":"createPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIdx","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"decreasePoolCash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fAmount","type":"int128"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fDepositRequired","type":"int128"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"depositMarginForOpeningTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"depositToDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"determineExchangeFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"bool","name":"_hasOpened","type":"bool"}],"name":"distributeFees","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fDeltaPositionBC","type":"int128"}],"name":"distributeFeesLiquidation","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int128","name":"_fEMA","type":"int128"},{"internalType":"int128","name":"_fCurrentObs","type":"int128"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"ema","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"bytes32","name":"_digest","type":"bytes32"}],"name":"executeCancelOrder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"executeLiquidityWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fTraderPos","type":"int128"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fPrice","type":"int128"},{"internalType":"bool","name":"_isClose","type":"bool"}],"name":"executeTrade","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAMMPerpLogic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"getAMMState","outputs":[{"internalType":"int128[15]","name":"","type":"int128[15]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getActivePerpAccounts","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"uint256","name":"_from","type":"uint256"},{"internalType":"uint256","name":"_to","type":"uint256"}],"name":"getActivePerpAccountsByChunks","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getBrokerDesignation","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getBrokerInducedFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getCollateralTokenAmountForPricing","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getCurrentBrokerVolume","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"getCurrentTraderVolume","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128","name":"_fPosition0","type":"int128"},{"internalType":"int128","name":"_fBalance0","type":"int128"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fTargetLeverage","type":"int128"},{"internalType":"int128","name":"_fPrice","type":"int128"},{"internalType":"int128","name":"_fS2Mark","type":"int128"},{"internalType":"int128","name":"_fS3","type":"int128"}],"name":"getDepositAmountForLvgPosition","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_brokerDesignation","type":"uint32"}],"name":"getFeeForBrokerDesignation","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"brokerAddr","type":"address"}],"name":"getFeeForBrokerStake","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getFeeForBrokerVolume","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"traderAddr","type":"address"}],"name":"getFeeForTraderStake","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"getFeeForTraderVolume","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"getLastPerpetualBaseToUSDConversion","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getLiquidityPool","outputs":[{"components":[{"internalType":"bool","name":"isRunning","type":"bool"},{"internalType":"uint8","name":"iPerpetualCount","type":"uint8"},{"internalType":"uint8","name":"id","type":"uint8"},{"internalType":"uint16","name":"iTargetPoolSizeUpdateTime","type":"uint16"},{"internalType":"address","name":"marginTokenAddress","type":"address"},{"internalType":"int128","name":"fFundAllocationNormalizationCC","type":"int128"},{"internalType":"int128","name":"fDefaultFundCashCC","type":"int128"},{"internalType":"uint64","name":"prevAnchor","type":"uint64"},{"internalType":"int32","name":"fRedemptionRate","type":"int32"},{"internalType":"address","name":"shareTokenAddress","type":"address"},{"internalType":"int128","name":"fPnLparticipantsCashCC","type":"int128"},{"internalType":"int128","name":"fAMMFundCashCC","type":"int128"},{"internalType":"int128","name":"fTargetAMMFundSize","type":"int128"},{"internalType":"int128","name":"fTargetDFSize","type":"int128"},{"internalType":"int128","name":"fMaxTransferPerConvergencePeriod","type":"int128"},{"internalType":"int128","name":"fBrokerCollateralLotSize","type":"int128"},{"internalType":"uint128","name":"prevTokenAmount","type":"uint128"},{"internalType":"uint128","name":"nextTokenAmount","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShareToken","type":"uint128"}],"internalType":"struct PerpStorage.LiquidityPoolData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"getMarginAccount","outputs":[{"components":[{"internalType":"int128","name":"fLockedInValueQC","type":"int128"},{"internalType":"int128","name":"fCashCC","type":"int128"},{"internalType":"int128","name":"fPositionBC","type":"int128"},{"internalType":"int128","name":"fUnitAccumulatedFundingStart","type":"int128"},{"internalType":"uint64","name":"iLastOpenBlock","type":"uint64"},{"internalType":"uint16","name":"feeTbps","type":"uint16"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"bytes16","name":"positionId","type":"bytes16"}],"internalType":"struct PerpStorage.MarginAccount","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"int128","name":"_fCurrentTraderPos","type":"int128"},{"internalType":"bool","name":"_isBuy","type":"bool"}],"name":"getMaxSignedOpenTradeSizeForPos","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOracleFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4[2]","name":"_baseQuote","type":"bytes4[2]"}],"name":"getOraclePrice","outputs":[{"internalType":"int128","name":"fPrice","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getOrderBookAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOrderBookFactoryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPerpetual","outputs":[{"components":[{"internalType":"uint8","name":"poolId","type":"uint8"},{"internalType":"uint24","name":"id","type":"uint24"},{"internalType":"int32","name":"fInitialMarginRate","type":"int32"},{"internalType":"int32","name":"fMaintenanceMarginRate","type":"int32"},{"internalType":"int32","name":"fSigma2","type":"int32"},{"internalType":"uint64","name":"iLastFundingTime","type":"uint64"},{"internalType":"uint64","name":"iLastSettlementPriceUpdateBlock","type":"uint64"},{"internalType":"enum PerpStorage.PerpetualState","name":"state","type":"uint8"},{"internalType":"enum AMMPerpLogic.CollateralCurrency","name":"eCollateralCurrency","type":"uint8"},{"internalType":"uint16","name":"minimalSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"incentiveSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"jumpSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"liquidationPenaltyRateTbps","type":"uint16"},{"internalType":"int32","name":"fSigma3","type":"int32"},{"internalType":"bytes4","name":"S2BaseCCY","type":"bytes4"},{"internalType":"bytes4","name":"S2QuoteCCY","type":"bytes4"},{"internalType":"bytes4","name":"S3BaseCCY","type":"bytes4"},{"internalType":"bytes4","name":"S3QuoteCCY","type":"bytes4"},{"components":[{"internalType":"int128","name":"fPrice","type":"int128"},{"internalType":"uint64","name":"time","type":"uint64"}],"internalType":"struct PerpStorage.OraclePriceData","name":"currentMarkPremiumRate","type":"tuple"},{"internalType":"int128[2]","name":"fDFLambda","type":"int128[2]"},{"internalType":"int128[2]","name":"fCurrentAMMExposureEMA","type":"int128[2]"},{"internalType":"int128[2]","name":"fAMMTargetDD","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressReturnS2","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressReturnS3","type":"int128[2]"},{"internalType":"int128","name":"premiumRatesEMA","type":"int128"},{"internalType":"int128","name":"fTargetDFSize","type":"int128"},{"internalType":"int128","name":"fFundAllocationWeightCC","type":"int128"},{"internalType":"int128","name":"fOpenInterest","type":"int128"},{"internalType":"int128","name":"fTargetAMMFundSize","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"},{"internalType":"int128","name":"fCurrentFundingRate","type":"int128"},{"internalType":"int128","name":"fUnitAccumulatedFunding","type":"int128"},{"internalType":"int128","name":"fLotSizeBC","type":"int128"},{"internalType":"int128","name":"fkStar","type":"int128"},{"internalType":"int128","name":"fAMMFundCashCC","type":"int128"},{"internalType":"int128","name":"fAMMMinSizeCC","type":"int128"},{"internalType":"int128","name":"fMinimalTraderExposureEMA","type":"int128"},{"internalType":"int128","name":"fMinimalAMMExposureEMA","type":"int128"},{"internalType":"int128","name":"fTotalMarginBalance","type":"int128"},{"internalType":"int128","name":"fSettlementS3PriceData","type":"int128"},{"internalType":"int128","name":"fReferralRebateCC","type":"int128"},{"internalType":"int128","name":"fSettlementS2PriceData","type":"int128"},{"internalType":"uint64","name":"iLastPriceJumpBlock","type":"uint64"},{"internalType":"uint64","name":"iLastDefaultFundTransfer","type":"uint64"},{"internalType":"uint64","name":"iLastTargetPoolSizeTime","type":"uint64"},{"internalType":"int32","name":"fMarkPriceEMALambda","type":"int32"},{"internalType":"int32","name":"fFundingRateClamp","type":"int32"},{"internalType":"int32","name":"fMaximalTradeSizeBumpUp","type":"int32"},{"internalType":"int32","name":"fRho23","type":"int32"},{"internalType":"int32","name":"fDFCoverNRate","type":"int32"}],"internalType":"struct PerpStorage.PerpetualData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getPerpetualCountInPool","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint8","name":"_perpetualIndex","type":"uint8"}],"name":"getPerpetualId","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPoolCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPoolIdByPerpetualId","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPriceInfo","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getShareTokenFactory","outputs":[{"internalType":"contract IShareTokenFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM1","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM2","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM3","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint256","name":"_shareAmount","type":"uint256"}],"name":"getTokenAmountToReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"getTraderState","outputs":[{"internalType":"int128[11]","name":"","type":"int128[11]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numBlockSinceLastOpen","type":"uint256"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"holdingPeriodPenalty","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIdx","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"increasePoolCash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"isActiveAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_baseCurrency","type":"bytes4"},{"internalType":"bytes4","name":"_quoteCurrency","type":"bytes4"}],"name":"isMarketClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"isOrderCanceled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"isOrderExecuted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"isPerpMarketClosed","outputs":[{"internalType":"bool","name":"isClosed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"isTraderMaintenanceMarginSafe","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualIndex","type":"uint24"},{"internalType":"address","name":"_liquidatorAddr","type":"address"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"liquidateByAMM","outputs":[{"internalType":"int128","name":"liquidatedAmount","type":"int128"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"preTrade","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"queryExchangeFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fTradeAmountBC","type":"int128"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"queryPerpetualPrice","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"rebalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"rebatePostingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fAmountToWithdraw","type":"int128"}],"name":"reduceMarginCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int128","name":"_fDeltaPos","type":"int128"},{"internalType":"int128","name":"_fTreasuryFeeRate","type":"int128"},{"internalType":"int128","name":"_fPnLPartRate","type":"int128"},{"internalType":"int128","name":"_fReferralRebate","type":"int128"},{"internalType":"address","name":"_referrerAddr","type":"address"}],"name":"relativeFeeToCCAmount","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_liqPoolID","type":"uint8"}],"name":"runLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_AMMPerpLogic","type":"address"}],"name":"setAMMPerpLogic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_delay","type":"uint8"}],"name":"setBlockDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setBrokerTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setBrokerVolumeTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setEmergencyState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_designations","type":"uint32[]"},{"internalType":"uint16[]","name":"_fees","type":"uint16[]"}],"name":"setFeesForDesignation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setInitialFundAllocationWeight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"setInitialVolumeForFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setNormalState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracleFactory","type":"address"}],"name":"setOracleFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_oracleAddr","type":"address"}],"name":"setOracleForPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_orderBookFactory","type":"address"}],"name":"setOrderBookFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128[7]","name":"_baseParams","type":"int128[7]"}],"name":"setPerpetualBaseParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"bytes4[2]","name":"_baseQuoteS2","type":"bytes4[2]"},{"internalType":"bytes4[2]","name":"_baseQuoteS3","type":"bytes4[2]"}],"name":"setPerpetualOracles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"string","name":"_varName","type":"string"},{"internalType":"int128","name":"_value","type":"int128"}],"name":"setPerpetualParam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"int128","name":"_value1","type":"int128"},{"internalType":"int128","name":"_value2","type":"int128"}],"name":"setPerpetualParamPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shareTokenFactory","type":"address"}],"name":"setPerpetualPoolFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128[5]","name":"_underlyingRiskParams","type":"int128[5]"},{"internalType":"int128[13]","name":"_defaultFundRiskParams","type":"int128[13]"}],"name":"setPerpetualRiskParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"int128","name":"_value","type":"int128"}],"name":"setPoolParam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setTraderTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setTraderVolumeTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"}],"name":"setUtilityTokenAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualID","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"settle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_id","type":"uint8"}],"name":"settleNextTraderInPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"fee","type":"uint16"}],"name":"splitProtocolFee","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"tradeViaOrderBook","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_transferToAddr","type":"address"},{"internalType":"uint32","name":"_lots","type":"uint32"}],"name":"transferBrokerLots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_transferToAddr","type":"address"}],"name":"transferBrokerOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"transferEarningsToTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferValueToTreasury","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"fTargetFundSize","type":"int128"}],"name":"updateAMMTargetFundSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"updateDefaultFundTargetSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"}],"name":"updateDefaultFundTargetSizeRandom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId0","type":"uint24"},{"internalType":"uint24","name":"_iPerpetualId1","type":"uint24"}],"name":"updateFundingAndPricesAfter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId0","type":"uint24"},{"internalType":"uint24","name":"_iPerpetualId1","type":"uint24"}],"name":"updateFundingAndPricesBefore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"},{"internalType":"uint256","name":"_blockAge","type":"uint256"}],"name":"updatePriceFeeds","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"address","name":"_brokerAddr","type":"address"},{"internalType":"int128","name":"_tradeAmountBC","type":"int128"}],"name":"updateVolumeEMAOnNewTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isLong","type":"bool"},{"internalType":"int128","name":"_fMarkPrice","type":"int128"},{"internalType":"int128","name":"_fTriggerPrice","type":"int128"}],"name":"validateStopPrice","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint16","name":"_jumpTbps","type":"uint16"},{"internalType":"uint16","name":"_MinimalSpreadTbps","type":"uint16"},{"internalType":"uint256","name":"_numBlockSinceJump","type":"uint256"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"volatilitySpread","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fAmount","type":"int128"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"withdrawAll","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"withdrawDepositFromMarginAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"withdrawFromDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"},{"internalType":"uint256","name":"_shareAmount","type":"uint256"}],"name":"withdrawLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"}]');
|
|
36582
|
+
module.exports = JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"uint32","name":"numLots","type":"uint32"}],"name":"BrokerLotsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"},{"indexed":false,"internalType":"int128","name":"fVolume","type":"int128"}],"name":"BrokerVolumeTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"}],"name":"Clear","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"protocolFeeCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"participationFundFeeCC","type":"int128"}],"name":"DistributeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"indexed":false,"internalType":"int128","name":"amountLiquidatedBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"liquidationPrice","type":"int128"},{"indexed":false,"internalType":"int128","name":"newPositionSizeBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fFeeCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fPnlCC","type":"int128"}],"name":"Liquidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"id","type":"uint8"},{"indexed":false,"internalType":"address","name":"marginTokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"shareTokenAddress","type":"address"},{"indexed":false,"internalType":"uint16","name":"iTargetPoolSizeUpdateTime","type":"uint16"},{"indexed":false,"internalType":"int128","name":"fMaxTransferPerConvergencePeriod","type":"int128"},{"indexed":false,"internalType":"int128","name":"fBrokerCollateralLotSize","type":"int128"}],"name":"LiquidityPoolCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"LiquidityWithdrawalInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"uint24","name":"id","type":"uint24"},{"indexed":false,"internalType":"int128[7]","name":"baseParams","type":"int128[7]"},{"indexed":false,"internalType":"int128[5]","name":"underlyingRiskParams","type":"int128[5]"},{"indexed":false,"internalType":"int128[13]","name":"defaultFundRiskParams","type":"int128[13]"},{"indexed":false,"internalType":"uint256","name":"eCollateralCurrency","type":"uint256"}],"name":"PerpetualCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"bytes32","name":"orderHash","type":"bytes32"}],"name":"PerpetualLimitOrderCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"poolId","type":"uint64"},{"indexed":false,"internalType":"int128","name":"pricingLiquidity","type":"int128"},{"indexed":false,"internalType":"int128","name":"totalLiquidity","type":"int128"}],"name":"PricingLiquidityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"_liqPoolID","type":"uint8"}],"name":"RunLiquidityPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"delay","type":"uint8"}],"name":"SetBlockDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32[]","name":"designations","type":"uint32[]"},{"indexed":false,"internalType":"uint16[]","name":"fees","type":"uint16[]"}],"name":"SetBrokerDesignations","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetBrokerTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetBrokerVolumeTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"}],"name":"SetClearedState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fSettlementMarkPremiumRate","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSettlementS2Price","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSettlementS3Price","type":"int128"}],"name":"SetEmergencyState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"}],"name":"SetNormalState","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"bytes4[2]","name":"baseQuoteS2","type":"bytes4[2]"},{"indexed":false,"internalType":"bytes4[2]","name":"baseQuoteS3","type":"bytes4[2]"}],"name":"SetOracles","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value","type":"int128"}],"name":"SetParameter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value1","type":"int128"},{"indexed":false,"internalType":"int128","name":"value2","type":"int128"}],"name":"SetParameterPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128[7]","name":"baseParams","type":"int128[7]"}],"name":"SetPerpetualBaseParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128[5]","name":"underlyingRiskParams","type":"int128[5]"},{"indexed":false,"internalType":"int128[13]","name":"defaultFundRiskParams","type":"int128[13]"}],"name":"SetPerpetualRiskParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"int128","name":"value","type":"int128"}],"name":"SetPoolParameter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetTraderTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tiers","type":"uint256[]"},{"indexed":false,"internalType":"uint16[]","name":"feesTbps","type":"uint16[]"}],"name":"SetTraderVolumeTiers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddr","type":"address"}],"name":"SetUtilityToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int256","name":"amount","type":"int256"}],"name":"Settle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"amount","type":"int128"}],"name":"TokensDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"int128","name":"amount","type":"int128"}],"name":"TokensWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"indexed":false,"internalType":"struct IPerpetualOrder.Order","name":"order","type":"tuple"},{"indexed":false,"internalType":"bytes32","name":"orderDigest","type":"bytes32"},{"indexed":false,"internalType":"int128","name":"newPositionSizeBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"price","type":"int128"},{"indexed":false,"internalType":"int128","name":"fFeeCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fPnlCC","type":"int128"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"address","name":"oldOBFactory","type":"address"},{"indexed":false,"internalType":"address","name":"newOBFactory","type":"address"}],"name":"TransferAddressTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"_poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fEarnings","type":"int128"},{"indexed":false,"internalType":"int128","name":"newDefaultFundSize","type":"int128"}],"name":"TransferEarningsToTreasury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"broker","type":"address"},{"indexed":false,"internalType":"int128","name":"feeCC","type":"int128"}],"name":"TransferFeeToBroker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"int128","name":"referralRebate","type":"int128"}],"name":"TransferFeeToReferrer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fNewAMMFundCash","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewLiqPoolTotalAMMFundsCash","type":"int128"}],"name":"UpdateAMMFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"uint8","name":"liquidityPoolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fAMMFundCashCCInPerpetual","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetAMMFundSizeInPerpetual","type":"int128"},{"indexed":false,"internalType":"int128","name":"fAMMFundCashCCInPool","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetAMMFundSizeInPool","type":"int128"}],"name":"UpdateAMMFundTargetSize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"uint32","name":"iLots","type":"uint32"},{"indexed":false,"internalType":"uint32","name":"iNewBrokerLots","type":"uint32"}],"name":"UpdateBrokerAddedCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDeltaAmountCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewFundCash","type":"int128"}],"name":"UpdateDefaultFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"liquidityPoolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDefaultFundCashCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fTargetDFSize","type":"int128"}],"name":"UpdateDefaultFundTargetSize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fNormalizedPerpetualWeight","type":"int128"}],"name":"UpdateFundAllocationWeight","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fFundingRate","type":"int128"}],"name":"UpdateFundingRate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":true,"internalType":"bytes16","name":"positionId","type":"bytes16"},{"indexed":false,"internalType":"int128","name":"fPositionBC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCashCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fLockedInValueQC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fFundingPaymentCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fOpenInterestBC","type":"int128"}],"name":"UpdateMarginAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fMidPricePremium","type":"int128"},{"indexed":false,"internalType":"int128","name":"fMarkPricePremium","type":"int128"},{"indexed":false,"internalType":"int128","name":"fSpotIndexPrice","type":"int128"}],"name":"UpdateMarkPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"poolId","type":"uint8"},{"indexed":false,"internalType":"int128","name":"fDeltaAmountCC","type":"int128"},{"indexed":false,"internalType":"int128","name":"fNewFundCash","type":"int128"}],"name":"UpdateParticipationFundCash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCurrentAMMExposureEMAShort","type":"int128"},{"indexed":false,"internalType":"int128","name":"fCurrentAMMExposureEMALong","type":"int128"}],"name":"UpdateReprTradeSizes","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":false,"internalType":"int128","name":"unitAccumulativeFunding","type":"int128"}],"name":"UpdateUnitAccumulatedFunding","type":"event"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"activatePerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fTokenAmount","type":"int128"}],"name":"addAMMLiquidityToPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"},{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint32","name":"_iLots","type":"uint32"}],"name":"brokerDepositToDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"}],"name":"calculateBoundedSlippage","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128[2]","name":"_fK2AMM","type":"int128[2]"},{"internalType":"int128","name":"_fk2Trader","type":"int128"},{"internalType":"int128","name":"_fCoverN","type":"int128"},{"internalType":"int128[2]","name":"fStressRet2","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressRet3","type":"int128[2]"},{"internalType":"int128[2]","name":"fIndexPrices","type":"int128[2]"},{"internalType":"enum AMMPerpLogic.CollateralCurrency","name":"_eCCY","type":"uint8"}],"name":"calculateDefaultFundSize","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fBidAskSpread","type":"int128"},{"internalType":"int128","name":"_fIncentiveSpread","type":"int128"}],"name":"calculatePerpetualPrice","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"int128","name":"fLockedValue1","type":"int128"},{"internalType":"int128","name":"fPoolM1","type":"int128"},{"internalType":"int128","name":"fPoolM2","type":"int128"},{"internalType":"int128","name":"fPoolM3","type":"int128"},{"internalType":"int128","name":"fAMM_K2","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"}],"internalType":"struct AMMPerpLogic.AMMVariables","name":"_ammVars","type":"tuple"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"bool","name":"_withCDF","type":"bool"}],"name":"calculateRiskNeutralPD","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"chargePostingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"countActivePerpAccounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marginTokenAddress","type":"address"},{"internalType":"uint16","name":"_iTargetPoolSizeUpdateTime","type":"uint16"},{"internalType":"int128","name":"_fMaxTransferPerConvergencePeriod","type":"int128"},{"internalType":"int128","name":"_fBrokerCollateralLotSize","type":"int128"}],"name":"createLiquidityPool","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolId","type":"uint8"},{"internalType":"bytes4[2]","name":"_baseQuoteS2","type":"bytes4[2]"},{"internalType":"bytes4[2]","name":"_baseQuoteS3","type":"bytes4[2]"},{"internalType":"int128[7]","name":"_baseParams","type":"int128[7]"},{"internalType":"int128[5]","name":"_underlyingRiskParams","type":"int128[5]"},{"internalType":"int128[13]","name":"_defaultFundRiskParams","type":"int128[13]"},{"internalType":"uint256","name":"_eCollateralCurrency","type":"uint256"}],"name":"createPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIdx","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"decreasePoolCash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fAmount","type":"int128"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fDepositRequired","type":"int128"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"depositMarginForOpeningTrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"depositToDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"determineExchangeFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"bool","name":"_hasOpened","type":"bool"}],"name":"distributeFees","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fDeltaPositionBC","type":"int128"}],"name":"distributeFeesLiquidation","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int128","name":"_fEMA","type":"int128"},{"internalType":"int128","name":"_fCurrentObs","type":"int128"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"ema","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"bytes32","name":"_digest","type":"bytes32"}],"name":"executeCancelOrder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"executeLiquidityWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fTraderPos","type":"int128"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fPrice","type":"int128"},{"internalType":"bool","name":"_isClose","type":"bool"}],"name":"executeTrade","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAMMPerpLogic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"getAMMState","outputs":[{"internalType":"int128[15]","name":"","type":"int128[15]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getActivePerpAccounts","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"uint256","name":"_from","type":"uint256"},{"internalType":"uint256","name":"_to","type":"uint256"}],"name":"getActivePerpAccountsByChunks","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getBrokerDesignation","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getBrokerInducedFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getCollateralTokenAmountForPricing","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getCurrentBrokerVolume","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"getCurrentTraderVolume","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128","name":"_fPosition0","type":"int128"},{"internalType":"int128","name":"_fBalance0","type":"int128"},{"internalType":"int128","name":"_fTradeAmount","type":"int128"},{"internalType":"int128","name":"_fTargetLeverage","type":"int128"},{"internalType":"int128","name":"_fPrice","type":"int128"},{"internalType":"int128","name":"_fS2Mark","type":"int128"},{"internalType":"int128","name":"_fS3","type":"int128"}],"name":"getDepositAmountForLvgPosition","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_brokerDesignation","type":"uint32"}],"name":"getFeeForBrokerDesignation","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"brokerAddr","type":"address"}],"name":"getFeeForBrokerStake","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"getFeeForBrokerVolume","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"traderAddr","type":"address"}],"name":"getFeeForTraderStake","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"getFeeForTraderVolume","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"getLastPerpetualBaseToUSDConversion","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getLiquidityPool","outputs":[{"components":[{"internalType":"bool","name":"isRunning","type":"bool"},{"internalType":"uint8","name":"iPerpetualCount","type":"uint8"},{"internalType":"uint8","name":"id","type":"uint8"},{"internalType":"uint16","name":"iTargetPoolSizeUpdateTime","type":"uint16"},{"internalType":"address","name":"marginTokenAddress","type":"address"},{"internalType":"int128","name":"fFundAllocationNormalizationCC","type":"int128"},{"internalType":"int128","name":"fDefaultFundCashCC","type":"int128"},{"internalType":"uint64","name":"prevAnchor","type":"uint64"},{"internalType":"int32","name":"fRedemptionRate","type":"int32"},{"internalType":"address","name":"shareTokenAddress","type":"address"},{"internalType":"int128","name":"fPnLparticipantsCashCC","type":"int128"},{"internalType":"int128","name":"fAMMFundCashCC","type":"int128"},{"internalType":"int128","name":"fTargetAMMFundSize","type":"int128"},{"internalType":"int128","name":"fTargetDFSize","type":"int128"},{"internalType":"int128","name":"fMaxTransferPerConvergencePeriod","type":"int128"},{"internalType":"int128","name":"fBrokerCollateralLotSize","type":"int128"},{"internalType":"uint128","name":"prevTokenAmount","type":"uint128"},{"internalType":"uint128","name":"nextTokenAmount","type":"uint128"},{"internalType":"uint128","name":"totalSupplyShareToken","type":"uint128"}],"internalType":"struct PerpStorage.LiquidityPoolData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"getMarginAccount","outputs":[{"components":[{"internalType":"int128","name":"fLockedInValueQC","type":"int128"},{"internalType":"int128","name":"fCashCC","type":"int128"},{"internalType":"int128","name":"fPositionBC","type":"int128"},{"internalType":"int128","name":"fUnitAccumulatedFundingStart","type":"int128"},{"internalType":"uint64","name":"iLastOpenBlock","type":"uint64"},{"internalType":"uint16","name":"feeTbps","type":"uint16"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"bytes16","name":"positionId","type":"bytes16"}],"internalType":"struct PerpStorage.MarginAccount","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"int128","name":"_fCurrentTraderPos","type":"int128"},{"internalType":"bool","name":"_isBuy","type":"bool"}],"name":"getMaxSignedOpenTradeSizeForPos","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOracleFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4[2]","name":"_baseQuote","type":"bytes4[2]"}],"name":"getOraclePrice","outputs":[{"internalType":"int128","name":"fPrice","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getOrderBookAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOrderBookFactoryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPerpetual","outputs":[{"components":[{"internalType":"uint8","name":"poolId","type":"uint8"},{"internalType":"uint24","name":"id","type":"uint24"},{"internalType":"int32","name":"fInitialMarginRate","type":"int32"},{"internalType":"int32","name":"fMaintenanceMarginRate","type":"int32"},{"internalType":"int32","name":"fSigma2","type":"int32"},{"internalType":"uint64","name":"iLastFundingTime","type":"uint64"},{"internalType":"uint64","name":"iLastSettlementPriceUpdateBlock","type":"uint64"},{"internalType":"enum PerpStorage.PerpetualState","name":"state","type":"uint8"},{"internalType":"enum AMMPerpLogic.CollateralCurrency","name":"eCollateralCurrency","type":"uint8"},{"internalType":"uint16","name":"minimalSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"incentiveSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"jumpSpreadTbps","type":"uint16"},{"internalType":"uint16","name":"liquidationPenaltyRateTbps","type":"uint16"},{"internalType":"int32","name":"fSigma3","type":"int32"},{"internalType":"bytes4","name":"S2BaseCCY","type":"bytes4"},{"internalType":"bytes4","name":"S2QuoteCCY","type":"bytes4"},{"internalType":"bytes4","name":"S3BaseCCY","type":"bytes4"},{"internalType":"bytes4","name":"S3QuoteCCY","type":"bytes4"},{"components":[{"internalType":"int128","name":"fPrice","type":"int128"},{"internalType":"uint64","name":"time","type":"uint64"}],"internalType":"struct PerpStorage.OraclePriceData","name":"currentMarkPremiumRate","type":"tuple"},{"internalType":"int128[2]","name":"fDFLambda","type":"int128[2]"},{"internalType":"int128[2]","name":"fCurrentAMMExposureEMA","type":"int128[2]"},{"internalType":"int128[2]","name":"fAMMTargetDD","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressReturnS2","type":"int128[2]"},{"internalType":"int128[2]","name":"fStressReturnS3","type":"int128[2]"},{"internalType":"int128","name":"premiumRatesEMA","type":"int128"},{"internalType":"int128","name":"fTargetDFSize","type":"int128"},{"internalType":"int128","name":"fFundAllocationWeightCC","type":"int128"},{"internalType":"int128","name":"fOpenInterest","type":"int128"},{"internalType":"int128","name":"fTargetAMMFundSize","type":"int128"},{"internalType":"int128","name":"fCurrentTraderExposureEMA","type":"int128"},{"internalType":"int128","name":"fCurrentFundingRate","type":"int128"},{"internalType":"int128","name":"fUnitAccumulatedFunding","type":"int128"},{"internalType":"int128","name":"fLotSizeBC","type":"int128"},{"internalType":"int128","name":"fkStar","type":"int128"},{"internalType":"int128","name":"fAMMFundCashCC","type":"int128"},{"internalType":"int128","name":"fAMMMinSizeCC","type":"int128"},{"internalType":"int128","name":"fMinimalTraderExposureEMA","type":"int128"},{"internalType":"int128","name":"fMinimalAMMExposureEMA","type":"int128"},{"internalType":"int128","name":"fTotalMarginBalance","type":"int128"},{"internalType":"int128","name":"fSettlementS3PriceData","type":"int128"},{"internalType":"int128","name":"fReferralRebateCC","type":"int128"},{"internalType":"int128","name":"fSettlementS2PriceData","type":"int128"},{"internalType":"uint64","name":"iLastPriceJumpBlock","type":"uint64"},{"internalType":"uint64","name":"iLastDefaultFundTransfer","type":"uint64"},{"internalType":"uint64","name":"iLastTargetPoolSizeTime","type":"uint64"},{"internalType":"int32","name":"fMarkPriceEMALambda","type":"int32"},{"internalType":"int32","name":"fFundingRateClamp","type":"int32"},{"internalType":"int32","name":"fMaximalTradeSizeBumpUp","type":"int32"},{"internalType":"int32","name":"fRho23","type":"int32"},{"internalType":"int32","name":"fDFCoverNRate","type":"int32"}],"internalType":"struct PerpStorage.PerpetualData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"}],"name":"getPerpetualCountInPool","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint8","name":"_perpetualIndex","type":"uint8"}],"name":"getPerpetualId","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPoolCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPoolIdByPerpetualId","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"getPriceInfo","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getShareTokenFactory","outputs":[{"internalType":"contract IShareTokenFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM1","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM2","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"int128","name":"_fK2","type":"int128"},{"internalType":"int128","name":"_fL1","type":"int128"},{"components":[{"internalType":"int128","name":"fIndexPriceS2","type":"int128"},{"internalType":"int128","name":"fIndexPriceS3","type":"int128"},{"internalType":"int128","name":"fSigma2","type":"int128"},{"internalType":"int128","name":"fSigma3","type":"int128"},{"internalType":"int128","name":"fRho23","type":"int128"}],"internalType":"struct AMMPerpLogic.MarketVariables","name":"_mktVars","type":"tuple"},{"internalType":"int128","name":"_fTargetDD","type":"int128"}],"name":"getTargetCollateralM3","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"uint256","name":"_shareAmount","type":"uint256"}],"name":"getTokenAmountToReturn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"getTraderState","outputs":[{"internalType":"int128[11]","name":"","type":"int128[11]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasuryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_numBlockSinceLastOpen","type":"uint256"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"holdingPeriodPenalty","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIdx","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"increasePoolCash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"isActiveAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_baseCurrency","type":"bytes4"},{"internalType":"bytes4","name":"_quoteCurrency","type":"bytes4"}],"name":"isMarketClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"isOrderCanceled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"isOrderExecuted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"}],"name":"isPerpMarketClosed","outputs":[{"internalType":"bool","name":"isClosed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"isTraderMaintenanceMarginSafe","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualIndex","type":"uint24"},{"internalType":"address","name":"_liquidatorAddr","type":"address"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"liquidateByAMM","outputs":[{"internalType":"int128","name":"liquidatedAmount","type":"int128"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"preTrade","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"address","name":"_brokerAddr","type":"address"}],"name":"queryExchangeFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fTradeAmountBC","type":"int128"},{"internalType":"int128[2]","name":"_fIndexPrice","type":"int128[2]"}],"name":"queryPerpetualPrice","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"rebalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"rebatePostingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"int128","name":"_fAmountToWithdraw","type":"int128"}],"name":"reduceMarginCollateral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int128","name":"_fDeltaPos","type":"int128"},{"internalType":"int128","name":"_fTreasuryFeeRate","type":"int128"},{"internalType":"int128","name":"_fPnLPartRate","type":"int128"},{"internalType":"int128","name":"_fReferralRebate","type":"int128"},{"internalType":"address","name":"_referrerAddr","type":"address"}],"name":"relativeFeeToCCAmount","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"_liqPoolID","type":"uint8"}],"name":"runLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_AMMPerpLogic","type":"address"}],"name":"setAMMPerpLogic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_delay","type":"uint8"}],"name":"setBlockDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setBrokerTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setBrokerVolumeTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setEmergencyState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"_designations","type":"uint32[]"},{"internalType":"uint16[]","name":"_fees","type":"uint16[]"}],"name":"setFeesForDesignation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setInitialFundAllocationWeight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_brokerAddr","type":"address"},{"internalType":"uint16","name":"_feeTbps","type":"uint16"}],"name":"setInitialVolumeForFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"setNormalState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracleFactory","type":"address"}],"name":"setOracleFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_oracleAddr","type":"address"}],"name":"setOracleForPerpetual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_orderBookFactory","type":"address"}],"name":"setOrderBookFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128[7]","name":"_baseParams","type":"int128[7]"}],"name":"setPerpetualBaseParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"bytes4[2]","name":"_baseQuoteS2","type":"bytes4[2]"},{"internalType":"bytes4[2]","name":"_baseQuoteS3","type":"bytes4[2]"}],"name":"setPerpetualOracles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"string","name":"_varName","type":"string"},{"internalType":"int128","name":"_value","type":"int128"}],"name":"setPerpetualParam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"int128","name":"_value1","type":"int128"},{"internalType":"int128","name":"_value2","type":"int128"}],"name":"setPerpetualParamPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shareTokenFactory","type":"address"}],"name":"setPerpetualPoolFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128[5]","name":"_underlyingRiskParams","type":"int128[5]"},{"internalType":"int128[13]","name":"_defaultFundRiskParams","type":"int128[13]"}],"name":"setPerpetualRiskParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"int128","name":"_value","type":"int128"}],"name":"setPoolParam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setTraderTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tiers","type":"uint256[]"},{"internalType":"uint16[]","name":"_feesTbps","type":"uint16[]"}],"name":"setTraderVolumeTiers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddr","type":"address"}],"name":"setUtilityTokenAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualID","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"settle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_id","type":"uint8"}],"name":"settleNextTraderInPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"fee","type":"uint16"}],"name":"splitProtocolFee","outputs":[{"internalType":"int128","name":"","type":"int128"},{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"}],"name":"tradeViaOrderBook","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_transferToAddr","type":"address"},{"internalType":"uint32","name":"_lots","type":"uint32"}],"name":"transferBrokerLots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_transferToAddr","type":"address"}],"name":"transferBrokerOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"transferEarningsToTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferValueToTreasury","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"fTargetFundSize","type":"int128"}],"name":"updateAMMTargetFundSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"}],"name":"updateDefaultFundTargetSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"}],"name":"updateDefaultFundTargetSizeRandom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId0","type":"uint24"},{"internalType":"uint24","name":"_iPerpetualId1","type":"uint24"}],"name":"updateFundingAndPricesAfter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId0","type":"uint24"},{"internalType":"uint24","name":"_iPerpetualId1","type":"uint24"}],"name":"updateFundingAndPricesBefore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"},{"internalType":"uint256","name":"_blockAge","type":"uint256"}],"name":"updatePriceFeeds","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"},{"internalType":"address","name":"_brokerAddr","type":"address"},{"internalType":"int128","name":"_tradeAmountBC","type":"int128"}],"name":"updateVolumeEMAOnNewTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isLong","type":"bool"},{"internalType":"int128","name":"_fMarkPrice","type":"int128"},{"internalType":"int128","name":"_fTriggerPrice","type":"int128"}],"name":"validateStopPrice","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint16","name":"_jumpTbps","type":"uint16"},{"internalType":"uint16","name":"_MinimalSpreadTbps","type":"uint16"},{"internalType":"uint256","name":"_numBlockSinceJump","type":"uint256"},{"internalType":"int128","name":"_fLambda","type":"int128"}],"name":"volatilitySpread","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"int128","name":"_fAmount","type":"int128"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"withdrawAll","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint24","name":"_iPerpetualId","type":"uint24"},{"internalType":"address","name":"_traderAddr","type":"address"}],"name":"withdrawDepositFromMarginAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_poolId","type":"uint8"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"int128","name":"_fAmount","type":"int128"}],"name":"withdrawFromDefaultFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_iPoolIndex","type":"uint8"},{"internalType":"uint256","name":"_shareAmount","type":"uint256"}],"name":"withdrawLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"}]');
|
|
36566
36583
|
|
|
36567
36584
|
/***/ }),
|
|
36568
36585
|
|
|
@@ -36573,7 +36590,7 @@ module.exports = JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"inte
|
|
|
36573
36590
|
/***/ ((module) => {
|
|
36574
36591
|
|
|
36575
36592
|
"use strict";
|
|
36576
|
-
module.exports = JSON.parse('[{"inputs":[{"internalType":"address","name":"_perpetualManagerAddr","type":"address"},{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"uint8","name":"_iCancelBlockDelay","type":"uint8"},{"internalType":"uint16","name":"_postingFeeTbps","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"bytes32","name":"digest","type":"bytes32"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ExecutionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"address","name":"referrerAddr","type":"address"},{"indexed":false,"internalType":"address","name":"brokerAddr","type":"address"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"indexed":false,"internalType":"struct IPerpetualOrder.Order","name":"order","type":"tuple"},{"indexed":false,"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"PerpetualLimitOrderCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allDigests","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"allLimitDigests","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"cancelOrder","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"digestsOfTrader","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"},{"internalType":"address","name":"_referrerAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"executeOrder","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_digests","type":"bytes32[]"},{"internalType":"address","name":"_referrerAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"executeOrders","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"}],"name":"getOrderStatus","outputs":[{"internalType":"enum LimitOrderBook.OrderStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"getOrders","outputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order[]","name":"orders","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"getSignature","outputs":[{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"getTrader","outputs":[{"internalType":"address","name":"trader","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"limitDigestsOfTrader","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfAllDigests","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"}],"name":"numberOfDigestsOfTrader","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfOrderBookDigests","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"orderCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderOfDigest","outputs":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderSignature","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perpManager","outputs":[{"internalType":"contract IPerpetualManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perpetualId","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_startAfter","type":"bytes32"},{"internalType":"uint256","name":"_numElements","type":"uint256"}],"name":"pollLimitOrders","outputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order[]","name":"orders","type":"tuple[]"},{"internalType":"bytes32[]","name":"orderHashes","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order","name":"_order","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"postOrder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"internalType":"struct IPerpetualOrder.Order[]","name":"_orders","type":"tuple[]"},{"internalType":"bytes[]","name":"_signatures","type":"bytes[]"}],"name":"postOrders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"prevOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]');
|
|
36593
|
+
module.exports = JSON.parse('[{"inputs":[{"internalType":"address","name":"_perpetualManagerAddr","type":"address"},{"internalType":"uint24","name":"_perpetualId","type":"uint24"},{"internalType":"uint8","name":"_iCancelBlockDelay","type":"uint8"},{"internalType":"uint16","name":"_postingFeeTbps","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"bytes32","name":"digest","type":"bytes32"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"ExecutionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint24","name":"perpetualId","type":"uint24"},{"indexed":true,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"address","name":"referrerAddr","type":"address"},{"indexed":false,"internalType":"address","name":"brokerAddr","type":"address"},{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"indexed":false,"internalType":"struct IPerpetualOrder.Order","name":"order","type":"tuple"},{"indexed":false,"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"PerpetualLimitOrderCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allDigests","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"allLimitDigests","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"cancelOrder","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"digestsOfTrader","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"},{"internalType":"address","name":"_referrerAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"executeOrder","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_digests","type":"bytes32[]"},{"internalType":"address","name":"_referrerAddr","type":"address"},{"internalType":"bytes[]","name":"_updateData","type":"bytes[]"},{"internalType":"uint64[]","name":"_publishTimes","type":"uint64[]"}],"name":"executeOrders","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_digest","type":"bytes32"}],"name":"getOrderStatus","outputs":[{"internalType":"enum LimitOrderBook.OrderStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"getOrders","outputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"bytes32","name":"parentChildDigest1","type":"bytes32"},{"internalType":"bytes32","name":"parentChildDigest2","type":"bytes32"}],"internalType":"struct IClientOrder.ClientOrder[]","name":"orders","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"getSignature","outputs":[{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"name":"getTrader","outputs":[{"internalType":"address","name":"trader","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"limitDigestsOfTrader","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfAllDigests","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"}],"name":"numberOfDigestsOfTrader","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfOrderBookDigests","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"orderCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderDependency","outputs":[{"internalType":"bytes32","name":"parentChildDigest1","type":"bytes32"},{"internalType":"bytes32","name":"parentChildDigest2","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderOfDigest","outputs":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"uint64","name":"submittedBlock","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"orderSignature","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perpManager","outputs":[{"internalType":"contract IPerpetualManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"perpetualId","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_startAfter","type":"bytes32"},{"internalType":"uint256","name":"_numElements","type":"uint256"}],"name":"pollLimitOrders","outputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"bytes32","name":"parentChildDigest1","type":"bytes32"},{"internalType":"bytes32","name":"parentChildDigest2","type":"bytes32"}],"internalType":"struct IClientOrder.ClientOrder[]","name":"orders","type":"tuple[]"},{"internalType":"bytes32[]","name":"orderHashes","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"bytes32","name":"parentChildDigest1","type":"bytes32"},{"internalType":"bytes32","name":"parentChildDigest2","type":"bytes32"}],"internalType":"struct IClientOrder.ClientOrder","name":"_order","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"postOrder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"flags","type":"uint32"},{"internalType":"uint24","name":"iPerpetualId","type":"uint24"},{"internalType":"uint16","name":"brokerFeeTbps","type":"uint16"},{"internalType":"address","name":"traderAddr","type":"address"},{"internalType":"address","name":"brokerAddr","type":"address"},{"internalType":"address","name":"referrerAddr","type":"address"},{"internalType":"bytes","name":"brokerSignature","type":"bytes"},{"internalType":"int128","name":"fAmount","type":"int128"},{"internalType":"int128","name":"fLimitPrice","type":"int128"},{"internalType":"int128","name":"fTriggerPrice","type":"int128"},{"internalType":"int128","name":"fLeverage","type":"int128"},{"internalType":"uint64","name":"iDeadline","type":"uint64"},{"internalType":"uint64","name":"createdTimestamp","type":"uint64"},{"internalType":"bytes32","name":"parentChildDigest1","type":"bytes32"},{"internalType":"bytes32","name":"parentChildDigest2","type":"bytes32"}],"internalType":"struct IClientOrder.ClientOrder[]","name":"_orders","type":"tuple[]"},{"internalType":"bytes[]","name":"_signatures","type":"bytes[]"}],"name":"postOrders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"prevOrderHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]');
|
|
36577
36594
|
|
|
36578
36595
|
/***/ }),
|
|
36579
36596
|
|
|
@@ -36628,7 +36645,7 @@ module.exports = JSON.parse('[{"anonymous":false,"inputs":[{"indexed":true,"inte
|
|
|
36628
36645
|
/***/ ((module) => {
|
|
36629
36646
|
|
|
36630
36647
|
"use strict";
|
|
36631
|
-
module.exports = JSON.parse('[{"name":"testnet","chainId":80001,"version":1.5,"proxyAddr":"0xaB6AD25eE5CA28E7d7b16A33A33897aE34BF9e67","nodeURL":"https://polygon-mumbai.blockpi.network/v1/rpc/public","priceFeedConfigNetwork":"testnet","proxyABILocation":"testnet/IPerpetualManager.json","limitOrderBookFactoryABILocation":"testnet/LimitOrderBookFactory.json","limitOrderBookABILocation":"testnet/LimitOrderBook.json"},{"name":"Polygon Mainnet","chainId":137,"version":0,"proxyAddr":"","nodeURL":"","priceFeedConfigNetwork":"mainnet","proxyABILocation":"","limitOrderBookFactoryAddr":"","limitOrderBookFactoryABILocation":"","limitOrderBookABILocation":""},{"name":"central-park","chainId":80001,"version":5,"proxyAddr":"0x4F1C7EE9E881Cc735f39Ca36c649ba9E930B4E4e","nodeURL":"https://polygon-mumbai.blockpi.network/v1/rpc/public","priceFeedConfigNetwork":"testnet","proxyABILocation":"central-park/IPerpetualManager.json","limitOrderBookFactoryABILocation":"central-park/LimitOrderBookFactory.json","limitOrderBookABILocation":"central-park/LimitOrderBook.json"},{"name":"Polygon zkEVM Testnet","chainId":1442,"version":0,"proxyAddr":"","nodeURL":"https://rpc.public.zkevm-test.net ","priceFeedConfigNetwork":"testnet","proxyABILocation":"","limitOrderBookFactoryABILocation":"","limitOrderBookABILocation":""}]');
|
|
36648
|
+
module.exports = JSON.parse('[{"name":"testnet","chainId":80001,"version":1.5,"proxyAddr":"0xaB6AD25eE5CA28E7d7b16A33A33897aE34BF9e67","nodeURL":"https://polygon-mumbai.blockpi.network/v1/rpc/public","priceFeedConfigNetwork":"testnet","proxyABILocation":"testnet/IPerpetualManager.json","limitOrderBookFactoryABILocation":"testnet/LimitOrderBookFactory.json","limitOrderBookABILocation":"testnet/LimitOrderBook.json"},{"name":"Polygon Mainnet","chainId":137,"version":0,"proxyAddr":"","nodeURL":"","priceFeedConfigNetwork":"mainnet","proxyABILocation":"","limitOrderBookFactoryAddr":"","limitOrderBookFactoryABILocation":"","limitOrderBookABILocation":""},{"name":"central-park","chainId":80001,"version":5.1,"proxyAddr":"0x4F1C7EE9E881Cc735f39Ca36c649ba9E930B4E4e","nodeURL":"https://polygon-mumbai.blockpi.network/v1/rpc/public","priceFeedConfigNetwork":"testnet","proxyABILocation":"central-park/IPerpetualManager.json","limitOrderBookFactoryABILocation":"central-park/LimitOrderBookFactory.json","limitOrderBookABILocation":"central-park/LimitOrderBook.json"},{"name":"Polygon zkEVM Testnet","chainId":1442,"version":0,"proxyAddr":"","nodeURL":"https://rpc.public.zkevm-test.net ","priceFeedConfigNetwork":"testnet","proxyABILocation":"","limitOrderBookFactoryABILocation":"","limitOrderBookABILocation":""}]');
|
|
36632
36649
|
|
|
36633
36650
|
/***/ }),
|
|
36634
36651
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
{
|
|
26
26
|
"name": "central-park",
|
|
27
27
|
"chainId": 80001,
|
|
28
|
-
"version": 5.
|
|
28
|
+
"version": 5.1,
|
|
29
29
|
"proxyAddr": "0x4F1C7EE9E881Cc735f39Ca36c649ba9E930B4E4e",
|
|
30
30
|
"nodeURL": "https://polygon-mumbai.blockpi.network/v1/rpc/public",
|
|
31
31
|
"priceFeedConfigNetwork": "testnet",
|
|
@@ -1003,6 +1003,7 @@ var PerpetualDataHandler = /** @class */ (function () {
|
|
|
1003
1003
|
*/
|
|
1004
1004
|
PerpetualDataHandler.getConfigByLocation = function (filename) {
|
|
1005
1005
|
// file path: this throws a warning during build - that's ok, it just won't work in react apps
|
|
1006
|
+
// eslint-disable-next-line
|
|
1006
1007
|
var configFile = require(filename);
|
|
1007
1008
|
(0, nodeSDKTypes_1.loadABIs)(configFile);
|
|
1008
1009
|
return configFile;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import MarketData from "./marketData";
|
|
2
|
-
import { NodeSDKConfig, SmartContractOrder, Order } from "./nodeSDKTypes";
|
|
2
|
+
import { NodeSDKConfig, SmartContractOrder, Order, ClientOrder } from "./nodeSDKTypes";
|
|
3
3
|
import TraderDigests from "./traderDigests";
|
|
4
4
|
/**
|
|
5
5
|
* Interface that can be used by front-end that wraps all private functions
|
|
@@ -75,4 +75,5 @@ export default class TraderInterface extends MarketData {
|
|
|
75
75
|
* @returns ABI as a single string
|
|
76
76
|
*/
|
|
77
77
|
getOrderBookABI(symbol: string, method: string): string;
|
|
78
|
+
static chainOrders(orders: SmartContractOrder[], ids: string[]): ClientOrder[];
|
|
78
79
|
}
|
|
@@ -56,6 +56,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
56
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
57
|
var marketData_1 = __importDefault(require("./marketData"));
|
|
58
58
|
var perpetualDataHandler_1 = __importDefault(require("./perpetualDataHandler"));
|
|
59
|
+
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
59
60
|
var traderDigests_1 = __importDefault(require("./traderDigests"));
|
|
60
61
|
var d8XMath_1 = require("./d8XMath");
|
|
61
62
|
/**
|
|
@@ -224,6 +225,26 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
224
225
|
var orderBookContract = this.getOrderBookContract(symbol);
|
|
225
226
|
return perpetualDataHandler_1.default._getABIFromContract(orderBookContract, method);
|
|
226
227
|
};
|
|
228
|
+
TraderInterface.chainOrders = function (orders, ids) {
|
|
229
|
+
// add dependency
|
|
230
|
+
var obOrders = new Array(orders.length);
|
|
231
|
+
if (orders.length == 1 || orders.length > 3) {
|
|
232
|
+
// nothing to add
|
|
233
|
+
obOrders = orders.map(function (o) { return perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(o); });
|
|
234
|
+
}
|
|
235
|
+
else if (orders.length == 2) {
|
|
236
|
+
// first order is parent, second a child
|
|
237
|
+
obOrders[0] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[0], [ids[1], nodeSDKTypes_1.ZERO_ORDER_ID]);
|
|
238
|
+
obOrders[1] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[1], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
// first order is parent, other two its children
|
|
242
|
+
obOrders[0] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[0], [ids[1], ids[2]]);
|
|
243
|
+
obOrders[1] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[1], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
244
|
+
obOrders[2] = perpetualDataHandler_1.default.fromSmartContratOrderToClientOrder(orders[2], [nodeSDKTypes_1.ZERO_ORDER_ID, ids[0]]);
|
|
245
|
+
}
|
|
246
|
+
return obOrders;
|
|
247
|
+
};
|
|
227
248
|
return TraderInterface;
|
|
228
249
|
}(marketData_1.default));
|
|
229
250
|
exports.default = TraderInterface;
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.1.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.1.11";
|
package/dist/src/version.js
CHANGED
|
@@ -13,7 +13,6 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
13
13
|
protected traderAddr: string;
|
|
14
14
|
protected signer: ethers.Signer | null;
|
|
15
15
|
protected gasLimit: number;
|
|
16
|
-
protected chainId: number;
|
|
17
16
|
/**
|
|
18
17
|
* Constructor
|
|
19
18
|
* @param {NodeSDKConfig} config configuration
|
|
@@ -77,7 +77,6 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
77
77
|
_this.traderAddr = "";
|
|
78
78
|
_this.signer = null;
|
|
79
79
|
_this.gasLimit = 15000000;
|
|
80
|
-
_this.chainId = 0;
|
|
81
80
|
if (privateKey) {
|
|
82
81
|
_this.privateKey = privateKey;
|
|
83
82
|
}
|
|
@@ -100,9 +99,9 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
100
99
|
*/
|
|
101
100
|
WriteAccessHandler.prototype.createProxyInstance = function (provider) {
|
|
102
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
-
var wallet, _a
|
|
104
|
-
return __generator(this, function (
|
|
105
|
-
switch (
|
|
102
|
+
var wallet, _a;
|
|
103
|
+
return __generator(this, function (_b) {
|
|
104
|
+
switch (_b.label) {
|
|
106
105
|
case 0:
|
|
107
106
|
if (provider == undefined) {
|
|
108
107
|
this.provider = new ethers_1.ethers.providers.JsonRpcBatchProvider(this.nodeURL);
|
|
@@ -116,15 +115,11 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
116
115
|
}
|
|
117
116
|
return [4 /*yield*/, this.initContractsAndData(this.signer)];
|
|
118
117
|
case 1:
|
|
119
|
-
|
|
118
|
+
_b.sent();
|
|
120
119
|
_a = this;
|
|
121
120
|
return [4 /*yield*/, this.signer.getAddress()];
|
|
122
121
|
case 2:
|
|
123
|
-
_a.traderAddr =
|
|
124
|
-
_b = this;
|
|
125
|
-
return [4 /*yield*/, this.provider.getNetwork()];
|
|
126
|
-
case 3:
|
|
127
|
-
_b.chainId = (_c.sent()).chainId;
|
|
122
|
+
_a.traderAddr = _b.sent();
|
|
128
123
|
return [2 /*return*/];
|
|
129
124
|
}
|
|
130
125
|
});
|
package/package.json
CHANGED
|
@@ -928,6 +928,7 @@ export default class PerpetualDataHandler {
|
|
|
928
928
|
*/
|
|
929
929
|
protected static getConfigByLocation(filename: string) {
|
|
930
930
|
// file path: this throws a warning during build - that's ok, it just won't work in react apps
|
|
931
|
+
// eslint-disable-next-line
|
|
931
932
|
let configFile = require(filename) as NodeSDKConfig;
|
|
932
933
|
loadABIs(configFile);
|
|
933
934
|
return configFile;
|
package/src/traderInterface.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
2
|
import MarketData from "./marketData";
|
|
3
3
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
4
|
-
import { NodeSDKConfig, SmartContractOrder, Order } from "./nodeSDKTypes";
|
|
4
|
+
import { NodeSDKConfig, SmartContractOrder, Order, ClientOrder, ZERO_ORDER_ID } from "./nodeSDKTypes";
|
|
5
5
|
import TraderDigests from "./traderDigests";
|
|
6
6
|
import { ABK64x64ToFloat } from "./d8XMath";
|
|
7
7
|
/**
|
|
@@ -137,4 +137,23 @@ export default class TraderInterface extends MarketData {
|
|
|
137
137
|
let orderBookContract: ethers.Contract = this.getOrderBookContract(symbol);
|
|
138
138
|
return PerpetualDataHandler._getABIFromContract(orderBookContract, method);
|
|
139
139
|
}
|
|
140
|
+
|
|
141
|
+
public static chainOrders(orders: SmartContractOrder[], ids: string[]): ClientOrder[] {
|
|
142
|
+
// add dependency
|
|
143
|
+
let obOrders: ClientOrder[] = new Array<ClientOrder>(orders.length);
|
|
144
|
+
if (orders.length == 1 || orders.length > 3) {
|
|
145
|
+
// nothing to add
|
|
146
|
+
obOrders = orders.map((o) => PerpetualDataHandler.fromSmartContratOrderToClientOrder(o));
|
|
147
|
+
} else if (orders.length == 2) {
|
|
148
|
+
// first order is parent, second a child
|
|
149
|
+
obOrders[0] = PerpetualDataHandler.fromSmartContratOrderToClientOrder(orders[0], [ids[1], ZERO_ORDER_ID]);
|
|
150
|
+
obOrders[1] = PerpetualDataHandler.fromSmartContratOrderToClientOrder(orders[1], [ZERO_ORDER_ID, ids[0]]);
|
|
151
|
+
} else {
|
|
152
|
+
// first order is parent, other two its children
|
|
153
|
+
obOrders[0] = PerpetualDataHandler.fromSmartContratOrderToClientOrder(orders[0], [ids[1], ids[2]]);
|
|
154
|
+
obOrders[1] = PerpetualDataHandler.fromSmartContratOrderToClientOrder(orders[1], [ZERO_ORDER_ID, ids[0]]);
|
|
155
|
+
obOrders[2] = PerpetualDataHandler.fromSmartContratOrderToClientOrder(orders[2], [ZERO_ORDER_ID, ids[0]]);
|
|
156
|
+
}
|
|
157
|
+
return obOrders;
|
|
158
|
+
}
|
|
140
159
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.1.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.1.11";
|
|
@@ -15,7 +15,6 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
15
15
|
protected traderAddr: string = "";
|
|
16
16
|
protected signer: ethers.Signer | null = null;
|
|
17
17
|
protected gasLimit: number = 15_000_000;
|
|
18
|
-
protected chainId: number = 0;
|
|
19
18
|
/**
|
|
20
19
|
* Constructor
|
|
21
20
|
* @param {NodeSDKConfig} config configuration
|
|
@@ -53,7 +52,6 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
53
52
|
}
|
|
54
53
|
await this.initContractsAndData(this.signer);
|
|
55
54
|
this.traderAddr = await this.signer.getAddress();
|
|
56
|
-
this.chainId = (await this.provider.getNetwork()).chainId;
|
|
57
55
|
}
|
|
58
56
|
|
|
59
57
|
/**
|