@gainsnetwork/sdk 0.2.34-rc1 → 0.2.36

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.
Files changed (36) hide show
  1. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  2. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  3. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -0
  4. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  5. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +673 -312
  6. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -0
  7. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -0
  8. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -0
  9. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -0
  10. package/lib/contracts/types/generated/GNSTrading.d.ts +758 -0
  11. package/lib/contracts/types/generated/GNSTrading.js +2 -0
  12. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -0
  13. package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -0
  14. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -0
  15. package/lib/contracts/types/generated/GNSTradingStorage.js +2 -0
  16. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  17. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  18. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -0
  19. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -0
  20. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +1437 -532
  21. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -0
  22. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -0
  23. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -0
  24. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -0
  25. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -0
  26. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -0
  27. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -0
  28. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -0
  29. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -0
  30. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -0
  31. package/lib/contracts/utils/pairs.js +4 -4
  32. package/lib/trade/fees/index.js +2 -2
  33. package/lib/trade/spread.d.ts +4 -5
  34. package/lib/trade/spread.js +32 -15
  35. package/lib/trade/types.d.ts +12 -2
  36. package/package.json +1 -1
@@ -6,10 +6,12 @@ export declare namespace IAddressStore {
6
6
  type AddressesStruct = {
7
7
  gns: PromiseOrValue<string>;
8
8
  gnsStaking: PromiseOrValue<string>;
9
+ treasury: PromiseOrValue<string>;
9
10
  };
10
- type AddressesStructOutput = [string, string] & {
11
+ type AddressesStructOutput = [string, string, string] & {
11
12
  gns: string;
12
13
  gnsStaking: string;
14
+ treasury: string;
13
15
  };
14
16
  }
15
17
  export declare namespace IDiamondStorage {
@@ -35,6 +37,49 @@ export declare namespace IGNSDiamondLoupe {
35
37
  };
36
38
  }
37
39
  export declare namespace IPairsStorage {
40
+ type FeeGroupStruct = {
41
+ totalPositionSizeFeeP: PromiseOrValue<BigNumberish>;
42
+ totalLiqCollateralFeeP: PromiseOrValue<BigNumberish>;
43
+ oraclePositionSizeFeeP: PromiseOrValue<BigNumberish>;
44
+ minPositionSizeUsd: PromiseOrValue<BigNumberish>;
45
+ __placeholder: PromiseOrValue<BigNumberish>;
46
+ };
47
+ type FeeGroupStructOutput = [
48
+ number,
49
+ number,
50
+ number,
51
+ number,
52
+ BigNumber
53
+ ] & {
54
+ totalPositionSizeFeeP: number;
55
+ totalLiqCollateralFeeP: number;
56
+ oraclePositionSizeFeeP: number;
57
+ minPositionSizeUsd: number;
58
+ __placeholder: BigNumber;
59
+ };
60
+ type GlobalTradeFeeParamsStruct = {
61
+ referralFeeP: PromiseOrValue<BigNumberish>;
62
+ govFeeP: PromiseOrValue<BigNumberish>;
63
+ triggerOrderFeeP: PromiseOrValue<BigNumberish>;
64
+ gnsOtcFeeP: PromiseOrValue<BigNumberish>;
65
+ gTokenFeeP: PromiseOrValue<BigNumberish>;
66
+ __placeholder: PromiseOrValue<BigNumberish>;
67
+ };
68
+ type GlobalTradeFeeParamsStructOutput = [
69
+ number,
70
+ number,
71
+ number,
72
+ number,
73
+ number,
74
+ BigNumber
75
+ ] & {
76
+ referralFeeP: number;
77
+ govFeeP: number;
78
+ triggerOrderFeeP: number;
79
+ gnsOtcFeeP: number;
80
+ gTokenFeeP: number;
81
+ __placeholder: BigNumber;
82
+ };
38
83
  type GroupLiquidationParamsStruct = {
39
84
  maxLiqSpreadP: PromiseOrValue<BigNumberish>;
40
85
  startLiqThresholdP: PromiseOrValue<BigNumberish>;
@@ -55,29 +100,6 @@ export declare namespace IPairsStorage {
55
100
  startLeverage: number;
56
101
  endLeverage: number;
57
102
  };
58
- type FeeStruct = {
59
- name: PromiseOrValue<string>;
60
- openFeeP: PromiseOrValue<BigNumberish>;
61
- closeFeeP: PromiseOrValue<BigNumberish>;
62
- oracleFeeP: PromiseOrValue<BigNumberish>;
63
- triggerOrderFeeP: PromiseOrValue<BigNumberish>;
64
- minPositionSizeUsd: PromiseOrValue<BigNumberish>;
65
- };
66
- type FeeStructOutput = [
67
- string,
68
- BigNumber,
69
- BigNumber,
70
- BigNumber,
71
- BigNumber,
72
- BigNumber
73
- ] & {
74
- name: string;
75
- openFeeP: BigNumber;
76
- closeFeeP: BigNumber;
77
- oracleFeeP: BigNumber;
78
- triggerOrderFeeP: BigNumber;
79
- minPositionSizeUsd: BigNumber;
80
- };
81
103
  type GroupStruct = {
82
104
  name: PromiseOrValue<string>;
83
105
  job: PromiseOrValue<BytesLike>;
@@ -228,6 +250,7 @@ export declare namespace IPriceImpact {
228
250
  windowId: PromiseOrValue<BigNumberish>;
229
251
  long: PromiseOrValue<boolean>;
230
252
  open: PromiseOrValue<boolean>;
253
+ isPnlPositive: PromiseOrValue<boolean>;
231
254
  openInterestUsd: PromiseOrValue<BigNumberish>;
232
255
  };
233
256
  type OiWindowUpdateStructOutput = [
@@ -238,6 +261,7 @@ export declare namespace IPriceImpact {
238
261
  BigNumber,
239
262
  boolean,
240
263
  boolean,
264
+ boolean,
241
265
  BigNumber
242
266
  ] & {
243
267
  trader: string;
@@ -247,6 +271,7 @@ export declare namespace IPriceImpact {
247
271
  windowId: BigNumber;
248
272
  long: boolean;
249
273
  open: boolean;
274
+ isPnlPositive: boolean;
250
275
  openInterestUsd: BigNumber;
251
276
  };
252
277
  type OiWindowsSettingsStruct = {
@@ -271,12 +296,23 @@ export declare namespace IPriceImpact {
271
296
  protectionCloseFactor: PromiseOrValue<BigNumberish>;
272
297
  protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>;
273
298
  cumulativeFactor: PromiseOrValue<BigNumberish>;
299
+ exemptOnOpen: PromiseOrValue<boolean>;
300
+ exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>;
274
301
  __placeholder: PromiseOrValue<BigNumberish>;
275
302
  };
276
- type PairFactorsStructOutput = [number, number, number, BigNumber] & {
303
+ type PairFactorsStructOutput = [
304
+ number,
305
+ number,
306
+ number,
307
+ boolean,
308
+ boolean,
309
+ BigNumber
310
+ ] & {
277
311
  protectionCloseFactor: number;
278
312
  protectionCloseFactorBlocks: number;
279
313
  cumulativeFactor: number;
314
+ exemptOnOpen: boolean;
315
+ exemptAfterProtectionCloseFactor: boolean;
280
316
  __placeholder: BigNumber;
281
317
  };
282
318
  }
@@ -449,8 +485,7 @@ export declare namespace IUpdatePositionSize {
449
485
  priceAfterImpact: PromiseOrValue<BigNumberish>;
450
486
  existingPnlCollateral: PromiseOrValue<BigNumberish>;
451
487
  borrowingFeeCollateral: PromiseOrValue<BigNumberish>;
452
- vaultFeeCollateral: PromiseOrValue<BigNumberish>;
453
- gnsStakingFeeCollateral: PromiseOrValue<BigNumberish>;
488
+ closingFeeCollateral: PromiseOrValue<BigNumberish>;
454
489
  availableCollateralInDiamond: PromiseOrValue<BigNumberish>;
455
490
  collateralSentToTrader: PromiseOrValue<BigNumberish>;
456
491
  newCollateralAmount: PromiseOrValue<BigNumberish>;
@@ -467,7 +502,6 @@ export declare namespace IUpdatePositionSize {
467
502
  BigNumber,
468
503
  BigNumber,
469
504
  BigNumber,
470
- BigNumber,
471
505
  number
472
506
  ] & {
473
507
  positionSizeCollateralDelta: BigNumber;
@@ -476,8 +510,7 @@ export declare namespace IUpdatePositionSize {
476
510
  priceAfterImpact: BigNumber;
477
511
  existingPnlCollateral: BigNumber;
478
512
  borrowingFeeCollateral: BigNumber;
479
- vaultFeeCollateral: BigNumber;
480
- gnsStakingFeeCollateral: BigNumber;
513
+ closingFeeCollateral: BigNumber;
481
514
  availableCollateralInDiamond: BigNumber;
482
515
  collateralSentToTrader: BigNumber;
483
516
  newCollateralAmount: BigNumber;
@@ -550,29 +583,18 @@ export declare namespace ITradingCallbacks {
550
583
  low: BigNumber;
551
584
  };
552
585
  type ValuesStruct = {
553
- positionSizeCollateral: PromiseOrValue<BigNumberish>;
554
- gnsPriceCollateral: PromiseOrValue<BigNumberish>;
555
586
  profitP: PromiseOrValue<BigNumberish>;
556
587
  executionPrice: PromiseOrValue<BigNumberish>;
557
588
  liqPrice: PromiseOrValue<BigNumberish>;
558
589
  amountSentToTrader: PromiseOrValue<BigNumberish>;
559
- reward1: PromiseOrValue<BigNumberish>;
560
- reward2: PromiseOrValue<BigNumberish>;
561
- reward3: PromiseOrValue<BigNumberish>;
562
- collateralPrecisionDelta: PromiseOrValue<BigNumberish>;
563
590
  collateralPriceUsd: PromiseOrValue<BigNumberish>;
564
591
  exactExecution: PromiseOrValue<boolean>;
565
- closingFeeCollateral: PromiseOrValue<BigNumberish>;
566
- triggerFeeCollateral: PromiseOrValue<BigNumberish>;
567
592
  collateralLeftInStorage: PromiseOrValue<BigNumberish>;
593
+ oraclePrice: PromiseOrValue<BigNumberish>;
594
+ limitIndex: PromiseOrValue<BigNumberish>;
595
+ priceImpactP: PromiseOrValue<BigNumberish>;
568
596
  };
569
597
  type ValuesStructOutput = [
570
- BigNumber,
571
- BigNumber,
572
- BigNumber,
573
- BigNumber,
574
- BigNumber,
575
- BigNumber,
576
598
  BigNumber,
577
599
  BigNumber,
578
600
  BigNumber,
@@ -581,23 +603,19 @@ export declare namespace ITradingCallbacks {
581
603
  boolean,
582
604
  BigNumber,
583
605
  BigNumber,
606
+ number,
584
607
  BigNumber
585
608
  ] & {
586
- positionSizeCollateral: BigNumber;
587
- gnsPriceCollateral: BigNumber;
588
609
  profitP: BigNumber;
589
610
  executionPrice: BigNumber;
590
611
  liqPrice: BigNumber;
591
612
  amountSentToTrader: BigNumber;
592
- reward1: BigNumber;
593
- reward2: BigNumber;
594
- reward3: BigNumber;
595
- collateralPrecisionDelta: BigNumber;
596
613
  collateralPriceUsd: BigNumber;
597
614
  exactExecution: boolean;
598
- closingFeeCollateral: BigNumber;
599
- triggerFeeCollateral: BigNumber;
600
615
  collateralLeftInStorage: BigNumber;
616
+ oraclePrice: BigNumber;
617
+ limitIndex: number;
618
+ priceImpactP: BigNumber;
601
619
  };
602
620
  }
603
621
  export declare namespace IBorrowingFees {
@@ -906,38 +924,40 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
906
924
  "facets()": FunctionFragment;
907
925
  "getAddresses()": FunctionFragment;
908
926
  "hasRole(address,uint8)": FunctionFragment;
927
+ "hasRoles(address,uint8,uint8)": FunctionFragment;
909
928
  "initialize(address)": FunctionFragment;
910
929
  "setRoles(address[],uint8[],bool[])": FunctionFragment;
911
- "addFees((string,uint256,uint256,uint256,uint256,uint256)[])": FunctionFragment;
930
+ "addFees((uint40,uint40,uint40,uint32,uint104)[])": FunctionFragment;
912
931
  "addGroups((string,bytes32,uint256,uint256)[])": FunctionFragment;
913
932
  "addPairs((string,string,(address,address,uint8,uint256),uint256,uint256,uint256)[])": FunctionFragment;
914
933
  "fees(uint256)": FunctionFragment;
915
934
  "feesCount()": FunctionFragment;
916
935
  "getAllPairsRestrictedMaxLeverage()": FunctionFragment;
936
+ "getGlobalTradeFeeParams()": FunctionFragment;
917
937
  "getGroupLiquidationParams(uint256)": FunctionFragment;
918
938
  "getPairLiquidationParams(uint256)": FunctionFragment;
919
939
  "groups(uint256)": FunctionFragment;
920
940
  "groupsCount()": FunctionFragment;
921
941
  "initializeGroupLiquidationParams((uint40,uint40,uint40,uint24,uint24)[])": FunctionFragment;
942
+ "initializeNewFees((uint24,uint24,uint24,uint24,uint24,uint136))": FunctionFragment;
922
943
  "isPairIndexListed(uint256)": FunctionFragment;
923
944
  "isPairListed(string,string)": FunctionFragment;
924
- "pairCloseFeeP(uint256)": FunctionFragment;
925
945
  "pairCustomMaxLeverage(uint256)": FunctionFragment;
926
946
  "pairJob(uint256)": FunctionFragment;
927
947
  "pairMaxLeverage(uint256)": FunctionFragment;
928
948
  "pairMinFeeUsd(uint256)": FunctionFragment;
929
949
  "pairMinLeverage(uint256)": FunctionFragment;
930
950
  "pairMinPositionSizeUsd(uint256)": FunctionFragment;
931
- "pairOpenFeeP(uint256)": FunctionFragment;
932
- "pairOracleFeeP(uint256)": FunctionFragment;
951
+ "pairOraclePositionSizeFeeP(uint256)": FunctionFragment;
933
952
  "pairSpreadP(uint256)": FunctionFragment;
934
- "pairTriggerOrderFeeP(uint256)": FunctionFragment;
953
+ "pairTotalLiqCollateralFeeP(uint256)": FunctionFragment;
954
+ "pairTotalPositionSizeFeeP(uint256)": FunctionFragment;
935
955
  "pairs(uint256)": FunctionFragment;
936
- "pairsBackend(uint256)": FunctionFragment;
937
956
  "pairsCount()": FunctionFragment;
957
+ "setGlobalTradeFeeParams((uint24,uint24,uint24,uint24,uint24,uint136))": FunctionFragment;
938
958
  "setGroupLiquidationParams(uint256,(uint40,uint40,uint40,uint24,uint24))": FunctionFragment;
939
959
  "setPairCustomMaxLeverages(uint256[],uint256[])": FunctionFragment;
940
- "updateFees(uint256[],(string,uint256,uint256,uint256,uint256,uint256)[])": FunctionFragment;
960
+ "updateFees(uint256[],(uint40,uint40,uint40,uint32,uint104)[])": FunctionFragment;
941
961
  "updateGroups(uint256[],(string,bytes32,uint256,uint256)[])": FunctionFragment;
942
962
  "updatePairs(uint256[],(string,string,(address,address,uint8,uint256),uint256,uint256,uint256)[])": FunctionFragment;
943
963
  "claimAllyRewards()": FunctionFragment;
@@ -945,25 +965,24 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
945
965
  "distributeReferralReward(address,uint256,uint256,uint256)": FunctionFragment;
946
966
  "getAllyDetails(address)": FunctionFragment;
947
967
  "getReferralsAllyFeeP()": FunctionFragment;
948
- "getReferralsOpenFeeP()": FunctionFragment;
949
968
  "getReferralsStartReferrerFeeP()": FunctionFragment;
950
969
  "getReferralsTargetVolumeUsd()": FunctionFragment;
951
970
  "getReferrerDetails(address)": FunctionFragment;
952
- "getReferrerFeeP(uint256,uint256)": FunctionFragment;
971
+ "getReferrerFeeProgressP(address)": FunctionFragment;
953
972
  "getReferrersReferred(address)": FunctionFragment;
954
973
  "getTraderActiveReferrer(address)": FunctionFragment;
955
974
  "getTraderLastReferrer(address)": FunctionFragment;
956
975
  "getTradersReferred(address)": FunctionFragment;
957
- "initializeReferrals(uint256,uint256,uint256,uint256)": FunctionFragment;
976
+ "initializeReferrals(uint256,uint256,uint256)": FunctionFragment;
958
977
  "registerPotentialReferrer(address,address)": FunctionFragment;
959
978
  "unwhitelistAllies(address[])": FunctionFragment;
960
979
  "unwhitelistReferrers(address[])": FunctionFragment;
961
980
  "updateAllyFeeP(uint256)": FunctionFragment;
962
- "updateReferralsOpenFeeP(uint256)": FunctionFragment;
963
981
  "updateReferralsTargetVolumeUsd(uint256)": FunctionFragment;
964
982
  "updateStartReferrerFeeP(uint256)": FunctionFragment;
965
983
  "whitelistAllies(address[])": FunctionFragment;
966
984
  "whitelistReferrers(address[],address[])": FunctionFragment;
985
+ "addTradersUnclaimedPoints(address[],uint8[],uint224[])": FunctionFragment;
967
986
  "calculateFeeAmount(address,uint256)": FunctionFragment;
968
987
  "getFeeTier(uint256)": FunctionFragment;
969
988
  "getFeeTiersCount()": FunctionFragment;
@@ -971,12 +990,14 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
971
990
  "getFeeTiersTraderInfo(address)": FunctionFragment;
972
991
  "getGroupVolumeMultiplier(uint256)": FunctionFragment;
973
992
  "getTraderFeeTiersEnrollment(address)": FunctionFragment;
993
+ "getTraderUnclaimedPoints(address)": FunctionFragment;
974
994
  "initializeFeeTiers(uint256[],uint256[],uint256[],(uint32,uint32)[])": FunctionFragment;
975
995
  "setFeeTiers(uint256[],(uint32,uint32)[])": FunctionFragment;
976
996
  "setGroupVolumeMultipliers(uint256[],uint256[])": FunctionFragment;
977
997
  "setTradersFeeTiersEnrollment(address[],(uint8,uint248)[])": FunctionFragment;
978
998
  "updateTraderPoints(address,uint256,uint256)": FunctionFragment;
979
- "addPriceImpactOpenInterest(address,uint32,uint256,bool)": FunctionFragment;
999
+ "addPriceImpactOpenInterest(address,uint32,uint256,bool,bool)": FunctionFragment;
1000
+ "getNegPnlCumulVolMultiplier()": FunctionFragment;
980
1001
  "getOiWindow(uint48,uint256,uint256)": FunctionFragment;
981
1002
  "getOiWindows(uint48,uint256,uint256[])": FunctionFragment;
982
1003
  "getOiWindowsSettings()": FunctionFragment;
@@ -984,27 +1005,38 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
984
1005
  "getPairDepths(uint256[])": FunctionFragment;
985
1006
  "getPairFactors(uint256[])": FunctionFragment;
986
1007
  "getPriceImpactOi(uint256,bool)": FunctionFragment;
987
- "getTradePriceImpact(uint256,uint256,bool,uint256,bool,bool,uint256,uint8)": FunctionFragment;
1008
+ "getProtectionCloseFactorWhitelist(address)": FunctionFragment;
1009
+ "getTradePriceImpact(address,uint256,uint256,bool,uint256,bool,bool,uint256,uint8)": FunctionFragment;
1010
+ "initializeNegPnlCumulVolMultiplier(uint40)": FunctionFragment;
988
1011
  "initializePairFactors(uint16[],uint40[],uint32[],uint40[])": FunctionFragment;
989
1012
  "initializePriceImpact(uint48,uint48)": FunctionFragment;
990
1013
  "setCumulativeFactors(uint16[],uint40[])": FunctionFragment;
1014
+ "setExemptAfterProtectionCloseFactor(uint16[],bool[])": FunctionFragment;
1015
+ "setExemptOnOpen(uint16[],bool[])": FunctionFragment;
1016
+ "setNegPnlCumulVolMultiplier(uint40)": FunctionFragment;
991
1017
  "setPairDepths(uint256[],uint128[],uint128[])": FunctionFragment;
992
1018
  "setPriceImpactWindowsCount(uint48)": FunctionFragment;
993
1019
  "setPriceImpactWindowsDuration(uint48)": FunctionFragment;
994
1020
  "setProtectionCloseFactorBlocks(uint16[],uint32[])": FunctionFragment;
1021
+ "setProtectionCloseFactorWhitelist(address[],bool[])": FunctionFragment;
995
1022
  "setProtectionCloseFactors(uint16[],uint40[])": FunctionFragment;
996
1023
  "addCollateral(address,address)": FunctionFragment;
997
1024
  "closePendingOrder((address,uint32))": FunctionFragment;
998
- "closeTrade((address,uint32))": FunctionFragment;
1025
+ "closeTrade((address,uint32),bool)": FunctionFragment;
999
1026
  "getAllPendingOrders(uint256,uint256)": FunctionFragment;
1027
+ "getAllPendingOrdersForTraders(address[],uint256,uint256)": FunctionFragment;
1000
1028
  "getAllTradeInfos(uint256,uint256)": FunctionFragment;
1029
+ "getAllTradeInfosForTraders(address[],uint256,uint256)": FunctionFragment;
1001
1030
  "getAllTrades(uint256,uint256)": FunctionFragment;
1031
+ "getAllTradesForTraders(address[],uint256,uint256)": FunctionFragment;
1002
1032
  "getAllTradesLiquidationParams(uint256,uint256)": FunctionFragment;
1033
+ "getAllTradesLiquidationParamsForTraders(address[],uint256,uint256)": FunctionFragment;
1003
1034
  "getCollateral(uint8)": FunctionFragment;
1004
1035
  "getCollateralIndex(address)": FunctionFragment;
1005
1036
  "getCollaterals()": FunctionFragment;
1006
1037
  "getCollateralsCount()": FunctionFragment;
1007
1038
  "getCounters(address,uint8)": FunctionFragment;
1039
+ "getCountersForTraders(address[],uint8)": FunctionFragment;
1008
1040
  "getCurrentContractsVersion()": FunctionFragment;
1009
1041
  "getGToken(uint8)": FunctionFragment;
1010
1042
  "getPendingOrder((address,uint32))": FunctionFragment;
@@ -1016,6 +1048,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1016
1048
  "getTradePendingOrderBlock((address,uint32),uint8)": FunctionFragment;
1017
1049
  "getTraderStored(address)": FunctionFragment;
1018
1050
  "getTraders(uint32,uint32)": FunctionFragment;
1051
+ "getTradersCount()": FunctionFragment;
1019
1052
  "getTrades(address)": FunctionFragment;
1020
1053
  "getTradesLiquidationParams(address)": FunctionFragment;
1021
1054
  "getTradingActivated()": FunctionFragment;
@@ -1029,7 +1062,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1029
1062
  "updateOpenOrderDetails((address,uint32),uint64,uint64,uint64,uint16)": FunctionFragment;
1030
1063
  "updateTradeCollateralAmount((address,uint32),uint120)": FunctionFragment;
1031
1064
  "updateTradeMaxClosingSlippageP((address,uint32),uint16)": FunctionFragment;
1032
- "updateTradePosition((address,uint32),uint120,uint24,uint64,bool)": FunctionFragment;
1065
+ "updateTradePosition((address,uint32),uint120,uint24,uint64,bool,bool)": FunctionFragment;
1033
1066
  "updateTradeSl((address,uint32),uint64)": FunctionFragment;
1034
1067
  "updateTradeTp((address,uint32),uint64)": FunctionFragment;
1035
1068
  "updateTradingActivated(uint8)": FunctionFragment;
@@ -1073,8 +1106,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1073
1106
  "getVaultClosingFeeP()": FunctionFragment;
1074
1107
  "increasePositionSizeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1075
1108
  "initializeCallbacks(uint8)": FunctionFragment;
1109
+ "initializeTreasuryAddress(address)": FunctionFragment;
1076
1110
  "openTradeMarketCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1077
1111
  "updateLeverageCallback(((address,uint32),uint256,uint64,uint64,uint64,uint64))": FunctionFragment;
1112
+ "updateTreasuryAddress(address)": FunctionFragment;
1078
1113
  "updateVaultClosingFeeP(uint8)": FunctionFragment;
1079
1114
  "validateTriggerCloseOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
1080
1115
  "validateTriggerOpenOrderCallback((address,uint32),uint8,uint64,uint64,uint64)": FunctionFragment;
@@ -1146,7 +1181,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1146
1181
  "updateOtcConfig((address,uint64,uint64,uint64,uint64))": FunctionFragment;
1147
1182
  "multicall(bytes[])": FunctionFragment;
1148
1183
  };
1149
- getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGroupLiquidationParams" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "isPairIndexListed" | "isPairListed" | "pairCloseFeeP" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOpenFeeP" | "pairOracleFeeP" | "pairSpreadP" | "pairTriggerOrderFeeP" | "pairs" | "pairsBackend" | "pairsCount" | "setGroupLiquidationParams" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralsAllyFeeP" | "getReferralsOpenFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsOpenFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "getTraderFeeTiersEnrollment" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "setTradersFeeTiersEnrollment" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPairFactors" | "getPriceImpactOi" | "getTradePriceImpact" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactors" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllTradeInfos" | "getAllTrades" | "getAllTradesLiquidationParams" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCurrentContractsVersion" | "getGToken" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeCollateralAmount" | "updateTradeMaxClosingSlippageP" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "getAllBorrowingPairs" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "resetTradeBorrowingFees" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobId" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall"): FunctionFragment;
1184
+ getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "hasRoles" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGlobalTradeFeeParams" | "getGroupLiquidationParams" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "initializeNewFees" | "isPairIndexListed" | "isPairListed" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOraclePositionSizeFeeP" | "pairSpreadP" | "pairTotalLiqCollateralFeeP" | "pairTotalPositionSizeFeeP" | "pairs" | "pairsCount" | "setGlobalTradeFeeParams" | "setGroupLiquidationParams" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralsAllyFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeProgressP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "addTradersUnclaimedPoints" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "getTraderFeeTiersEnrollment" | "getTraderUnclaimedPoints" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "setTradersFeeTiersEnrollment" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getNegPnlCumulVolMultiplier" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPairFactors" | "getPriceImpactOi" | "getProtectionCloseFactorWhitelist" | "getTradePriceImpact" | "initializeNegPnlCumulVolMultiplier" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setExemptAfterProtectionCloseFactor" | "setExemptOnOpen" | "setNegPnlCumulVolMultiplier" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactorWhitelist" | "setProtectionCloseFactors" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllPendingOrdersForTraders" | "getAllTradeInfos" | "getAllTradeInfosForTraders" | "getAllTrades" | "getAllTradesForTraders" | "getAllTradesLiquidationParams" | "getAllTradesLiquidationParamsForTraders" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCountersForTraders" | "getCurrentContractsVersion" | "getGToken" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTradersCount" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeCollateralAmount" | "updateTradeMaxClosingSlippageP" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "initializeTreasuryAddress" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateTreasuryAddress" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "getAllBorrowingPairs" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "resetTradeBorrowingFees" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobId" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall"): FunctionFragment;
1150
1185
  encodeFunctionData(functionFragment: "diamondCut", values: [
1151
1186
  IDiamondStorage.FacetCutStruct[],
1152
1187
  PromiseOrValue<string>,
@@ -1158,45 +1193,51 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1158
1193
  encodeFunctionData(functionFragment: "facets", values?: undefined): string;
1159
1194
  encodeFunctionData(functionFragment: "getAddresses", values?: undefined): string;
1160
1195
  encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1196
+ encodeFunctionData(functionFragment: "hasRoles", values: [
1197
+ PromiseOrValue<string>,
1198
+ PromiseOrValue<BigNumberish>,
1199
+ PromiseOrValue<BigNumberish>
1200
+ ]): string;
1161
1201
  encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string;
1162
1202
  encodeFunctionData(functionFragment: "setRoles", values: [
1163
1203
  PromiseOrValue<string>[],
1164
1204
  PromiseOrValue<BigNumberish>[],
1165
1205
  PromiseOrValue<boolean>[]
1166
1206
  ]): string;
1167
- encodeFunctionData(functionFragment: "addFees", values: [IPairsStorage.FeeStruct[]]): string;
1207
+ encodeFunctionData(functionFragment: "addFees", values: [IPairsStorage.FeeGroupStruct[]]): string;
1168
1208
  encodeFunctionData(functionFragment: "addGroups", values: [IPairsStorage.GroupStruct[]]): string;
1169
1209
  encodeFunctionData(functionFragment: "addPairs", values: [IPairsStorage.PairStruct[]]): string;
1170
1210
  encodeFunctionData(functionFragment: "fees", values: [PromiseOrValue<BigNumberish>]): string;
1171
1211
  encodeFunctionData(functionFragment: "feesCount", values?: undefined): string;
1172
1212
  encodeFunctionData(functionFragment: "getAllPairsRestrictedMaxLeverage", values?: undefined): string;
1213
+ encodeFunctionData(functionFragment: "getGlobalTradeFeeParams", values?: undefined): string;
1173
1214
  encodeFunctionData(functionFragment: "getGroupLiquidationParams", values: [PromiseOrValue<BigNumberish>]): string;
1174
1215
  encodeFunctionData(functionFragment: "getPairLiquidationParams", values: [PromiseOrValue<BigNumberish>]): string;
1175
1216
  encodeFunctionData(functionFragment: "groups", values: [PromiseOrValue<BigNumberish>]): string;
1176
1217
  encodeFunctionData(functionFragment: "groupsCount", values?: undefined): string;
1177
1218
  encodeFunctionData(functionFragment: "initializeGroupLiquidationParams", values: [IPairsStorage.GroupLiquidationParamsStruct[]]): string;
1219
+ encodeFunctionData(functionFragment: "initializeNewFees", values: [IPairsStorage.GlobalTradeFeeParamsStruct]): string;
1178
1220
  encodeFunctionData(functionFragment: "isPairIndexListed", values: [PromiseOrValue<BigNumberish>]): string;
1179
1221
  encodeFunctionData(functionFragment: "isPairListed", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1180
- encodeFunctionData(functionFragment: "pairCloseFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1181
1222
  encodeFunctionData(functionFragment: "pairCustomMaxLeverage", values: [PromiseOrValue<BigNumberish>]): string;
1182
1223
  encodeFunctionData(functionFragment: "pairJob", values: [PromiseOrValue<BigNumberish>]): string;
1183
1224
  encodeFunctionData(functionFragment: "pairMaxLeverage", values: [PromiseOrValue<BigNumberish>]): string;
1184
1225
  encodeFunctionData(functionFragment: "pairMinFeeUsd", values: [PromiseOrValue<BigNumberish>]): string;
1185
1226
  encodeFunctionData(functionFragment: "pairMinLeverage", values: [PromiseOrValue<BigNumberish>]): string;
1186
1227
  encodeFunctionData(functionFragment: "pairMinPositionSizeUsd", values: [PromiseOrValue<BigNumberish>]): string;
1187
- encodeFunctionData(functionFragment: "pairOpenFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1188
- encodeFunctionData(functionFragment: "pairOracleFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1228
+ encodeFunctionData(functionFragment: "pairOraclePositionSizeFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1189
1229
  encodeFunctionData(functionFragment: "pairSpreadP", values: [PromiseOrValue<BigNumberish>]): string;
1190
- encodeFunctionData(functionFragment: "pairTriggerOrderFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1230
+ encodeFunctionData(functionFragment: "pairTotalLiqCollateralFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1231
+ encodeFunctionData(functionFragment: "pairTotalPositionSizeFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1191
1232
  encodeFunctionData(functionFragment: "pairs", values: [PromiseOrValue<BigNumberish>]): string;
1192
- encodeFunctionData(functionFragment: "pairsBackend", values: [PromiseOrValue<BigNumberish>]): string;
1193
1233
  encodeFunctionData(functionFragment: "pairsCount", values?: undefined): string;
1234
+ encodeFunctionData(functionFragment: "setGlobalTradeFeeParams", values: [IPairsStorage.GlobalTradeFeeParamsStruct]): string;
1194
1235
  encodeFunctionData(functionFragment: "setGroupLiquidationParams", values: [
1195
1236
  PromiseOrValue<BigNumberish>,
1196
1237
  IPairsStorage.GroupLiquidationParamsStruct
1197
1238
  ]): string;
1198
1239
  encodeFunctionData(functionFragment: "setPairCustomMaxLeverages", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1199
- encodeFunctionData(functionFragment: "updateFees", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.FeeStruct[]]): string;
1240
+ encodeFunctionData(functionFragment: "updateFees", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.FeeGroupStruct[]]): string;
1200
1241
  encodeFunctionData(functionFragment: "updateGroups", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.GroupStruct[]]): string;
1201
1242
  encodeFunctionData(functionFragment: "updatePairs", values: [PromiseOrValue<BigNumberish>[], IPairsStorage.PairStruct[]]): string;
1202
1243
  encodeFunctionData(functionFragment: "claimAllyRewards", values?: undefined): string;
@@ -1209,17 +1250,15 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1209
1250
  ]): string;
1210
1251
  encodeFunctionData(functionFragment: "getAllyDetails", values: [PromiseOrValue<string>]): string;
1211
1252
  encodeFunctionData(functionFragment: "getReferralsAllyFeeP", values?: undefined): string;
1212
- encodeFunctionData(functionFragment: "getReferralsOpenFeeP", values?: undefined): string;
1213
1253
  encodeFunctionData(functionFragment: "getReferralsStartReferrerFeeP", values?: undefined): string;
1214
1254
  encodeFunctionData(functionFragment: "getReferralsTargetVolumeUsd", values?: undefined): string;
1215
1255
  encodeFunctionData(functionFragment: "getReferrerDetails", values: [PromiseOrValue<string>]): string;
1216
- encodeFunctionData(functionFragment: "getReferrerFeeP", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1256
+ encodeFunctionData(functionFragment: "getReferrerFeeProgressP", values: [PromiseOrValue<string>]): string;
1217
1257
  encodeFunctionData(functionFragment: "getReferrersReferred", values: [PromiseOrValue<string>]): string;
1218
1258
  encodeFunctionData(functionFragment: "getTraderActiveReferrer", values: [PromiseOrValue<string>]): string;
1219
1259
  encodeFunctionData(functionFragment: "getTraderLastReferrer", values: [PromiseOrValue<string>]): string;
1220
1260
  encodeFunctionData(functionFragment: "getTradersReferred", values: [PromiseOrValue<string>]): string;
1221
1261
  encodeFunctionData(functionFragment: "initializeReferrals", values: [
1222
- PromiseOrValue<BigNumberish>,
1223
1262
  PromiseOrValue<BigNumberish>,
1224
1263
  PromiseOrValue<BigNumberish>,
1225
1264
  PromiseOrValue<BigNumberish>
@@ -1228,11 +1267,15 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1228
1267
  encodeFunctionData(functionFragment: "unwhitelistAllies", values: [PromiseOrValue<string>[]]): string;
1229
1268
  encodeFunctionData(functionFragment: "unwhitelistReferrers", values: [PromiseOrValue<string>[]]): string;
1230
1269
  encodeFunctionData(functionFragment: "updateAllyFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1231
- encodeFunctionData(functionFragment: "updateReferralsOpenFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1232
1270
  encodeFunctionData(functionFragment: "updateReferralsTargetVolumeUsd", values: [PromiseOrValue<BigNumberish>]): string;
1233
1271
  encodeFunctionData(functionFragment: "updateStartReferrerFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1234
1272
  encodeFunctionData(functionFragment: "whitelistAllies", values: [PromiseOrValue<string>[]]): string;
1235
1273
  encodeFunctionData(functionFragment: "whitelistReferrers", values: [PromiseOrValue<string>[], PromiseOrValue<string>[]]): string;
1274
+ encodeFunctionData(functionFragment: "addTradersUnclaimedPoints", values: [
1275
+ PromiseOrValue<string>[],
1276
+ PromiseOrValue<BigNumberish>[],
1277
+ PromiseOrValue<BigNumberish>[]
1278
+ ]): string;
1236
1279
  encodeFunctionData(functionFragment: "calculateFeeAmount", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1237
1280
  encodeFunctionData(functionFragment: "getFeeTier", values: [PromiseOrValue<BigNumberish>]): string;
1238
1281
  encodeFunctionData(functionFragment: "getFeeTiersCount", values?: undefined): string;
@@ -1240,6 +1283,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1240
1283
  encodeFunctionData(functionFragment: "getFeeTiersTraderInfo", values: [PromiseOrValue<string>]): string;
1241
1284
  encodeFunctionData(functionFragment: "getGroupVolumeMultiplier", values: [PromiseOrValue<BigNumberish>]): string;
1242
1285
  encodeFunctionData(functionFragment: "getTraderFeeTiersEnrollment", values: [PromiseOrValue<string>]): string;
1286
+ encodeFunctionData(functionFragment: "getTraderUnclaimedPoints", values: [PromiseOrValue<string>]): string;
1243
1287
  encodeFunctionData(functionFragment: "initializeFeeTiers", values: [
1244
1288
  PromiseOrValue<BigNumberish>[],
1245
1289
  PromiseOrValue<BigNumberish>[],
@@ -1258,8 +1302,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1258
1302
  PromiseOrValue<string>,
1259
1303
  PromiseOrValue<BigNumberish>,
1260
1304
  PromiseOrValue<BigNumberish>,
1305
+ PromiseOrValue<boolean>,
1261
1306
  PromiseOrValue<boolean>
1262
1307
  ]): string;
1308
+ encodeFunctionData(functionFragment: "getNegPnlCumulVolMultiplier", values?: undefined): string;
1263
1309
  encodeFunctionData(functionFragment: "getOiWindow", values: [
1264
1310
  PromiseOrValue<BigNumberish>,
1265
1311
  PromiseOrValue<BigNumberish>,
@@ -1275,7 +1321,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1275
1321
  encodeFunctionData(functionFragment: "getPairDepths", values: [PromiseOrValue<BigNumberish>[]]): string;
1276
1322
  encodeFunctionData(functionFragment: "getPairFactors", values: [PromiseOrValue<BigNumberish>[]]): string;
1277
1323
  encodeFunctionData(functionFragment: "getPriceImpactOi", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>]): string;
1324
+ encodeFunctionData(functionFragment: "getProtectionCloseFactorWhitelist", values: [PromiseOrValue<string>]): string;
1278
1325
  encodeFunctionData(functionFragment: "getTradePriceImpact", values: [
1326
+ PromiseOrValue<string>,
1279
1327
  PromiseOrValue<BigNumberish>,
1280
1328
  PromiseOrValue<BigNumberish>,
1281
1329
  PromiseOrValue<boolean>,
@@ -1285,6 +1333,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1285
1333
  PromiseOrValue<BigNumberish>,
1286
1334
  PromiseOrValue<BigNumberish>
1287
1335
  ]): string;
1336
+ encodeFunctionData(functionFragment: "initializeNegPnlCumulVolMultiplier", values: [PromiseOrValue<BigNumberish>]): string;
1288
1337
  encodeFunctionData(functionFragment: "initializePairFactors", values: [
1289
1338
  PromiseOrValue<BigNumberish>[],
1290
1339
  PromiseOrValue<BigNumberish>[],
@@ -1293,6 +1342,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1293
1342
  ]): string;
1294
1343
  encodeFunctionData(functionFragment: "initializePriceImpact", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1295
1344
  encodeFunctionData(functionFragment: "setCumulativeFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1345
+ encodeFunctionData(functionFragment: "setExemptAfterProtectionCloseFactor", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<boolean>[]]): string;
1346
+ encodeFunctionData(functionFragment: "setExemptOnOpen", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<boolean>[]]): string;
1347
+ encodeFunctionData(functionFragment: "setNegPnlCumulVolMultiplier", values: [PromiseOrValue<BigNumberish>]): string;
1296
1348
  encodeFunctionData(functionFragment: "setPairDepths", values: [
1297
1349
  PromiseOrValue<BigNumberish>[],
1298
1350
  PromiseOrValue<BigNumberish>[],
@@ -1301,19 +1353,41 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1301
1353
  encodeFunctionData(functionFragment: "setPriceImpactWindowsCount", values: [PromiseOrValue<BigNumberish>]): string;
1302
1354
  encodeFunctionData(functionFragment: "setPriceImpactWindowsDuration", values: [PromiseOrValue<BigNumberish>]): string;
1303
1355
  encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1356
+ encodeFunctionData(functionFragment: "setProtectionCloseFactorWhitelist", values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]): string;
1304
1357
  encodeFunctionData(functionFragment: "setProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1305
1358
  encodeFunctionData(functionFragment: "addCollateral", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1306
1359
  encodeFunctionData(functionFragment: "closePendingOrder", values: [ITradingStorage.IdStruct]): string;
1307
- encodeFunctionData(functionFragment: "closeTrade", values: [ITradingStorage.IdStruct]): string;
1360
+ encodeFunctionData(functionFragment: "closeTrade", values: [ITradingStorage.IdStruct, PromiseOrValue<boolean>]): string;
1308
1361
  encodeFunctionData(functionFragment: "getAllPendingOrders", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1362
+ encodeFunctionData(functionFragment: "getAllPendingOrdersForTraders", values: [
1363
+ PromiseOrValue<string>[],
1364
+ PromiseOrValue<BigNumberish>,
1365
+ PromiseOrValue<BigNumberish>
1366
+ ]): string;
1309
1367
  encodeFunctionData(functionFragment: "getAllTradeInfos", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1368
+ encodeFunctionData(functionFragment: "getAllTradeInfosForTraders", values: [
1369
+ PromiseOrValue<string>[],
1370
+ PromiseOrValue<BigNumberish>,
1371
+ PromiseOrValue<BigNumberish>
1372
+ ]): string;
1310
1373
  encodeFunctionData(functionFragment: "getAllTrades", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1374
+ encodeFunctionData(functionFragment: "getAllTradesForTraders", values: [
1375
+ PromiseOrValue<string>[],
1376
+ PromiseOrValue<BigNumberish>,
1377
+ PromiseOrValue<BigNumberish>
1378
+ ]): string;
1311
1379
  encodeFunctionData(functionFragment: "getAllTradesLiquidationParams", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1380
+ encodeFunctionData(functionFragment: "getAllTradesLiquidationParamsForTraders", values: [
1381
+ PromiseOrValue<string>[],
1382
+ PromiseOrValue<BigNumberish>,
1383
+ PromiseOrValue<BigNumberish>
1384
+ ]): string;
1312
1385
  encodeFunctionData(functionFragment: "getCollateral", values: [PromiseOrValue<BigNumberish>]): string;
1313
1386
  encodeFunctionData(functionFragment: "getCollateralIndex", values: [PromiseOrValue<string>]): string;
1314
1387
  encodeFunctionData(functionFragment: "getCollaterals", values?: undefined): string;
1315
1388
  encodeFunctionData(functionFragment: "getCollateralsCount", values?: undefined): string;
1316
1389
  encodeFunctionData(functionFragment: "getCounters", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1390
+ encodeFunctionData(functionFragment: "getCountersForTraders", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>]): string;
1317
1391
  encodeFunctionData(functionFragment: "getCurrentContractsVersion", values?: undefined): string;
1318
1392
  encodeFunctionData(functionFragment: "getGToken", values: [PromiseOrValue<BigNumberish>]): string;
1319
1393
  encodeFunctionData(functionFragment: "getPendingOrder", values: [ITradingStorage.IdStruct]): string;
@@ -1325,6 +1399,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1325
1399
  encodeFunctionData(functionFragment: "getTradePendingOrderBlock", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
1326
1400
  encodeFunctionData(functionFragment: "getTraderStored", values: [PromiseOrValue<string>]): string;
1327
1401
  encodeFunctionData(functionFragment: "getTraders", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1402
+ encodeFunctionData(functionFragment: "getTradersCount", values?: undefined): string;
1328
1403
  encodeFunctionData(functionFragment: "getTrades", values: [PromiseOrValue<string>]): string;
1329
1404
  encodeFunctionData(functionFragment: "getTradesLiquidationParams", values: [PromiseOrValue<string>]): string;
1330
1405
  encodeFunctionData(functionFragment: "getTradingActivated", values?: undefined): string;
@@ -1354,6 +1429,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1354
1429
  PromiseOrValue<BigNumberish>,
1355
1430
  PromiseOrValue<BigNumberish>,
1356
1431
  PromiseOrValue<BigNumberish>,
1432
+ PromiseOrValue<boolean>,
1357
1433
  PromiseOrValue<boolean>
1358
1434
  ]): string;
1359
1435
  encodeFunctionData(functionFragment: "updateTradeSl", values: [ITradingStorage.IdStruct, PromiseOrValue<BigNumberish>]): string;
@@ -1424,8 +1500,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1424
1500
  encodeFunctionData(functionFragment: "getVaultClosingFeeP", values?: undefined): string;
1425
1501
  encodeFunctionData(functionFragment: "increasePositionSizeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1426
1502
  encodeFunctionData(functionFragment: "initializeCallbacks", values: [PromiseOrValue<BigNumberish>]): string;
1503
+ encodeFunctionData(functionFragment: "initializeTreasuryAddress", values: [PromiseOrValue<string>]): string;
1427
1504
  encodeFunctionData(functionFragment: "openTradeMarketCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1428
1505
  encodeFunctionData(functionFragment: "updateLeverageCallback", values: [ITradingCallbacks.AggregatorAnswerStruct]): string;
1506
+ encodeFunctionData(functionFragment: "updateTreasuryAddress", values: [PromiseOrValue<string>]): string;
1429
1507
  encodeFunctionData(functionFragment: "updateVaultClosingFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1430
1508
  encodeFunctionData(functionFragment: "validateTriggerCloseOrderCallback", values: [
1431
1509
  ITradingStorage.IdStruct,
@@ -1595,6 +1673,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1595
1673
  decodeFunctionResult(functionFragment: "facets", data: BytesLike): Result;
1596
1674
  decodeFunctionResult(functionFragment: "getAddresses", data: BytesLike): Result;
1597
1675
  decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
1676
+ decodeFunctionResult(functionFragment: "hasRoles", data: BytesLike): Result;
1598
1677
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
1599
1678
  decodeFunctionResult(functionFragment: "setRoles", data: BytesLike): Result;
1600
1679
  decodeFunctionResult(functionFragment: "addFees", data: BytesLike): Result;
@@ -1603,27 +1682,28 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1603
1682
  decodeFunctionResult(functionFragment: "fees", data: BytesLike): Result;
1604
1683
  decodeFunctionResult(functionFragment: "feesCount", data: BytesLike): Result;
1605
1684
  decodeFunctionResult(functionFragment: "getAllPairsRestrictedMaxLeverage", data: BytesLike): Result;
1685
+ decodeFunctionResult(functionFragment: "getGlobalTradeFeeParams", data: BytesLike): Result;
1606
1686
  decodeFunctionResult(functionFragment: "getGroupLiquidationParams", data: BytesLike): Result;
1607
1687
  decodeFunctionResult(functionFragment: "getPairLiquidationParams", data: BytesLike): Result;
1608
1688
  decodeFunctionResult(functionFragment: "groups", data: BytesLike): Result;
1609
1689
  decodeFunctionResult(functionFragment: "groupsCount", data: BytesLike): Result;
1610
1690
  decodeFunctionResult(functionFragment: "initializeGroupLiquidationParams", data: BytesLike): Result;
1691
+ decodeFunctionResult(functionFragment: "initializeNewFees", data: BytesLike): Result;
1611
1692
  decodeFunctionResult(functionFragment: "isPairIndexListed", data: BytesLike): Result;
1612
1693
  decodeFunctionResult(functionFragment: "isPairListed", data: BytesLike): Result;
1613
- decodeFunctionResult(functionFragment: "pairCloseFeeP", data: BytesLike): Result;
1614
1694
  decodeFunctionResult(functionFragment: "pairCustomMaxLeverage", data: BytesLike): Result;
1615
1695
  decodeFunctionResult(functionFragment: "pairJob", data: BytesLike): Result;
1616
1696
  decodeFunctionResult(functionFragment: "pairMaxLeverage", data: BytesLike): Result;
1617
1697
  decodeFunctionResult(functionFragment: "pairMinFeeUsd", data: BytesLike): Result;
1618
1698
  decodeFunctionResult(functionFragment: "pairMinLeverage", data: BytesLike): Result;
1619
1699
  decodeFunctionResult(functionFragment: "pairMinPositionSizeUsd", data: BytesLike): Result;
1620
- decodeFunctionResult(functionFragment: "pairOpenFeeP", data: BytesLike): Result;
1621
- decodeFunctionResult(functionFragment: "pairOracleFeeP", data: BytesLike): Result;
1700
+ decodeFunctionResult(functionFragment: "pairOraclePositionSizeFeeP", data: BytesLike): Result;
1622
1701
  decodeFunctionResult(functionFragment: "pairSpreadP", data: BytesLike): Result;
1623
- decodeFunctionResult(functionFragment: "pairTriggerOrderFeeP", data: BytesLike): Result;
1702
+ decodeFunctionResult(functionFragment: "pairTotalLiqCollateralFeeP", data: BytesLike): Result;
1703
+ decodeFunctionResult(functionFragment: "pairTotalPositionSizeFeeP", data: BytesLike): Result;
1624
1704
  decodeFunctionResult(functionFragment: "pairs", data: BytesLike): Result;
1625
- decodeFunctionResult(functionFragment: "pairsBackend", data: BytesLike): Result;
1626
1705
  decodeFunctionResult(functionFragment: "pairsCount", data: BytesLike): Result;
1706
+ decodeFunctionResult(functionFragment: "setGlobalTradeFeeParams", data: BytesLike): Result;
1627
1707
  decodeFunctionResult(functionFragment: "setGroupLiquidationParams", data: BytesLike): Result;
1628
1708
  decodeFunctionResult(functionFragment: "setPairCustomMaxLeverages", data: BytesLike): Result;
1629
1709
  decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result;
@@ -1634,11 +1714,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1634
1714
  decodeFunctionResult(functionFragment: "distributeReferralReward", data: BytesLike): Result;
1635
1715
  decodeFunctionResult(functionFragment: "getAllyDetails", data: BytesLike): Result;
1636
1716
  decodeFunctionResult(functionFragment: "getReferralsAllyFeeP", data: BytesLike): Result;
1637
- decodeFunctionResult(functionFragment: "getReferralsOpenFeeP", data: BytesLike): Result;
1638
1717
  decodeFunctionResult(functionFragment: "getReferralsStartReferrerFeeP", data: BytesLike): Result;
1639
1718
  decodeFunctionResult(functionFragment: "getReferralsTargetVolumeUsd", data: BytesLike): Result;
1640
1719
  decodeFunctionResult(functionFragment: "getReferrerDetails", data: BytesLike): Result;
1641
- decodeFunctionResult(functionFragment: "getReferrerFeeP", data: BytesLike): Result;
1720
+ decodeFunctionResult(functionFragment: "getReferrerFeeProgressP", data: BytesLike): Result;
1642
1721
  decodeFunctionResult(functionFragment: "getReferrersReferred", data: BytesLike): Result;
1643
1722
  decodeFunctionResult(functionFragment: "getTraderActiveReferrer", data: BytesLike): Result;
1644
1723
  decodeFunctionResult(functionFragment: "getTraderLastReferrer", data: BytesLike): Result;
@@ -1648,11 +1727,11 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1648
1727
  decodeFunctionResult(functionFragment: "unwhitelistAllies", data: BytesLike): Result;
1649
1728
  decodeFunctionResult(functionFragment: "unwhitelistReferrers", data: BytesLike): Result;
1650
1729
  decodeFunctionResult(functionFragment: "updateAllyFeeP", data: BytesLike): Result;
1651
- decodeFunctionResult(functionFragment: "updateReferralsOpenFeeP", data: BytesLike): Result;
1652
1730
  decodeFunctionResult(functionFragment: "updateReferralsTargetVolumeUsd", data: BytesLike): Result;
1653
1731
  decodeFunctionResult(functionFragment: "updateStartReferrerFeeP", data: BytesLike): Result;
1654
1732
  decodeFunctionResult(functionFragment: "whitelistAllies", data: BytesLike): Result;
1655
1733
  decodeFunctionResult(functionFragment: "whitelistReferrers", data: BytesLike): Result;
1734
+ decodeFunctionResult(functionFragment: "addTradersUnclaimedPoints", data: BytesLike): Result;
1656
1735
  decodeFunctionResult(functionFragment: "calculateFeeAmount", data: BytesLike): Result;
1657
1736
  decodeFunctionResult(functionFragment: "getFeeTier", data: BytesLike): Result;
1658
1737
  decodeFunctionResult(functionFragment: "getFeeTiersCount", data: BytesLike): Result;
@@ -1660,12 +1739,14 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1660
1739
  decodeFunctionResult(functionFragment: "getFeeTiersTraderInfo", data: BytesLike): Result;
1661
1740
  decodeFunctionResult(functionFragment: "getGroupVolumeMultiplier", data: BytesLike): Result;
1662
1741
  decodeFunctionResult(functionFragment: "getTraderFeeTiersEnrollment", data: BytesLike): Result;
1742
+ decodeFunctionResult(functionFragment: "getTraderUnclaimedPoints", data: BytesLike): Result;
1663
1743
  decodeFunctionResult(functionFragment: "initializeFeeTiers", data: BytesLike): Result;
1664
1744
  decodeFunctionResult(functionFragment: "setFeeTiers", data: BytesLike): Result;
1665
1745
  decodeFunctionResult(functionFragment: "setGroupVolumeMultipliers", data: BytesLike): Result;
1666
1746
  decodeFunctionResult(functionFragment: "setTradersFeeTiersEnrollment", data: BytesLike): Result;
1667
1747
  decodeFunctionResult(functionFragment: "updateTraderPoints", data: BytesLike): Result;
1668
1748
  decodeFunctionResult(functionFragment: "addPriceImpactOpenInterest", data: BytesLike): Result;
1749
+ decodeFunctionResult(functionFragment: "getNegPnlCumulVolMultiplier", data: BytesLike): Result;
1669
1750
  decodeFunctionResult(functionFragment: "getOiWindow", data: BytesLike): Result;
1670
1751
  decodeFunctionResult(functionFragment: "getOiWindows", data: BytesLike): Result;
1671
1752
  decodeFunctionResult(functionFragment: "getOiWindowsSettings", data: BytesLike): Result;
@@ -1673,27 +1754,38 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1673
1754
  decodeFunctionResult(functionFragment: "getPairDepths", data: BytesLike): Result;
1674
1755
  decodeFunctionResult(functionFragment: "getPairFactors", data: BytesLike): Result;
1675
1756
  decodeFunctionResult(functionFragment: "getPriceImpactOi", data: BytesLike): Result;
1757
+ decodeFunctionResult(functionFragment: "getProtectionCloseFactorWhitelist", data: BytesLike): Result;
1676
1758
  decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
1759
+ decodeFunctionResult(functionFragment: "initializeNegPnlCumulVolMultiplier", data: BytesLike): Result;
1677
1760
  decodeFunctionResult(functionFragment: "initializePairFactors", data: BytesLike): Result;
1678
1761
  decodeFunctionResult(functionFragment: "initializePriceImpact", data: BytesLike): Result;
1679
1762
  decodeFunctionResult(functionFragment: "setCumulativeFactors", data: BytesLike): Result;
1763
+ decodeFunctionResult(functionFragment: "setExemptAfterProtectionCloseFactor", data: BytesLike): Result;
1764
+ decodeFunctionResult(functionFragment: "setExemptOnOpen", data: BytesLike): Result;
1765
+ decodeFunctionResult(functionFragment: "setNegPnlCumulVolMultiplier", data: BytesLike): Result;
1680
1766
  decodeFunctionResult(functionFragment: "setPairDepths", data: BytesLike): Result;
1681
1767
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsCount", data: BytesLike): Result;
1682
1768
  decodeFunctionResult(functionFragment: "setPriceImpactWindowsDuration", data: BytesLike): Result;
1683
1769
  decodeFunctionResult(functionFragment: "setProtectionCloseFactorBlocks", data: BytesLike): Result;
1770
+ decodeFunctionResult(functionFragment: "setProtectionCloseFactorWhitelist", data: BytesLike): Result;
1684
1771
  decodeFunctionResult(functionFragment: "setProtectionCloseFactors", data: BytesLike): Result;
1685
1772
  decodeFunctionResult(functionFragment: "addCollateral", data: BytesLike): Result;
1686
1773
  decodeFunctionResult(functionFragment: "closePendingOrder", data: BytesLike): Result;
1687
1774
  decodeFunctionResult(functionFragment: "closeTrade", data: BytesLike): Result;
1688
1775
  decodeFunctionResult(functionFragment: "getAllPendingOrders", data: BytesLike): Result;
1776
+ decodeFunctionResult(functionFragment: "getAllPendingOrdersForTraders", data: BytesLike): Result;
1689
1777
  decodeFunctionResult(functionFragment: "getAllTradeInfos", data: BytesLike): Result;
1778
+ decodeFunctionResult(functionFragment: "getAllTradeInfosForTraders", data: BytesLike): Result;
1690
1779
  decodeFunctionResult(functionFragment: "getAllTrades", data: BytesLike): Result;
1780
+ decodeFunctionResult(functionFragment: "getAllTradesForTraders", data: BytesLike): Result;
1691
1781
  decodeFunctionResult(functionFragment: "getAllTradesLiquidationParams", data: BytesLike): Result;
1782
+ decodeFunctionResult(functionFragment: "getAllTradesLiquidationParamsForTraders", data: BytesLike): Result;
1692
1783
  decodeFunctionResult(functionFragment: "getCollateral", data: BytesLike): Result;
1693
1784
  decodeFunctionResult(functionFragment: "getCollateralIndex", data: BytesLike): Result;
1694
1785
  decodeFunctionResult(functionFragment: "getCollaterals", data: BytesLike): Result;
1695
1786
  decodeFunctionResult(functionFragment: "getCollateralsCount", data: BytesLike): Result;
1696
1787
  decodeFunctionResult(functionFragment: "getCounters", data: BytesLike): Result;
1788
+ decodeFunctionResult(functionFragment: "getCountersForTraders", data: BytesLike): Result;
1697
1789
  decodeFunctionResult(functionFragment: "getCurrentContractsVersion", data: BytesLike): Result;
1698
1790
  decodeFunctionResult(functionFragment: "getGToken", data: BytesLike): Result;
1699
1791
  decodeFunctionResult(functionFragment: "getPendingOrder", data: BytesLike): Result;
@@ -1705,6 +1797,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1705
1797
  decodeFunctionResult(functionFragment: "getTradePendingOrderBlock", data: BytesLike): Result;
1706
1798
  decodeFunctionResult(functionFragment: "getTraderStored", data: BytesLike): Result;
1707
1799
  decodeFunctionResult(functionFragment: "getTraders", data: BytesLike): Result;
1800
+ decodeFunctionResult(functionFragment: "getTradersCount", data: BytesLike): Result;
1708
1801
  decodeFunctionResult(functionFragment: "getTrades", data: BytesLike): Result;
1709
1802
  decodeFunctionResult(functionFragment: "getTradesLiquidationParams", data: BytesLike): Result;
1710
1803
  decodeFunctionResult(functionFragment: "getTradingActivated", data: BytesLike): Result;
@@ -1762,8 +1855,10 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1762
1855
  decodeFunctionResult(functionFragment: "getVaultClosingFeeP", data: BytesLike): Result;
1763
1856
  decodeFunctionResult(functionFragment: "increasePositionSizeMarketCallback", data: BytesLike): Result;
1764
1857
  decodeFunctionResult(functionFragment: "initializeCallbacks", data: BytesLike): Result;
1858
+ decodeFunctionResult(functionFragment: "initializeTreasuryAddress", data: BytesLike): Result;
1765
1859
  decodeFunctionResult(functionFragment: "openTradeMarketCallback", data: BytesLike): Result;
1766
1860
  decodeFunctionResult(functionFragment: "updateLeverageCallback", data: BytesLike): Result;
1861
+ decodeFunctionResult(functionFragment: "updateTreasuryAddress", data: BytesLike): Result;
1767
1862
  decodeFunctionResult(functionFragment: "updateVaultClosingFeeP", data: BytesLike): Result;
1768
1863
  decodeFunctionResult(functionFragment: "validateTriggerCloseOrderCallback", data: BytesLike): Result;
1769
1864
  decodeFunctionResult(functionFragment: "validateTriggerOpenOrderCallback", data: BytesLike): Result;
@@ -1839,8 +1934,9 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1839
1934
  "AddressesUpdated(tuple)": EventFragment;
1840
1935
  "DiamondCut(tuple[],address,bytes)": EventFragment;
1841
1936
  "Initialized(uint8)": EventFragment;
1842
- "FeeAdded(uint256,string)": EventFragment;
1843
- "FeeUpdated(uint256)": EventFragment;
1937
+ "FeeAdded(uint256,tuple)": EventFragment;
1938
+ "FeeUpdated(uint256,tuple)": EventFragment;
1939
+ "GlobalTradeFeeParamsUpdated(tuple)": EventFragment;
1844
1940
  "GroupAdded(uint256,string)": EventFragment;
1845
1941
  "GroupLiquidationParamsUpdated(uint256,tuple)": EventFragment;
1846
1942
  "GroupUpdated(uint256)": EventFragment;
@@ -1867,8 +1963,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1867
1963
  "TraderFeeMultiplierCached(address,uint32,uint32)": EventFragment;
1868
1964
  "TraderInfoFirstUpdate(address,uint32)": EventFragment;
1869
1965
  "TraderInfoUpdated(address,tuple)": EventFragment;
1966
+ "TraderPointsCredited(address,uint32,uint8,uint224)": EventFragment;
1870
1967
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)": EventFragment;
1968
+ "TraderUnclaimedPointsClaimed(address,uint32,uint224)": EventFragment;
1871
1969
  "CumulativeFactorUpdated(uint256,uint40)": EventFragment;
1970
+ "ExemptAfterProtectionCloseFactorUpdated(uint256,bool)": EventFragment;
1971
+ "ExemptOnOpenUpdated(uint256,bool)": EventFragment;
1972
+ "NegPnlCumulVolMultiplierUpdated(uint40)": EventFragment;
1872
1973
  "OiWindowsSettingsInitialized(uint48,uint48)": EventFragment;
1873
1974
  "OnePercentDepthUpdated(uint256,uint128,uint128)": EventFragment;
1874
1975
  "PriceImpactOiTransferredPair(uint256,tuple)": EventFragment;
@@ -1878,20 +1979,21 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1878
1979
  "PriceImpactWindowsDurationUpdated(uint48)": EventFragment;
1879
1980
  "ProtectionCloseFactorBlocksUpdated(uint256,uint32)": EventFragment;
1880
1981
  "ProtectionCloseFactorUpdated(uint256,uint40)": EventFragment;
1982
+ "ProtectionCloseFactorWhitelistUpdated(address,bool)": EventFragment;
1881
1983
  "CollateralAdded(address,uint8,address)": EventFragment;
1882
1984
  "CollateralDisabled(uint8)": EventFragment;
1883
1985
  "CollateralUpdated(uint8,bool)": EventFragment;
1884
1986
  "GTokenUpdated(address,uint8,address)": EventFragment;
1885
- "OpenOrderDetailsUpdated(tuple,uint64,uint64,uint64,uint16)": EventFragment;
1987
+ "OpenOrderDetailsUpdated(address,uint32,uint64,uint64,uint64,uint16)": EventFragment;
1886
1988
  "PendingOrderClosed(tuple)": EventFragment;
1887
1989
  "PendingOrderStored(tuple)": EventFragment;
1888
- "TradeClosed(tuple)": EventFragment;
1889
- "TradeCollateralUpdated(tuple,uint120)": EventFragment;
1890
- "TradeMaxClosingSlippagePUpdated(tuple,uint16)": EventFragment;
1891
- "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)": EventFragment;
1892
- "TradeSlUpdated(tuple,uint64)": EventFragment;
1893
- "TradeStored(tuple,tuple,tuple)": EventFragment;
1894
- "TradeTpUpdated(tuple,uint64)": EventFragment;
1990
+ "TradeClosed(address,uint32,bool)": EventFragment;
1991
+ "TradeCollateralUpdated(address,uint32,uint120)": EventFragment;
1992
+ "TradeMaxClosingSlippagePUpdated(address,uint32,uint16)": EventFragment;
1993
+ "TradePositionUpdated(address,uint32,uint120,uint24,uint64,uint64,uint64,bool,bool)": EventFragment;
1994
+ "TradeSlUpdated(address,uint32,uint64)": EventFragment;
1995
+ "TradeStored(address,uint32,tuple,tuple,tuple)": EventFragment;
1996
+ "TradeTpUpdated(address,uint32,uint64)": EventFragment;
1895
1997
  "TradingActivatedUpdated(uint8)": EventFragment;
1896
1998
  "TriggerRewarded(uint256,uint256)": EventFragment;
1897
1999
  "TriggerRewardsClaimed(address,uint256)": EventFragment;
@@ -1911,13 +2013,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1911
2013
  "PositionSizeIncreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)": EventFragment;
1912
2014
  "PositionSizeUpdateInitiated(tuple,address,uint256,uint256,bool,uint256,uint256)": EventFragment;
1913
2015
  "TriggerOrderInitiated(tuple,address,uint16,bool)": EventFragment;
1914
- "BorrowingFeeCharged(address,uint8,uint256)": EventFragment;
2016
+ "BorrowingFeeCharged(address,uint32,uint8,uint256)": EventFragment;
1915
2017
  "GTokenFeeCharged(address,uint8,uint256)": EventFragment;
1916
- "GnsStakingFeeCharged(address,uint8,uint256)": EventFragment;
2018
+ "GnsOtcFeeCharged(address,uint8,uint256)": EventFragment;
1917
2019
  "GovFeeCharged(address,uint8,uint256)": EventFragment;
1918
- "LimitExecuted(tuple,tuple,address,uint8,uint256,uint256,int256,uint256,uint256,bool)": EventFragment;
2020
+ "LimitExecuted(tuple,address,uint32,uint32,tuple,address,uint8,uint256,uint256,uint256,uint256,int256,uint256,uint256,bool)": EventFragment;
1919
2021
  "MarketCloseCanceled(tuple,address,uint256,uint256,uint8)": EventFragment;
1920
- "MarketExecuted(tuple,tuple,bool,uint64,uint256,int256,uint256,uint256)": EventFragment;
2022
+ "MarketExecuted(tuple,address,uint32,tuple,bool,uint256,uint256,uint256,uint256,int256,uint256,uint256)": EventFragment;
1921
2023
  "MarketOpenCanceled(tuple,address,uint256,uint8)": EventFragment;
1922
2024
  "PendingGovFeesClaimed(uint8,uint256)": EventFragment;
1923
2025
  "ReferralFeeCharged(address,uint8,uint256)": EventFragment;
@@ -1957,6 +2059,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1957
2059
  getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
1958
2060
  getEvent(nameOrSignatureOrTopic: "FeeAdded"): EventFragment;
1959
2061
  getEvent(nameOrSignatureOrTopic: "FeeUpdated"): EventFragment;
2062
+ getEvent(nameOrSignatureOrTopic: "GlobalTradeFeeParamsUpdated"): EventFragment;
1960
2063
  getEvent(nameOrSignatureOrTopic: "GroupAdded"): EventFragment;
1961
2064
  getEvent(nameOrSignatureOrTopic: "GroupLiquidationParamsUpdated"): EventFragment;
1962
2065
  getEvent(nameOrSignatureOrTopic: "GroupUpdated"): EventFragment;
@@ -1983,8 +2086,13 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1983
2086
  getEvent(nameOrSignatureOrTopic: "TraderFeeMultiplierCached"): EventFragment;
1984
2087
  getEvent(nameOrSignatureOrTopic: "TraderInfoFirstUpdate"): EventFragment;
1985
2088
  getEvent(nameOrSignatureOrTopic: "TraderInfoUpdated"): EventFragment;
2089
+ getEvent(nameOrSignatureOrTopic: "TraderPointsCredited"): EventFragment;
1986
2090
  getEvent(nameOrSignatureOrTopic: "TraderTrailingPointsExpired"): EventFragment;
2091
+ getEvent(nameOrSignatureOrTopic: "TraderUnclaimedPointsClaimed"): EventFragment;
1987
2092
  getEvent(nameOrSignatureOrTopic: "CumulativeFactorUpdated"): EventFragment;
2093
+ getEvent(nameOrSignatureOrTopic: "ExemptAfterProtectionCloseFactorUpdated"): EventFragment;
2094
+ getEvent(nameOrSignatureOrTopic: "ExemptOnOpenUpdated"): EventFragment;
2095
+ getEvent(nameOrSignatureOrTopic: "NegPnlCumulVolMultiplierUpdated"): EventFragment;
1988
2096
  getEvent(nameOrSignatureOrTopic: "OiWindowsSettingsInitialized"): EventFragment;
1989
2097
  getEvent(nameOrSignatureOrTopic: "OnePercentDepthUpdated"): EventFragment;
1990
2098
  getEvent(nameOrSignatureOrTopic: "PriceImpactOiTransferredPair"): EventFragment;
@@ -1994,6 +2102,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1994
2102
  getEvent(nameOrSignatureOrTopic: "PriceImpactWindowsDurationUpdated"): EventFragment;
1995
2103
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorBlocksUpdated"): EventFragment;
1996
2104
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorUpdated"): EventFragment;
2105
+ getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorWhitelistUpdated"): EventFragment;
1997
2106
  getEvent(nameOrSignatureOrTopic: "CollateralAdded"): EventFragment;
1998
2107
  getEvent(nameOrSignatureOrTopic: "CollateralDisabled"): EventFragment;
1999
2108
  getEvent(nameOrSignatureOrTopic: "CollateralUpdated"): EventFragment;
@@ -2029,7 +2138,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2029
2138
  getEvent(nameOrSignatureOrTopic: "TriggerOrderInitiated"): EventFragment;
2030
2139
  getEvent(nameOrSignatureOrTopic: "BorrowingFeeCharged"): EventFragment;
2031
2140
  getEvent(nameOrSignatureOrTopic: "GTokenFeeCharged"): EventFragment;
2032
- getEvent(nameOrSignatureOrTopic: "GnsStakingFeeCharged"): EventFragment;
2141
+ getEvent(nameOrSignatureOrTopic: "GnsOtcFeeCharged"): EventFragment;
2033
2142
  getEvent(nameOrSignatureOrTopic: "GovFeeCharged"): EventFragment;
2034
2143
  getEvent(nameOrSignatureOrTopic: "LimitExecuted"): EventFragment;
2035
2144
  getEvent(nameOrSignatureOrTopic: "MarketCloseCanceled"): EventFragment;
@@ -2103,18 +2212,29 @@ export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
2103
2212
  export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
2104
2213
  export interface FeeAddedEventObject {
2105
2214
  index: BigNumber;
2106
- name: string;
2215
+ feeGroup: IPairsStorage.FeeGroupStructOutput;
2107
2216
  }
2108
2217
  export type FeeAddedEvent = TypedEvent<[
2109
2218
  BigNumber,
2110
- string
2219
+ IPairsStorage.FeeGroupStructOutput
2111
2220
  ], FeeAddedEventObject>;
2112
2221
  export type FeeAddedEventFilter = TypedEventFilter<FeeAddedEvent>;
2113
2222
  export interface FeeUpdatedEventObject {
2114
2223
  index: BigNumber;
2224
+ feeGroup: IPairsStorage.FeeGroupStructOutput;
2115
2225
  }
2116
- export type FeeUpdatedEvent = TypedEvent<[BigNumber], FeeUpdatedEventObject>;
2226
+ export type FeeUpdatedEvent = TypedEvent<[
2227
+ BigNumber,
2228
+ IPairsStorage.FeeGroupStructOutput
2229
+ ], FeeUpdatedEventObject>;
2117
2230
  export type FeeUpdatedEventFilter = TypedEventFilter<FeeUpdatedEvent>;
2231
+ export interface GlobalTradeFeeParamsUpdatedEventObject {
2232
+ feeParams: IPairsStorage.GlobalTradeFeeParamsStructOutput;
2233
+ }
2234
+ export type GlobalTradeFeeParamsUpdatedEvent = TypedEvent<[
2235
+ IPairsStorage.GlobalTradeFeeParamsStructOutput
2236
+ ], GlobalTradeFeeParamsUpdatedEventObject>;
2237
+ export type GlobalTradeFeeParamsUpdatedEventFilter = TypedEventFilter<GlobalTradeFeeParamsUpdatedEvent>;
2118
2238
  export interface GroupAddedEventObject {
2119
2239
  index: BigNumber;
2120
2240
  name: string;
@@ -2347,6 +2467,19 @@ export type TraderInfoUpdatedEvent = TypedEvent<[
2347
2467
  IFeeTiers.TraderInfoStructOutput
2348
2468
  ], TraderInfoUpdatedEventObject>;
2349
2469
  export type TraderInfoUpdatedEventFilter = TypedEventFilter<TraderInfoUpdatedEvent>;
2470
+ export interface TraderPointsCreditedEventObject {
2471
+ trader: string;
2472
+ day: number;
2473
+ creditType: number;
2474
+ points: BigNumber;
2475
+ }
2476
+ export type TraderPointsCreditedEvent = TypedEvent<[
2477
+ string,
2478
+ number,
2479
+ number,
2480
+ BigNumber
2481
+ ], TraderPointsCreditedEventObject>;
2482
+ export type TraderPointsCreditedEventFilter = TypedEventFilter<TraderPointsCreditedEvent>;
2350
2483
  export interface TraderTrailingPointsExpiredEventObject {
2351
2484
  trader: string;
2352
2485
  fromDay: number;
@@ -2360,6 +2493,17 @@ export type TraderTrailingPointsExpiredEvent = TypedEvent<[
2360
2493
  BigNumber
2361
2494
  ], TraderTrailingPointsExpiredEventObject>;
2362
2495
  export type TraderTrailingPointsExpiredEventFilter = TypedEventFilter<TraderTrailingPointsExpiredEvent>;
2496
+ export interface TraderUnclaimedPointsClaimedEventObject {
2497
+ trader: string;
2498
+ day: number;
2499
+ points: BigNumber;
2500
+ }
2501
+ export type TraderUnclaimedPointsClaimedEvent = TypedEvent<[
2502
+ string,
2503
+ number,
2504
+ BigNumber
2505
+ ], TraderUnclaimedPointsClaimedEventObject>;
2506
+ export type TraderUnclaimedPointsClaimedEventFilter = TypedEventFilter<TraderUnclaimedPointsClaimedEvent>;
2363
2507
  export interface CumulativeFactorUpdatedEventObject {
2364
2508
  pairIndex: BigNumber;
2365
2509
  cumulativeFactor: number;
@@ -2369,6 +2513,31 @@ export type CumulativeFactorUpdatedEvent = TypedEvent<[
2369
2513
  number
2370
2514
  ], CumulativeFactorUpdatedEventObject>;
2371
2515
  export type CumulativeFactorUpdatedEventFilter = TypedEventFilter<CumulativeFactorUpdatedEvent>;
2516
+ export interface ExemptAfterProtectionCloseFactorUpdatedEventObject {
2517
+ pairIndex: BigNumber;
2518
+ exemptAfterProtectionCloseFactor: boolean;
2519
+ }
2520
+ export type ExemptAfterProtectionCloseFactorUpdatedEvent = TypedEvent<[
2521
+ BigNumber,
2522
+ boolean
2523
+ ], ExemptAfterProtectionCloseFactorUpdatedEventObject>;
2524
+ export type ExemptAfterProtectionCloseFactorUpdatedEventFilter = TypedEventFilter<ExemptAfterProtectionCloseFactorUpdatedEvent>;
2525
+ export interface ExemptOnOpenUpdatedEventObject {
2526
+ pairIndex: BigNumber;
2527
+ exemptOnOpen: boolean;
2528
+ }
2529
+ export type ExemptOnOpenUpdatedEvent = TypedEvent<[
2530
+ BigNumber,
2531
+ boolean
2532
+ ], ExemptOnOpenUpdatedEventObject>;
2533
+ export type ExemptOnOpenUpdatedEventFilter = TypedEventFilter<ExemptOnOpenUpdatedEvent>;
2534
+ export interface NegPnlCumulVolMultiplierUpdatedEventObject {
2535
+ negPnlCumulVolMultiplier: number;
2536
+ }
2537
+ export type NegPnlCumulVolMultiplierUpdatedEvent = TypedEvent<[
2538
+ number
2539
+ ], NegPnlCumulVolMultiplierUpdatedEventObject>;
2540
+ export type NegPnlCumulVolMultiplierUpdatedEventFilter = TypedEventFilter<NegPnlCumulVolMultiplierUpdatedEvent>;
2372
2541
  export interface OiWindowsSettingsInitializedEventObject {
2373
2542
  windowsDuration: number;
2374
2543
  windowsCount: number;
@@ -2450,6 +2619,15 @@ export type ProtectionCloseFactorUpdatedEvent = TypedEvent<[
2450
2619
  number
2451
2620
  ], ProtectionCloseFactorUpdatedEventObject>;
2452
2621
  export type ProtectionCloseFactorUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorUpdatedEvent>;
2622
+ export interface ProtectionCloseFactorWhitelistUpdatedEventObject {
2623
+ trader: string;
2624
+ whitelisted: boolean;
2625
+ }
2626
+ export type ProtectionCloseFactorWhitelistUpdatedEvent = TypedEvent<[
2627
+ string,
2628
+ boolean
2629
+ ], ProtectionCloseFactorWhitelistUpdatedEventObject>;
2630
+ export type ProtectionCloseFactorWhitelistUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorWhitelistUpdatedEvent>;
2453
2631
  export interface CollateralAddedEventObject {
2454
2632
  collateral: string;
2455
2633
  index: number;
@@ -2489,14 +2667,16 @@ export type GTokenUpdatedEvent = TypedEvent<[
2489
2667
  ], GTokenUpdatedEventObject>;
2490
2668
  export type GTokenUpdatedEventFilter = TypedEventFilter<GTokenUpdatedEvent>;
2491
2669
  export interface OpenOrderDetailsUpdatedEventObject {
2492
- tradeId: ITradingStorage.IdStructOutput;
2670
+ user: string;
2671
+ index: number;
2493
2672
  openPrice: BigNumber;
2494
2673
  tp: BigNumber;
2495
2674
  sl: BigNumber;
2496
2675
  maxSlippageP: number;
2497
2676
  }
2498
2677
  export type OpenOrderDetailsUpdatedEvent = TypedEvent<[
2499
- ITradingStorage.IdStructOutput,
2678
+ string,
2679
+ number,
2500
2680
  BigNumber,
2501
2681
  BigNumber,
2502
2682
  BigNumber,
@@ -2518,75 +2698,95 @@ export type PendingOrderStoredEvent = TypedEvent<[
2518
2698
  ], PendingOrderStoredEventObject>;
2519
2699
  export type PendingOrderStoredEventFilter = TypedEventFilter<PendingOrderStoredEvent>;
2520
2700
  export interface TradeClosedEventObject {
2521
- tradeId: ITradingStorage.IdStructOutput;
2701
+ user: string;
2702
+ index: number;
2703
+ isPnlPositive: boolean;
2522
2704
  }
2523
2705
  export type TradeClosedEvent = TypedEvent<[
2524
- ITradingStorage.IdStructOutput
2706
+ string,
2707
+ number,
2708
+ boolean
2525
2709
  ], TradeClosedEventObject>;
2526
2710
  export type TradeClosedEventFilter = TypedEventFilter<TradeClosedEvent>;
2527
2711
  export interface TradeCollateralUpdatedEventObject {
2528
- tradeId: ITradingStorage.IdStructOutput;
2712
+ user: string;
2713
+ index: number;
2529
2714
  collateralAmount: BigNumber;
2530
2715
  }
2531
2716
  export type TradeCollateralUpdatedEvent = TypedEvent<[
2532
- ITradingStorage.IdStructOutput,
2717
+ string,
2718
+ number,
2533
2719
  BigNumber
2534
2720
  ], TradeCollateralUpdatedEventObject>;
2535
2721
  export type TradeCollateralUpdatedEventFilter = TypedEventFilter<TradeCollateralUpdatedEvent>;
2536
2722
  export interface TradeMaxClosingSlippagePUpdatedEventObject {
2537
- tradeId: ITradingStorage.IdStructOutput;
2723
+ user: string;
2724
+ index: number;
2538
2725
  maxClosingSlippageP: number;
2539
2726
  }
2540
2727
  export type TradeMaxClosingSlippagePUpdatedEvent = TypedEvent<[
2541
- ITradingStorage.IdStructOutput,
2728
+ string,
2729
+ number,
2542
2730
  number
2543
2731
  ], TradeMaxClosingSlippagePUpdatedEventObject>;
2544
2732
  export type TradeMaxClosingSlippagePUpdatedEventFilter = TypedEventFilter<TradeMaxClosingSlippagePUpdatedEvent>;
2545
2733
  export interface TradePositionUpdatedEventObject {
2546
- tradeId: ITradingStorage.IdStructOutput;
2734
+ user: string;
2735
+ index: number;
2547
2736
  collateralAmount: BigNumber;
2548
2737
  leverage: number;
2549
2738
  openPrice: BigNumber;
2550
2739
  newTp: BigNumber;
2551
2740
  newSl: BigNumber;
2552
2741
  isPartialIncrease: boolean;
2742
+ isPnlPositive: boolean;
2553
2743
  }
2554
2744
  export type TradePositionUpdatedEvent = TypedEvent<[
2555
- ITradingStorage.IdStructOutput,
2745
+ string,
2746
+ number,
2556
2747
  BigNumber,
2557
2748
  number,
2558
2749
  BigNumber,
2559
2750
  BigNumber,
2560
2751
  BigNumber,
2752
+ boolean,
2561
2753
  boolean
2562
2754
  ], TradePositionUpdatedEventObject>;
2563
2755
  export type TradePositionUpdatedEventFilter = TypedEventFilter<TradePositionUpdatedEvent>;
2564
2756
  export interface TradeSlUpdatedEventObject {
2565
- tradeId: ITradingStorage.IdStructOutput;
2757
+ user: string;
2758
+ index: number;
2566
2759
  newSl: BigNumber;
2567
2760
  }
2568
2761
  export type TradeSlUpdatedEvent = TypedEvent<[
2569
- ITradingStorage.IdStructOutput,
2762
+ string,
2763
+ number,
2570
2764
  BigNumber
2571
2765
  ], TradeSlUpdatedEventObject>;
2572
2766
  export type TradeSlUpdatedEventFilter = TypedEventFilter<TradeSlUpdatedEvent>;
2573
2767
  export interface TradeStoredEventObject {
2768
+ user: string;
2769
+ index: number;
2574
2770
  trade: ITradingStorage.TradeStructOutput;
2575
2771
  tradeInfo: ITradingStorage.TradeInfoStructOutput;
2576
2772
  liquidationParams: IPairsStorage.GroupLiquidationParamsStructOutput;
2577
2773
  }
2578
2774
  export type TradeStoredEvent = TypedEvent<[
2775
+ string,
2776
+ number,
2579
2777
  ITradingStorage.TradeStructOutput,
2580
2778
  ITradingStorage.TradeInfoStructOutput,
2581
2779
  IPairsStorage.GroupLiquidationParamsStructOutput
2582
2780
  ], TradeStoredEventObject>;
2583
2781
  export type TradeStoredEventFilter = TypedEventFilter<TradeStoredEvent>;
2584
2782
  export interface TradeTpUpdatedEventObject {
2585
- tradeId: ITradingStorage.IdStructOutput;
2783
+ user: string;
2784
+ index: number;
2586
2785
  newTp: BigNumber;
2587
2786
  }
2588
2787
  export type TradeTpUpdatedEvent = TypedEvent<[
2589
- ITradingStorage.IdStructOutput,
2788
+ string,
2789
+ number,
2590
2790
  BigNumber
2591
2791
  ], TradeTpUpdatedEventObject>;
2592
2792
  export type TradeTpUpdatedEventFilter = TypedEventFilter<TradeTpUpdatedEvent>;
@@ -2659,7 +2859,7 @@ export interface LeverageUpdateExecutedEventObject {
2659
2859
  trader: string;
2660
2860
  pairIndex: BigNumber;
2661
2861
  index: BigNumber;
2662
- marketPrice: BigNumber;
2862
+ oraclePrice: BigNumber;
2663
2863
  collateralDelta: BigNumber;
2664
2864
  values: IUpdateLeverage.UpdateLeverageValuesStructOutput;
2665
2865
  }
@@ -2771,7 +2971,7 @@ export interface PositionSizeDecreaseExecutedEventObject {
2771
2971
  pairIndex: BigNumber;
2772
2972
  index: BigNumber;
2773
2973
  long: boolean;
2774
- marketPrice: BigNumber;
2974
+ oraclePrice: BigNumber;
2775
2975
  collateralPriceUsd: BigNumber;
2776
2976
  collateralDelta: BigNumber;
2777
2977
  leverageDelta: BigNumber;
@@ -2800,7 +3000,7 @@ export interface PositionSizeIncreaseExecutedEventObject {
2800
3000
  pairIndex: BigNumber;
2801
3001
  index: BigNumber;
2802
3002
  long: boolean;
2803
- marketPrice: BigNumber;
3003
+ oraclePrice: BigNumber;
2804
3004
  collateralPriceUsd: BigNumber;
2805
3005
  collateralDelta: BigNumber;
2806
3006
  leverageDelta: BigNumber;
@@ -2855,12 +3055,14 @@ export type TriggerOrderInitiatedEvent = TypedEvent<[
2855
3055
  export type TriggerOrderInitiatedEventFilter = TypedEventFilter<TriggerOrderInitiatedEvent>;
2856
3056
  export interface BorrowingFeeChargedEventObject {
2857
3057
  trader: string;
3058
+ index: number;
2858
3059
  collateralIndex: number;
2859
3060
  amountCollateral: BigNumber;
2860
3061
  }
2861
3062
  export type BorrowingFeeChargedEvent = TypedEvent<[
2862
3063
  string,
2863
3064
  number,
3065
+ number,
2864
3066
  BigNumber
2865
3067
  ], BorrowingFeeChargedEventObject>;
2866
3068
  export type BorrowingFeeChargedEventFilter = TypedEventFilter<BorrowingFeeChargedEvent>;
@@ -2875,17 +3077,17 @@ export type GTokenFeeChargedEvent = TypedEvent<[
2875
3077
  BigNumber
2876
3078
  ], GTokenFeeChargedEventObject>;
2877
3079
  export type GTokenFeeChargedEventFilter = TypedEventFilter<GTokenFeeChargedEvent>;
2878
- export interface GnsStakingFeeChargedEventObject {
3080
+ export interface GnsOtcFeeChargedEventObject {
2879
3081
  trader: string;
2880
3082
  collateralIndex: number;
2881
3083
  amountCollateral: BigNumber;
2882
3084
  }
2883
- export type GnsStakingFeeChargedEvent = TypedEvent<[
3085
+ export type GnsOtcFeeChargedEvent = TypedEvent<[
2884
3086
  string,
2885
3087
  number,
2886
3088
  BigNumber
2887
- ], GnsStakingFeeChargedEventObject>;
2888
- export type GnsStakingFeeChargedEventFilter = TypedEventFilter<GnsStakingFeeChargedEvent>;
3089
+ ], GnsOtcFeeChargedEventObject>;
3090
+ export type GnsOtcFeeChargedEventFilter = TypedEventFilter<GnsOtcFeeChargedEvent>;
2889
3091
  export interface GovFeeChargedEventObject {
2890
3092
  trader: string;
2891
3093
  collateralIndex: number;
@@ -2899,10 +3101,15 @@ export type GovFeeChargedEvent = TypedEvent<[
2899
3101
  export type GovFeeChargedEventFilter = TypedEventFilter<GovFeeChargedEvent>;
2900
3102
  export interface LimitExecutedEventObject {
2901
3103
  orderId: ITradingStorage.IdStructOutput;
3104
+ user: string;
3105
+ index: number;
3106
+ limitIndex: number;
2902
3107
  t: ITradingStorage.TradeStructOutput;
2903
3108
  triggerCaller: string;
2904
3109
  orderType: number;
2905
- price: BigNumber;
3110
+ oraclePrice: BigNumber;
3111
+ marketPrice: BigNumber;
3112
+ liqPrice: BigNumber;
2906
3113
  priceImpactP: BigNumber;
2907
3114
  percentProfit: BigNumber;
2908
3115
  amountSentToTrader: BigNumber;
@@ -2911,6 +3118,9 @@ export interface LimitExecutedEventObject {
2911
3118
  }
2912
3119
  export type LimitExecutedEvent = TypedEvent<[
2913
3120
  ITradingStorage.IdStructOutput,
3121
+ string,
3122
+ number,
3123
+ number,
2914
3124
  ITradingStorage.TradeStructOutput,
2915
3125
  string,
2916
3126
  number,
@@ -2919,6 +3129,8 @@ export type LimitExecutedEvent = TypedEvent<[
2919
3129
  BigNumber,
2920
3130
  BigNumber,
2921
3131
  BigNumber,
3132
+ BigNumber,
3133
+ BigNumber,
2922
3134
  boolean
2923
3135
  ], LimitExecutedEventObject>;
2924
3136
  export type LimitExecutedEventFilter = TypedEventFilter<LimitExecutedEvent>;
@@ -2939,9 +3151,13 @@ export type MarketCloseCanceledEvent = TypedEvent<[
2939
3151
  export type MarketCloseCanceledEventFilter = TypedEventFilter<MarketCloseCanceledEvent>;
2940
3152
  export interface MarketExecutedEventObject {
2941
3153
  orderId: ITradingStorage.IdStructOutput;
3154
+ user: string;
3155
+ index: number;
2942
3156
  t: ITradingStorage.TradeStructOutput;
2943
3157
  open: boolean;
2944
- price: BigNumber;
3158
+ oraclePrice: BigNumber;
3159
+ marketPrice: BigNumber;
3160
+ liqPrice: BigNumber;
2945
3161
  priceImpactP: BigNumber;
2946
3162
  percentProfit: BigNumber;
2947
3163
  amountSentToTrader: BigNumber;
@@ -2949,12 +3165,16 @@ export interface MarketExecutedEventObject {
2949
3165
  }
2950
3166
  export type MarketExecutedEvent = TypedEvent<[
2951
3167
  ITradingStorage.IdStructOutput,
3168
+ string,
3169
+ number,
2952
3170
  ITradingStorage.TradeStructOutput,
2953
3171
  boolean,
2954
3172
  BigNumber,
2955
3173
  BigNumber,
2956
3174
  BigNumber,
2957
3175
  BigNumber,
3176
+ BigNumber,
3177
+ BigNumber,
2958
3178
  BigNumber
2959
3179
  ], MarketExecutedEventObject>;
2960
3180
  export type MarketExecutedEventFilter = TypedEventFilter<MarketExecutedEvent>;
@@ -3382,13 +3602,14 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3382
3602
  }>;
3383
3603
  getAddresses(overrides?: CallOverrides): Promise<[IAddressStore.AddressesStructOutput]>;
3384
3604
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3385
- initialize(_rolesManager: PromiseOrValue<string>, overrides?: Overrides & {
3605
+ hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3606
+ initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
3386
3607
  from?: PromiseOrValue<string>;
3387
3608
  }): Promise<ContractTransaction>;
3388
3609
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
3389
3610
  from?: PromiseOrValue<string>;
3390
3611
  }): Promise<ContractTransaction>;
3391
- addFees(_fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
3612
+ addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
3392
3613
  from?: PromiseOrValue<string>;
3393
3614
  }): Promise<ContractTransaction>;
3394
3615
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -3397,9 +3618,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3397
3618
  addPairs(_pairs: IPairsStorage.PairStruct[], overrides?: Overrides & {
3398
3619
  from?: PromiseOrValue<string>;
3399
3620
  }): Promise<ContractTransaction>;
3400
- fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.FeeStructOutput]>;
3621
+ fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.FeeGroupStructOutput]>;
3401
3622
  feesCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3402
3623
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<[BigNumber[]]>;
3624
+ getGlobalTradeFeeParams(overrides?: CallOverrides): Promise<[IPairsStorage.GlobalTradeFeeParamsStructOutput]>;
3403
3625
  getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput]>;
3404
3626
  getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput]>;
3405
3627
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupStructOutput]>;
@@ -3407,33 +3629,33 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3407
3629
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
3408
3630
  from?: PromiseOrValue<string>;
3409
3631
  }): Promise<ContractTransaction>;
3632
+ initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
3633
+ from?: PromiseOrValue<string>;
3634
+ }): Promise<ContractTransaction>;
3410
3635
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3411
3636
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
3412
- pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3413
3637
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3414
3638
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
3415
3639
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3416
3640
  pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3417
3641
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3418
3642
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3419
- pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3420
- pairOracleFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3643
+ pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3421
3644
  pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3422
- pairTriggerOrderFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3645
+ pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3646
+ pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3423
3647
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.PairStructOutput]>;
3424
- pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3425
- IPairsStorage.PairStructOutput,
3426
- IPairsStorage.GroupStructOutput,
3427
- IPairsStorage.FeeStructOutput
3428
- ]>;
3429
3648
  pairsCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3649
+ setGlobalTradeFeeParams(_feeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
3650
+ from?: PromiseOrValue<string>;
3651
+ }): Promise<ContractTransaction>;
3430
3652
  setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
3431
3653
  from?: PromiseOrValue<string>;
3432
3654
  }): Promise<ContractTransaction>;
3433
3655
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3434
3656
  from?: PromiseOrValue<string>;
3435
3657
  }): Promise<ContractTransaction>;
3436
- updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
3658
+ updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
3437
3659
  from?: PromiseOrValue<string>;
3438
3660
  }): Promise<ContractTransaction>;
3439
3661
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -3448,21 +3670,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3448
3670
  claimReferrerRewards(overrides?: Overrides & {
3449
3671
  from?: PromiseOrValue<string>;
3450
3672
  }): Promise<ContractTransaction>;
3451
- distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairOpenFeeP: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3673
+ distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3452
3674
  from?: PromiseOrValue<string>;
3453
3675
  }): Promise<ContractTransaction>;
3454
3676
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IReferrals.AllyDetailsStructOutput]>;
3455
3677
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<[BigNumber]>;
3456
- getReferralsOpenFeeP(overrides?: CallOverrides): Promise<[BigNumber]>;
3457
3678
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<[BigNumber]>;
3458
3679
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<[BigNumber]>;
3459
3680
  getReferrerDetails(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IReferrals.ReferrerDetailsStructOutput]>;
3460
- getReferrerFeeP(_pairOpenFeeP: PromiseOrValue<BigNumberish>, _volumeReferredUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3681
+ getReferrerFeeProgressP(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
3461
3682
  getReferrersReferred(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
3462
3683
  getTraderActiveReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
3463
3684
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
3464
3685
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
3465
- initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _openFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3686
+ initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3466
3687
  from?: PromiseOrValue<string>;
3467
3688
  }): Promise<ContractTransaction>;
3468
3689
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
@@ -3477,9 +3698,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3477
3698
  updateAllyFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3478
3699
  from?: PromiseOrValue<string>;
3479
3700
  }): Promise<ContractTransaction>;
3480
- updateReferralsOpenFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3481
- from?: PromiseOrValue<string>;
3482
- }): Promise<ContractTransaction>;
3483
3701
  updateReferralsTargetVolumeUsd(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3484
3702
  from?: PromiseOrValue<string>;
3485
3703
  }): Promise<ContractTransaction>;
@@ -3492,6 +3710,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3492
3710
  whitelistReferrers(_referrers: PromiseOrValue<string>[], _allies: PromiseOrValue<string>[], overrides?: Overrides & {
3493
3711
  from?: PromiseOrValue<string>;
3494
3712
  }): Promise<ContractTransaction>;
3713
+ addTradersUnclaimedPoints(_traders: PromiseOrValue<string>[], _creditTypes: PromiseOrValue<BigNumberish>[], _points: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3714
+ from?: PromiseOrValue<string>;
3715
+ }): Promise<ContractTransaction>;
3495
3716
  calculateFeeAmount(_trader: PromiseOrValue<string>, _normalFeeAmountCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3496
3717
  getFeeTier(_feeTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IFeeTiers.FeeTierStructOutput]>;
3497
3718
  getFeeTiersCount(overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -3499,6 +3720,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3499
3720
  getFeeTiersTraderInfo(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IFeeTiers.TraderInfoStructOutput]>;
3500
3721
  getGroupVolumeMultiplier(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3501
3722
  getTraderFeeTiersEnrollment(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IFeeTiers.TraderEnrollmentStructOutput]>;
3723
+ getTraderUnclaimedPoints(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
3502
3724
  initializeFeeTiers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], _feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: Overrides & {
3503
3725
  from?: PromiseOrValue<string>;
3504
3726
  }): Promise<ContractTransaction>;
@@ -3514,9 +3736,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3514
3736
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3515
3737
  from?: PromiseOrValue<string>;
3516
3738
  }): Promise<ContractTransaction>;
3517
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
3739
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
3518
3740
  from?: PromiseOrValue<string>;
3519
3741
  }): Promise<ContractTransaction>;
3742
+ getNegPnlCumulVolMultiplier(overrides?: CallOverrides): Promise<[number]>;
3520
3743
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.PairOiStructOutput]>;
3521
3744
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[IPriceImpact.PairOiStructOutput[]]>;
3522
3745
  getOiWindowsSettings(overrides?: CallOverrides): Promise<[IPriceImpact.OiWindowsSettingsStructOutput]>;
@@ -3526,13 +3749,17 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3526
3749
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
3527
3750
  activeOi: BigNumber;
3528
3751
  }>;
3529
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3752
+ getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
3753
+ getTradePriceImpact(_trader: PromiseOrValue<string>, _marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3530
3754
  BigNumber,
3531
3755
  BigNumber
3532
3756
  ] & {
3533
3757
  priceImpactP: BigNumber;
3534
3758
  priceAfterImpact: BigNumber;
3535
3759
  }>;
3760
+ initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3761
+ from?: PromiseOrValue<string>;
3762
+ }): Promise<ContractTransaction>;
3536
3763
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3537
3764
  from?: PromiseOrValue<string>;
3538
3765
  }): Promise<ContractTransaction>;
@@ -3542,6 +3769,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3542
3769
  setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3543
3770
  from?: PromiseOrValue<string>;
3544
3771
  }): Promise<ContractTransaction>;
3772
+ setExemptAfterProtectionCloseFactor(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>[], overrides?: Overrides & {
3773
+ from?: PromiseOrValue<string>;
3774
+ }): Promise<ContractTransaction>;
3775
+ setExemptOnOpen(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptOnOpen: PromiseOrValue<boolean>[], overrides?: Overrides & {
3776
+ from?: PromiseOrValue<string>;
3777
+ }): Promise<ContractTransaction>;
3778
+ setNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3779
+ from?: PromiseOrValue<string>;
3780
+ }): Promise<ContractTransaction>;
3545
3781
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3546
3782
  from?: PromiseOrValue<string>;
3547
3783
  }): Promise<ContractTransaction>;
@@ -3554,6 +3790,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3554
3790
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3555
3791
  from?: PromiseOrValue<string>;
3556
3792
  }): Promise<ContractTransaction>;
3793
+ setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: Overrides & {
3794
+ from?: PromiseOrValue<string>;
3795
+ }): Promise<ContractTransaction>;
3557
3796
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3558
3797
  from?: PromiseOrValue<string>;
3559
3798
  }): Promise<ContractTransaction>;
@@ -3563,18 +3802,23 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3563
3802
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
3564
3803
  from?: PromiseOrValue<string>;
3565
3804
  }): Promise<ContractTransaction>;
