@gainsnetwork/sdk 0.2.59-rc6 → 0.2.60-rc1

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.
@@ -172,6 +172,20 @@ export declare namespace IReferrals {
172
172
  totalRewardsValueUsd: BigNumber;
173
173
  active: boolean;
174
174
  };
175
+ type ReferralSettingsOverridesStruct = {
176
+ referralFeeOverrideP: PromiseOrValue<BigNumberish>;
177
+ allyFeeOverrideP: PromiseOrValue<BigNumberish>;
178
+ __placeholder: PromiseOrValue<BigNumberish>;
179
+ };
180
+ type ReferralSettingsOverridesStructOutput = [
181
+ number,
182
+ number,
183
+ BigNumber
184
+ ] & {
185
+ referralFeeOverrideP: number;
186
+ allyFeeOverrideP: number;
187
+ __placeholder: BigNumber;
188
+ };
175
189
  type ReferrerDetailsStruct = {
176
190
  ally: PromiseOrValue<string>;
177
191
  tradersReferred: PromiseOrValue<string>[];
@@ -315,6 +329,16 @@ export declare namespace IPriceImpact {
315
329
  exemptAfterProtectionCloseFactor: boolean;
316
330
  __placeholder: BigNumber;
317
331
  };
332
+ type UserPriceImpactStruct = {
333
+ cumulVolPriceImpactMultiplier: PromiseOrValue<BigNumberish>;
334
+ fixedSpreadP: PromiseOrValue<BigNumberish>;
335
+ __placeholder: PromiseOrValue<BigNumberish>;
336
+ };
337
+ type UserPriceImpactStructOutput = [number, number, BigNumber] & {
338
+ cumulVolPriceImpactMultiplier: number;
339
+ fixedSpreadP: number;
340
+ __placeholder: BigNumber;
341
+ };
318
342
  }
