Mangrove
Developper
Developper
  • Welcome
  • Protocol
    • Introduction
    • Technical References
      • Overview
      • Ticks, ratios, and prices
      • Offer-list
        • Views on offers
      • Market-order
        • Delegation
      • Creating & Updating offers
        • Maker contract
        • Offer provisions
        • Gas requirement
        • Public data structures
        • Executing offers
      • Cleaning offers
      • Governance-parameters
        • Global variables
        • Local variables
        • Data structures and views
      • Periphery Contracts
        • MgvReader
        • MgvOracle
      • Literate Source Code
    • Background
      • Taking available liquidity
      • Making liquidity available
      • Reneging on offers
  • Strat Lib
    • What is the Strat Library?
    • Getting-started
      • Set Up Your Local Environment
      • Post a Smart Offer
    • Guides
      • Unlocking liquidity
      • Reposting an offer in the posthook
      • Using last look to renege trades
      • Determining gas requirements
      • Creating a Direct contract
      • Deploying your contract
      • Testing a maker contract
      • Safe offer logic guidelines
      • Approvals
    • Technical references
      • Principal hooks
      • Liquidity routing
      • API preferences
        • Core
          • SRC
            • IMangrove
        • Strats
          • SRC
            • Strategies
              • MangroveOffer
              • MangroveOrder
              • Integrations
                • AaveV3Borrower
                • AaveV3BorrowerImplementation
                • AaveV3BorrowerStorage
                • AaveV3Lender
                • CompoundModule
              • Interfaces
                • IForwarder
                • ILiquidityProvider
                • IOfferLogic
                • IOrderLogic
              • Offer_forwarder
                • Abstract
                  • Forwarder
              • Offer_maker
                • Abstract
                  • Direct
                • Market_making
                  • Kandel
                    • AaveKandel
                    • AaveKandelSeeder
                    • KandelSeeder
                    • Abstract
                      • AbstractKandelSeeder
                      • CoreKandel
                      • DirectWithBidsAndAsksDistribution
                      • GeometricKandel
                      • HasIndexedBidsAndAsks
                      • KandelLib
                      • TradesBaseQuotePair
              • Routeurs
                • SimpleRouter
                • Abstract
                  • AbstractRouter
                • Integrations
                  • AavePooledRouter
                  • HasAaveBalanceMemoizer
              • Utils
                • AccessControlled
              • Vendor
                • AAVE
                  • V3
                    • Contracts
                      • Dependencies
                        • Oppenzeppelin
                          • Contracts
                            • IERC20
                      • Interfaces
                        • IAToken
                        • IAaveIncentivesController
                        • IAaveOracle
                        • ICreditDelegationToken
                        • IInitializableAToken
                        • IPool
                        • IPoolAddressesProvider
                        • IPriceOracleGetter
                        • IScaledBalanceToken
                      • Protocol
                        • Libraries
                          • Configurations
                            • ReserveConfiguration
                          • Helpers
                            • Errors
                          • Types
                            • DataTypes
                    • Periphery
                      • Contracts
                        • MISC
                          • Interfaces
                            • IEACAggregatorProxy
                        • Rewards
                          • Interfaces
                            • IRewardsController
                            • IRewardsDistributor
                            • ITransferStrategyBase
                          • Libraries
                            • RewardsDataTypes
                • Compound
                  • CarefulMath
                  • Exponential
                  • ExponentialNoError
                  • ICompound
    • Background
      • Building Blocks
        • MangroveOffer
        • Direct
        • Forwarder
  • Vaults
    • Understanding vaults
      • Oracles
    • Managing a vault (CLI)
      • Deploying an oracle
      • Creating a vault
      • Monitoring the vault
      • Setting the vault position
      • Setting the fee data
      • Rebalancing
      • Adding or removing liquidity
    • Custom interactions
      • Oracles
      • Vault Factory
      • Managing a vault
        • Setting the position
        • Rebalancing
        • Setting a manager
        • Setting fee
  • Keeper Bots
    • Keeper Bots
    • Guides
      • Using borrowed funds for cleaning
    • Backgroud
      • The role of cleaning bots in Mangrove
      • The role of gas price updater bots in Mangrove
  • Adresses
    • Deployment Addresses
  • Quick Links
    • Glossary
    • Website
    • Whitepaper