3566
- closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: Overrides & {
3805
+ closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
3567
3806
  from?: PromiseOrValue<string>;
3568
3807
  }): Promise<ContractTransaction>;
3569
3808
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
3809
+ getAllPendingOrdersForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
3570
3810
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeInfoStructOutput[]]>;
3811
+ getAllTradeInfosForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeInfoStructOutput[]]>;
3571
3812
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput[]]>;
3813
+ getAllTradesForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput[]]>;
3572
3814
  getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput[]]>;
3815
+ getAllTradesLiquidationParamsForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput[]]>;
3573
3816
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput]>;
3574
3817
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
3575
3818
  getCollaterals(overrides?: CallOverrides): Promise<[ITradingStorage.CollateralStructOutput[]]>;
3576
3819
  getCollateralsCount(overrides?: CallOverrides): Promise<[number]>;
3577
3820
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput]>;
3821
+ getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput[]]>;
3578
3822
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<[number]>;
3579
3823
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
3580
3824
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput]>;
@@ -3586,6 +3830,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3586
3830
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3587
3831
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
3588
3832
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string[]]>;
3833
+ getTradersCount(overrides?: CallOverrides): Promise<[BigNumber]>;
3589
3834
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput[]]>;
3590
3835
  getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IPairsStorage.GroupLiquidationParamsStructOutput[]]>;