319
343
  export declare namespace ITradingStorage {
320
344
  type IdStruct = {
@@ -823,6 +847,23 @@ export declare namespace IPriceAggregator {
823
847
  poolType: number;
824
848
  __placeholder: BigNumber;
825
849
  };
850
+ type OrderAnswerStruct = {
851
+ open: PromiseOrValue<BigNumberish>;
852
+ high: PromiseOrValue<BigNumberish>;
853
+ low: PromiseOrValue<BigNumberish>;
854
+ ts: PromiseOrValue<BigNumberish>;
855
+ };
856
+ type OrderAnswerStructOutput = [
857
+ BigNumber,
858
+ BigNumber,
859
+ BigNumber,
860
+ BigNumber
861
+ ] & {
862
+ open: BigNumber;
863
+ high: BigNumber;
864
+ low: BigNumber;
865
+ ts: BigNumber;
866
+ };
826
867
  type OrderStruct = {
827
868
  user: PromiseOrValue<string>;
828
869
  index: PromiseOrValue<BigNumberish>;
@@ -846,23 +887,6 @@ export declare namespace IPriceAggregator {
846
887
  isLookback: boolean;
847
888
  __placeholder: number;
848
889
  };
849
- type OrderAnswerStruct = {
850
- open: PromiseOrValue<BigNumberish>;
851
- high: PromiseOrValue<BigNumberish>;
852
- low: PromiseOrValue<BigNumberish>;
853
- ts: PromiseOrValue<BigNumberish>;
854
- };
855
- type OrderAnswerStructOutput = [
856
- BigNumber,
857
- BigNumber,
858
- BigNumber,
859
- BigNumber
860
- ] & {
861
- open: BigNumber;
862
- high: BigNumber;
863
- low: BigNumber;
864
- ts: BigNumber;
865
- };
866
890
  type LiquidityPoolInputStruct = {
867
891
  pool: PromiseOrValue<string>;
868
892
  poolType: PromiseOrValue<BigNumberish>;
@@ -951,6 +975,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
951
975
  "groupsCount()": FunctionFragment;
952
976
  "initializeGroupLiquidationParams((uint40,uint40,uint40,uint24,uint24)[])": FunctionFragment;
953
977
  "initializeNewFees((uint24,uint24,uint24,uint24,uint24,uint136))": FunctionFragment;
978
+ "initializeReferralFeeChange()": FunctionFragment;
954
979
  "isPairIndexListed(uint256)": FunctionFragment;
955
980
  "isPairListed(string,string)": FunctionFragment;
956
981
  "pairCustomMaxLeverage(uint256)": FunctionFragment;
@@ -960,7 +985,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
960
985
  "pairMinLeverage(uint256)": FunctionFragment;
961
986
  "pairMinPositionSizeUsd(uint256)": FunctionFragment;
962
987
  "pairOraclePositionSizeFeeP(uint256)": FunctionFragment;
963
- "pairSpreadP(uint256)": FunctionFragment;
988
+ "pairSpreadP(address,uint256)": FunctionFragment;
989
+ "pairSpreadPArray(address[],uint256[])": FunctionFragment;
964
990
  "pairTotalLiqCollateralFeeP(uint256)": FunctionFragment;
965
991
  "pairTotalPositionSizeFeeP(uint256)": FunctionFragment;
966
992
  "pairs(uint256)": FunctionFragment;
@@ -975,6 +1001,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
975
1001
  "claimReferrerRewards()": FunctionFragment;
976
1002
  "distributeReferralReward(address,uint256,uint256,uint256)": FunctionFragment;
977
1003
  "getAllyDetails(address)": FunctionFragment;
1004
+ "getReferralSettingsOverrides(address)": FunctionFragment;
978
1005
  "getReferralsAllyFeeP()": FunctionFragment;
979
1006
  "getReferralsStartReferrerFeeP()": FunctionFragment;
980
1007
  "getReferralsTargetVolumeUsd()": FunctionFragment;
@@ -985,6 +1012,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
985
1012
  "getTraderLastReferrer(address)": FunctionFragment;
986
1013
  "getTradersReferred(address)": FunctionFragment;
987
1014
  "initializeReferrals(uint256,uint256,uint256)": FunctionFragment;
1015
+ "overrideAllyFeeP(address[],uint24[])": FunctionFragment;
1016
+ "overrideReferralFeeP(address[],uint24[])": FunctionFragment;
988
1017
  "registerPotentialReferrer(address,address)": FunctionFragment;
989
1018
  "unwhitelistAllies(address[])": FunctionFragment;
990
1019
  "unwhitelistReferrers(address[])": FunctionFragment;
@@ -1018,6 +1047,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1018
1047
  "getPriceImpactOi(uint256,bool)": FunctionFragment;
1019
1048
  "getProtectionCloseFactorWhitelist(address)": FunctionFragment;
1020
1049
  "getTradePriceImpact(address,uint256,uint256,bool,uint256,bool,bool,uint256,uint8)": FunctionFragment;
1050
+ "getUserPriceImpact(address,uint256)": FunctionFragment;
1021
1051
  "initializeNegPnlCumulVolMultiplier(uint40)": FunctionFragment;
1022
1052
  "initializePairFactors(uint16[],uint40[],uint32[],uint40[])": FunctionFragment;
1023
1053
  "initializePriceImpact(uint48,uint48)": FunctionFragment;
@@ -1031,6 +1061,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1031
1061
  "setProtectionCloseFactorBlocks(uint16[],uint32[])": FunctionFragment;
1032
1062
  "setProtectionCloseFactorWhitelist(address[],bool[])": FunctionFragment;
1033
1063
  "setProtectionCloseFactors(uint16[],uint40[])": FunctionFragment;
1064
+ "setUserPriceImpact(address[],uint16[],uint16[],uint16[])": FunctionFragment;
1034
1065
  "addCollateral(address,address)": FunctionFragment;
1035
1066
  "closePendingOrder((address,uint32))": FunctionFragment;
1036
1067
  "closeTrade((address,uint32),bool)": FunctionFragment;
@@ -1050,6 +1081,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1050
1081
  "getCountersForTraders(address[],uint8)": FunctionFragment;
1051
1082
  "getCurrentContractsVersion()": FunctionFragment;
1052
1083
  "getGToken(uint8)": FunctionFragment;
1084
+ "getGnsCollateralIndex()": FunctionFragment;
1053
1085
  "getPendingOrder((address,uint32))": FunctionFragment;
1054
1086
  "getPendingOrders(address)": FunctionFragment;
1055
1087
  "getTrade(address,uint32)": FunctionFragment;
@@ -1065,6 +1097,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1065
1097
  "getTradingActivated()": FunctionFragment;
1066
1098
  "initializeTradingStorage(address,address,address[],address[])": FunctionFragment;
1067
1099
  "isCollateralActive(uint8)": FunctionFragment;
1100
+ "isCollateralGns(uint8)": FunctionFragment;
1068
1101
  "isCollateralListed(uint8)": FunctionFragment;
1069
1102
  "storePendingOrder(((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),address,uint32,bool,uint8,uint32,uint16))": FunctionFragment;
1070
1103
  "storeTrade((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),(uint32,uint32,uint32,uint16,uint48,uint48,uint8,uint32,uint8))": FunctionFragment;
@@ -1173,23 +1206,28 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1173
1206
  "getLinkFee(uint8,address,uint16,uint256)": FunctionFragment;
1174
1207
  "getLinkUsdPriceFeed()": FunctionFragment;
1175
1208
  "getMarketJobId()": FunctionFragment;
1209
+ "getMaxLookbackDeviationP()": FunctionFragment;
1210
+ "getMaxMarketDeviationP()": FunctionFragment;
1176
1211
  "getMinAnswers()": FunctionFragment;
1177
1212
  "getOracle(uint256)": FunctionFragment;
1178
1213
  "getOracles()": FunctionFragment;
1179
1214
  "getPendingRequest(bytes32)": FunctionFragment;
1180
- "getPrice(uint8,uint16,(address,uint32),(address,uint32),uint8,uint256,uint256)": FunctionFragment;
1215
+ "getPrice(uint8,uint16,((address,uint32,uint16,uint24,bool,bool,uint8,uint8,uint120,uint64,uint64,uint64,uint192),address,uint32,bool,uint8,uint32,uint16),uint256,uint256)": FunctionFragment;
1181
1216
  "getPriceAggregatorOrder(bytes32)": FunctionFragment;
1182
1217
  "getPriceAggregatorOrderAnswers((address,uint32))": FunctionFragment;
1183
1218
  "getRequestCount()": FunctionFragment;
1184
1219
  "getTwapInterval()": FunctionFragment;
1185
1220
  "getUsdNormalizedValue(uint8,uint256)": FunctionFragment;
1186
1221
  "initializeLimitJobCount(uint8)": FunctionFragment;
1222
+ "initializeMaxDeviationsP(uint24,uint24)": FunctionFragment;
1187
1223
  "initializePriceAggregator(address,address,uint24,uint8,address[],bytes32[2],uint8[],(address,uint8)[],address[])": FunctionFragment;
1188
1224
  "removeOracle(uint256)": FunctionFragment;
1189
1225
  "replaceOracle(uint256,address)": FunctionFragment;
1190
1226
  "setLimitJobCount(uint8)": FunctionFragment;
1191
1227
  "setLimitJobId(bytes32)": FunctionFragment;
1192
1228
  "setMarketJobId(bytes32)": FunctionFragment;
1229
+ "setMaxLookbackDeviationP(uint24)": FunctionFragment;
1230
+ "setMaxMarketDeviationP(uint24)": FunctionFragment;
1193
1231
  "updateCollateralGnsLiquidityPool(uint8,(address,uint8))": FunctionFragment;
1194
1232
  "updateCollateralUsdPriceFeed(uint8,address)": FunctionFragment;
1195
1233
  "updateLinkUsdPriceFeed(address)": FunctionFragment;
@@ -1210,7 +1248,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1210
1248
  "updateNativeTransferEnabled(bool)": FunctionFragment;
1211
1249
  "updateNativeTransferGasLimit(uint16)": FunctionFragment;
1212
1250
  };
1213
- 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" | "increasePositionSizeNative" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateLeverageNative" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "initializeTreasuryAddress" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateTreasuryAddress" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "getAllBorrowingPairs" | "getBorrowingFeePerBlockCap" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairFeePerBlockCap" | "getBorrowingPairFeePerBlockCaps" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "initializeBorrowingFeePerBlockCap" | "resetTradeBorrowingFees" | "setBorrowingFeePerBlockCap" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairFeePerBlockCapArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobCount" | "getLimitJobId" | "getLimitJobIndex" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializeLimitJobCount" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobCount" | "setLimitJobId" | "setMarketJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall" | "getNativeTransferEnabled" | "getNativeTransferGasLimit" | "getReentrancyLock" | "initializeChainConfig" | "updateNativeTransferEnabled" | "updateNativeTransferGasLimit"): FunctionFragment;
1251
+ 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" | "initializeReferralFeeChange" | "isPairIndexListed" | "isPairListed" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOraclePositionSizeFeeP" | "pairSpreadP" | "pairSpreadPArray" | "pairTotalLiqCollateralFeeP" | "pairTotalPositionSizeFeeP" | "pairs" | "pairsCount" | "setGlobalTradeFeeParams" | "setGroupLiquidationParams" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralSettingsOverrides" | "getReferralsAllyFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeProgressP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "overrideAllyFeeP" | "overrideReferralFeeP" | "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" | "getUserPriceImpact" | "initializeNegPnlCumulVolMultiplier" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setExemptAfterProtectionCloseFactor" | "setExemptOnOpen" | "setNegPnlCumulVolMultiplier" | "setPairDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactorWhitelist" | "setProtectionCloseFactors" | "setUserPriceImpact" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllPendingOrdersForTraders" | "getAllTradeInfos" | "getAllTradeInfosForTraders" | "getAllTrades" | "getAllTradesForTraders" | "getAllTradesLiquidationParams" | "getAllTradesLiquidationParamsForTraders" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCountersForTraders" | "getCurrentContractsVersion" | "getGToken" | "getGnsCollateralIndex" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTradersCount" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralGns" | "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" | "increasePositionSizeNative" | "initializeTrading" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateLeverageNative" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "initializeTreasuryAddress" | "openTradeMarketCallback" | "updateLeverageCallback" | "updateTreasuryAddress" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "getAllBorrowingPairs" | "getBorrowingFeePerBlockCap" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairFeePerBlockCap" | "getBorrowingPairFeePerBlockCaps" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOi" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiCollateral" | "getPairOisCollateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "initializeBorrowingFeePerBlockCap" | "resetTradeBorrowingFees" | "setBorrowingFeePerBlockCap" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairFeePerBlockCapArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobCount" | "getLimitJobId" | "getLimitJobIndex" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMaxLookbackDeviationP" | "getMaxMarketDeviationP" | "getMinAnswers" | "getOracle" | "getOracles" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializeLimitJobCount" | "initializeMaxDeviationsP" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobCount" | "setLimitJobId" | "setMarketJobId" | "setMaxLookbackDeviationP" | "setMaxMarketDeviationP" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall" | "getNativeTransferEnabled" | "getNativeTransferGasLimit" | "getReentrancyLock" | "initializeChainConfig" | "updateNativeTransferEnabled" | "updateNativeTransferGasLimit"): FunctionFragment;
1214
1252
  encodeFunctionData(functionFragment: "diamondCut", values: [
1215
1253
  IDiamondStorage.FacetCutStruct[],
1216
1254
  PromiseOrValue<string>,
@@ -1246,6 +1284,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1246
1284
  encodeFunctionData(functionFragment: "groupsCount", values?: undefined): string;
1247
1285
  encodeFunctionData(functionFragment: "initializeGroupLiquidationParams", values: [IPairsStorage.GroupLiquidationParamsStruct[]]): string;
1248
1286
  encodeFunctionData(functionFragment: "initializeNewFees", values: [IPairsStorage.GlobalTradeFeeParamsStruct]): string;
1287
+ encodeFunctionData(functionFragment: "initializeReferralFeeChange", values?: undefined): string;
1249
1288
  encodeFunctionData(functionFragment: "isPairIndexListed", values: [PromiseOrValue<BigNumberish>]): string;
1250
1289
  encodeFunctionData(functionFragment: "isPairListed", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1251
1290
  encodeFunctionData(functionFragment: "pairCustomMaxLeverage", values: [PromiseOrValue<BigNumberish>]): string;
@@ -1255,7 +1294,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1255
1294
  encodeFunctionData(functionFragment: "pairMinLeverage", values: [PromiseOrValue<BigNumberish>]): string;
1256
1295
  encodeFunctionData(functionFragment: "pairMinPositionSizeUsd", values: [PromiseOrValue<BigNumberish>]): string;
1257
1296
  encodeFunctionData(functionFragment: "pairOraclePositionSizeFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1258
- encodeFunctionData(functionFragment: "pairSpreadP", values: [PromiseOrValue<BigNumberish>]): string;
1297
+ encodeFunctionData(functionFragment: "pairSpreadP", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1298
+ encodeFunctionData(functionFragment: "pairSpreadPArray", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
1259
1299
  encodeFunctionData(functionFragment: "pairTotalLiqCollateralFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1260
1300
  encodeFunctionData(functionFragment: "pairTotalPositionSizeFeeP", values: [PromiseOrValue<BigNumberish>]): string;
1261
1301
  encodeFunctionData(functionFragment: "pairs", values: [PromiseOrValue<BigNumberish>]): string;
@@ -1278,6 +1318,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1278
1318
  PromiseOrValue<BigNumberish>
1279
1319
  ]): string;
1280
1320
  encodeFunctionData(functionFragment: "getAllyDetails", values: [PromiseOrValue<string>]): string;
1321
+ encodeFunctionData(functionFragment: "getReferralSettingsOverrides", values: [PromiseOrValue<string>]): string;
1281
1322
  encodeFunctionData(functionFragment: "getReferralsAllyFeeP", values?: undefined): string;
1282
1323
  encodeFunctionData(functionFragment: "getReferralsStartReferrerFeeP", values?: undefined): string;
1283
1324
  encodeFunctionData(functionFragment: "getReferralsTargetVolumeUsd", values?: undefined): string;
@@ -1292,6 +1333,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1292
1333
  PromiseOrValue<BigNumberish>,
1293
1334
  PromiseOrValue<BigNumberish>
1294
1335
  ]): string;
1336
+ encodeFunctionData(functionFragment: "overrideAllyFeeP", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
1337
+ encodeFunctionData(functionFragment: "overrideReferralFeeP", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
1295
1338
  encodeFunctionData(functionFragment: "registerPotentialReferrer", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1296
1339
  encodeFunctionData(functionFragment: "unwhitelistAllies", values: [PromiseOrValue<string>[]]): string;
1297
1340
  encodeFunctionData(functionFragment: "unwhitelistReferrers", values: [PromiseOrValue<string>[]]): string;
@@ -1362,6 +1405,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1362
1405
  PromiseOrValue<BigNumberish>,
1363
1406
  PromiseOrValue<BigNumberish>
1364
1407
  ]): string;
1408
+ encodeFunctionData(functionFragment: "getUserPriceImpact", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
1365
1409
  encodeFunctionData(functionFragment: "initializeNegPnlCumulVolMultiplier", values: [PromiseOrValue<BigNumberish>]): string;
1366
1410
  encodeFunctionData(functionFragment: "initializePairFactors", values: [
1367
1411
  PromiseOrValue<BigNumberish>[],
@@ -1384,6 +1428,12 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1384
1428
  encodeFunctionData(functionFragment: "setProtectionCloseFactorBlocks", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1385
1429
  encodeFunctionData(functionFragment: "setProtectionCloseFactorWhitelist", values: [PromiseOrValue<string>[], PromiseOrValue<boolean>[]]): string;
1386
1430
  encodeFunctionData(functionFragment: "setProtectionCloseFactors", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
1431
+ encodeFunctionData(functionFragment: "setUserPriceImpact", values: [
1432
+ PromiseOrValue<string>[],
1433
+ PromiseOrValue<BigNumberish>[],
1434
+ PromiseOrValue<BigNumberish>[],
1435
+ PromiseOrValue<BigNumberish>[]
1436
+ ]): string;
1387
1437
  encodeFunctionData(functionFragment: "addCollateral", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
1388
1438
  encodeFunctionData(functionFragment: "closePendingOrder", values: [ITradingStorage.IdStruct]): string;
1389
1439
  encodeFunctionData(functionFragment: "closeTrade", values: [ITradingStorage.IdStruct, PromiseOrValue<boolean>]): string;
@@ -1419,6 +1469,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1419
1469
  encodeFunctionData(functionFragment: "getCountersForTraders", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>]): string;
1420
1470
  encodeFunctionData(functionFragment: "getCurrentContractsVersion", values?: undefined): string;
1421
1471
  encodeFunctionData(functionFragment: "getGToken", values: [PromiseOrValue<BigNumberish>]): string;
1472
+ encodeFunctionData(functionFragment: "getGnsCollateralIndex", values?: undefined): string;
1422
1473
  encodeFunctionData(functionFragment: "getPendingOrder", values: [ITradingStorage.IdStruct]): string;
1423
1474
  encodeFunctionData(functionFragment: "getPendingOrders", values: [PromiseOrValue<string>]): string;
1424
1475
  encodeFunctionData(functionFragment: "getTrade", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
@@ -1439,6 +1490,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1439
1490
  PromiseOrValue<string>[]
1440
1491
  ]): string;
1441
1492
  encodeFunctionData(functionFragment: "isCollateralActive", values: [PromiseOrValue<BigNumberish>]): string;
1493
+ encodeFunctionData(functionFragment: "isCollateralGns", values: [PromiseOrValue<BigNumberish>]): string;
1442
1494
  encodeFunctionData(functionFragment: "isCollateralListed", values: [PromiseOrValue<BigNumberish>]): string;
1443
1495
  encodeFunctionData(functionFragment: "storePendingOrder", values: [ITradingStorage.PendingOrderStruct]): string;
1444
1496
  encodeFunctionData(functionFragment: "storeTrade", values: [ITradingStorage.TradeStruct, ITradingStorage.TradeInfoStruct]): string;
@@ -1663,6 +1715,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1663
1715
  ]): string;
1664
1716
  encodeFunctionData(functionFragment: "getLinkUsdPriceFeed", values?: undefined): string;
1665
1717
  encodeFunctionData(functionFragment: "getMarketJobId", values?: undefined): string;
1718
+ encodeFunctionData(functionFragment: "getMaxLookbackDeviationP", values?: undefined): string;
1719
+ encodeFunctionData(functionFragment: "getMaxMarketDeviationP", values?: undefined): string;
1666
1720
  encodeFunctionData(functionFragment: "getMinAnswers", values?: undefined): string;
1667
1721
  encodeFunctionData(functionFragment: "getOracle", values: [PromiseOrValue<BigNumberish>]): string;
1668
1722
  encodeFunctionData(functionFragment: "getOracles", values?: undefined): string;
@@ -1670,9 +1724,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1670
1724
  encodeFunctionData(functionFragment: "getPrice", values: [
1671
1725
  PromiseOrValue<BigNumberish>,
1672
1726
  PromiseOrValue<BigNumberish>,
1673
- ITradingStorage.IdStruct,
1674
- ITradingStorage.IdStruct,
1675
- PromiseOrValue<BigNumberish>,
1727
+ ITradingStorage.PendingOrderStruct,
1676
1728
  PromiseOrValue<BigNumberish>,
1677
1729
  PromiseOrValue<BigNumberish>
1678
1730
  ]): string;
@@ -1682,6 +1734,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1682
1734
  encodeFunctionData(functionFragment: "getTwapInterval", values?: undefined): string;
1683
1735
  encodeFunctionData(functionFragment: "getUsdNormalizedValue", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1684
1736
  encodeFunctionData(functionFragment: "initializeLimitJobCount", values: [PromiseOrValue<BigNumberish>]): string;
1737
+ encodeFunctionData(functionFragment: "initializeMaxDeviationsP", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
1685
1738
  encodeFunctionData(functionFragment: "initializePriceAggregator", values: [
1686
1739
  PromiseOrValue<string>,
1687
1740
  PromiseOrValue<string>,
@@ -1701,6 +1754,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1701
1754
  encodeFunctionData(functionFragment: "setLimitJobCount", values: [PromiseOrValue<BigNumberish>]): string;
1702
1755
  encodeFunctionData(functionFragment: "setLimitJobId", values: [PromiseOrValue<BytesLike>]): string;
1703
1756
  encodeFunctionData(functionFragment: "setMarketJobId", values: [PromiseOrValue<BytesLike>]): string;
1757
+ encodeFunctionData(functionFragment: "setMaxLookbackDeviationP", values: [PromiseOrValue<BigNumberish>]): string;
1758
+ encodeFunctionData(functionFragment: "setMaxMarketDeviationP", values: [PromiseOrValue<BigNumberish>]): string;
1704
1759
  encodeFunctionData(functionFragment: "updateCollateralGnsLiquidityPool", values: [
1705
1760
  PromiseOrValue<BigNumberish>,
1706
1761
  IPriceAggregator.LiquidityPoolInputStruct
@@ -1746,6 +1801,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1746
1801
  decodeFunctionResult(functionFragment: "groupsCount", data: BytesLike): Result;
1747
1802
  decodeFunctionResult(functionFragment: "initializeGroupLiquidationParams", data: BytesLike): Result;
1748
1803
  decodeFunctionResult(functionFragment: "initializeNewFees", data: BytesLike): Result;
1804
+ decodeFunctionResult(functionFragment: "initializeReferralFeeChange", data: BytesLike): Result;
1749
1805
  decodeFunctionResult(functionFragment: "isPairIndexListed", data: BytesLike): Result;
1750
1806
  decodeFunctionResult(functionFragment: "isPairListed", data: BytesLike): Result;
1751
1807
  decodeFunctionResult(functionFragment: "pairCustomMaxLeverage", data: BytesLike): Result;
@@ -1756,6 +1812,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1756
1812
  decodeFunctionResult(functionFragment: "pairMinPositionSizeUsd", data: BytesLike): Result;
1757
1813
  decodeFunctionResult(functionFragment: "pairOraclePositionSizeFeeP", data: BytesLike): Result;
1758
1814
  decodeFunctionResult(functionFragment: "pairSpreadP", data: BytesLike): Result;
1815
+ decodeFunctionResult(functionFragment: "pairSpreadPArray", data: BytesLike): Result;
1759
1816
  decodeFunctionResult(functionFragment: "pairTotalLiqCollateralFeeP", data: BytesLike): Result;
1760
1817
  decodeFunctionResult(functionFragment: "pairTotalPositionSizeFeeP", data: BytesLike): Result;
1761
1818
  decodeFunctionResult(functionFragment: "pairs", data: BytesLike): Result;
@@ -1770,6 +1827,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1770
1827
  decodeFunctionResult(functionFragment: "claimReferrerRewards", data: BytesLike): Result;
1771
1828
  decodeFunctionResult(functionFragment: "distributeReferralReward", data: BytesLike): Result;
1772
1829
  decodeFunctionResult(functionFragment: "getAllyDetails", data: BytesLike): Result;
1830
+ decodeFunctionResult(functionFragment: "getReferralSettingsOverrides", data: BytesLike): Result;
1773
1831
  decodeFunctionResult(functionFragment: "getReferralsAllyFeeP", data: BytesLike): Result;
1774
1832
  decodeFunctionResult(functionFragment: "getReferralsStartReferrerFeeP", data: BytesLike): Result;
1775
1833
  decodeFunctionResult(functionFragment: "getReferralsTargetVolumeUsd", data: BytesLike): Result;
@@ -1780,6 +1838,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1780
1838
  decodeFunctionResult(functionFragment: "getTraderLastReferrer", data: BytesLike): Result;
1781
1839
  decodeFunctionResult(functionFragment: "getTradersReferred", data: BytesLike): Result;
1782
1840
  decodeFunctionResult(functionFragment: "initializeReferrals", data: BytesLike): Result;
1841
+ decodeFunctionResult(functionFragment: "overrideAllyFeeP", data: BytesLike): Result;
1842
+ decodeFunctionResult(functionFragment: "overrideReferralFeeP", data: BytesLike): Result;
1783
1843
  decodeFunctionResult(functionFragment: "registerPotentialReferrer", data: BytesLike): Result;
1784
1844
  decodeFunctionResult(functionFragment: "unwhitelistAllies", data: BytesLike): Result;
1785
1845
  decodeFunctionResult(functionFragment: "unwhitelistReferrers", data: BytesLike): Result;
@@ -1813,6 +1873,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1813
1873
  decodeFunctionResult(functionFragment: "getPriceImpactOi", data: BytesLike): Result;
1814
1874
  decodeFunctionResult(functionFragment: "getProtectionCloseFactorWhitelist", data: BytesLike): Result;
1815
1875
  decodeFunctionResult(functionFragment: "getTradePriceImpact", data: BytesLike): Result;
1876
+ decodeFunctionResult(functionFragment: "getUserPriceImpact", data: BytesLike): Result;
1816
1877
  decodeFunctionResult(functionFragment: "initializeNegPnlCumulVolMultiplier", data: BytesLike): Result;
1817
1878
  decodeFunctionResult(functionFragment: "initializePairFactors", data: BytesLike): Result;
1818
1879
  decodeFunctionResult(functionFragment: "initializePriceImpact", data: BytesLike): Result;
@@ -1826,6 +1887,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1826
1887
  decodeFunctionResult(functionFragment: "setProtectionCloseFactorBlocks", data: BytesLike): Result;
1827
1888
  decodeFunctionResult(functionFragment: "setProtectionCloseFactorWhitelist", data: BytesLike): Result;
1828
1889
  decodeFunctionResult(functionFragment: "setProtectionCloseFactors", data: BytesLike): Result;
1890
+ decodeFunctionResult(functionFragment: "setUserPriceImpact", data: BytesLike): Result;
1829
1891
  decodeFunctionResult(functionFragment: "addCollateral", data: BytesLike): Result;
1830
1892
  decodeFunctionResult(functionFragment: "closePendingOrder", data: BytesLike): Result;
1831
1893
  decodeFunctionResult(functionFragment: "closeTrade", data: BytesLike): Result;
@@ -1845,6 +1907,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1845
1907
  decodeFunctionResult(functionFragment: "getCountersForTraders", data: BytesLike): Result;
1846
1908
  decodeFunctionResult(functionFragment: "getCurrentContractsVersion", data: BytesLike): Result;
1847
1909
  decodeFunctionResult(functionFragment: "getGToken", data: BytesLike): Result;
1910
+ decodeFunctionResult(functionFragment: "getGnsCollateralIndex", data: BytesLike): Result;
1848
1911
  decodeFunctionResult(functionFragment: "getPendingOrder", data: BytesLike): Result;
1849
1912
  decodeFunctionResult(functionFragment: "getPendingOrders", data: BytesLike): Result;
1850
1913
  decodeFunctionResult(functionFragment: "getTrade", data: BytesLike): Result;
@@ -1860,6 +1923,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1860
1923
  decodeFunctionResult(functionFragment: "getTradingActivated", data: BytesLike): Result;
1861
1924
  decodeFunctionResult(functionFragment: "initializeTradingStorage", data: BytesLike): Result;
1862
1925
  decodeFunctionResult(functionFragment: "isCollateralActive", data: BytesLike): Result;
1926
+ decodeFunctionResult(functionFragment: "isCollateralGns", data: BytesLike): Result;
1863
1927
  decodeFunctionResult(functionFragment: "isCollateralListed", data: BytesLike): Result;
1864
1928
  decodeFunctionResult(functionFragment: "storePendingOrder", data: BytesLike): Result;
1865
1929
  decodeFunctionResult(functionFragment: "storeTrade", data: BytesLike): Result;
@@ -1968,6 +2032,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1968
2032
  decodeFunctionResult(functionFragment: "getLinkFee", data: BytesLike): Result;
1969
2033
  decodeFunctionResult(functionFragment: "getLinkUsdPriceFeed", data: BytesLike): Result;
1970
2034
  decodeFunctionResult(functionFragment: "getMarketJobId", data: BytesLike): Result;
2035
+ decodeFunctionResult(functionFragment: "getMaxLookbackDeviationP", data: BytesLike): Result;
2036
+ decodeFunctionResult(functionFragment: "getMaxMarketDeviationP", data: BytesLike): Result;
1971
2037
  decodeFunctionResult(functionFragment: "getMinAnswers", data: BytesLike): Result;
1972
2038
  decodeFunctionResult(functionFragment: "getOracle", data: BytesLike): Result;
1973
2039
  decodeFunctionResult(functionFragment: "getOracles", data: BytesLike): Result;
@@ -1979,12 +2045,15 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1979
2045
  decodeFunctionResult(functionFragment: "getTwapInterval", data: BytesLike): Result;
1980
2046
  decodeFunctionResult(functionFragment: "getUsdNormalizedValue", data: BytesLike): Result;
1981
2047
  decodeFunctionResult(functionFragment: "initializeLimitJobCount", data: BytesLike): Result;
2048
+ decodeFunctionResult(functionFragment: "initializeMaxDeviationsP", data: BytesLike): Result;
1982
2049
  decodeFunctionResult(functionFragment: "initializePriceAggregator", data: BytesLike): Result;
1983
2050
  decodeFunctionResult(functionFragment: "removeOracle", data: BytesLike): Result;
1984
2051
  decodeFunctionResult(functionFragment: "replaceOracle", data: BytesLike): Result;
1985
2052
  decodeFunctionResult(functionFragment: "setLimitJobCount", data: BytesLike): Result;
1986
2053
  decodeFunctionResult(functionFragment: "setLimitJobId", data: BytesLike): Result;
1987
2054
  decodeFunctionResult(functionFragment: "setMarketJobId", data: BytesLike): Result;
2055
+ decodeFunctionResult(functionFragment: "setMaxLookbackDeviationP", data: BytesLike): Result;
2056
+ decodeFunctionResult(functionFragment: "setMaxMarketDeviationP", data: BytesLike): Result;
1988
2057
  decodeFunctionResult(functionFragment: "updateCollateralGnsLiquidityPool", data: BytesLike): Result;
1989
2058
  decodeFunctionResult(functionFragment: "updateCollateralUsdPriceFeed", data: BytesLike): Result;
1990
2059
  decodeFunctionResult(functionFragment: "updateLinkUsdPriceFeed", data: BytesLike): Result;
@@ -2022,6 +2091,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2022
2091
  "AllyRewardsClaimed(address,uint256)": EventFragment;
2023
2092
  "AllyUnwhitelisted(address)": EventFragment;
2024
2093
  "AllyWhitelisted(address)": EventFragment;
2094
+ "OverrodeAllyFeeP(address,uint24)": EventFragment;
2095
+ "OverrodeReferralFeeP(address,uint24)": EventFragment;
2025
2096
  "ReferrerRegistered(address,address)": EventFragment;
2026
2097
  "ReferrerRewardDistributed(address,address,uint256,uint256,uint256)": EventFragment;
2027
2098
  "ReferrerRewardsClaimed(address,uint256)": EventFragment;
@@ -2055,6 +2126,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2055
2126
  "ProtectionCloseFactorBlocksUpdated(uint256,uint32)": EventFragment;
2056
2127
  "ProtectionCloseFactorUpdated(uint256,uint40)": EventFragment;
2057
2128
  "ProtectionCloseFactorWhitelistUpdated(address,bool)": EventFragment;
2129
+ "UserPriceImpactUpdated(address,uint16,uint16,uint16)": EventFragment;
2058
2130
  "CollateralAdded(address,uint8,address)": EventFragment;
2059
2131
  "CollateralDisabled(uint8)": EventFragment;
2060
2132
  "CollateralUpdated(uint8,bool)": EventFragment;
@@ -2119,12 +2191,14 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2119
2191
  "LinkClaimedBack(uint256)": EventFragment;
2120
2192
  "LinkRequestCreated(tuple)": EventFragment;
2121
2193
  "LinkUsdPriceFeedUpdated(address)": EventFragment;
2194
+ "MaxLookbackDeviationPUpdated(uint24)": EventFragment;
2195
+ "MaxMarketDeviationPUpdated(uint24)": EventFragment;
2122
2196
  "MinAnswersUpdated(uint8)": EventFragment;
2123
2197
  "OracleAdded(uint256,address)": EventFragment;
2124
2198
  "OracleRemoved(uint256,address)": EventFragment;
2125
2199
  "OracleReplaced(uint256,address,address)": EventFragment;
2126
- "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)": EventFragment;
2127
- "PriceRequested(uint8,uint256,tuple,tuple,uint8,uint256,bool,bytes32,uint256,uint256)": EventFragment;
2200
+ "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool,bool,bool,tuple[],tuple[])": EventFragment;
2201
+ "PriceRequested(uint8,uint256,tuple,uint256,bool,bytes32,uint256,uint256)": EventFragment;
2128
2202
  "TradingCallbackExecuted(tuple,uint8)": EventFragment;
2129
2203
  "TwapIntervalUpdated(uint32)": EventFragment;
2130
2204
  "OtcBalanceUpdated(uint8,uint256)": EventFragment;
@@ -2150,6 +2224,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2150
2224
  getEvent(nameOrSignatureOrTopic: "AllyRewardsClaimed"): EventFragment;
2151
2225
  getEvent(nameOrSignatureOrTopic: "AllyUnwhitelisted"): EventFragment;
2152
2226
  getEvent(nameOrSignatureOrTopic: "AllyWhitelisted"): EventFragment;
2227
+ getEvent(nameOrSignatureOrTopic: "OverrodeAllyFeeP"): EventFragment;
2228
+ getEvent(nameOrSignatureOrTopic: "OverrodeReferralFeeP"): EventFragment;
2153
2229
  getEvent(nameOrSignatureOrTopic: "ReferrerRegistered"): EventFragment;
2154
2230
  getEvent(nameOrSignatureOrTopic: "ReferrerRewardDistributed"): EventFragment;
2155
2231
  getEvent(nameOrSignatureOrTopic: "ReferrerRewardsClaimed"): EventFragment;
@@ -2183,6 +2259,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2183
2259
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorBlocksUpdated"): EventFragment;
2184
2260
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorUpdated"): EventFragment;
2185
2261
  getEvent(nameOrSignatureOrTopic: "ProtectionCloseFactorWhitelistUpdated"): EventFragment;
2262
+ getEvent(nameOrSignatureOrTopic: "UserPriceImpactUpdated"): EventFragment;
2186
2263
  getEvent(nameOrSignatureOrTopic: "CollateralAdded"): EventFragment;
2187
2264
  getEvent(nameOrSignatureOrTopic: "CollateralDisabled"): EventFragment;
2188
2265
  getEvent(nameOrSignatureOrTopic: "CollateralUpdated"): EventFragment;
@@ -2247,6 +2324,8 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2247
2324
  getEvent(nameOrSignatureOrTopic: "LinkClaimedBack"): EventFragment;
2248
2325
  getEvent(nameOrSignatureOrTopic: "LinkRequestCreated"): EventFragment;
2249
2326
  getEvent(nameOrSignatureOrTopic: "LinkUsdPriceFeedUpdated"): EventFragment;
2327
+ getEvent(nameOrSignatureOrTopic: "MaxLookbackDeviationPUpdated"): EventFragment;
2328
+ getEvent(nameOrSignatureOrTopic: "MaxMarketDeviationPUpdated"): EventFragment;
2250
2329
  getEvent(nameOrSignatureOrTopic: "MinAnswersUpdated"): EventFragment;
2251
2330
  getEvent(nameOrSignatureOrTopic: "OracleAdded"): EventFragment;
2252
2331
  getEvent(nameOrSignatureOrTopic: "OracleRemoved"): EventFragment;
@@ -2408,6 +2487,24 @@ export type AllyWhitelistedEvent = TypedEvent<[
2408
2487
  string
2409
2488
  ], AllyWhitelistedEventObject>;
2410
2489
  export type AllyWhitelistedEventFilter = TypedEventFilter<AllyWhitelistedEvent>;
2490
+ export interface OverrodeAllyFeePEventObject {
2491
+ ally: string;
2492
+ allyFeeP: number;
2493
+ }
2494
+ export type OverrodeAllyFeePEvent = TypedEvent<[
2495
+ string,
2496
+ number
2497
+ ], OverrodeAllyFeePEventObject>;
2498
+ export type OverrodeAllyFeePEventFilter = TypedEventFilter<OverrodeAllyFeePEvent>;
2499
+ export interface OverrodeReferralFeePEventObject {
2500
+ referrer: string;
2501
+ referralFeeP: number;
2502
+ }
2503
+ export type OverrodeReferralFeePEvent = TypedEvent<[
2504
+ string,
2505
+ number
2506
+ ], OverrodeReferralFeePEventObject>;
2507
+ export type OverrodeReferralFeePEventFilter = TypedEventFilter<OverrodeReferralFeePEvent>;
2411
2508
  export interface ReferrerRegisteredEventObject {
2412
2509
  trader: string;
2413
2510
  referrer: string;
@@ -2713,6 +2810,19 @@ export type ProtectionCloseFactorWhitelistUpdatedEvent = TypedEvent<[
2713
2810
  boolean
2714
2811
  ], ProtectionCloseFactorWhitelistUpdatedEventObject>;
2715
2812
  export type ProtectionCloseFactorWhitelistUpdatedEventFilter = TypedEventFilter<ProtectionCloseFactorWhitelistUpdatedEvent>;
2813
+ export interface UserPriceImpactUpdatedEventObject {
2814
+ trader: string;
2815
+ pairIndex: number;
2816
+ cumulVolPriceImpactMultiplier: number;
2817
+ fixedSpreadP: number;
2818
+ }
2819
+ export type UserPriceImpactUpdatedEvent = TypedEvent<[
2820
+ string,
2821
+ number,
2822
+ number,
2823
+ number
2824
+ ], UserPriceImpactUpdatedEventObject>;
2825
+ export type UserPriceImpactUpdatedEventFilter = TypedEventFilter<UserPriceImpactUpdatedEvent>;
2716
2826
  export interface CollateralAddedEventObject {
2717
2827
  collateral: string;
2718
2828
  index: number;
@@ -3555,6 +3665,20 @@ export type LinkUsdPriceFeedUpdatedEvent = TypedEvent<[
3555
3665
  string
3556
3666
  ], LinkUsdPriceFeedUpdatedEventObject>;
3557
3667
  export type LinkUsdPriceFeedUpdatedEventFilter = TypedEventFilter<LinkUsdPriceFeedUpdatedEvent>;
3668
+ export interface MaxLookbackDeviationPUpdatedEventObject {
3669
+ maxLookbackDeviationP: number;
3670
+ }
3671
+ export type MaxLookbackDeviationPUpdatedEvent = TypedEvent<[
3672
+ number
3673
+ ], MaxLookbackDeviationPUpdatedEventObject>;
3674
+ export type MaxLookbackDeviationPUpdatedEventFilter = TypedEventFilter<MaxLookbackDeviationPUpdatedEvent>;
3675
+ export interface MaxMarketDeviationPUpdatedEventObject {
3676
+ maxMarketDeviationP: number;
3677
+ }
3678
+ export type MaxMarketDeviationPUpdatedEvent = TypedEvent<[
3679
+ number
3680
+ ], MaxMarketDeviationPUpdatedEventObject>;
3681
+ export type MaxMarketDeviationPUpdatedEventFilter = TypedEventFilter<MaxMarketDeviationPUpdatedEvent>;
3558
3682
  export interface MinAnswersUpdatedEventObject {
3559
3683
  value: number;
3560
3684
  }
@@ -3598,6 +3722,10 @@ export interface PriceReceivedEventObject {
3598
3722
  priceData: BigNumber;
3599
3723
  isLookback: boolean;
3600
3724
  usedInMedian: boolean;
3725
+ minAnswersReached: boolean;
3726
+ minFilteredAnswersReached: boolean;
3727
+ unfilteredAnswers: IPriceAggregator.OrderAnswerStructOutput[];
3728
+ filteredAnswers: IPriceAggregator.OrderAnswerStructOutput[];
3601
3729
  }
3602
3730
  export type PriceReceivedEvent = TypedEvent<[
3603
3731
  ITradingStorage.IdStructOutput,
@@ -3605,15 +3733,17 @@ export type PriceReceivedEvent = TypedEvent<[
3605
3733
  string,
3606
3734
  BigNumber,
3607
3735
  boolean,
3608
- boolean
3736
+ boolean,
3737
+ boolean,
3738
+ boolean,
3739
+ IPriceAggregator.OrderAnswerStructOutput[],
3740
+ IPriceAggregator.OrderAnswerStructOutput[]
3609
3741
  ], PriceReceivedEventObject>;
3610
3742
  export type PriceReceivedEventFilter = TypedEventFilter<PriceReceivedEvent>;
3611
3743
  export interface PriceRequestedEventObject {
3612
3744
  collateralIndex: number;
3613
3745
  pairIndex: BigNumber;
3614
- tradeId: ITradingStorage.IdStructOutput;
3615
- pendingOrderId: ITradingStorage.IdStructOutput;
3616
- orderType: number;
3746
+ pendingOrder: ITradingStorage.PendingOrderStructOutput;
3617
3747
  fromBlock: BigNumber;
3618
3748
  isLookback: boolean;
3619
3749
  job: string;
@@ -3623,9 +3753,7 @@ export interface PriceRequestedEventObject {
3623
3753
  export type PriceRequestedEvent = TypedEvent<[
3624
3754
  number,
3625
3755
  BigNumber,
3626
- ITradingStorage.IdStructOutput,
3627
- ITradingStorage.IdStructOutput,
3628
- number,
3756
+ ITradingStorage.PendingOrderStructOutput,
3629
3757
  BigNumber,
3630
3758
  boolean,
3631
3759
  string,
@@ -3760,6 +3888,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3760
3888
  initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
3761
3889
  from?: PromiseOrValue<string>;
3762
3890
  }): Promise<ContractTransaction>;
3891
+ initializeReferralFeeChange(overrides?: Overrides & {
3892
+ from?: PromiseOrValue<string>;
3893
+ }): Promise<ContractTransaction>;
3763
3894
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3764
3895
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
3765
3896
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -3769,7 +3900,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3769
3900
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3770
3901
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3771
3902
  pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3772
- pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3903
+ pairSpreadP(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3904
+ pairSpreadPArray(_trader: PromiseOrValue<string>[], _pairIndex: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<[BigNumber[]]>;
3773
3905
  pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3774
3906
  pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
3775
3907
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPairsStorage.PairStructOutput]>;
@@ -3802,6 +3934,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3802
3934
  from?: PromiseOrValue<string>;
3803
3935
  }): Promise<ContractTransaction>;
3804
3936
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IReferrals.AllyDetailsStructOutput]>;
3937
+ getReferralSettingsOverrides(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[IReferrals.ReferralSettingsOverridesStructOutput]>;
3805
3938
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<[BigNumber]>;
3806
3939
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<[BigNumber]>;
3807
3940
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -3814,6 +3947,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3814
3947
  initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3815
3948
  from?: PromiseOrValue<string>;
3816
3949
  }): Promise<ContractTransaction>;
3950
+ overrideAllyFeeP(_allies: PromiseOrValue<string>[], _allyFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3951
+ from?: PromiseOrValue<string>;
3952
+ }): Promise<ContractTransaction>;
3953
+ overrideReferralFeeP(_referrers: PromiseOrValue<string>[], _referralFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3954
+ from?: PromiseOrValue<string>;
3955
+ }): Promise<ContractTransaction>;
3817
3956
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
3818
3957
  from?: PromiseOrValue<string>;
3819
3958
  }): Promise<ContractTransaction>;
@@ -3885,6 +4024,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3885
4024
  priceImpactP: BigNumber;
3886
4025
  priceAfterImpact: BigNumber;
3887
4026
  }>;
4027
+ getUserPriceImpact(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[IPriceImpact.UserPriceImpactStructOutput]>;
3888
4028
  initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
3889
4029
  from?: PromiseOrValue<string>;
3890
4030
  }): Promise<ContractTransaction>;
@@ -3924,6 +4064,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3924
4064
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
3925
4065
  from?: PromiseOrValue<string>;
3926
4066
  }): Promise<ContractTransaction>;
4067
+ setUserPriceImpact(_traders: PromiseOrValue<string>[], _pairIndices: PromiseOrValue<BigNumberish>[], _cumulVolPriceImpactMultipliers: PromiseOrValue<BigNumberish>[], _fixedSpreadPs: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4068
+ from?: PromiseOrValue<string>;
4069
+ }): Promise<ContractTransaction>;
3927
4070
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
3928
4071
  from?: PromiseOrValue<string>;
3929
4072
  }): Promise<ContractTransaction>;
@@ -3949,6 +4092,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3949
4092
  getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.CounterStructOutput[]]>;
3950
4093
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<[number]>;
3951
4094
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
4095
+ getGnsCollateralIndex(overrides?: CallOverrides): Promise<[number]>;
3952
4096
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput]>;
3953
4097
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[ITradingStorage.PendingOrderStructOutput[]]>;
3954
4098
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ITradingStorage.TradeStructOutput]>;
@@ -3966,6 +4110,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
3966
4110
  from?: PromiseOrValue<string>;
3967
4111
  }): Promise<ContractTransaction>;
