Perp v2
Perp v2
  • About Perpetual Protocol
    • Social Links
    • Governance
    • v2 Era Ecosystem
    • PERP Token
  • Terms of Service
  • General
    • Wallets
    • Transfering Assets
    • Deposit & Withdrawal
    • Perpetual + Uniswap
    • FAQs
    • Guides
    • Legacy Reward Programs
    • Security
  • Hot Tub
  • Trading on Perp v2
    • How It Works
    • UI Overview
    • Perpetual Futures Basics
    • Trading Quick-start
    • Opening and Closing Positions
    • Account Value & More
    • Funding Payments
    • Order Types
    • Trading Fees and Gas Fees
    • Managing Risk
    • Multi-collateral
    • More docs
  • Providing Liquidity
    • Basics
    • Introduction to Maker UI
    • Add / Remove Liquidity
    • Estimated Fees and Rewards APR
    • More on LPing
    • Tools for LPs
  • Perp v2 Specs
  • Developer Docs
    • Developer FAQs
    • Source Code
    • Protocol Attributes
    • Contract guide
      • AccountBalance
      • BaseToken
      • ClearingHouse
      • CollateralManager
      • DelegateApproval
      • Exchange
      • InsuranceFund
      • MarketRegistry
      • OrderBook
      • QuoteToken
      • Vault
      • VirtualToken
    • Interface Contracts
      • IAccountBalance
      • IBaseToken
      • IClearingHouse
      • IClearingHouseConfig
      • IClearingHouseConfigEvent
      • ICollateralManager
      • IDelegateApproval
      • IERC20Metadata
      • IExchange
      • IIndexPrice
      • IInsuranceFund
      • IMarketRegistry
      • IOrderBook
      • IVault
      • IVirtualToken
    • Integration guide
    • Dev tools
Powered by GitBook
On this page
  • Functions​
  • Events​

Was this helpful?

  1. Developer Docs
  2. Interface Contracts

IMarketRegistry

Last updated 1 year ago

Was this helpful?

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:

Name
Type
Description

baseToken

address

The address of the base token

Return Values:

Name
Type
Description

pool

address

The address of the pool

  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

Name
Type
Description

baseToken

address

The address of the base token

Name
Type
Description

feeRatio

uint24

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

  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

Name
Type
Description

baseToken

address

The address of the base token

Name
Type
Description

feeRatio

uint24

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

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

Get the market info by given base token address

Name
Type
Description

baseToken

address

The address of the base token

Name
Type
Description

info

struct IMarketRegistry.MarketInfo

The market info encoded as MarketInfo

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

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

Name
Type
Description

trader

address

The address of the trader

baseToken

address

The address of the base token

Name
Type
Description

info

struct IMarketRegistry.MarketInfo

The market info encoded as MarketInfo

  function getQuoteToken(
  ) external returns (address quoteToken)

Get the quote token address

Name
Type
Description

quoteToken

address

The address of the quote token

  function getUniswapV3Factory(
  ) external returns (address factory)

Get Uniswap factory address

Name
Type
Description

factory

address

The address of the Uniswap factory

  function getMaxOrdersPerMarket(
  ) external returns (uint8 maxOrdersPerMarket)

Get max allowed orders per market

Name
Type
Description

maxOrdersPerMarket

uint8

The max allowed orders per market

  function hasPool(
  ) external returns (bool hasPool)

Check if a pool exist by given base token address

Name
Type
Description

hasPool

bool

True if the pool exist, false otherwise

  function getMarketMaxPriceSpreadRatio(
  ) external returns (uint24 marketMaxPriceSpreadRatio)
Name
Type
Description

marketMaxPriceSpreadRatio

uint24

Max price spread ratio of the market

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

Emitted when a new market is created.

Name
Type
Description

baseToken

address

The address of the base token

feeRatio

uint24

Fee ratio of the market

pool

address

The address of the pool

  event FeeRatioChanged(
    address baseToken,
    uint24 feeRatio
  )

Emitted when the fee ratio of a market is updated.

Name
Type
Description

baseToken

address

The address of the base token

feeRatio

uint24

Fee ratio of the market

  event InsuranceFundFeeRatioChanged(
    address baseToken,
    uint24 feeRatio
  )

Emitted when the insurance fund fee ratio is updated.

Name
Type
Description

baseToken

address

The address of the base token

feeRatio

uint24

Insurance fund fee ratio

  event MaxOrdersPerMarketChanged(
    uint8 maxOrdersPerMarket
  )

Emitted when the max orders per market is updated.

Name
Type
Description

maxOrdersPerMarket

uint8

Max orders per market

  event MarketMaxPriceSpreadRatioChanged(
    address baseToken,
    uint24 spreadRatio
  )

Emitted when the max market price spread ratio is updated.

Name
Type
Description

baseToken

address

The address of the base token

spreadRatio

uint24

Max market price spread ratio

  event FeeDiscountRatioChanged(
    address trader,
    uint24 discountRatio
  )

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

Name
Type
Description

trader

address

The address of the trader

discountRatio

uint24

Fee discount ratio (percent-off)

getFeeRatio

Parameters:

Return Values:

getInsuranceFundFeeRatio

Parameters:

Return Values:

getMarketInfo

Parameters:

Return Values:

getMarketInfoByTrader

Parameters:

Return Values:

getQuoteToken

Return Values:

getUniswapV3Factory

Return Values:

getMaxOrdersPerMarket

Return Values:

hasPool

Return Values:

getMarketMaxPriceSpreadRatio

Return Values:

Events

PoolAdded

Parameters:

FeeRatioChanged

Parameters:

InsuranceFundFeeRatioChanged

Parameters:

MaxOrdersPerMarketChanged

Parameters:

MarketMaxPriceSpreadRatioChanged

Parameters:

FeeDiscountRatioChanged

Parameters:

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​