3591
3836
  getTradingActivated(overrides?: CallOverrides): Promise<[number]>;
@@ -3615,7 +3860,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3615
3860
  updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3616
3861
  from?: PromiseOrValue<string>;
3617
3862
  }): Promise<ContractTransaction>;
3618
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
3863
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
3619
3864
  from?: PromiseOrValue<string>;
3620
3865
  }): Promise<ContractTransaction>;
3621
3866
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -3727,38 +3972,38 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3727
3972
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3728
3973
  from?: PromiseOrValue<string>;
3729
3974
  }): Promise<ContractTransaction>;
3975
+ initializeTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
3976
+ from?: PromiseOrValue<string>;
3977
+ }): Promise<ContractTransaction>;
3730
3978
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3731
3979
  from?: PromiseOrValue<string>;
3732
3980
  }): Promise<ContractTransaction>;
3733
3981
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
3734
3982
  from?: PromiseOrValue<string>;
3735
3983
  }): Promise<ContractTransaction>;
3984
+ updateTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
3985
+ from?: PromiseOrValue<string>;
3986
+ }): Promise<ContractTransaction>;
3736
3987
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3737
3988
  from?: PromiseOrValue<string>;
3738
3989
  }): Promise<ContractTransaction>;
3739
3990
  validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3740