3968
4112
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
4113
+ isCollateralGns(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3969
4114
  isCollateralListed(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
3970
4115
  storePendingOrder(_pendingOrder: ITradingStorage.PendingOrderStruct, overrides?: Overrides & {
3971
4116
  from?: PromiseOrValue<string>;
@@ -4247,11 +4392,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4247
4392
  getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
4248
4393
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<[string]>;
4249
4394
  getMarketJobId(overrides?: CallOverrides): Promise<[string]>;
4395
+ getMaxLookbackDeviationP(overrides?: CallOverrides): Promise<[number]>;
4396
+ getMaxMarketDeviationP(overrides?: CallOverrides): Promise<[number]>;
4250
4397
  getMinAnswers(overrides?: CallOverrides): Promise<[number]>;
4251
4398
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
4252
4399
  getOracles(overrides?: CallOverrides): Promise<[string[]]>;
4253
4400
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
4254
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4401
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _pendingOrder: ITradingStorage.PendingOrderStruct, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4255
4402
  from?: PromiseOrValue<string>;
4256
4403
  }): Promise<ContractTransaction>;
4257
4404
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[IPriceAggregator.OrderStructOutput]>;
@@ -4262,6 +4409,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4262
4409
  initializeLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4263
4410
  from?: PromiseOrValue<string>;
4264
4411
  }): Promise<ContractTransaction>;