Powered by GitBook
On this page
  • OfferType
  • IHasOfferListOfOfferType
  • TradesBaseQuotePair
  1. Strat Lib
  2. Technical references
  3. API preferences
  4. Strats
  5. SRC
  6. Strategies
  7. Offer_maker
  8. Market_making
  9. Kandel
  10. Abstract

TradesBaseQuotePair

OfferType

enum OfferType {
  Bid,
  Ask
}

IHasOfferListOfOfferType

offerListOfOfferType

function offerListOfOfferType(enum OfferType ba) internal view virtual returns (struct OLKey olKey)

turns an offer type into an (outbound_tkn, inbound_tkn, tickSpacing) pair identifying an offer list.

Parameters

Name
Type
Description

ba

enum OfferType

whether one wishes to access the offer lists where asks or bids are posted.

Return Values

Name
Type
Description

olKey

struct OLKey

the olKey defining the token pair

offerTypeOfOutbound

function offerTypeOfOutbound(contract IERC20 outbound_tkn) internal view virtual returns (enum OfferType ba)

returns the offer type of the offer list whose outbound token is given in the argument.

Parameters

Name
Type
Description

outbound_tkn

contract IERC20

the outbound token

Return Values

Name
Type
Description

ba

enum OfferType

the offer type

outboundOfOfferType

function outboundOfOfferType(enum OfferType ba) internal view virtual returns (contract IERC20 token)

returns the outbound token for the offer type

Parameters

Name
Type
Description

ba

enum OfferType

the offer type

Return Values

Name
Type
Description

token

contract IERC20

the outbound token

TradesBaseQuotePair

Implements the IHasOfferListOfOfferType interface contract.

BASE

contract IERC20 BASE

base of the market Kandel is making

QUOTE

contract IERC20 QUOTE

quote of the market Kandel is making

TICK_SPACING

uint256 TICK_SPACING

tickSpacing of the market Kandel is making

OfferListKey

event OfferListKey(bytes32 olKeyHash)

The traded offer list we only emit this, so that the events for a Kandel is self contained. If one uses the KandelSeeder to deploy, then this information is already available from NewKandel or NewAaveKandel events.

Parameters

Name
Type
Description

olKeyHash

bytes32

of the market Kandel is making

constructor

constructor(struct OLKey olKeyBaseQuote) internal

Constructor

Parameters

Name
Type
Description

olKeyBaseQuote

struct OLKey

The OLKey for the outbound_tkn base and inbound_tkn quote offer list Kandel will act on, the flipped OLKey is used for the opposite offer list.

offerListOfOfferType

function offerListOfOfferType(enum OfferType ba) internal view returns (struct OLKey olKey)

turns an offer type into an (outbound_tkn, inbound_tkn, tickSpacing) pair identifying an offer list.

Parameters

Name
Type
Description

ba

enum OfferType

whether one wishes to access the offer lists where asks or bids are posted.

Return Values

Name
Type
Description

olKey

struct OLKey

the olKey defining the token pair

offerTypeOfOutbound

function offerTypeOfOutbound(contract IERC20 outbound_tkn) internal view returns (enum OfferType)

returns the offer type of the offer list whose outbound token is given in the argument.

Parameters

Name
Type
Description

outbound_tkn

contract IERC20

the outbound token

Return Values

Name
Type
Description

[0]

enum OfferType

outboundOfOfferType

function outboundOfOfferType(enum OfferType ba) internal view returns (contract IERC20 token)

returns the outbound token for the offer type

Parameters

Name
Type
Description

ba

enum OfferType

the offer type

Return Values

Name
Type
Description

token

contract IERC20

the outbound token

dual

function dual(enum OfferType ba) internal pure returns (enum OfferType baDual)

returns the dual offer type

Parameters

Name
Type
Description

ba

enum OfferType

whether the offer is an ask or a bid

Return Values

Name
Type
Description

baDual

enum OfferType

is the dual offer type (ask for bid and conversely)

PreviousKandelLibNextRouteurs