3991
  ITradingStorage.TradeStructOutput,
3741
3992
  number,
3742
- ITradingCallbacks.ValuesStructOutput,
3743
- BigNumber
3993
+ ITradingCallbacks.ValuesStructOutput
3744
3994
  ] & {
3745
3995
  t: ITradingStorage.TradeStructOutput;
3746
3996
  cancelReason: number;
3747
3997
  v: ITradingCallbacks.ValuesStructOutput;
3748
- priceImpactP: BigNumber;
3749
3998
  }>;
3750
3999
  validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3751
4000
  ITradingStorage.TradeStructOutput,
3752
4001
  number,
3753
- BigNumber,
3754
- BigNumber,
3755
- boolean
4002
+ ITradingCallbacks.ValuesStructOutput
3756
4003
  ] & {
3757
4004
  t: ITradingStorage.TradeStructOutput;
3758
4005
  cancelReason: number;
3759
- priceImpactP: BigNumber;
3760
- priceAfterImpact: BigNumber;
3761
- exactExecution: boolean;
4006
+ v: ITradingCallbacks.ValuesStructOutput;
3762
4007
  }>;
3763
4008
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3764
4009
  IBorrowingFees.BorrowingDataStructOutput[],
@@ -3920,13 +4165,14 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3920
4165
  facets(overrides?: CallOverrides): Promise<IGNSDiamondLoupe.FacetStructOutput[]>;