4412
+ initializeMaxDeviationsP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, _maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4413
+ from?: PromiseOrValue<string>;
4414
+ }): Promise<ContractTransaction>;
4265
4415
  initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
4266
4416
  from?: PromiseOrValue<string>;
4267
4417
  }): Promise<ContractTransaction>;
@@ -4280,6 +4430,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4280
4430
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
4281
4431
  from?: PromiseOrValue<string>;
4282
4432
  }): Promise<ContractTransaction>;
4433
+ setMaxLookbackDeviationP(_maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4434
+ from?: PromiseOrValue<string>;
4435
+ }): Promise<ContractTransaction>;
4436
+ setMaxMarketDeviationP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4437
+ from?: PromiseOrValue<string>;
4438
+ }): Promise<ContractTransaction>;
4283
4439
  updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
4284
4440
  from?: PromiseOrValue<string>;
4285
4441
  }): Promise<ContractTransaction>;
@@ -4365,6 +4521,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4365
4521
  initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
4366
4522
  from?: PromiseOrValue<string>;
4367
4523
  }): Promise<ContractTransaction>;
4524
+ initializeReferralFeeChange(overrides?: Overrides & {
4525
+ from?: PromiseOrValue<string>;
4526
+ }): Promise<ContractTransaction>;
4368
4527
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4369
4528
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4370
4529
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4374,7 +4533,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4374
4533
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4375
4534
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4376
4535
  pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4377
- pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4536
+ pairSpreadP(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4537
+ pairSpreadPArray(_trader: PromiseOrValue<string>[], _pairIndex: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber[]>;
4378
4538
  pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4379
4539
  pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4380
4540
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.PairStructOutput>;
@@ -4407,6 +4567,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4407
4567
  from?: PromiseOrValue<string>;
4408
4568
  }): Promise<ContractTransaction>;
4409
4569
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.AllyDetailsStructOutput>;
4570
+ getReferralSettingsOverrides(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.ReferralSettingsOverridesStructOutput>;
4410
4571
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4411
4572
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4412
4573
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4419,6 +4580,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4419
4580
  initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4420
4581
  from?: PromiseOrValue<string>;
4421
4582
  }): Promise<ContractTransaction>;
4583
+ overrideAllyFeeP(_allies: PromiseOrValue<string>[], _allyFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4584
+ from?: PromiseOrValue<string>;
4585
+ }): Promise<ContractTransaction>;
4586
+ overrideReferralFeeP(_referrers: PromiseOrValue<string>[], _referralFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4587
+ from?: PromiseOrValue<string>;
4588
+ }): Promise<ContractTransaction>;
4422
4589
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
4423
4590
  from?: PromiseOrValue<string>;
4424
4591
  }): Promise<ContractTransaction>;
