Skip to main content

IMarketRegistry

MarketInfo

  struct MarketInfo(
address pool
uint24 exchangeFeeRatio
uint24 uniswapFeeRatio
uint24 insuranceFundFeeRatio
uint24 maxPriceSpreadRatio
)

Functions

getPool

  function getPool(
address baseToken
) external returns (address pool)

Get the pool address (UNIv3 pool) by given base token address

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token

Return Values:

NameTypeDescription
pooladdressThe address of the pool

getFeeRatio

  function getFeeRatio(
address baseToken
) external returns (uint24 feeRatio)

Get the fee ratio of a given market

The ratio is in 1e6 format, that means 1% = 1e4

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token

Return Values:

NameTypeDescription
feeRatiouint24The fee ratio of the market, it is a decimal in 1e6

getInsuranceFundFeeRatio

  function getInsuranceFundFeeRatio(
address baseToken
) external returns (uint24 feeRatio)

Get the insurance fund fee ratio of a given market

The ratio is in 1e6 format, that means 1% = 1e4

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token

Return Values:

NameTypeDescription
feeRatiouint24The fee ratio of the market, it is a decimal in 1e6

getMarketInfo

  function getMarketInfo(
address baseToken
) external returns (struct IMarketRegistry.MarketInfo info)

Get the market info by given base token address

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token

Return Values:

NameTypeDescription
infostruct IMarketRegistry.MarketInfoThe market info encoded as MarketInfo

getMarketInfoByTrader

  function getMarketInfoByTrader(
address trader,
address baseToken
) external returns (struct IMarketRegistry.MarketInfo info)

Get the market info by given trader address and base token address

Parameters:

NameTypeDescription
traderaddressThe address of the trader
baseTokenaddressThe address of the base token

Return Values:

NameTypeDescription
infostruct IMarketRegistry.MarketInfoThe market info encoded as MarketInfo

getQuoteToken

  function getQuoteToken(
) external returns (address quoteToken)

Get the quote token address

Return Values:

NameTypeDescription
quoteTokenaddressThe address of the quote token

getUniswapV3Factory

  function getUniswapV3Factory(
) external returns (address factory)

Get Uniswap factory address

Return Values:

NameTypeDescription
factoryaddressThe address of the Uniswap factory

getMaxOrdersPerMarket

  function getMaxOrdersPerMarket(
) external returns (uint8 maxOrdersPerMarket)

Get max allowed orders per market

Return Values:

NameTypeDescription
maxOrdersPerMarketuint8The max allowed orders per market

hasPool

  function hasPool(
) external returns (bool hasPool)

Check if a pool exist by given base token address

Return Values:

NameTypeDescription
hasPoolboolTrue if the pool exist, false otherwise

getMarketMaxPriceSpreadRatio

  function getMarketMaxPriceSpreadRatio(
) external returns (uint24 marketMaxPriceSpreadRatio)

Return Values:

NameTypeDescription
marketMaxPriceSpreadRatiouint24Max price spread ratio of the market

Events

PoolAdded

  event PoolAdded(
address baseToken,
uint24 feeRatio,
address pool
)

Emitted when a new market is created.

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token
feeRatiouint24Fee ratio of the market
pooladdressThe address of the pool

FeeRatioChanged

  event FeeRatioChanged(
address baseToken,
uint24 feeRatio
)

Emitted when the fee ratio of a market is updated.

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token
feeRatiouint24Fee ratio of the market

InsuranceFundFeeRatioChanged

  event InsuranceFundFeeRatioChanged(
address baseToken,
uint24 feeRatio
)

Emitted when the insurance fund fee ratio is updated.

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token
feeRatiouint24Insurance fund fee ratio

MaxOrdersPerMarketChanged

  event MaxOrdersPerMarketChanged(
uint8 maxOrdersPerMarket
)

Emitted when the max orders per market is updated.

Parameters:

NameTypeDescription
maxOrdersPerMarketuint8Max orders per market

MarketMaxPriceSpreadRatioChanged

  event MarketMaxPriceSpreadRatioChanged(
address baseToken,
uint24 spreadRatio
)

Emitted when the max market price spread ratio is updated.

Parameters:

NameTypeDescription
baseTokenaddressThe address of the base token
spreadRatiouint24Max market price spread ratio

FeeDiscountRatioChanged

  event FeeDiscountRatioChanged(
address trader,
uint24 discountRatio
)

Emitted when the trader's fee discount ratio gets updated.

Parameters:

NameTypeDescription
traderaddressThe address of the trader
discountRatiouint24Fee discount ratio (percent-off)