3921
4166
  getAddresses(overrides?: CallOverrides): Promise<IAddressStore.AddressesStructOutput>;
3922
4167
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
3923
- initialize(_rolesManager: PromiseOrValue<string>, overrides?: Overrides & {
4168
+ hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4169
+ initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
3924
4170
  from?: PromiseOrValue<string>;
3925
4171
  }): Promise<ContractTransaction>;
3926
4172
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
3927
4173
  from?: PromiseOrValue<string>;
3928
4174
  }): Promise<ContractTransaction>;
3929
- addFees(_fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
4175
+ addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
3930
4176
  from?: PromiseOrValue<string>;
3931
4177
  }): Promise<ContractTransaction>;
3932
4178
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -3935,9 +4181,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3935
4181
  addPairs(_pairs: IPairsStorage.PairStruct[], overrides?: Overrides & {
3936
4182
  from?: PromiseOrValue<string>;
3937
4183
  }): Promise<ContractTransaction>;
3938
- fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeStructOutput>;
4184
+ fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeGroupStructOutput>;
3939
4185
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
3940
4186
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber[]>;
4187
+ getGlobalTradeFeeParams(overrides?: CallOverrides): Promise<IPairsStorage.GlobalTradeFeeParamsStructOutput>;
3941
4188
  getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3942
4189
  getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
3943
4190
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupStructOutput>;
@@ -3945,33 +4192,33 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3945
4192
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
3946
4193
  from?: PromiseOrValue<string>;
