Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
5e9a8bf
skip position validation for deposit collateral actions
xdev10 Oct 3, 2025
b80e173
fix tests
xdev10 Oct 3, 2025
862c352
add option to balance open interest by size in tokens
xdev10 Oct 3, 2025
e561a70
add tests
xdev10 Oct 3, 2025
62fe94d
fix lints
xdev10 Oct 3, 2025
9df4751
update price impact calculation
xdev10 Oct 3, 2025
66b7a4e
fix tests
xdev10 Oct 3, 2025
e4c1b09
Fix gas related test cases (add GAS_BUFFER constant)
dmax10 Oct 3, 2025
2fa6098
Merge branch 'glv-updates' into perp-updates
xdev10 Oct 3, 2025
3eb227d
update borrowing to be based on size in tokens
xdev10 Oct 3, 2025
e183a66
reduce contract size
xdev10 Oct 3, 2025
68583be
Merge branch 'perp-updates' of github.com:gmx-io/gmx-synthetics into …
xdev10 Oct 3, 2025
6e706f2
update tests
xdev10 Oct 6, 2025
b702bce
add max collateral sum
xdev10 Oct 6, 2025
b76cca9
fix tests
xdev10 Oct 6, 2025
b88431d
Merge pull request #259 from gmx-io/max-collateral-sum
xvi10 Oct 10, 2025
7b39560
update position validation
xdev10 Oct 10, 2025
087cdf2
use average price instead of max price for notional conversions
xdev10 Oct 10, 2025
5263d8b
use mid price for notional conversion
xdev10 Oct 10, 2025
6d9c4cb
use notional open interest only for determining funding factor
xdev10 Oct 10, 2025
3ab78cf
remove TimelockConfig.signalSetOracleProviderForToken, since Config.s…
xdev10 Oct 13, 2025
99c19ba
add Config.setOracleProviderForFeeHandlerToken
xdev10 Oct 13, 2025
e8716e6
add virtual inventory in tokens
xdev10 Oct 13, 2025
f04992d
Merge branch 'glv-updates' into perp-updates
xdev10 Oct 16, 2025
fdc5ea2
Add configs for XAUt0 on avalanche
dmax10 Oct 16, 2025
59e5246
Update XAUt0 address for avalanche
dmax10 Oct 16, 2025
44300cd
Merge pull request #264 from gmx-io/listings-2025-10-16
gmxer Oct 16, 2025
a915d45
upd transferGasLimit for XAUt0
gmxer Oct 16, 2025
acc4998
updated OI config for ASTER
hubert-de-lalye Oct 16, 2025
a1bc374
Merge branch 'updates' of github.com:gmx-io/gmx-synthetics into updates
hubert-de-lalye Oct 16, 2025
bb2c30b
add ContributorHandler deployments
xdev10 Oct 17, 2025
efaaca3
Auto-commit deployment docs for arbitrum
xdev10 Oct 17, 2025
839bba4
update role configs
xdev10 Oct 17, 2025
ef3bdd8
update role configs
xdev10 Oct 20, 2025
7b0581a
Add native token top-up via lzCompose for execution fees
dmax10 Oct 20, 2025
da63452
Fix MockStargatePool to match real Stargate behavior
dmax10 Oct 20, 2025
1984cab
Use recordBridgeIn for native token top-up
dmax10 Oct 20, 2025
07aa7a5
updated OI config for KTA
hubert-de-lalye Oct 21, 2025
28f9c68
update role configs
xdev10 Oct 22, 2025
b5965f6
Merge branch 'updates' of github.com:gmx-io/gmx-synthetics into updates
xdev10 Oct 22, 2025
616422e
apply borrowingRateConfig_LowerMax_WithHigherOptimal for BTC, ETH, SO…
hubert-de-lalye Oct 22, 2025
97b8406
Merge branch 'updates' of github.com:gmx-io/gmx-synthetics into updates
hubert-de-lalye Oct 22, 2025
269194d
Enforce msg.value sent by the executor to match the expected native t…
dmax10 Oct 22, 2025
5083c6c
Test lzCompose correctly delivers msg.value
dmax10 Oct 22, 2025
f046980
Update bridgeIn scripts to support native token top-up
dmax10 Oct 22, 2025
af622d7
add market config validation
xdev10 Oct 23, 2025
eee3a57
add scripts
xdev10 Oct 23, 2025
93fa0ab
update scripts
xdev10 Oct 25, 2025
2839508
Merge branch 'updates' into glv-updates
xdev10 Oct 26, 2025
1568243
Merge branch 'glv-updates' into perp-updates
xdev10 Oct 26, 2025
0e26769
Merge pull request #266 from gmx-io/multichian-native-fee-topup
xvi10 Oct 26, 2025
4d91f9c
update getNextOpenInterestParams validation
xdev10 Oct 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 89 additions & 12 deletions config/markets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@ export type BaseMarketConfig = {
maxLongTokenPoolAmount: BigNumberish;
maxShortTokenPoolAmount: BigNumberish;

// note that maxCollateralSum is used to fill maxLongCollateralSum and maxShortCollateralSum
// these values indicate the max sum of collaterals for a market
// maxLongCollateralSum and maxShortCollateralSum is duplicated for long and short positions
// e.g. if maxLongCollateralSum is 1000 tokens, then maxLongCollateralSum for longs
// and maxLongCollateralSum for shorts would both be 1000 tokens
// to make the configuration more intuitive, the maxLongCollateralSum and maxShortCollateralSum is divided by two
// in updateMarketConfigUtils
maxCollateralSum: BigNumberish;
maxLongCollateralSum?: BigNumberish;
maxShortCollateralSum?: BigNumberish;

maxPoolUsdForDeposit?: BigNumberish;
maxLongTokenPoolUsdForDeposit?: BigNumberish;
maxShortTokenPoolUsdForDeposit?: BigNumberish;
Expand Down Expand Up @@ -260,6 +271,12 @@ const borrowingRateConfig_HighMax_WithHigherBase: BorrowingRateConfig = {
aboveOptimalUsageBorrowingFactor: percentageToFloat("130%").div(SECONDS_PER_YEAR),
};

const borrowingRateConfig_LowerMax_WithHigherOptimal: BorrowingRateConfig = {
optimalUsageFactor: percentageToFloat("85%"),
baseBorrowingFactor: percentageToFloat("45%").div(SECONDS_PER_YEAR),
aboveOptimalUsageBorrowingFactor: percentageToFloat("90%").div(SECONDS_PER_YEAR),
};

const baseMarketConfig: Partial<BaseMarketConfig> = {
minCollateralFactor: percentageToFloat("1%"), // 1%
minCollateralFactorForLiquidation: percentageToFloat("1%"), // 1%
Expand Down Expand Up @@ -297,6 +314,7 @@ const baseMarketConfig: Partial<BaseMarketConfig> = {
swapImpactExponentFactor: exponentToFloat("2e0"), // 2

minCollateralUsd: decimalToFloat(1, 0), // 1 USD
maxCollateralSum: expandDecimals(10_000_000_000_000, 18), // 10 trillion with 18 decimals

// factor in open interest reserve factor 80%
borrowingFactor: decimalToFloat(625, 11), // 0.00000000625 * 80% = 0.000000005, 0.0000005% / second, 15.77% per year if the pool is 100% utilized
Expand Down Expand Up @@ -397,6 +415,8 @@ const hardhatBaseMarketConfig: Partial<BaseMarketConfig> = {
maxLongTokenPoolAmount: expandDecimals(1_000_000_000, 18),
maxShortTokenPoolAmount: expandDecimals(1_000_000_000, 18),

maxCollateralSum: expandDecimals(10_000_000_000_000, 18), // 10 trillion with 18 decimals

maxPoolUsdForDeposit: decimalToFloat(1_000_000_000_000_000),
maxOpenInterest: decimalToFloat(1_000_000_000),

Expand Down Expand Up @@ -458,7 +478,7 @@ const config: {

...baseMarketConfig,
...fundingRateConfig_Low,
...borrowingRateConfig_LowMax_WithLowerBase,
...borrowingRateConfig_LowerMax_WithHigherOptimal,

reserveFactor: percentageToFloat("350%"),
openInterestReserveFactor: percentageToFloat("345%"),
Expand Down Expand Up @@ -555,7 +575,7 @@ const config: {

...baseMarketConfig,
...fundingRateConfig_Low,
...borrowingRateConfig_LowMax_WithLowerBase,
...borrowingRateConfig_LowerMax_WithHigherOptimal,

reserveFactor: percentageToFloat("275%"),
openInterestReserveFactor: percentageToFloat("270%"),
Expand Down Expand Up @@ -956,7 +976,7 @@ const config: {

...baseMarketConfig,
...fundingRateConfig_Default,
...borrowingRateConfig_LowMax_WithLowerBase,
...borrowingRateConfig_LowerMax_WithHigherOptimal,

maxLongTokenPoolAmount: expandDecimals(110_000, 9),
maxShortTokenPoolAmount: expandDecimals(20_000_000, 6),
Expand Down Expand Up @@ -1128,7 +1148,7 @@ const config: {

...baseMarketConfig,
...fundingRateConfig_Default,
...borrowingRateConfig_LowMax_WithLowerBase,
...borrowingRateConfig_LowerMax_WithHigherOptimal,

reserveFactor: percentageToFloat("305%"),
openInterestReserveFactor: percentageToFloat("300%"),
Expand Down Expand Up @@ -3744,11 +3764,11 @@ const config: {
openInterestReserveFactor: percentageToFloat("100%"),
maxPnlFactorForTraders: percentageToFloat("50%"),

maxOpenInterest: decimalToFloat(500_000),
maxPoolUsdForDeposit: decimalToFloat(750_000),
maxOpenInterest: decimalToFloat(600_000),
maxPoolUsdForDeposit: decimalToFloat(900_000),

maxLongTokenPoolAmount: expandDecimals(220, 18), // ~1M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(1_000_000, 6), // ~1M USD (2x max open interest)
maxLongTokenPoolAmount: expandDecimals(270, 18), // ~1.08M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(1_080_000, 6), // ~1.08M USD (2x max open interest)
},
{
tokens: { indexToken: "WLFI", longToken: "WETH", shortToken: "USDC" },
Expand Down Expand Up @@ -3907,11 +3927,11 @@ const config: {
openInterestReserveFactor: percentageToFloat("100%"),
maxPnlFactorForTraders: percentageToFloat("90%"),

maxOpenInterest: decimalToFloat(1_000_000),
maxPoolUsdForDeposit: decimalToFloat(1_500_000),
maxOpenInterest: decimalToFloat(1_500_000),
maxPoolUsdForDeposit: decimalToFloat(2_250_000),

maxLongTokenPoolAmount: expandDecimals(16, 8), // ~2M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(2_000_000, 6), // ~2M USD (2x max open interest)
maxLongTokenPoolAmount: expandDecimals(25, 8), // ~2.7M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(2_700_000, 6), // ~2.7M USD (2x max open interest)
},
{
tokens: { indexToken: "0G", longToken: "WBTC.e", shortToken: "USDC" },
Expand Down Expand Up @@ -4507,6 +4527,61 @@ const config: {

atomicSwapFeeFactor: percentageToFloat("0.5%"),
},
{
tokens: { indexToken: "XAUt0", longToken: "XAUt0", shortToken: "XAUt0" },
virtualTokenIdForIndexToken: hashString("PERP:XAUt0/USD"),
virtualMarketId: hashString("SPOT:XAUt0/USD"),

...singleTokenMarketConfig,
...fundingRateConfig_Low,
...borrowingRateConfig_LowMax_WithLowerBase,

negativePositionImpactFactor: exponentToFloat("9.29e-9"),
positivePositionImpactFactor: exponentToFloat("7.74e-9"),

minCollateralFactor: percentageToFloat("0.5%"), // 200x leverage
minCollateralFactorForLiquidation: percentageToFloat("0.5%"), // 200x leverage
minCollateralFactorForOpenInterestMultiplier: exponentToFloat("2.78e-9"),

reserveFactor: percentageToFloat("105%"),
openInterestReserveFactor: percentageToFloat("100%"),
maxPnlFactorForTraders: percentageToFloat("90%"),

maxOpenInterest: decimalToFloat(2_000_000),
maxPoolUsdForDeposit: decimalToFloat(3_000_000),

maxLongTokenPoolAmount: expandDecimals(940, 6), // ~4M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(940, 6), // ~4M USD (2x max open interest)
},
{
tokens: { indexToken: "XAUt0", longToken: "XAUt0", shortToken: "USDT" },
virtualTokenIdForIndexToken: hashString("PERP:XAUt0/USD"),
virtualMarketId: hashString("SPOT:XAUt0/USDT"),

...baseMarketConfig,
...fundingRateConfig_Low,
...borrowingRateConfig_LowMax_WithLowerBase,

negativePositionImpactFactor: exponentToFloat("9.29e-9"),
positivePositionImpactFactor: exponentToFloat("7.74e-9"),

negativeSwapImpactFactor: exponentToFloat("3.5e-9"),
positiveSwapImpactFactor: exponentToFloat("1.75e-9"),

minCollateralFactor: percentageToFloat("0.5%"),
minCollateralFactorForLiquidation: percentageToFloat("0.5%"),
minCollateralFactorForOpenInterestMultiplier: exponentToFloat("2.14e-9"),

reserveFactor: percentageToFloat("135%"),
openInterestReserveFactor: percentageToFloat("130%"),
maxPnlFactorForTraders: percentageToFloat("90%"),

maxOpenInterest: decimalToFloat(2_000_000),
maxPoolUsdForDeposit: decimalToFloat(3_000_000),

maxLongTokenPoolAmount: expandDecimals(940, 6), // ~4M USD (2x max open interest)
maxShortTokenPoolAmount: expandDecimals(4_000_000, 6), // ~4M USD (2x max open interest)
},
],
arbitrumSepolia: [
{
Expand Down Expand Up @@ -5160,6 +5235,8 @@ export default async function (hre: HardhatRuntimeEnvironment) {
"maxShortTokenPoolUsdForDeposit"
);

fillLongShortValues(market, "maxCollateralSum", "maxLongCollateralSum", "maxShortCollateralSum");

fillLongShortValues(market, "maxOpenInterest", "maxOpenInterestForLongs", "maxOpenInterestForShorts");

fillLongShortValues(
Expand Down
111 changes: 111 additions & 0 deletions config/roleConfigs/arbitrum.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
export function getRoles({
syntheticKeepers,
chainlinkKeepers,
gelatoKeepers,
claimAdmins,
generalConfigKeepers,
fundDistributors,
}) {
return {
ADL_KEEPER: syntheticKeepers.mainnet,
FROZEN_ORDER_KEEPER: syntheticKeepers.mainnet,
LIQUIDATION_KEEPER: syntheticKeepers.mainnet,
ORDER_KEEPER: { ...syntheticKeepers.mainnet, ...chainlinkKeepers.arbitrum, ...gelatoKeepers.arbitrum },
LIMITED_CONFIG_KEEPER: syntheticKeepers.mainnet,
CLAIM_ADMIN: {
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
...claimAdmins.mainnet,
...generalConfigKeepers.mainnet,
},
CONTRIBUTOR_KEEPER: {
"0x49B373D422BdA4C6BfCdd5eC1E48A9a26fdA2F8b": true, // contributor_keeper_1
},
CONTRIBUTOR_DISTRIBUTOR: {
...generalConfigKeepers.mainnet,
...fundDistributors.mainnet,
},
CONFIG_KEEPER: {
"0x4b6ACC5b2db1757bD49408FeE92e32D39608B5d9": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
"0xd41e09434CDFe20ceA9411f55D86dDb314b6Af94": true, // ConfigSyncer
...generalConfigKeepers.mainnet,
},
FEE_KEEPER: {
"0x43CE1d475e06c65DD879f4ec644B8e0E10ff2b6D": true, // fee_keeper_1
},
// FEE_DISTRIBUTION_KEEPER: generalConfigKeepers.mainnet,
MARKET_KEEPER: {
...generalConfigKeepers.mainnet,
},
TIMELOCK_ADMIN: {
"0x35ea3066F90Db13e737BBd41f1ED7B4bfF8323b3": true, // timelock_admin_1
"0xE014cbD60A793901546178E1c16ad9132C927483": true, // timelock_admin_2
"0x4b6ACC5b2db1757bD49408FeE92e32D39608B5d9": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
},
TIMELOCK_MULTISIG: {
"0x4b6ACC5b2db1757bD49408FeE92e32D39608B5d9": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
},
GOV_TOKEN_CONTROLLER: {
"0x5E4766F932ce00aA4a1A82d3Da85adf15C5694A1": true, // RewardRouterV2
},
CONTROLLER: {
"0xf5F30B10141E1F63FC11eD772931A8294a591996": true, // MarketFactory
"0xdaFa7Deb67805d7498Aa926002bB2d713D1d9256": true, // GlvFactory
"0xA8AF9B86fC47deAde1bc66B12673706615E2B011": true, // OracleStore
"0x7EB417637a3E6d1C19E6d69158c47610b7a5d9B3": true, // FeeHandler

"0x1d3dbe2F913dcA27E943b2837A4Cdad6653B02E2": true, // Config
"0xd41e09434CDFe20ceA9411f55D86dDb314b6Af94": true, // ConfigSyncer
"0xdD67459D3e98EdDAA9770EbB7C38fF8F643f229f": true, // ConfigTimelockController
"0x4729D9f61c0159F5e02D2C2e5937B3225e55442C": true, // ContributorHandler
"0xaF3A3B4685008ebDD1fF98fc47A14D3ab5ffCfc1": true, // TimelockConfig
"0x7F01614cA5198Ec979B1aAd1DAF0DE7e0a215BDF": true, // Oracle
"0xb8fc96d7a413C462F611A7aC0C912c2FE26EAbC4": true, // FeeHandler Oracle
"0x87d66368cD08a7Ca42252f5ab44B2fb6d1Fb8d15": true, // ExchangeRouter
"0x5b9A353F18d543B9F8a57B2AE50a4FBc80033EC1": true, // SubaccountRouter
"0x10Fa5Bd343373101654E896B43Ca38Fd8f3789F9": true, // GlvRouter
"0x0C08518C41755C6907135266dCCf09d51aE53CC4": true, // GelatoRelayRouter
"0xA1D94802EcD642051B677dBF37c8E78ce6dd3784": true, // SubaccountGelatoRelayRouter
"0x04315E233C1c6FfA61080B76E29d5e8a1f7B4A35": true, // OrderHandler
"0x1DAa9A375132a3cDe9133B0a5DA67B57Ef21d102": true, // IncreaseOrderExecutor
"0x3F4ee93723C2F14eeC5a44a2Cb66edA006A171fd": true, // DecreaseOrderExecutor
"0x455D555350D5CcCD1E3Eb3D563B411Ef24697050": true, // SwapOrderExecutor
"0x563E8cDB5Ba929039c2Bb693B78CE12dC0AAfaDa": true, // DepositHandler
"0x1EC018d2b6ACCA20a0bEDb86450b7E27D1D8355B": true, // WithdrawalHandler
"0xDd20D75f92bF27e17d86D74424ce7435843E8df0": true, // AdlHandler
"0xdFc557EdF817bCd69F3b82d54f6338ecad2667CA": true, // LiquidationHandler
"0x763fD06BaF6bBcE1A06ab94C6dFd13813E517938": true, // ShiftHandler
"0xBB4C47CDfb90e281cAAE873c9531A25eBe2eD343": true, // GlvDepositHandler
"0x7A74946892569Fd488012D015436a5a9cBf37BEf": true, // GlvWithdrawalHandler
"0x632b763B31f9A1cB28c4f93925A591Cd34073AD6": true, // GlvShiftHandler
"0xDb2AB9566732710d02b23325F79A8832118b97c5": true, // SwapHandler
"0x28f1F4AA95F49FAB62464536A269437B13d48976": true, // ClaimHandler
"0x7129Ea01F0826c705d6F7ab01Cf3C06bb83E9397": true, // LayerZeroProvider
"0x2A7244EE5373D2F161cE99F0D144c12860D651Af": true, // MultichainClaimsRouter
"0xFdaFa6fbd4B480017FD37205Cb3A24AE93823956": true, // MultichainGlvRouter
"0xF53e30CE07f148fdE6e531Be7dC0b6ad670E8C6e": true, // MultichainGmRouter
"0x3c796504d47013Ea0552CCa57373B59DF03D34a0": true, // MultichainOrderRouter
"0x99CD306B777C5aAb842bA65e4f7FF0554ECDe808": true, // MultichainSubaccountRouter
"0xC1D1354A948bf717d6d873e5c0bE614359AF954D": true, // MultichainTransferRouter
},
ROUTER_PLUGIN: {
"0x87d66368cD08a7Ca42252f5ab44B2fb6d1Fb8d15": true, // ExchangeRouter
"0x5b9A353F18d543B9F8a57B2AE50a4FBc80033EC1": true, // SubaccountRouter
"0x10Fa5Bd343373101654E896B43Ca38Fd8f3789F9": true, // GlvRouter
"0x0C08518C41755C6907135266dCCf09d51aE53CC4": true, // GelatoRelayRouter
"0xA1D94802EcD642051B677dBF37c8E78ce6dd3784": true, // SubaccountGelatoRelayRouter
"0xFdaFa6fbd4B480017FD37205Cb3A24AE93823956": true, // MultichainGlvRouter
"0xF53e30CE07f148fdE6e531Be7dC0b6ad670E8C6e": true, // MultichainGmRouter
"0x3c796504d47013Ea0552CCa57373B59DF03D34a0": true, // MultichainOrderRouter
"0x99CD306B777C5aAb842bA65e4f7FF0554ECDe808": true, // MultichainSubaccountRouter
"0xC1D1354A948bf717d6d873e5c0bE614359AF954D": true, // MultichainTransferRouter
},
ROLE_ADMIN: {
"0x4bd1cdAab4254fC43ef6424653cA2375b4C94C0E": true, // GMX DAO
"0xaF3A3B4685008ebDD1fF98fc47A14D3ab5ffCfc1": true, // TimelockConfig
"0xdD67459D3e98EdDAA9770EbB7C38fF8F643f229f": true, // ConfigTimelockController
},
};
}
95 changes: 95 additions & 0 deletions config/roleConfigs/avalanche.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
export function getRoles({ syntheticKeepers, generalConfigKeepers, claimAdmins }) {
return {
ADL_KEEPER: syntheticKeepers.mainnet,
FROZEN_ORDER_KEEPER: syntheticKeepers.mainnet,
LIQUIDATION_KEEPER: syntheticKeepers.mainnet,
ORDER_KEEPER: syntheticKeepers.mainnet,
LIMITED_CONFIG_KEEPER: syntheticKeepers.mainnet,
CLAIM_ADMIN: {
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
...claimAdmins.mainnet,
...generalConfigKeepers.mainnet,
},
CONFIG_KEEPER: {
"0x15F9eBC71c539926B8f652a534d29B4Af57CaD55": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
"0x372aaDF1921c6f92346a4D5E9E5186bd00fF0562": true, // ConfigSyncer
...generalConfigKeepers.mainnet,
},
FEE_KEEPER: {
"0x43CE1d475e06c65DD879f4ec644B8e0E10ff2b6D": true, // fee_keeper_1
},
// FEE_DISTRIBUTION_KEEPER: generalConfigKeepers.mainnet,
MARKET_KEEPER: {
...generalConfigKeepers.mainnet,
},
TIMELOCK_ADMIN: {
"0x35ea3066F90Db13e737BBd41f1ED7B4bfF8323b3": true, // timelock_admin_1
"0xE014cbD60A793901546178E1c16ad9132C927483": true, // timelock_admin_2
"0x15F9eBC71c539926B8f652a534d29B4Af57CaD55": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
},
TIMELOCK_MULTISIG: {
"0x15F9eBC71c539926B8f652a534d29B4Af57CaD55": true, // multisig_1
"0x8D1d2e24eC641eDC6a1ebe0F3aE7af0EBC573e0D": true, // security_multisig_1
},
GOV_TOKEN_CONTROLLER: {
"0x091eD806490Cc58Fd514441499e58984cCce0630": true, // RewardRouterV2_2
},
CONTROLLER: {
"0xc57C155FacCd93F62546F329D1483E0E5b9C1241": true, // MarketFactory
"0x5d6B84086DA6d4B0b6C0dF7E02f8a6A039226530": true, // GlvFactory
"0xA6aC2e08C6d6bbD9B237e0DaaEcd7577996f4e84": true, // OracleStore
"0x1A3A103F9F536a0456C9b205152A3ac2b3c54490": true, // FeeHandler

"0xA421Fa4581b37CAE2E43502D205460a57B7D7a4b": true, // Config
"0x372aaDF1921c6f92346a4D5E9E5186bd00fF0562": true, // ConfigSyncer
"0xB8cAEF9245cbd9064a50830f8330B0D3a5d0D206": true, // ConfigTimelockController
"0xdD67459D3e98EdDAA9770EbB7C38fF8F643f229f": true, // TimelockConfig
"0xE1d5a068c5b75E0c7Ea1A9Fe8EA056f9356C6fFD": true, // Oracle
"0xAd7a7568F500F65AEA3D9417A210CBc5dcD7b273": true, // FeeHandler Oracle
"0xF0864BE1C39C0AB28a8f1918BC8321beF8F7C317": true, // ExchangeRouter
"0x88a5c6D94634Abd7745f5348e5D8C42868ed4AC3": true, // SubaccountRouter
"0x4729D9f61c0159F5e02D2C2e5937B3225e55442C": true, // GlvRouter
"0xa61f92ab63cc5C3d60574d40A6e73861c37aaC95": true, // GelatoRelayRouter
"0x58b09FD12863218F2ca156808C2Ae48aaCD0c072": true, // SubaccountGelatoRelayRouter
"0xDd20D75f92bF27e17d86D74424ce7435843E8df0": true, // OrderHandler
"0x24F52966Fc663b3e206f0DCbD40b6FF2df567880": true, // IncreaseOrderExecutor
"0x74bfc9c1E496D96bbAF87A8231aAD1c79DDbf7bA": true, // DecreaseOrderExecutor
"0x459058505A7c7252efE93aa69D03F6198601DA9e": true, // SwapOrderExecutor
"0x640dFe87059fEe3Ad59132ABb858191D7Fa5B219": true, // DepositHandler
"0x87d66368cD08a7Ca42252f5ab44B2fb6d1Fb8d15": true, // WithdrawalHandler
"0x2954C692cc26EF139f3B01435cd901A39a8cA830": true, // AdlHandler
"0x2e5D10A48C00cFcc6A31af873118d739323Ff71B": true, // LiquidationHandler
"0x0C08518C41755C6907135266dCCf09d51aE53CC4": true, // ShiftHandler
"0x632b763B31f9A1cB28c4f93925A591Cd34073AD6": true, // GlvDepositHandler
"0xdFc557EdF817bCd69F3b82d54f6338ecad2667CA": true, // GlvWithdrawalHandler
"0xF6e667bD3C914A336aFB57C38ABbF6ef41e2e7c8": true, // GlvShiftHandler
"0x0AF4d7c87339d3A4b40233439A4aBE13d97007f9": true, // SwapHandler
"0x7FfedCAC2eCb2C29dDc027B60D6F8107295Ff2eA": true, // ClaimHandler
"0xA1D94802EcD642051B677dBF37c8E78ce6dd3784": true, // LayerZeroProvider
"0x9080f8A35Da53F4200a68533FB1dC1cA05357bDB": true, // MultichainClaimsRouter
"0x2A7244EE5373D2F161cE99F0D144c12860D651Af": true, // MultichainGlvRouter
"0x10Fa5Bd343373101654E896B43Ca38Fd8f3789F9": true, // MultichainGmRouter
"0x99CD306B777C5aAb842bA65e4f7FF0554ECDe808": true, // MultichainOrderRouter
"0xB36a4c6cDeDea3f31b3d16F33553F93b96b178F4": true, // MultichainSubaccountRouter
"0x8c6e20A2211D1b70cD7c0789EcE44fDB19567621": true, // MultichainTransferRouter
},
ROUTER_PLUGIN: {
"0xF0864BE1C39C0AB28a8f1918BC8321beF8F7C317": true, // ExchangeRouter
"0x88a5c6D94634Abd7745f5348e5D8C42868ed4AC3": true, // SubaccountRouter
"0x4729D9f61c0159F5e02D2C2e5937B3225e55442C": true, // GlvRouter
"0xa61f92ab63cc5C3d60574d40A6e73861c37aaC95": true, // GelatoRelayRouter
"0x58b09FD12863218F2ca156808C2Ae48aaCD0c072": true, // SubaccountGelatoRelayRouter
"0x2A7244EE5373D2F161cE99F0D144c12860D651Af": true, // MultichainGlvRouter
"0x10Fa5Bd343373101654E896B43Ca38Fd8f3789F9": true, // MultichainGmRouter
"0x99CD306B777C5aAb842bA65e4f7FF0554ECDe808": true, // MultichainOrderRouter
"0xB36a4c6cDeDea3f31b3d16F33553F93b96b178F4": true, // MultichainSubaccountRouter
"0x8c6e20A2211D1b70cD7c0789EcE44fDB19567621": true, // MultichainTransferRouter
},
ROLE_ADMIN: {
"0xdD67459D3e98EdDAA9770EbB7C38fF8F643f229f": true, // TimelockConfig
"0xB8cAEF9245cbd9064a50830f8330B0D3a5d0D206": true, // ConfigTimelockController
},
};
}
Loading
Loading