@@ -4488,6 +4655,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4488
4655
  priceImpactP: BigNumber;
4489
4656
  priceAfterImpact: BigNumber;
4490
4657
  }>;
4658
+ getUserPriceImpact(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.UserPriceImpactStructOutput>;
4491
4659
  initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4492
4660
  from?: PromiseOrValue<string>;
4493
4661
  }): Promise<ContractTransaction>;
@@ -4527,6 +4695,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4527
4695
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4528
4696
  from?: PromiseOrValue<string>;
4529
4697
  }): Promise<ContractTransaction>;
4698
+ setUserPriceImpact(_traders: PromiseOrValue<string>[], _pairIndices: PromiseOrValue<BigNumberish>[], _cumulVolPriceImpactMultipliers: PromiseOrValue<BigNumberish>[], _fixedSpreadPs: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
4699
+ from?: PromiseOrValue<string>;
4700
+ }): Promise<ContractTransaction>;
4530
4701
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
4531
4702
  from?: PromiseOrValue<string>;
4532
4703
  }): Promise<ContractTransaction>;
@@ -4552,6 +4723,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4552
4723
  getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput[]>;
4553
4724
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
4554
4725
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4726
+ getGnsCollateralIndex(overrides?: CallOverrides): Promise<number>;
4555
4727
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
4556
4728
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
4557
4729
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput>;
@@ -4569,6 +4741,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4569
4741
  from?: PromiseOrValue<string>;
4570
4742
  }): Promise<ContractTransaction>;
4571
4743
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4744
+ isCollateralGns(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4572
4745
  isCollateralListed(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4573
4746
  storePendingOrder(_pendingOrder: ITradingStorage.PendingOrderStruct, overrides?: Overrides & {
4574
4747
  from?: PromiseOrValue<string>;
@@ -4846,11 +5019,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4846
5019
  getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4847
5020
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<string>;
4848
5021
  getMarketJobId(overrides?: CallOverrides): Promise<string>;
5022
+ getMaxLookbackDeviationP(overrides?: CallOverrides): Promise<number>;
5023
+ getMaxMarketDeviationP(overrides?: CallOverrides): Promise<number>;
4849
5024
  getMinAnswers(overrides?: CallOverrides): Promise<number>;
4850
5025
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
4851
5026
  getOracles(overrides?: CallOverrides): Promise<string[]>;
4852
5027
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
4853
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5028
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _pendingOrder: ITradingStorage.PendingOrderStruct, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4854
5029
  from?: PromiseOrValue<string>;
4855
5030
  }): Promise<ContractTransaction>;
4856
5031
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
@@ -4861,6 +5036,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4861
5036
  initializeLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
4862
5037
  from?: PromiseOrValue<string>;
4863
5038
  }): Promise<ContractTransaction>;
5039
+ initializeMaxDeviationsP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, _maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5040
+ from?: PromiseOrValue<string>;
5041
+ }): Promise<ContractTransaction>;
4864
5042
  initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
4865
5043
  from?: PromiseOrValue<string>;
4866
5044
  }): Promise<ContractTransaction>;
@@ -4879,6 +5057,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4879
5057
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
4880
5058
  from?: PromiseOrValue<string>;
4881
5059
  }): Promise<ContractTransaction>;
5060
+ setMaxLookbackDeviationP(_maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5061
+ from?: PromiseOrValue<string>;
5062
+ }): Promise<ContractTransaction>;
5063
+ setMaxMarketDeviationP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5064
+ from?: PromiseOrValue<string>;
5065
+ }): Promise<ContractTransaction>;
4882
5066
  updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
4883
5067
  from?: PromiseOrValue<string>;
4884
5068
  }): Promise<ContractTransaction>;
@@ -4948,6 +5132,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4948
5132
  groupsCount(overrides?: CallOverrides): Promise<BigNumber>;
4949
5133
  initializeGroupLiquidationParams(_groupLiquidationParams: IPairsStorage.GroupLiquidationParamsStruct[], overrides?: CallOverrides): Promise<void>;
4950
5134
  initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: CallOverrides): Promise<void>;
5135
+ initializeReferralFeeChange(overrides?: CallOverrides): Promise<void>;
4951
5136
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
4952
5137
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
4953
5138
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -4957,7 +5142,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4957
5142
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4958
5143
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4959
5144
  pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4960
- pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5145
+ pairSpreadP(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5146
+ pairSpreadPArray(_trader: PromiseOrValue<string>[], _pairIndex: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber[]>;
4961
5147
  pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4962
5148
  pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
4963
5149
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPairsStorage.PairStructOutput>;
@@ -4972,6 +5158,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4972
5158
  claimReferrerRewards(overrides?: CallOverrides): Promise<void>;
4973
5159
  distributeReferralReward(_trader: PromiseOrValue<string>, _volumeUsd: PromiseOrValue<BigNumberish>, _referrerFeeUsd: PromiseOrValue<BigNumberish>, _gnsPriceUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
4974
5160
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.AllyDetailsStructOutput>;
5161
+ getReferralSettingsOverrides(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IReferrals.ReferralSettingsOverridesStructOutput>;
4975
5162
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4976
5163
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
4977
5164
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
@@ -4982,6 +5169,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
4982
5169
  getTraderLastReferrer(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
4983
5170
  getTradersReferred(_referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
4984
5171
  initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5172
+ overrideAllyFeeP(_allies: PromiseOrValue<string>[], _allyFeeP: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
5173
+ overrideReferralFeeP(_referrers: PromiseOrValue<string>[], _referralFeeP: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
4985
5174
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
4986
5175
  unwhitelistAllies(_allies: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
4987
5176
  unwhitelistReferrers(_referrers: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
@@ -5021,6 +5210,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5021
5210
  priceImpactP: BigNumber;
5022
5211
  priceAfterImpact: BigNumber;
5023
5212
  }>;
5213
+ getUserPriceImpact(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<IPriceImpact.UserPriceImpactStructOutput>;
5024
5214
  initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5025
5215
  initializePairFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], _cumulativeFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
5026
5216
  initializePriceImpact(_windowsDuration: PromiseOrValue<BigNumberish>, _windowsCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
@@ -5034,6 +5224,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5034
5224
  setProtectionCloseFactorBlocks(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactorBlocks: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
5035
5225
  setProtectionCloseFactorWhitelist(_traders: PromiseOrValue<string>[], _whitelisted: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
5036
5226
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
5227
+ setUserPriceImpact(_traders: PromiseOrValue<string>[], _pairIndices: PromiseOrValue<BigNumberish>[], _cumulVolPriceImpactMultipliers: PromiseOrValue<BigNumberish>[], _fixedSpreadPs: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
5037
5228
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
5038
5229
  closePendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<void>;
5039
5230
  closeTrade(_tradeId: ITradingStorage.IdStruct, _isPnlPositive: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
@@ -5053,6 +5244,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5053
5244
  getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.CounterStructOutput[]>;
5054
5245
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<number>;
5055
5246
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
5247
+ getGnsCollateralIndex(overrides?: CallOverrides): Promise<number>;
5056
5248
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
5057
5249
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput[]>;
5058
5250
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput>;
@@ -5068,6 +5260,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5068
5260
  getTradingActivated(overrides?: CallOverrides): Promise<number>;
5069
5261
  initializeTradingStorage(_gns: PromiseOrValue<string>, _gnsStaking: PromiseOrValue<string>, _collaterals: PromiseOrValue<string>[], _gTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
5070
5262
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
5263
+ isCollateralGns(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
5071
5264
  isCollateralListed(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
5072
5265
  storePendingOrder(_pendingOrder: ITradingStorage.PendingOrderStruct, overrides?: CallOverrides): Promise<ITradingStorage.PendingOrderStructOutput>;
5073
5266
  storeTrade(_trade: ITradingStorage.TradeStruct, _tradeInfo: ITradingStorage.TradeInfoStruct, overrides?: CallOverrides): Promise<ITradingStorage.TradeStructOutput>;
@@ -5225,23 +5418,28 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5225
5418
  getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5226
5419
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<string>;
5227
5420
  getMarketJobId(overrides?: CallOverrides): Promise<string>;
5421
+ getMaxLookbackDeviationP(overrides?: CallOverrides): Promise<number>;
5422
+ getMaxMarketDeviationP(overrides?: CallOverrides): Promise<number>;
5228
5423
  getMinAnswers(overrides?: CallOverrides): Promise<number>;
5229
5424
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
5230
5425
  getOracles(overrides?: CallOverrides): Promise<string[]>;
5231
5426
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
5232
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5427
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _pendingOrder: ITradingStorage.PendingOrderStruct, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ITradingStorage.IdStructOutput>;
5233
5428
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<IPriceAggregator.OrderStructOutput>;
5234
5429
  getPriceAggregatorOrderAnswers(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<IPriceAggregator.OrderAnswerStructOutput[]>;
5235
5430
  getRequestCount(overrides?: CallOverrides): Promise<BigNumber>;
5236
5431
  getTwapInterval(overrides?: CallOverrides): Promise<number>;
5237
5432
  getUsdNormalizedValue(_collateralIndex: PromiseOrValue<BigNumberish>, _collateralValue: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5238
5433
  initializeLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5434
+ initializeMaxDeviationsP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, _maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5239
5435
  initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
5240
5436
  removeOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5241
5437
  replaceOracle(_index: PromiseOrValue<BigNumberish>, _a: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
5242
5438
  setLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5243
5439
  setLimitJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
5244
5440
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
5441
+ setMaxLookbackDeviationP(_maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5442
+ setMaxMarketDeviationP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
5245
5443
  updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: CallOverrides): Promise<void>;
5246
5444
  updateCollateralUsdPriceFeed(_collateralIndex: PromiseOrValue<BigNumberish>, _value: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
5247
5445
  updateLinkUsdPriceFeed(_value: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
@@ -5297,6 +5495,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5297
5495
  AllyUnwhitelisted(ally?: PromiseOrValue<string> | null): AllyUnwhitelistedEventFilter;
5298
5496
  "AllyWhitelisted(address)"(ally?: PromiseOrValue<string> | null): AllyWhitelistedEventFilter;
5299
5497
  AllyWhitelisted(ally?: PromiseOrValue<string> | null): AllyWhitelistedEventFilter;
5498
+ "OverrodeAllyFeeP(address,uint24)"(ally?: PromiseOrValue<string> | null, allyFeeP?: null): OverrodeAllyFeePEventFilter;
5499
+ OverrodeAllyFeeP(ally?: PromiseOrValue<string> | null, allyFeeP?: null): OverrodeAllyFeePEventFilter;
5500
+ "OverrodeReferralFeeP(address,uint24)"(referrer?: PromiseOrValue<string> | null, referralFeeP?: null): OverrodeReferralFeePEventFilter;
5501
+ OverrodeReferralFeeP(referrer?: PromiseOrValue<string> | null, referralFeeP?: null): OverrodeReferralFeePEventFilter;
5300
5502
  "ReferrerRegistered(address,address)"(trader?: PromiseOrValue<string> | null, referrer?: PromiseOrValue<string> | null): ReferrerRegisteredEventFilter;
5301
5503
  ReferrerRegistered(trader?: PromiseOrValue<string> | null, referrer?: PromiseOrValue<string> | null): ReferrerRegisteredEventFilter;
5302
5504
  "ReferrerRewardDistributed(address,address,uint256,uint256,uint256)"(referrer?: PromiseOrValue<string> | null, trader?: PromiseOrValue<string> | null, volumeUsd?: null, amountGns?: null, amountValueUsd?: null): ReferrerRewardDistributedEventFilter;
@@ -5363,6 +5565,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5363
5565
  ProtectionCloseFactorUpdated(pairIndex?: PromiseOrValue<BigNumberish> | null, protectionCloseFactor?: null): ProtectionCloseFactorUpdatedEventFilter;
5364
5566
  "ProtectionCloseFactorWhitelistUpdated(address,bool)"(trader?: null, whitelisted?: null): ProtectionCloseFactorWhitelistUpdatedEventFilter;
5365
5567
  ProtectionCloseFactorWhitelistUpdated(trader?: null, whitelisted?: null): ProtectionCloseFactorWhitelistUpdatedEventFilter;
5568
+ "UserPriceImpactUpdated(address,uint16,uint16,uint16)"(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, cumulVolPriceImpactMultiplier?: null, fixedSpreadP?: null): UserPriceImpactUpdatedEventFilter;
5569
+ UserPriceImpactUpdated(trader?: PromiseOrValue<string> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, cumulVolPriceImpactMultiplier?: null, fixedSpreadP?: null): UserPriceImpactUpdatedEventFilter;
5366
5570
  "CollateralAdded(address,uint8,address)"(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
5367
5571
  CollateralAdded(collateral?: null, index?: null, gToken?: null): CollateralAddedEventFilter;
5368
5572
  "CollateralDisabled(uint8)"(index?: null): CollateralDisabledEventFilter;
@@ -5491,6 +5695,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5491
5695
  LinkRequestCreated(request?: null): LinkRequestCreatedEventFilter;
5492
5696
  "LinkUsdPriceFeedUpdated(address)"(value?: null): LinkUsdPriceFeedUpdatedEventFilter;
5493
5697
  LinkUsdPriceFeedUpdated(value?: null): LinkUsdPriceFeedUpdatedEventFilter;
5698
+ "MaxLookbackDeviationPUpdated(uint24)"(maxLookbackDeviationP?: null): MaxLookbackDeviationPUpdatedEventFilter;
5699
+ MaxLookbackDeviationPUpdated(maxLookbackDeviationP?: null): MaxLookbackDeviationPUpdatedEventFilter;
5700
+ "MaxMarketDeviationPUpdated(uint24)"(maxMarketDeviationP?: null): MaxMarketDeviationPUpdatedEventFilter;
5701
+ MaxMarketDeviationPUpdated(maxMarketDeviationP?: null): MaxMarketDeviationPUpdatedEventFilter;
5494
5702
  "MinAnswersUpdated(uint8)"(value?: null): MinAnswersUpdatedEventFilter;
5495
5703
  MinAnswersUpdated(value?: null): MinAnswersUpdatedEventFilter;
5496
5704
  "OracleAdded(uint256,address)"(index?: null, value?: null): OracleAddedEventFilter;
@@ -5499,10 +5707,10 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5499
5707
  OracleRemoved(index?: null, oldOracle?: null): OracleRemovedEventFilter;
5500
5708
  "OracleReplaced(uint256,address,address)"(index?: null, oldOracle?: null, newOracle?: null): OracleReplacedEventFilter;
5501
5709
  OracleReplaced(index?: null, oldOracle?: null, newOracle?: null): OracleReplacedEventFilter;
5502
- "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool)"(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
5503
- PriceReceived(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null): PriceReceivedEventFilter;
5504
- "PriceRequested(uint8,uint256,tuple,tuple,uint8,uint256,bool,bytes32,uint256,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, tradeId?: null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
5505
- PriceRequested(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, tradeId?: null, pendingOrderId?: null, orderType?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
5710
+ "PriceReceived(tuple,uint16,bytes32,uint256,bool,bool,bool,bool,tuple[],tuple[])"(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null, minAnswersReached?: null, minFilteredAnswersReached?: null, unfilteredAnswers?: null, filteredAnswers?: null): PriceReceivedEventFilter;
5711
+ PriceReceived(orderId?: null, pairIndex?: PromiseOrValue<BigNumberish> | null, request?: null, priceData?: null, isLookback?: null, usedInMedian?: null, minAnswersReached?: null, minFilteredAnswersReached?: null, unfilteredAnswers?: null, filteredAnswers?: null): PriceReceivedEventFilter;
5712
+ "PriceRequested(uint8,uint256,tuple,uint256,bool,bytes32,uint256,uint256)"(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, pendingOrder?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
5713
+ PriceRequested(collateralIndex?: PromiseOrValue<BigNumberish> | null, pairIndex?: PromiseOrValue<BigNumberish> | null, pendingOrder?: null, fromBlock?: null, isLookback?: null, job?: null, linkFeePerNode?: null, nodesCount?: null): PriceRequestedEventFilter;
5506
5714
  "TradingCallbackExecuted(tuple,uint8)"(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
5507
5715
  TradingCallbackExecuted(a?: null, orderType?: null): TradingCallbackExecutedEventFilter;
5508
5716
  "TwapIntervalUpdated(uint32)"(newValue?: null): TwapIntervalUpdatedEventFilter;
@@ -5558,6 +5766,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5558
5766
  initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
5559
5767
  from?: PromiseOrValue<string>;
5560
5768
  }): Promise<BigNumber>;
5769
+ initializeReferralFeeChange(overrides?: Overrides & {
5770
+ from?: PromiseOrValue<string>;
5771
+ }): Promise<BigNumber>;
5561
5772
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5562
5773
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5563
5774
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5567,7 +5778,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5567
5778
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5568
5779
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5569
5780
  pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5570
- pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5781
+ pairSpreadP(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5782
+ pairSpreadPArray(_trader: PromiseOrValue<string>[], _pairIndex: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<BigNumber>;
5571
5783
  pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5572
5784
  pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5573
5785
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5600,6 +5812,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5600
5812
  from?: PromiseOrValue<string>;
5601
5813
  }): Promise<BigNumber>;
5602
5814
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5815
+ getReferralSettingsOverrides(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5603
5816
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5604
5817
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<BigNumber>;
5605
5818
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<BigNumber>;
@@ -5612,6 +5825,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5612
5825
  initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5613
5826
  from?: PromiseOrValue<string>;
5614
5827
  }): Promise<BigNumber>;
5828
+ overrideAllyFeeP(_allies: PromiseOrValue<string>[], _allyFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5829
+ from?: PromiseOrValue<string>;
5830
+ }): Promise<BigNumber>;
5831
+ overrideReferralFeeP(_referrers: PromiseOrValue<string>[], _referralFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5832
+ from?: PromiseOrValue<string>;
5833
+ }): Promise<BigNumber>;
5615
5834
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
5616
5835
  from?: PromiseOrValue<string>;
5617
5836
  }): Promise<BigNumber>;
@@ -5675,6 +5894,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5675
5894
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
5676
5895
  getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5677
5896
  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>;
5897
+ getUserPriceImpact(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5678
5898
  initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5679
5899
  from?: PromiseOrValue<string>;
5680
5900
  }): Promise<BigNumber>;
@@ -5714,6 +5934,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5714
5934
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5715
5935
  from?: PromiseOrValue<string>;
5716
5936
  }): Promise<BigNumber>;
5937
+ setUserPriceImpact(_traders: PromiseOrValue<string>[], _pairIndices: PromiseOrValue<BigNumberish>[], _cumulVolPriceImpactMultipliers: PromiseOrValue<BigNumberish>[], _fixedSpreadPs: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
5938
+ from?: PromiseOrValue<string>;
5939
+ }): Promise<BigNumber>;
5717
5940
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
5718
5941
  from?: PromiseOrValue<string>;
5719
5942
  }): Promise<BigNumber>;
@@ -5739,6 +5962,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5739
5962
  getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5740
5963
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<BigNumber>;
5741
5964
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5965
+ getGnsCollateralIndex(overrides?: CallOverrides): Promise<BigNumber>;
5742
5966
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<BigNumber>;
5743
5967
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
5744
5968
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5756,6 +5980,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5756
5980
  from?: PromiseOrValue<string>;
5757
5981
  }): Promise<BigNumber>;
5758
5982
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5983
+ isCollateralGns(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5759
5984
  isCollateralListed(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5760
5985
  storePendingOrder(_pendingOrder: ITradingStorage.PendingOrderStruct, overrides?: Overrides & {
5761
5986
  from?: PromiseOrValue<string>;
@@ -5984,11 +6209,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5984
6209
  getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5985
6210
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<BigNumber>;
5986
6211
  getMarketJobId(overrides?: CallOverrides): Promise<BigNumber>;
6212
+ getMaxLookbackDeviationP(overrides?: CallOverrides): Promise<BigNumber>;
6213
+ getMaxMarketDeviationP(overrides?: CallOverrides): Promise<BigNumber>;
5987
6214
  getMinAnswers(overrides?: CallOverrides): Promise<BigNumber>;
5988
6215
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
5989
6216
  getOracles(overrides?: CallOverrides): Promise<BigNumber>;
5990
6217
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
5991
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6218
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _pendingOrder: ITradingStorage.PendingOrderStruct, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
5992
6219
  from?: PromiseOrValue<string>;
5993
6220
  }): Promise<BigNumber>;
5994
6221
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
@@ -5999,6 +6226,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5999
6226
  initializeLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6000
6227
  from?: PromiseOrValue<string>;
6001
6228
  }): Promise<BigNumber>;
6229
+ initializeMaxDeviationsP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, _maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6230
+ from?: PromiseOrValue<string>;
6231
+ }): Promise<BigNumber>;
6002
6232
  initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
6003
6233
  from?: PromiseOrValue<string>;
6004
6234
  }): Promise<BigNumber>;
@@ -6017,6 +6247,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6017
6247
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
6018
6248
  from?: PromiseOrValue<string>;
6019
6249
  }): Promise<BigNumber>;
6250
+ setMaxLookbackDeviationP(_maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6251
+ from?: PromiseOrValue<string>;
6252
+ }): Promise<BigNumber>;
6253
+ setMaxMarketDeviationP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6254
+ from?: PromiseOrValue<string>;
6255
+ }): Promise<BigNumber>;
6020
6256
  updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
6021
6257
  from?: PromiseOrValue<string>;
6022
6258
  }): Promise<BigNumber>;
@@ -6103,6 +6339,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6103
6339
  initializeNewFees(_tradeFeeParams: IPairsStorage.GlobalTradeFeeParamsStruct, overrides?: Overrides & {
6104
6340
  from?: PromiseOrValue<string>;
6105
6341
  }): Promise<PopulatedTransaction>;
6342
+ initializeReferralFeeChange(overrides?: Overrides & {
6343
+ from?: PromiseOrValue<string>;
6344
+ }): Promise<PopulatedTransaction>;
6106
6345
  isPairIndexListed(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6107
6346
  isPairListed(_from: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6108
6347
  pairCustomMaxLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -6112,7 +6351,8 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6112
6351
  pairMinLeverage(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6113
6352
  pairMinPositionSizeUsd(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6114
6353
  pairOraclePositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6115
- pairSpreadP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6354
+ pairSpreadP(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6355
+ pairSpreadPArray(_trader: PromiseOrValue<string>[], _pairIndex: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
6116
6356
  pairTotalLiqCollateralFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6117
6357
  pairTotalPositionSizeFeeP(_pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6118
6358
  pairs(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -6145,6 +6385,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6145
6385
  from?: PromiseOrValue<string>;
6146
6386
  }): Promise<PopulatedTransaction>;
6147
6387
  getAllyDetails(_ally: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6388
+ getReferralSettingsOverrides(_address: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6148
6389
  getReferralsAllyFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6149
6390
  getReferralsStartReferrerFeeP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6150
6391
  getReferralsTargetVolumeUsd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -6157,6 +6398,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6157
6398
  initializeReferrals(_allyFeeP: PromiseOrValue<BigNumberish>, _startReferrerFeeP: PromiseOrValue<BigNumberish>, _targetVolumeUsd: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6158
6399
  from?: PromiseOrValue<string>;
6159
6400
  }): Promise<PopulatedTransaction>;
6401
+ overrideAllyFeeP(_allies: PromiseOrValue<string>[], _allyFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
6402
+ from?: PromiseOrValue<string>;
6403
+ }): Promise<PopulatedTransaction>;
6404
+ overrideReferralFeeP(_referrers: PromiseOrValue<string>[], _referralFeeP: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
6405
+ from?: PromiseOrValue<string>;
6406
+ }): Promise<PopulatedTransaction>;
6160
6407
  registerPotentialReferrer(_trader: PromiseOrValue<string>, _referrer: PromiseOrValue<string>, overrides?: Overrides & {
6161
6408
  from?: PromiseOrValue<string>;
6162
6409
  }): Promise<PopulatedTransaction>;
@@ -6220,6 +6467,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6220
6467
  getPriceImpactOi(_pairIndex: PromiseOrValue<BigNumberish>, _long: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6221
6468
  getProtectionCloseFactorWhitelist(_trader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6222
6469
  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>;
6470
+ getUserPriceImpact(_trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6223
6471
  initializeNegPnlCumulVolMultiplier(_negPnlCumulVolMultiplier: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6224
6472
  from?: PromiseOrValue<string>;
6225
6473
  }): Promise<PopulatedTransaction>;
@@ -6259,6 +6507,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6259
6507
  setProtectionCloseFactors(_pairIndices: PromiseOrValue<BigNumberish>[], _protectionCloseFactors: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
6260
6508
  from?: PromiseOrValue<string>;
6261
6509
  }): Promise<PopulatedTransaction>;
6510
+ setUserPriceImpact(_traders: PromiseOrValue<string>[], _pairIndices: PromiseOrValue<BigNumberish>[], _cumulVolPriceImpactMultipliers: PromiseOrValue<BigNumberish>[], _fixedSpreadPs: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
6511
+ from?: PromiseOrValue<string>;
6512
+ }): Promise<PopulatedTransaction>;
6262
6513
  addCollateral(_collateral: PromiseOrValue<string>, _gToken: PromiseOrValue<string>, overrides?: Overrides & {
6263
6514
  from?: PromiseOrValue<string>;
6264
6515
  }): Promise<PopulatedTransaction>;
@@ -6284,6 +6535,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6284
6535
  getCountersForTraders(_traders: PromiseOrValue<string>[], _type: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6285
6536
  getCurrentContractsVersion(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6286
6537
  getGToken(_collateralIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6538
+ getGnsCollateralIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6287
6539
  getPendingOrder(_orderId: ITradingStorage.IdStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6288
6540
  getPendingOrders(_user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6289
6541
  getTrade(_trader: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -6301,6 +6553,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6301
6553
  from?: PromiseOrValue<string>;
6302
6554
  }): Promise<PopulatedTransaction>;
6303
6555
  isCollateralActive(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6556
+ isCollateralGns(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6304
6557
  isCollateralListed(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6305
6558
  storePendingOrder(_pendingOrder: ITradingStorage.PendingOrderStruct, overrides?: Overrides & {
6306
6559
  from?: PromiseOrValue<string>;
@@ -6529,11 +6782,13 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6529
6782
  getLinkFee(_collateralIndex: PromiseOrValue<BigNumberish>, _trader: PromiseOrValue<string>, _pairIndex: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6530
6783
  getLinkUsdPriceFeed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6531
6784
  getMarketJobId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6785
+ getMaxLookbackDeviationP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6786
+ getMaxMarketDeviationP(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6532
6787
  getMinAnswers(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6533
6788
  getOracle(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6534
6789
  getOracles(overrides?: CallOverrides): Promise<PopulatedTransaction>;
6535
6790
  getPendingRequest(_id: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
6536
- getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _tradeId: ITradingStorage.IdStruct, _orderId: ITradingStorage.IdStruct, _orderType: PromiseOrValue<BigNumberish>, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6791
+ getPrice(_collateralIndex: PromiseOrValue<BigNumberish>, _pairIndex: PromiseOrValue<BigNumberish>, _pendingOrder: ITradingStorage.PendingOrderStruct, _positionSizeCollateral: PromiseOrValue<BigNumberish>, _fromBlock: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6537
6792
  from?: PromiseOrValue<string>;
6538
6793
  }): Promise<PopulatedTransaction>;
6539
6794
  getPriceAggregatorOrder(_requestId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -6544,6 +6799,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6544
6799
  initializeLimitJobCount(_limitJobCount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6545
6800
  from?: PromiseOrValue<string>;
6546
6801
  }): Promise<PopulatedTransaction>;
6802
+ initializeMaxDeviationsP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, _maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6803
+ from?: PromiseOrValue<string>;
6804
+ }): Promise<PopulatedTransaction>;
6547
6805
  initializePriceAggregator(_linkToken: PromiseOrValue<string>, _linkUsdPriceFeed: PromiseOrValue<string>, _twapInterval: PromiseOrValue<BigNumberish>, _minAnswers: PromiseOrValue<BigNumberish>, _nodes: PromiseOrValue<string>[], _jobIds: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>], _collateralIndices: PromiseOrValue<BigNumberish>[], _gnsCollateralLiquidityPools: IPriceAggregator.LiquidityPoolInputStruct[], _collateralUsdPriceFeeds: PromiseOrValue<string>[], overrides?: Overrides & {
6548
6806
  from?: PromiseOrValue<string>;
6549
6807
  }): Promise<PopulatedTransaction>;
@@ -6562,6 +6820,12 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6562
6820
  setMarketJobId(_jobId: PromiseOrValue<BytesLike>, overrides?: Overrides & {
6563
6821
  from?: PromiseOrValue<string>;
6564
6822
  }): Promise<PopulatedTransaction>;
6823
+ setMaxLookbackDeviationP(_maxLookbackDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6824
+ from?: PromiseOrValue<string>;
6825
+ }): Promise<PopulatedTransaction>;
6826
+ setMaxMarketDeviationP(_maxMarketDeviationP: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
6827
+ from?: PromiseOrValue<string>;
6828
+ }): Promise<PopulatedTransaction>;
6565
6829
  updateCollateralGnsLiquidityPool(_collateralIndex: PromiseOrValue<BigNumberish>, _liquidityPoolInput: IPriceAggregator.LiquidityPoolInputStruct, overrides?: Overrides & {
6566
6830
  from?: PromiseOrValue<string>;
6567
6831
  }): Promise<PopulatedTransaction>;