3947
4194
  }): Promise<ContractTransaction>;
4195
+ initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
4196
+ from?: PromiseOrValue<string>;
4197
+ }): Promise<ContractTransaction>;
3948
4198
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
3949
4199
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
3950
- pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3951
4200
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3952
4201
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
3953
4202
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3954
4203
  pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3955
4204
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3956
4205
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3957
- pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3958
- pairOracleFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4206
+ pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3959
4207
  pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3960
- pairTriggerOrderFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4208
+ pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4209
+ pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
3961
4210
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.PairStructOutput>;
3962
- pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
3963
- IPairsStorage.PairStructOutput,
3964
- IPairsStorage.GroupStructOutput,
3965
- IPairsStorage.FeeStructOutput
3966
- ]>;
3967
4211
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
4212
+ setGlobalTradeFeeParams(_feeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
4213
+ from?: PromiseOrValue<string>;
4214
+ }): Promise<ContractTransaction>;
3968
4215
  setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
3969
4216
  from?: PromiseOrValue<string>;
3970
4217
  }): Promise<ContractTransaction>;
3971
4218
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3972
4219
  from?: PromiseOrValue<string>;
3973
4220
  }): Promise<ContractTransaction>;
3974
- updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
4221
+ updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
3975
4222
  from?: PromiseOrValue<string>;
3976
4223
  }): Promise<ContractTransaction>;
3977
4224
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -3986,21 +4233,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3986
4233
  claimReferrerRewards(overrides?: Overrides & {
3987
4234
  from?: PromiseOrValue<string>;
3988
4235
  }): Promise<ContractTransaction>;
3989
- distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairOpenFeeP: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4236
+ distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3990
4237
  from?: PromiseOrValue<string>;
3991
4238
  }): Promise<ContractTransaction>;
3992
4239
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.AllyDetailsStructOutput>;
3993
4240
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
3994
- getReferralsOpenFeeP(overrides?: CallOverrides): Promise<BigNumber>;
3995
4241
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
3996
4242
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
3997
4243
  getReferrerDetails(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.ReferrerDetailsStructOutput>;
3998
- getReferrerFeeP(_pairOpenFeeP: PromiseOrValue<BigNumberish>, _volumeReferredUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4244
+ getReferrerFeeProgressP(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
3999
4245
  getReferrersReferred(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
4000
4246
  getTraderActiveReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4001
4247
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4002
4248
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
4003
- initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _openFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4249
+ initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4004
4250
  from?: PromiseOrValue<string>;
4005
4251
  }): Promise<ContractTransaction>;
4006
4252
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
@@ -4015,9 +4261,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4015
4261
  updateAllyFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4016
4262
  from?: PromiseOrValue<string>;
4017
4263
  }): Promise<ContractTransaction>;
4018
- updateReferralsOpenFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4019
- from?: PromiseOrValue<string>;
4020
- }): Promise<ContractTransaction>;
4021
4264
  updateReferralsTargetVolumeUsd(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4022
4265
  from?: PromiseOrValue<string>;
4023
4266
  }): Promise<ContractTransaction>;
@@ -4030,6 +4273,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4030
4273
  whitelistReferrers(_referrers: PromiseOrValue<string>[], _allies: PromiseOrValue<string>[], overrides?: Overrides & {
4031
4274
  from?: PromiseOrValue<string>;
4032
4275
  }): Promise<ContractTransaction>;
4276
+ addTradersUnclaimedPoints(_traders: PromiseOrValue<string>[], _creditTypes: PromiseOrValue<BigNumberish>[], _points: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4277
+ from?: PromiseOrValue<string>;
4278
+ }): Promise<ContractTransaction>;
4033
4279
  calculateFeeAmount(_trader: PromiseOrValue<string>, _normalFeeAmountCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4034
4280
  getFeeTier(_feeTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IFeeTiers.FeeTierStructOutput>;
4035
4281
  getFeeTiersCount(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4037,6 +4283,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4037
4283
  getFeeTiersTraderInfo(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IFeeTiers.TraderInfoStructOutput>;
4038
4284
  getGroupVolumeMultiplier(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4039
4285
  getTraderFeeTiersEnrollment(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IFeeTiers.TraderEnrollmentStructOutput>;
4286
+ getTraderUnclaimedPoints(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4040
4287
  initializeFeeTiers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], _feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: Overrides & {
4041
4288
  from?: PromiseOrValue<string>;
4042
4289
  }): Promise<ContractTransaction>;
@@ -4052,9 +4299,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4052
4299
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4053
4300
  from?: PromiseOrValue<string>;
4054
4301
  }): Promise<ContractTransaction>;
4055
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
4302
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
4056
4303
  from?: PromiseOrValue<string>;
4057
4304
  }): Promise<ContractTransaction>;
4305
+ getNegPnlCumulVolMultiplier(overrides?: CallOverrides): Promise<number>;
4058
4306
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
4059
4307
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput[]>;
4060
4308
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
@@ -4062,13 +4310,17 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4062
4310
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4063
4311
  getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
4064
4312
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
4065
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4313
+ getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4314
+ getTradePriceImpact(_trader: PromiseOrValue<string>, _marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4066
4315
  BigNumber,
4067
4316
  BigNumber
4068
4317
  ] & {
4069
4318
  priceImpactP: BigNumber;
4070
4319
  priceAfterImpact: BigNumber;
4071
4320
  }>;
4321
+ initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4322
+ from?: PromiseOrValue<string>;
4323
+ }): Promise<ContractTransaction>;
4072
4324
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4073
4325
  from?: PromiseOrValue<string>;
4074
4326
  }): Promise<ContractTransaction>;
@@ -4078,6 +4330,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4078
4330
  setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4079
4331
  from?: PromiseOrValue<string>;
4080
4332
  }): Promise<ContractTransaction>;
4333
+ setExemptAfterProtectionCloseFactor(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>[], overrides?: Overrides & {
4334
+ from?: PromiseOrValue<string>;
4335
+ }): Promise<ContractTransaction>;
4336
+ setExemptOnOpen(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptOnOpen: PromiseOrValue<boolean>[], overrides?: Overrides & {
4337
+ from?: PromiseOrValue<string>;
4338
+ }): Promise<ContractTransaction>;
4339
+ setNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4340
+ from?: PromiseOrValue<string>;
4341
+ }): Promise<ContractTransaction>;
4081
4342
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4082
4343
  from?: PromiseOrValue<string>;
4083
4344
  }): Promise<ContractTransaction>;
@@ -4090,6 +4351,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4090
4351
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4091
4352
  from?: PromiseOrValue<string>;
4092
4353
  }): Promise<ContractTransaction>;
4354
+ setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: Overrides & {
4355
+ from?: PromiseOrValue<string>;
4356
+ }): Promise<ContractTransaction>;
4093
4357
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4094
4358
  from?: PromiseOrValue<string>;
4095
4359
  }): Promise<ContractTransaction>;
@@ -4099,18 +4363,23 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4099
4363
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
4100
4364
  from?: PromiseOrValue<string>;
4101
4365
  }): Promise<ContractTransaction>;
4102
- closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: Overrides & {
4366
+ closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
4103
4367
  from?: PromiseOrValue<string>;
4104
4368
  }): Promise<ContractTransaction>;
4105
4369
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
4370
+ getAllPendingOrdersForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
4106
4371
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
4372
+ getAllTradeInfosForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
4107
4373
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4374
+ getAllTradesForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4108
4375
  getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4376
+ getAllTradesLiquidationParamsForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4109
4377
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput>;
4110
4378
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
4111
4379
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
4112
4380
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
4113
4381
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4382
+ getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput[]>;
4114
4383
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
4115
4384
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4116
4385
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
@@ -4122,6 +4391,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4122
4391
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4123
4392
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4124
4393
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
4394
+ getTradersCount(overrides?: CallOverrides): Promise<BigNumber>;
4125
4395
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4126
4396
  getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4127
4397
  getTradingActivated(overrides?: CallOverrides): Promise<number>;
@@ -4151,7 +4421,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4151
4421
  updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4152
4422
  from?: PromiseOrValue<string>;
4153
4423
  }): Promise<ContractTransaction>;
4154
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
4424
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
4155
4425
  from?: PromiseOrValue<string>;
4156
4426
  }): Promise<ContractTransaction>;
4157
4427
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -4263,38 +4533,38 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4263
4533
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4264
4534
  from?: PromiseOrValue<string>;
4265
4535
  }): Promise<ContractTransaction>;
4536
+ initializeTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
4537
+ from?: PromiseOrValue<string>;
4538
+ }): Promise<ContractTransaction>;
4266
4539
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4267
4540
  from?: PromiseOrValue<string>;
4268
4541
  }): Promise<ContractTransaction>;
4269
4542
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
4270
4543
  from?: PromiseOrValue<string>;
4271
4544
  }): Promise<ContractTransaction>;
4545
+ updateTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
4546
+ from?: PromiseOrValue<string>;
4547
+ }): Promise<ContractTransaction>;
4272
4548
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4273
4549
  from?: PromiseOrValue<string>;
4274
4550
  }): Promise<ContractTransaction>;
4275
4551
  validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4276
4552
  ITradingStorage.TradeStructOutput,
4277
4553
  number,
4278
- ITradingCallbacks.ValuesStructOutput,
4279
- BigNumber
4554
+ ITradingCallbacks.ValuesStructOutput
4280
4555
  ] & {
4281
4556
  t: ITradingStorage.TradeStructOutput;
4282
4557
  cancelReason: number;
4283
4558
  v: ITradingCallbacks.ValuesStructOutput;
4284
- priceImpactP: BigNumber;
4285
4559
  }>;
4286
4560
  validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4287
4561
  ITradingStorage.TradeStructOutput,
4288
4562
  number,
4289
- BigNumber,
4290
- BigNumber,
4291
- boolean
4563
+ ITradingCallbacks.ValuesStructOutput
4292
4564
  ] & {
4293
4565
  t: ITradingStorage.TradeStructOutput;
4294
4566
  cancelReason: number;
4295
- priceImpactP: BigNumber;
4296
- priceAfterImpact: BigNumber;
4297
- exactExecution: boolean;
4567
+ v: ITradingCallbacks.ValuesStructOutput;
4298
4568
  }>;
4299
4569
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4300
4570
  IBorrowingFees.BorrowingDataStructOutput[],
@@ -4450,68 +4720,65 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4450
4720
  facets(overrides?: CallOverrides): Promise<IGNSDiamondLoupe.FacetStructOutput[]>;
4451
4721
  getAddresses(overrides?: CallOverrides): Promise<IAddressStore.AddressesStructOutput>;
4452
4722
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4453
- initialize(_rolesManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4723
+ hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4724
+ initialize(_govTimelock: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4454
4725
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4455
- addFees(_fees: IPairsStorage.FeeStruct[], overrides?: CallOverrides): Promise<void>;
4726
+ addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: CallOverrides): Promise<void>;
4456
4727
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: CallOverrides): Promise<void>;
4457
4728
  addPairs(_pairs: IPairsStorage.PairStruct[], overrides?: CallOverrides): Promise<void>;
4458
- fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeStructOutput>;
4729
+ fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.FeeGroupStructOutput>;
4459
4730
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
4460
4731
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber[]>;
4732
+ getGlobalTradeFeeParams(overrides?: CallOverrides): Promise<IPairsStorage.GlobalTradeFeeParamsStructOutput>;
4461
4733
  getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
4462
4734
  getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput>;
4463
4735
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupStructOutput>;
4464
4736
  groupsCount(overrides?: CallOverrides): Promise<BigNumber>;
4465
4737
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: CallOverrides): Promise<void>;
4738
+ initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: CallOverrides): Promise<void>;
4466
4739
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4467
4740
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4468
- pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4469
4741
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4470
4742
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string, string]>;
4471
4743
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4472
4744
  pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4473
4745
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4474
4746
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4475
- pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4476
- pairOracleFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4747
+ pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4477
4748
  pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4478
- pairTriggerOrderFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4749
+ pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4750
+ pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4479
4751
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.PairStructOutput>;
4480
- pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4481
- IPairsStorage.PairStructOutput,
4482
- IPairsStorage.GroupStructOutput,
4483
- IPairsStorage.FeeStructOutput
4484
- ]>;
4485
4752
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
4753
+ setGlobalTradeFeeParams(_feeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: CallOverrides): Promise<void>;
4486
4754
  setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: CallOverrides): Promise<void>;
4487
4755
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4488
- updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: CallOverrides): Promise<void>;
4756
+ updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeGroupStruct[], overrides?: CallOverrides): Promise<void>;
4489
4757
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: CallOverrides): Promise<void>;
4490
4758
  updatePairs(_pairIndices: PromiseOrValue<BigNumberish>[], _pairs: IPairsStorage.PairStruct[], overrides?: CallOverrides): Promise<void>;
4491
4759
  claimAllyRewards(overrides?: CallOverrides): Promise<void>;
4492
4760
  claimReferrerRewards(overrides?: CallOverrides): Promise<void>;
