@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.
@@ -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": "uint64",
433
- "name": "submittedBlock",
434
- "type": "uint64"
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 IPerpetualOrder.Order[]",
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": "uint64",
815
- "name": "submittedBlock",
816
- "type": "uint64"
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 IPerpetualOrder.Order[]",
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": "uint64",
903
- "name": "submittedBlock",
904
- "type": "uint64"
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 IPerpetualOrder.Order",
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": "uint64",
993
- "name": "submittedBlock",
994
- "type": "uint64"
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 IPerpetualOrder.Order[]",
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.9";
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, _b;
6906
- return __generator(this, function (_c) {
6907
- switch (_c.label) {
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
- _c.sent();
6942
+ _b.sent();
6922
6943
  _a = this;
6923
6944
  return [4 /*yield*/, this.signer.getAddress()];
6924
6945
  case 2:
6925
- _a.traderAddr = _c.sent();
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.0,
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;
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "0.1.9";
1
+ export declare const D8X_SDK_VERSION = "0.1.11";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.D8X_SDK_VERSION = void 0;
4
- exports.D8X_SDK_VERSION = "0.1.9";
4
+ exports.D8X_SDK_VERSION = "0.1.11";
5
5
  //# sourceMappingURL=version.js.map
@@ -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, _b;
104
- return __generator(this, function (_c) {
105
- switch (_c.label) {
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
- _c.sent();
118
+ _b.sent();
120
119
  _a = this;
121
120
  return [4 /*yield*/, this.signer.getAddress()];
122
121
  case 2:
123
- _a.traderAddr = _c.sent();
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
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "name": "@d8x/perpetuals-sdk",
40
40
  "description": "Node TypeScript SDK for D8X Perpetual Futures",
41
- "version": "0.1.9",
41
+ "version": "0.1.11",
42
42
  "main": "./dist/src/index.js",
43
43
  "types": "./dist/src/index.d.ts",
44
44
  "directories": {
@@ -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;
@@ -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.9";
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
  /**