4493
- distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairOpenFeeP: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4761
+ distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4494
4762
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.AllyDetailsStructOutput>;
4495
4763
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4496
- getReferralsOpenFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4497
4764
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4498
4765
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
4499
4766
  getReferrerDetails(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.ReferrerDetailsStructOutput>;
4500
- getReferrerFeeP(_pairOpenFeeP: PromiseOrValue<BigNumberish>, _volumeReferredUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4767
+ getReferrerFeeProgressP(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4501
4768
  getReferrersReferred(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
4502
4769
  getTraderActiveReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4503
4770
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4504
4771
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
4505
- initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _openFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4772
+ initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4506
4773
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4507
4774
  unwhitelistAllies(_allies: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4508
4775
  unwhitelistReferrers(_referrers: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4509
4776
  updateAllyFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4510
- updateReferralsOpenFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4511
4777
  updateReferralsTargetVolumeUsd(_value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4512
4778
  updateStartReferrerFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4513
4779
  whitelistAllies(_allies: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4514
4780
  whitelistReferrers(_referrers: PromiseOrValue<string>[], _allies: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4781
+ addTradersUnclaimedPoints(_traders: PromiseOrValue<string>[], _creditTypes: PromiseOrValue<BigNumberish>[], _points: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4515
4782
  calculateFeeAmount(_trader: PromiseOrValue<string>, _normalFeeAmountCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4516
4783
  getFeeTier(_feeTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IFeeTiers.FeeTierStructOutput>;
4517
4784
  getFeeTiersCount(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4519,12 +4786,14 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4519
4786
  getFeeTiersTraderInfo(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IFeeTiers.TraderInfoStructOutput>;
4520
4787
  getGroupVolumeMultiplier(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4521
4788
  getTraderFeeTiersEnrollment(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IFeeTiers.TraderEnrollmentStructOutput>;
4789
+ getTraderUnclaimedPoints(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
4522
4790
  initializeFeeTiers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], _feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: CallOverrides): Promise<void>;
4523
4791
  setFeeTiers(_feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: CallOverrides): Promise<void>;
4524
4792
  setGroupVolumeMultipliers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4525
4793
  setTradersFeeTiersEnrollment(_traders: PromiseOrValue<string>[], _values: IFeeTiers.TraderEnrollmentStruct[], overrides?: CallOverrides): Promise<void>;
4526
4794
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4527
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4795
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4796
+ getNegPnlCumulVolMultiplier(overrides?: CallOverrides): Promise<number>;
4528
4797
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput>;
4529
4798
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairOiStructOutput[]>;
4530
4799
  getOiWindowsSettings(overrides?: CallOverrides): Promise<IPriceImpact.OiWindowsSettingsStructOutput>;
@@ -4532,33 +4801,44 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4532
4801
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairDepthStructOutput[]>;
4533
4802
  getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<IPriceImpact.PairFactorsStructOutput[]>;
4534
4803
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
4535
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4804
+ getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4805
+ getTradePriceImpact(_trader: PromiseOrValue<string>, _marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4536
4806
  BigNumber,
4537
4807
  BigNumber
4538
4808
  ] & {
4539
4809
  priceImpactP: BigNumber;
4540
4810
  priceAfterImpact: BigNumber;
4541
4811
  }>;
4812
+ initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4542
4813
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4543
4814
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4544
4815
  setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4816
+ setExemptAfterProtectionCloseFactor(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4817
+ setExemptOnOpen(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptOnOpen: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4818
+ setNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4545
4819
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4546
4820
  setPriceImpactWindowsCount(_newWindowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4547
4821
  setPriceImpactWindowsDuration(_newWindowsDuration: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4548
4822
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4823
+ setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
4549
4824
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4550
4825
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4551
4826
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
4552
- closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
4827
+ closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4553
4828
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
4829
+ getAllPendingOrdersForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
4554
4830
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
4831
+ getAllTradeInfosForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeInfoStructOutput[]>;
4555
4832
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4833
+ getAllTradesForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4556
4834
  getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4835
+ getAllTradesLiquidationParamsForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4557
4836
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput>;
4558
4837
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
4559
4838
  getCollaterals(overrides?: CallOverrides): Promise<ITradingStorage.CollateralStructOutput[]>;
4560
4839
  getCollateralsCount(overrides?: CallOverrides): Promise<number>;
4561
4840
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput>;
4841
+ getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput[]>;
4562
4842
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
4563
4843
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4564
4844
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
@@ -4570,6 +4850,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4570
4850
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4571
4851
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4572
4852
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string[]>;
4853
+ getTradersCount(overrides?: CallOverrides): Promise<BigNumber>;
4573
4854
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput[]>;
4574
4855
  getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IPairsStorage.GroupLiquidationParamsStructOutput[]>;
4575
4856
  getTradingActivated(overrides?: CallOverrides): Promise<number>;
@@ -4583,7 +4864,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4583
4864
  updateOpenOrderDetails(_tradeId: ITradingStorage.IdStruct, _openPrice: PromiseOrValue<BigNumberish>, _tp: PromiseOrValue<BigNumberish>, _sl: PromiseOrValue<BigNumberish>, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4584
4865
  updateTradeCollateralAmount(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4585
4866
  updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4586
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4867
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
4587
4868
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4588
4869
  updateTradeTp(_tradeId: ITradingStorage.IdStruct, _newTp: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4589
4870
  updateTradingActivated(_activated: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -4627,32 +4908,28 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4627
4908
  getVaultClosingFeeP(overrides?: CallOverrides): Promise<number>;
4628
4909
  increasePositionSizeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4629
4910
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4911
+ initializeTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4630
4912
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4631
4913
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: CallOverrides): Promise<void>;
4914
+ updateTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4632
4915
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4633
4916
  validateTriggerCloseOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4634
4917
  ITradingStorage.TradeStructOutput,
4635
4918
  number,
4636
- ITradingCallbacks.ValuesStructOutput,
4637
- BigNumber
4919
+ ITradingCallbacks.ValuesStructOutput
4638
4920
  ] & {
4639
4921
  t: ITradingStorage.TradeStructOutput;
4640
4922
  cancelReason: number;
4641
4923
  v: ITradingCallbacks.ValuesStructOutput;
4642
- priceImpactP: BigNumber;
4643
4924
  }>;
4644
4925
  validateTriggerOpenOrderCallback(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<BigNumberish>, _high: PromiseOrValue<BigNumberish>, _low: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4645
4926
  ITradingStorage.TradeStructOutput,
4646
4927
  number,
4647
- BigNumber,
4648
- BigNumber,
4649
- boolean
4928
+ ITradingCallbacks.ValuesStructOutput
4650
4929
  ] & {
4651
4930
  t: ITradingStorage.TradeStructOutput;
4652
4931
  cancelReason: number;
4653
- priceImpactP: BigNumber;
4654
- priceAfterImpact: BigNumber;
4655
- exactExecution: boolean;
4932
+ v: ITradingCallbacks.ValuesStructOutput;
4656
4933
  }>;
4657
4934
  getAllBorrowingPairs(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
4658
4935
  IBorrowingFees.BorrowingDataStructOutput[],
@@ -4760,10 +5037,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4760
5037
  DiamondCut(_diamondCut?: null, _init?: null, _calldata?: null): DiamondCutEventFilter;
4761
5038
  "Initialized(uint8)"(version?: null): InitializedEventFilter;
4762
5039
  Initialized(version?: null): InitializedEventFilter;
4763
- "FeeAdded(uint256,string)"(index?: null, name?: null): FeeAddedEventFilter;
4764
- FeeAdded(index?: null, name?: null): FeeAddedEventFilter;
4765
- "FeeUpdated(uint256)"(index?: null): FeeUpdatedEventFilter;
4766
- FeeUpdated(index?: null): FeeUpdatedEventFilter;
5040
+ "FeeAdded(uint256,tuple)"(index?: null, feeGroup?: null): FeeAddedEventFilter;
5041
+ FeeAdded(index?: null, feeGroup?: null): FeeAddedEventFilter;
5042
+ "FeeUpdated(uint256,tuple)"(index?: null, feeGroup?: null): FeeUpdatedEventFilter;
5043
+ FeeUpdated(index?: null, feeGroup?: null): FeeUpdatedEventFilter;
5044
+ "GlobalTradeFeeParamsUpdated(tuple)"(feeParams?: null): GlobalTradeFeeParamsUpdatedEventFilter;
5045
+ GlobalTradeFeeParamsUpdated(feeParams?: null): GlobalTradeFeeParamsUpdatedEventFilter;
4767
5046
  "GroupAdded(uint256,string)"(index?: null, name?: null): GroupAddedEventFilter;
4768
5047
  GroupAdded(index?: null, name?: null): GroupAddedEventFilter;
4769
5048
  "GroupLiquidationParamsUpdated(uint256,tuple)"(index?: null, params?: null): GroupLiquidationParamsUpdatedEventFilter;
@@ -4816,10 +5095,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4816
5095
  TraderInfoFirstUpdate(trader?: PromiseOrValue<string> | null, day?: null): TraderInfoFirstUpdateEventFilter;
4817
5096
  "TraderInfoUpdated(address,tuple)"(trader?: PromiseOrValue<string> | null, traderInfo?: null): TraderInfoUpdatedEventFilter;
4818
5097
  TraderInfoUpdated(trader?: PromiseOrValue<string> | null, traderInfo?: null): TraderInfoUpdatedEventFilter;
5098
+ "TraderPointsCredited(address,uint32,uint8,uint224)"(trader?: PromiseOrValue<string> | null, day?: PromiseOrValue<BigNumberish> | null, creditType?: null, points?: null): TraderPointsCreditedEventFilter;
5099
+ TraderPointsCredited(trader?: PromiseOrValue<string> | null, day?: PromiseOrValue<BigNumberish> | null, creditType?: null, points?: null): TraderPointsCreditedEventFilter;
4819
5100
  "TraderTrailingPointsExpired(address,uint32,uint32,uint224)"(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
4820
5101
  TraderTrailingPointsExpired(trader?: PromiseOrValue<string> | null, fromDay?: null, toDay?: null, expiredPoints?: null): TraderTrailingPointsExpiredEventFilter;
5102
+ "TraderUnclaimedPointsClaimed(address,uint32,uint224)"(trader?: PromiseOrValue<string> | null, day?: PromiseOrValue<BigNumberish> | null, points?: null): TraderUnclaimedPointsClaimedEventFilter;
5103
+ TraderUnclaimedPointsClaimed(trader?: PromiseOrValue<string> | null, day?: PromiseOrValue<BigNumberish> | null, points?: null): TraderUnclaimedPointsClaimedEventFilter;
4821
5104
  "CumulativeFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
4822
5105
  CumulativeFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, cumulativeFactor?: null): CumulativeFactorUpdatedEventFilter;
5106
+ "ExemptAfterProtectionCloseFactorUpdated(uint256,bool)"(pairIndex?: PromiseOrValue<BigNumberish> | null, exemptAfterProtectionCloseFactor?: null): ExemptAfterProtectionCloseFactorUpdatedEventFilter;
5107
+ ExemptAfterProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, exemptAfterProtectionCloseFactor?: null): ExemptAfterProtectionCloseFactorUpdatedEventFilter;
5108
+ "ExemptOnOpenUpdated(uint256,bool)"(pairIndex?: PromiseOrValue<BigNumberish> | null, exemptOnOpen?: null): ExemptOnOpenUpdatedEventFilter;
5109
+ ExemptOnOpenUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, exemptOnOpen?: null): ExemptOnOpenUpdatedEventFilter;
5110
+ "NegPnlCumulVolMultiplierUpdated(uint40)"(negPnlCumulVolMultiplier?: PromiseOrValue<BigNumberish> | null): NegPnlCumulVolMultiplierUpdatedEventFilter;
5111
+ NegPnlCumulVolMultiplierUpdated(negPnlCumulVolMultiplier?: PromiseOrValue<BigNumberish> | null): NegPnlCumulVolMultiplierUpdatedEventFilter;
4823
5112
  "OiWindowsSettingsInitialized(uint48,uint48)"(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4824
5113
  OiWindowsSettingsInitialized(windowsDuration?: PromiseOrValue<BigNumberish> | null, windowsCount?: PromiseOrValue<BigNumberish> | null): OiWindowsSettingsInitializedEventFilter;
4825
5114
  "OnePercentDepthUpdated(uint256,uint128,uint128)"(pairIndex?: PromiseOrValue<BigNumberish> | null, valueAboveUsd?: null, valueBelowUsd?: null): OnePercentDepthUpdatedEventFilter;
@@ -4838,6 +5127,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4838
5127
  ProtectionCloseFactorBlocksUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactorBlocks?: null): ProtectionCloseFactorBlocksUpdatedEventFilter;
4839
5128
  "ProtectionCloseFactorUpdated(uint256,uint40)"(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
4840
5129
  ProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
5130
+ "ProtectionCloseFactorWhitelistUpdated(address,bool)"(trader?: null, whitelisted?: null): ProtectionCloseFactorWhitelistUpdatedEventFilter;
5131
+ ProtectionCloseFactorWhitelistUpdated(trader?: null, whitelisted?: null): ProtectionCloseFactorWhitelistUpdatedEventFilter;
4841
5132
  "CollateralAdded(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4842
5133
  CollateralAdded(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
4843
5134
  "CollateralDisabled(uint8)"(index?: null): CollateralDisabledEventFilter;
@@ -4846,26 +5137,26 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4846
5137
  CollateralUpdated(index?: PromiseOrValue<BigNumberish> | null, isActive?: null): CollateralUpdatedEventFilter;
4847
5138
  "GTokenUpdated(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): GTokenUpdatedEventFilter;
4848
5139
  GTokenUpdated(collateral?: null, index?: null, gToken?: null): GTokenUpdatedEventFilter;
4849
- "OpenOrderDetailsUpdated(tuple,uint64,uint64,uint64,uint16)"(tradeId?: null, openPrice?: null, tp?: null, sl?: null, maxSlippageP?: null): OpenOrderDetailsUpdatedEventFilter;
4850
- OpenOrderDetailsUpdated(tradeId?: null, openPrice?: null, tp?: null, sl?: null, maxSlippageP?: null): OpenOrderDetailsUpdatedEventFilter;
5140
+ "OpenOrderDetailsUpdated(address,uint32,uint64,uint64,uint64,uint16)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, openPrice?: null, tp?: null, sl?: null, maxSlippageP?: null): OpenOrderDetailsUpdatedEventFilter;
5141
+ OpenOrderDetailsUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, openPrice?: null, tp?: null, sl?: null, maxSlippageP?: null): OpenOrderDetailsUpdatedEventFilter;
4851
5142
  "PendingOrderClosed(tuple)"(orderId?: null): PendingOrderClosedEventFilter;
4852
5143
  PendingOrderClosed(orderId?: null): PendingOrderClosedEventFilter;
4853
5144
  "PendingOrderStored(tuple)"(pendingOrder?: null): PendingOrderStoredEventFilter;
4854
5145
  PendingOrderStored(pendingOrder?: null): PendingOrderStoredEventFilter;
4855
- "TradeClosed(tuple)"(tradeId?: null): TradeClosedEventFilter;
4856
- TradeClosed(tradeId?: null): TradeClosedEventFilter;
4857
- "TradeCollateralUpdated(tuple,uint120)"(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4858
- TradeCollateralUpdated(tradeId?: null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
4859
- "TradeMaxClosingSlippagePUpdated(tuple,uint16)"(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4860
- TradeMaxClosingSlippagePUpdated(tradeId?: null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
4861
- "TradePositionUpdated(tuple,uint120,uint24,uint64,uint64,uint64,bool)"(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null): TradePositionUpdatedEventFilter;
4862
- TradePositionUpdated(tradeId?: null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null): TradePositionUpdatedEventFilter;
4863
- "TradeSlUpdated(tuple,uint64)"(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4864
- TradeSlUpdated(tradeId?: null, newSl?: null): TradeSlUpdatedEventFilter;
4865
- "TradeStored(tuple,tuple,tuple)"(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
4866
- TradeStored(trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
4867
- "TradeTpUpdated(tuple,uint64)"(tradeId?: null, newTp?: null): TradeTpUpdatedEventFilter;
4868
- TradeTpUpdated(tradeId?: null, newTp?: null): TradeTpUpdatedEventFilter;
5146
+ "TradeClosed(address,uint32,bool)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, isPnlPositive?: null): TradeClosedEventFilter;
5147
+ TradeClosed(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, isPnlPositive?: null): TradeClosedEventFilter;
5148
+ "TradeCollateralUpdated(address,uint32,uint120)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
5149
+ TradeCollateralUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null): TradeCollateralUpdatedEventFilter;
5150
+ "TradeMaxClosingSlippagePUpdated(address,uint32,uint16)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
5151
+ TradeMaxClosingSlippagePUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, maxClosingSlippageP?: null): TradeMaxClosingSlippagePUpdatedEventFilter;
5152
+ "TradePositionUpdated(address,uint32,uint120,uint24,uint64,uint64,uint64,bool,bool)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null, isPnlPositive?: null): TradePositionUpdatedEventFilter;
5153
+ TradePositionUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralAmount?: null, leverage?: null, openPrice?: null, newTp?: null, newSl?: null, isPartialIncrease?: null, isPnlPositive?: null): TradePositionUpdatedEventFilter;
5154
+ "TradeSlUpdated(address,uint32,uint64)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, newSl?: null): TradeSlUpdatedEventFilter;
5155
+ TradeSlUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, newSl?: null): TradeSlUpdatedEventFilter;
5156
+ "TradeStored(address,uint32,tuple,tuple,tuple)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
5157
+ TradeStored(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, trade?: null, tradeInfo?: null, liquidationParams?: null): TradeStoredEventFilter;
5158
+ "TradeTpUpdated(address,uint32,uint64)"(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, newTp?: null): TradeTpUpdatedEventFilter;
5159
+ TradeTpUpdated(user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, newTp?: null): TradeTpUpdatedEventFilter;
4869
5160
  "TradingActivatedUpdated(uint8)"(activated?: null): TradingActivatedUpdatedEventFilter;
4870
5161
  TradingActivatedUpdated(activated?: null): TradingActivatedUpdatedEventFilter;
4871
5162
  "TriggerRewarded(uint256,uint256)"(rewardsPerOracleGns?: null, oraclesCount?: null): TriggerRewardedEventFilter;
@@ -4878,46 +5169,46 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4878
5169
  ByPassTriggerLinkUpdated(user?: PromiseOrValue<string> | null, bypass?: null): ByPassTriggerLinkUpdatedEventFilter;
4879
5170
  "ChainlinkCallbackTimeout(tuple,uint256)"(pendingOrderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null): ChainlinkCallbackTimeoutEventFilter;
4880
5171
  ChainlinkCallbackTimeout(pendingOrderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null): ChainlinkCallbackTimeoutEventFilter;
4881
- "CouldNotCloseTrade(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): CouldNotCloseTradeEventFilter;
4882
- CouldNotCloseTrade(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): CouldNotCloseTradeEventFilter;
4883
- "LeverageUpdateExecuted(tuple,bool,uint8,uint8,address,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, marketPrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
4884
- LeverageUpdateExecuted(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, marketPrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
4885
- "LeverageUpdateInitiated(tuple,address,uint256,uint256,bool,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
4886
- LeverageUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
5172
+ "CouldNotCloseTrade(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): CouldNotCloseTradeEventFilter;
5173
+ CouldNotCloseTrade(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): CouldNotCloseTradeEventFilter;
5174
+ "LeverageUpdateExecuted(tuple,bool,uint8,uint8,address,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, oraclePrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
5175
+ LeverageUpdateExecuted(orderId?: null, isIncrease?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, oraclePrice?: null, collateralDelta?: null, values?: null): LeverageUpdateExecutedEventFilter;
5176
+ "LeverageUpdateInitiated(tuple,address,uint256,uint256,bool,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
5177
+ LeverageUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, isIncrease?: null, newLeverage?: null): LeverageUpdateInitiatedEventFilter;
4887
5178
  "MarketOrderInitiated(tuple,address,uint16,bool)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, open?: null): MarketOrderInitiatedEventFilter;
4888
5179
  MarketOrderInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, open?: null): MarketOrderInitiatedEventFilter;
4889
5180
  "MarketOrdersTimeoutBlocksUpdated(uint256)"(newValueBlocks?: null): MarketOrdersTimeoutBlocksUpdatedEventFilter;
4890
5181
  MarketOrdersTimeoutBlocksUpdated(newValueBlocks?: null): MarketOrdersTimeoutBlocksUpdatedEventFilter;
4891
5182
  "NativeTokenWrapped(address,uint256)"(trader?: PromiseOrValue<string> | null, nativeTokenAmount?: null): NativeTokenWrappedEventFilter;
4892
5183
  NativeTokenWrapped(trader?: PromiseOrValue<string> | null, nativeTokenAmount?: null): NativeTokenWrappedEventFilter;
4893
- "OpenLimitCanceled(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenLimitCanceledEventFilter;
4894
- OpenLimitCanceled(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenLimitCanceledEventFilter;
4895
- "OpenLimitUpdated(address,uint16,uint32,uint64,uint64,uint64,uint64)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, newPrice?: null, newTp?: null, newSl?: null, maxSlippageP?: null): OpenLimitUpdatedEventFilter;
4896
- OpenLimitUpdated(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, newPrice?: null, newTp?: null, newSl?: null, maxSlippageP?: null): OpenLimitUpdatedEventFilter;
4897
- "OpenOrderPlaced(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenOrderPlacedEventFilter;
4898
- OpenOrderPlaced(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null): OpenOrderPlacedEventFilter;
4899
- "PositionSizeDecreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
4900
- PositionSizeDecreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
4901
- "PositionSizeIncreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
4902
- PositionSizeIncreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, long?: null, marketPrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
4903
- "PositionSizeUpdateInitiated(tuple,address,uint256,uint256,bool,uint256,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
4904
- PositionSizeUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
5184
+ "OpenLimitCanceled(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): OpenLimitCanceledEventFilter;
5185
+ OpenLimitCanceled(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): OpenLimitCanceledEventFilter;
5186
+ "OpenLimitUpdated(address,uint16,uint32,uint64,uint64,uint64,uint64)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, newPrice?: null, newTp?: null, newSl?: null, maxSlippageP?: null): OpenLimitUpdatedEventFilter;
5187
+ OpenLimitUpdated(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, newPrice?: null, newTp?: null, newSl?: null, maxSlippageP?: null): OpenLimitUpdatedEventFilter;
5188
+ "OpenOrderPlaced(address,uint16,uint32)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): OpenOrderPlacedEventFilter;
5189
+ OpenOrderPlaced(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null): OpenOrderPlacedEventFilter;
5190
+ "PositionSizeDecreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, long?: null, oraclePrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
5191
+ PositionSizeDecreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, long?: null, oraclePrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeDecreaseExecutedEventFilter;
5192
+ "PositionSizeIncreaseExecuted(tuple,uint8,uint8,address,uint256,uint256,bool,uint256,uint256,uint256,uint256,tuple)"(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, long?: null, oraclePrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
5193
+ PositionSizeIncreaseExecuted(orderId?: null, cancelReason?: null, collateralIndex?: PromiseOrValue<BigNumberish> | null, trader?: PromiseOrValue<string> | null, pairIndex?: null, index?: PromiseOrValue<BigNumberish> | null, long?: null, oraclePrice?: null, collateralPriceUsd?: null, collateralDelta?: null, leverageDelta?: null, values?: null): PositionSizeIncreaseExecutedEventFilter;
5194
+ "PositionSizeUpdateInitiated(tuple,address,uint256,uint256,bool,uint256,uint256)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
5195
+ PositionSizeUpdateInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, isIncrease?: null, collateralDelta?: null, leverageDelta?: null): PositionSizeUpdateInitiatedEventFilter;
4905
5196
  "TriggerOrderInitiated(tuple,address,uint16,bool)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, byPassesLinkCost?: null): TriggerOrderInitiatedEventFilter;
4906
5197
  TriggerOrderInitiated(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, byPassesLinkCost?: null): TriggerOrderInitiatedEventFilter;
4907
- "BorrowingFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): BorrowingFeeChargedEventFilter;
4908
- BorrowingFeeCharged(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): BorrowingFeeChargedEventFilter;
5198
+ "BorrowingFeeCharged(address,uint32,uint8,uint256)"(trader?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): BorrowingFeeChargedEventFilter;
5199
+ BorrowingFeeCharged(trader?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): BorrowingFeeChargedEventFilter;
4909
5200
  "GTokenFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GTokenFeeChargedEventFilter;
4910
5201
  GTokenFeeCharged(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GTokenFeeChargedEventFilter;
4911
- "GnsStakingFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GnsStakingFeeChargedEventFilter;
4912
- GnsStakingFeeCharged(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GnsStakingFeeChargedEventFilter;
5202
+ "GnsOtcFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GnsOtcFeeChargedEventFilter;
5203
+ GnsOtcFeeCharged(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GnsOtcFeeChargedEventFilter;
4913
5204
  "GovFeeCharged(address,uint8,uint256)"(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GovFeeChargedEventFilter;
4914
5205
  GovFeeCharged(trader?: PromiseOrValue<string> | null, collateralIndex?: PromiseOrValue<BigNumberish> | null, amountCollateral?: null): GovFeeChargedEventFilter;
4915
- "LimitExecuted(tuple,tuple,address,uint8,uint256,uint256,int256,uint256,uint256,bool)"(orderId?: null, t?: null, triggerCaller?: PromiseOrValue<string> | null, orderType?: null, price?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null, exactExecution?: null): LimitExecutedEventFilter;
4916
- LimitExecuted(orderId?: null, t?: null, triggerCaller?: PromiseOrValue<string> | null, orderType?: null, price?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null, exactExecution?: null): LimitExecutedEventFilter;
4917
- "MarketCloseCanceled(tuple,address,uint256,uint256,uint8)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, cancelReason?: null): MarketCloseCanceledEventFilter;
4918
- MarketCloseCanceled(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: null, cancelReason?: null): MarketCloseCanceledEventFilter;
4919
- "MarketExecuted(tuple,tuple,bool,uint64,uint256,int256,uint256,uint256)"(orderId?: null, t?: null, open?: null, price?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null): MarketExecutedEventFilter;
4920
- MarketExecuted(orderId?: null, t?: null, open?: null, price?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null): MarketExecutedEventFilter;
5206
+ "LimitExecuted(tuple,address,uint32,uint32,tuple,address,uint8,uint256,uint256,uint256,uint256,int256,uint256,uint256,bool)"(orderId?: null, user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, limitIndex?: PromiseOrValue<BigNumberish> | null, t?: null, triggerCaller?: null, orderType?: null, oraclePrice?: null, marketPrice?: null, liqPrice?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null, exactExecution?: null): LimitExecutedEventFilter;
5207
+ LimitExecuted(orderId?: null, user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, limitIndex?: PromiseOrValue<BigNumberish> | null, t?: null, triggerCaller?: null, orderType?: null, oraclePrice?: null, marketPrice?: null, liqPrice?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null, exactExecution?: null): LimitExecutedEventFilter;
5208
+ "MarketCloseCanceled(tuple,address,uint256,uint256,uint8)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, cancelReason?: null): MarketCloseCanceledEventFilter;
5209
+ MarketCloseCanceled(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, index?: PromiseOrValue<BigNumberish> | null, cancelReason?: null): MarketCloseCanceledEventFilter;
5210
+ "MarketExecuted(tuple,address,uint32,tuple,bool,uint256,uint256,uint256,uint256,int256,uint256,uint256)"(orderId?: null, user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, t?: null, open?: null, oraclePrice?: null, marketPrice?: null, liqPrice?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null): MarketExecutedEventFilter;
5211
+ MarketExecuted(orderId?: null, user?: PromiseOrValue<string> | null, index?: PromiseOrValue<BigNumberish> | null, t?: null, open?: null, oraclePrice?: null, marketPrice?: null, liqPrice?: null, priceImpactP?: null, percentProfit?: null, amountSentToTrader?: null, collateralPriceUsd?: null): MarketExecutedEventFilter;
4921
5212
  "MarketOpenCanceled(tuple,address,uint256,uint8)"(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, cancelReason?: null): MarketOpenCanceledEventFilter;
4922
5213
  MarketOpenCanceled(orderId?: null, trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, cancelReason?: null): MarketOpenCanceledEventFilter;
4923
5214
  "PendingGovFeesClaimed(uint8,uint256)"(collateralIndex?: null, amountCollateral?: null): PendingGovFeesClaimedEventFilter;
@@ -4993,13 +5284,14 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4993
5284
  facets(overrides?: CallOverrides): Promise<BigNumber>;
4994
5285
  getAddresses(overrides?: CallOverrides): Promise<BigNumber>;
4995
5286
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4996
- initialize(_rolesManager: PromiseOrValue<string>, overrides?: Overrides & {
5287
+ hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5288
+ initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
4997
5289
  from?: PromiseOrValue<string>;
4998
5290
  }): Promise<BigNumber>;
4999
5291
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
5000
5292
  from?: PromiseOrValue<string>;
5001
5293
  }): Promise<BigNumber>;
5002
- addFees(_fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
5294
+ addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
5003
5295
  from?: PromiseOrValue<string>;
5004
5296
  }): Promise<BigNumber>;
5005
5297
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -5011,6 +5303,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5011
5303
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5012
5304
  feesCount(overrides?: CallOverrides): Promise<BigNumber>;
5013
5305
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<BigNumber>;
5306
+ getGlobalTradeFeeParams(overrides?: CallOverrides): Promise<BigNumber>;
5014
5307
  getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5015
5308
  getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5016
5309
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5018,29 +5311,33 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5018
5311
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
5019
5312
  from?: PromiseOrValue<string>;
5020
5313
  }): Promise<BigNumber>;
5314
+ initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
5315
+ from?: PromiseOrValue<string>;
5316
+ }): Promise<BigNumber>;
5021
5317
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5022
5318
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5023
- pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5024
5319
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5025
5320
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5026
5321
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5027
5322
  pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5028
5323
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5029
5324
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5030
- pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5031
- pairOracleFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5325
+ pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5032
5326
  pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5033
- pairTriggerOrderFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5327
+ pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5328
+ pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5034
5329
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5035
- pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5036
5330
  pairsCount(overrides?: CallOverrides): Promise<BigNumber>;
5331
+ setGlobalTradeFeeParams(_feeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
5332
+ from?: PromiseOrValue<string>;
5333
+ }): Promise<BigNumber>;
5037
5334
  setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
5038
5335
  from?: PromiseOrValue<string>;
5039
5336
  }): Promise<BigNumber>;
5040
5337
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5041
5338
  from?: PromiseOrValue<string>;
5042
5339
  }): Promise<BigNumber>;
5043
- updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
5340
+ updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
5044
5341
  from?: PromiseOrValue<string>;
5045
5342
  }): Promise<BigNumber>;
5046
5343
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -5055,21 +5352,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5055
5352
  claimReferrerRewards(overrides?: Overrides & {
5056
5353
  from?: PromiseOrValue<string>;
5057
5354
  }): Promise<BigNumber>;
5058
- distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairOpenFeeP: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5355
+ distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5059
5356
  from?: PromiseOrValue<string>;
5060
5357
  }): Promise<BigNumber>;
5061
5358
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5062
5359
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5063
- getReferralsOpenFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5064
5360
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5065
5361
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
5066
5362
  getReferrerDetails(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5067
- getReferrerFeeP(_pairOpenFeeP: PromiseOrValue<BigNumberish>, _volumeReferredUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5363
+ getReferrerFeeProgressP(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5068
5364
  getReferrersReferred(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5069
5365
  getTraderActiveReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5070
5366
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5071
5367
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5072
- initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _openFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5368
+ initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5073
5369
  from?: PromiseOrValue<string>;
5074
5370
  }): Promise<BigNumber>;
5075
5371
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
@@ -5084,9 +5380,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5084
5380
  updateAllyFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5085
5381
  from?: PromiseOrValue<string>;
5086
5382
  }): Promise<BigNumber>;
5087
- updateReferralsOpenFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5088
- from?: PromiseOrValue<string>;
5089
- }): Promise<BigNumber>;
5090
5383
  updateReferralsTargetVolumeUsd(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5091
5384
  from?: PromiseOrValue<string>;
5092
5385
  }): Promise<BigNumber>;
@@ -5099,6 +5392,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5099
5392
  whitelistReferrers(_referrers: PromiseOrValue<string>[], _allies: PromiseOrValue<string>[], overrides?: Overrides & {
5100
5393
  from?: PromiseOrValue<string>;
5101
5394
  }): Promise<BigNumber>;
5395
+ addTradersUnclaimedPoints(_traders: PromiseOrValue<string>[], _creditTypes: PromiseOrValue<BigNumberish>[], _points: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5396
+ from?: PromiseOrValue<string>;
5397
+ }): Promise<BigNumber>;
5102
5398
  calculateFeeAmount(_trader: PromiseOrValue<string>, _normalFeeAmountCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5103
5399
  getFeeTier(_feeTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5104
5400
  getFeeTiersCount(overrides?: CallOverrides): Promise<BigNumber>;
@@ -5106,6 +5402,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5106
5402
  getFeeTiersTraderInfo(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5107
5403
  getGroupVolumeMultiplier(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5108
5404
  getTraderFeeTiersEnrollment(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5405
+ getTraderUnclaimedPoints(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5109
5406
  initializeFeeTiers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], _feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: Overrides & {
5110
5407
  from?: PromiseOrValue<string>;
5111
5408
  }): Promise<BigNumber>;
@@ -5121,9 +5418,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5121
5418
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5122
5419
  from?: PromiseOrValue<string>;
5123
5420
  }): Promise<BigNumber>;
5124
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
5421
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5125
5422
  from?: PromiseOrValue<string>;
5126
5423
  }): Promise<BigNumber>;
5424
+ getNegPnlCumulVolMultiplier(overrides?: CallOverrides): Promise<BigNumber>;
5127
5425
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5128
5426
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5129
5427
  getOiWindowsSettings(overrides?: CallOverrides): Promise<BigNumber>;
@@ -5131,7 +5429,11 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5131
5429
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5132
5430
  getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5133
5431
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
5134
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5432
+ getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5433
+ getTradePriceImpact(_trader: PromiseOrValue<string>, _marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5434
+ initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5435
+ from?: PromiseOrValue<string>;
5436
+ }): Promise<BigNumber>;
5135
5437
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5136
5438
  from?: PromiseOrValue<string>;
5137
5439
  }): Promise<BigNumber>;
@@ -5141,6 +5443,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5141
5443
  setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5142
5444
  from?: PromiseOrValue<string>;
5143
5445
  }): Promise<BigNumber>;
5446
+ setExemptAfterProtectionCloseFactor(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>[], overrides?: Overrides & {
5447
+ from?: PromiseOrValue<string>;
5448
+ }): Promise<BigNumber>;
5449
+ setExemptOnOpen(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptOnOpen: PromiseOrValue<boolean>[], overrides?: Overrides & {
5450
+ from?: PromiseOrValue<string>;
5451
+ }): Promise<BigNumber>;
5452
+ setNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5453
+ from?: PromiseOrValue<string>;
5454
+ }): Promise<BigNumber>;
5144
5455
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5145
5456
  from?: PromiseOrValue<string>;
5146
5457
  }): Promise<BigNumber>;
@@ -5153,6 +5464,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5153
5464
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5154
5465
  from?: PromiseOrValue<string>;
5155
5466
  }): Promise<BigNumber>;
5467
+ setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: Overrides & {
5468
+ from?: PromiseOrValue<string>;
5469
+ }): Promise<BigNumber>;
5156
5470
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5157
5471
  from?: PromiseOrValue<string>;
5158
5472
  }): Promise<BigNumber>;
@@ -5162,18 +5476,23 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5162
5476
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
5163
5477
  from?: PromiseOrValue<string>;
5164
5478
  }): Promise<BigNumber>;
5165
- closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: Overrides & {
5479
+ closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5166
5480
  from?: PromiseOrValue<string>;
5167
5481
  }): Promise<BigNumber>;
5168
5482
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5483
+ getAllPendingOrdersForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5169
5484
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5485
+ getAllTradeInfosForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5170
5486
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5487
+ getAllTradesForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5171
5488
  getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5489
+ getAllTradesLiquidationParamsForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5172
5490
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5173
5491
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5174
5492
  getCollaterals(overrides?: CallOverrides): Promise<BigNumber>;
5175
5493
  getCollateralsCount(overrides?: CallOverrides): Promise<BigNumber>;
5176
5494
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5495
+ getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5177
5496
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<BigNumber>;
5178
5497
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5179
5498
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5185,6 +5504,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5185
5504
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5186
5505
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5187
5506
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5507
+ getTradersCount(overrides?: CallOverrides): Promise<BigNumber>;
5188
5508
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5189
5509
  getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5190
5510
  getTradingActivated(overrides?: CallOverrides): Promise<BigNumber>;
@@ -5214,7 +5534,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5214
5534
  updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5215
5535
  from?: PromiseOrValue<string>;
5216
5536
  }): Promise<BigNumber>;
5217
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
5537
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5218
5538
  from?: PromiseOrValue<string>;
5219
5539
  }): Promise<BigNumber>;
5220
5540
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5326,12 +5646,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5326
5646
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5327
5647
  from?: PromiseOrValue<string>;
5328
5648
  }): Promise<BigNumber>;
5649
+ initializeTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
5650
+ from?: PromiseOrValue<string>;
5651
+ }): Promise<BigNumber>;
5329
5652
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5330
5653
  from?: PromiseOrValue<string>;
5331
5654
  }): Promise<BigNumber>;
5332
5655
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5333
5656
  from?: PromiseOrValue<string>;
5334
5657
  }): Promise<BigNumber>;
5658
+ updateTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
5659
+ from?: PromiseOrValue<string>;
5660
+ }): Promise<BigNumber>;
5335
5661
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5336
5662
  from?: PromiseOrValue<string>;
5337
5663
  }): Promise<BigNumber>;
@@ -5465,13 +5791,14 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5465
5791
  facets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5466
5792
  getAddresses(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5467
5793
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5468
- initialize(_rolesManager: PromiseOrValue<string>, overrides?: Overrides & {
5794
+ hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5795
+ initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
5469
5796
  from?: PromiseOrValue<string>;
5470
5797
  }): Promise<PopulatedTransaction>;
5471
5798
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
5472
5799
  from?: PromiseOrValue<string>;
5473
5800
  }): Promise<PopulatedTransaction>;
5474
- addFees(_fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
5801
+ addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
5475
5802
  from?: PromiseOrValue<string>;
5476
5803
  }): Promise<PopulatedTransaction>;
5477
5804
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -5483,6 +5810,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5483
5810
  fees(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5484
5811
  feesCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5485
5812
  getAllPairsRestrictedMaxLeverage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5813
+ getGlobalTradeFeeParams(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5486
5814
  getGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5487
5815
  getPairLiquidationParams(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5488
5816
  groups(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5490,29 +5818,33 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5490
5818
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: Overrides & {
5491
5819
  from?: PromiseOrValue<string>;
5492
5820
  }): Promise<PopulatedTransaction>;
5821
+ initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
5822
+ from?: PromiseOrValue<string>;
5823
+ }): Promise<PopulatedTransaction>;
5493
5824
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5494
5825
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5495
- pairCloseFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5496
5826
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5497
5827
  pairJob(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5498
5828
  pairMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5499
5829
  pairMinFeeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5500
5830
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5501
5831
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5502
- pairOpenFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5503
- pairOracleFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5832
+ pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5504
5833
  pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5505
- pairTriggerOrderFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5834
+ pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5835
+ pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5506
5836
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5507
- pairsBackend(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5508
5837
  pairsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5838
+ setGlobalTradeFeeParams(_feeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
5839
+ from?: PromiseOrValue<string>;
5840
+ }): Promise<PopulatedTransaction>;
5509
5841
  setGroupLiquidationParams(_groupIndex: PromiseOrValue<BigNumberish>, _params: IPairsStorage.GroupLiquidationParamsStruct, overrides?: Overrides & {
5510
5842
  from?: PromiseOrValue<string>;
5511
5843
  }): Promise<PopulatedTransaction>;
5512
5844
  setPairCustomMaxLeverages(_indices: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5513
5845
  from?: PromiseOrValue<string>;
5514
5846
  }): Promise<PopulatedTransaction>;
5515
- updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeStruct[], overrides?: Overrides & {
5847
+ updateFees(_ids: PromiseOrValue<BigNumberish>[], _fees: IPairsStorage.FeeGroupStruct[], overrides?: Overrides & {
5516
5848
  from?: PromiseOrValue<string>;
5517
5849
  }): Promise<PopulatedTransaction>;
5518
5850
  updateGroups(_ids: PromiseOrValue<BigNumberish>[], _groups: IPairsStorage.GroupStruct[], overrides?: Overrides & {
@@ -5527,21 +5859,20 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5527
5859
  claimReferrerRewards(overrides?: Overrides & {
5528
5860
  from?: PromiseOrValue<string>;
5529
5861
  }): Promise<PopulatedTransaction>;
5530
- distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairOpenFeeP: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5862
+ distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5531
5863
  from?: PromiseOrValue<string>;
5532
5864
  }): Promise<PopulatedTransaction>;
5533
5865
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5534
5866
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5535
- getReferralsOpenFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5536
5867
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5537
5868
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5538
5869
  getReferrerDetails(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5539
- getReferrerFeeP(_pairOpenFeeP: PromiseOrValue<BigNumberish>, _volumeReferredUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5870
+ getReferrerFeeProgressP(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5540
5871
  getReferrersReferred(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5541
5872
  getTraderActiveReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5542
5873
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5543
5874
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5544
- initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _openFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5875
+ initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5545
5876
  from?: PromiseOrValue<string>;
5546
5877
  }): Promise<PopulatedTransaction>;
5547
5878
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
@@ -5556,9 +5887,6 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5556
5887
  updateAllyFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5557
5888
  from?: PromiseOrValue<string>;
5558
5889
  }): Promise<PopulatedTransaction>;
5559
- updateReferralsOpenFeeP(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5560
- from?: PromiseOrValue<string>;
5561
- }): Promise<PopulatedTransaction>;
5562
5890
  updateReferralsTargetVolumeUsd(_value: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5563
5891
  from?: PromiseOrValue<string>;
5564
5892
  }): Promise<PopulatedTransaction>;
@@ -5571,6 +5899,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5571
5899
  whitelistReferrers(_referrers: PromiseOrValue<string>[], _allies: PromiseOrValue<string>[], overrides?: Overrides & {
5572
5900
  from?: PromiseOrValue<string>;
5573
5901
  }): Promise<PopulatedTransaction>;
5902
+ addTradersUnclaimedPoints(_traders: PromiseOrValue<string>[], _creditTypes: PromiseOrValue<BigNumberish>[], _points: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5903
+ from?: PromiseOrValue<string>;
5904
+ }): Promise<PopulatedTransaction>;
5574
5905
  calculateFeeAmount(_trader: PromiseOrValue<string>, _normalFeeAmountCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5575
5906
  getFeeTier(_feeTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5576
5907
  getFeeTiersCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5578,6 +5909,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5578
5909
  getFeeTiersTraderInfo(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5579
5910
  getGroupVolumeMultiplier(_groupIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5580
5911
  getTraderFeeTiersEnrollment(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5912
+ getTraderUnclaimedPoints(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5581
5913
  initializeFeeTiers(_groupIndices: PromiseOrValue<BigNumberish>[], _groupVolumeMultipliers: PromiseOrValue<BigNumberish>[], _feeTiersIndices: PromiseOrValue<BigNumberish>[], _feeTiers: IFeeTiers.FeeTierStruct[], overrides?: Overrides & {
5582
5914
  from?: PromiseOrValue<string>;
5583
5915
  }): Promise<PopulatedTransaction>;
@@ -5593,9 +5925,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5593
5925
  updateTraderPoints(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5594
5926
  from?: PromiseOrValue<string>;
5595
5927
  }): Promise<PopulatedTransaction>;
5596
- addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, overrides?: Overrides & {
5928
+ addPriceImpactOpenInterest(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, _oiDeltaCollateral: PromiseOrValue<BigNumberish>, _open: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5597
5929
  from?: PromiseOrValue<string>;
5598
5930
  }): Promise<PopulatedTransaction>;
5931
+ getNegPnlCumulVolMultiplier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5599
5932
  getOiWindow(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5600
5933
  getOiWindows(_windowsDuration: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _windowIds: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5601
5934
  getOiWindowsSettings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5603,7 +5936,11 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5603
5936
  getPairDepths(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5604
5937
  getPairFactors(_indices: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
5605
5938
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5606
- getTradePriceImpact(_marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5939
+ getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5940
+ getTradePriceImpact(_trader: PromiseOrValue<string>, _marketPrice: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, _tradeOpenInterestUsd: PromiseOrValue<BigNumberish>, _isPnlPositive: PromiseOrValue<boolean>, _open: PromiseOrValue<boolean>, _lastPosIncreaseBlock: PromiseOrValue<BigNumberish>, _contractsVersion: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5941
+ initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5942
+ from?: PromiseOrValue<string>;
5943
+ }): Promise<PopulatedTransaction>;
5607
5944
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5608
5945
  from?: PromiseOrValue<string>;
5609
5946
  }): Promise<PopulatedTransaction>;
@@ -5613,6 +5950,15 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5613
5950
  setCumulativeFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5614
5951
  from?: PromiseOrValue<string>;
5615
5952
  }): Promise<PopulatedTransaction>;
5953
+ setExemptAfterProtectionCloseFactor(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptAfterProtectionCloseFactor: PromiseOrValue<boolean>[], overrides?: Overrides & {
5954
+ from?: PromiseOrValue<string>;
5955
+ }): Promise<PopulatedTransaction>;
5956
+ setExemptOnOpen(_pairIndices: PromiseOrValue<BigNumberish>[], _exemptOnOpen: PromiseOrValue<boolean>[], overrides?: Overrides & {
5957
+ from?: PromiseOrValue<string>;
5958
+ }): Promise<PopulatedTransaction>;
5959
+ setNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5960
+ from?: PromiseOrValue<string>;
5961
+ }): Promise<PopulatedTransaction>;
5616
5962
  setPairDepths(_indices: PromiseOrValue<BigNumberish>[], _depthsAboveUsd: PromiseOrValue<BigNumberish>[], _depthsBelowUsd: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5617
5963
  from?: PromiseOrValue<string>;
5618
5964
  }): Promise<PopulatedTransaction>;
@@ -5625,6 +5971,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5625
5971
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5626
5972
  from?: PromiseOrValue<string>;
5627
5973
  }): Promise<PopulatedTransaction>;
5974
+ setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: Overrides & {
5975
+ from?: PromiseOrValue<string>;
5976
+ }): Promise<PopulatedTransaction>;
5628
5977
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5629
5978
  from?: PromiseOrValue<string>;
5630
5979
  }): Promise<PopulatedTransaction>;
@@ -5634,18 +5983,23 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5634
5983
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: Overrides & {
5635
5984
  from?: PromiseOrValue<string>;
5636
5985
  }): Promise<PopulatedTransaction>;
5637
- closeTrade(_tradeId: ITradingStorage.IdStruct, overrides?: Overrides & {
5986
+ closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5638
5987
  from?: PromiseOrValue<string>;
5639
5988
  }): Promise<PopulatedTransaction>;
5640
5989
  getAllPendingOrders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5990
+ getAllPendingOrdersForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5641
5991
  getAllTradeInfos(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5992
+ getAllTradeInfosForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5642
5993
  getAllTrades(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5994
+ getAllTradesForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5643
5995
  getAllTradesLiquidationParams(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5996
+ getAllTradesLiquidationParamsForTraders(_traders: PromiseOrValue<string>[], _offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5644
5997
  getCollateral(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5645
5998
  getCollateralIndex(_collateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5646
5999
  getCollaterals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5647
6000
  getCollateralsCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5648
6001
  getCounters(_trader: PromiseOrValue<string>, _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6002
+ getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5649
6003
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5650
6004
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5651
6005
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5657,6 +6011,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5657
6011
  getTradePendingOrderBlock(_tradeId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5658
6012
  getTraderStored(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5659
6013
  getTraders(_offset: PromiseOrValue<BigNumberish>, _limit: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6014
+ getTradersCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
5660
6015
  getTrades(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5661
6016
  getTradesLiquidationParams(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
5662
6017
  getTradingActivated(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -5686,7 +6041,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5686
6041
  updateTradeMaxClosingSlippageP(_tradeId: ITradingStorage.IdStruct, _maxSlippageP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5687
6042
  from?: PromiseOrValue<string>;
5688
6043
  }): Promise<PopulatedTransaction>;
5689
- updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, overrides?: Overrides & {
6044
+ updateTradePosition(_tradeId: ITradingStorage.IdStruct, _collateralAmount: PromiseOrValue<BigNumberish>, _leverage: PromiseOrValue<BigNumberish>, _openPrice: PromiseOrValue<BigNumberish>, _isPartialIncrease: PromiseOrValue<boolean>, _isPnlPositive: PromiseOrValue<boolean>, overrides?: Overrides & {
5690
6045
  from?: PromiseOrValue<string>;
5691
6046
  }): Promise<PopulatedTransaction>;
5692
6047
  updateTradeSl(_tradeId: ITradingStorage.IdStruct, _newSl: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
@@ -5798,12 +6153,18 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5798
6153
  initializeCallbacks(_vaultClosingFeeP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5799
6154
  from?: PromiseOrValue<string>;
5800
6155
  }): Promise<PopulatedTransaction>;
6156
+ initializeTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
6157
+ from?: PromiseOrValue<string>;
6158
+ }): Promise<PopulatedTransaction>;
5801
6159
  openTradeMarketCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5802
6160
  from?: PromiseOrValue<string>;
5803
6161
  }): Promise<PopulatedTransaction>;
5804
6162
  updateLeverageCallback(_a: ITradingCallbacks.AggregatorAnswerStruct, overrides?: Overrides & {
5805
6163
  from?: PromiseOrValue<string>;
5806
6164
  }): Promise<PopulatedTransaction>;
6165
+ updateTreasuryAddress(_treasury: PromiseOrValue<string>, overrides?: Overrides & {
6166
+ from?: PromiseOrValue<string>;
6167
+ }): Promise<PopulatedTransaction>;
5807
6168
  updateVaultClosingFeeP(_valueP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5808
6169
  from?: PromiseOrValue<string>;
5809
6170
  }): Promise<PopulatedTransaction>;