Carbon DeFi Dev
  • Carbon DeFi
    • Introducing Carbon DeFi
      • What Makes Carbon DeFi Unique?
      • Fees & Payments
      • Resources
    • Security & Audits
  • Contracts & Functions
    • Contracts
      • CarbonController
      • CarbonVortex
      • CarbonVortexBridge
      • Deployments
        • Mainnet Contracts
        • Testnet Contracts
    • CarbonController Functions
      • Write Functions
        • Transaction Prerequisites
          • approve() / allowance()
        • Trade
          • tradeBySourceAmount()
          • tradeByTargetAmount()
        • Strategy Management
          • createStrategy()
          • updateStrategy
          • deleteStrategy()
      • Read Functions
        • controllerType()
        • tradingFeePPM()
        • pairTradingFeePPM()
        • pair()
        • pairs()
        • strategy()
        • strategiesByPair()
        • strategiesByPairCount()
        • calculateTradeSourceAmount()
        • calculateTradeTargetAmount()
      • Data & Events
        • TradingFeePPMUpdated()
        • PairCreated()
        • StrategyCreated()
        • StrategyDeleted()
        • StrategyUpdated()
        • TokensTraded()
        • FeesWithdrawn()
    • CarbonVortex Functions
      • Write Functions
        • trade()
        • execute()
      • Read Functions
        • amountAvailableForTrading()
        • availableTokens()
        • expectedTradeInput()
        • expectedTradeReturn()
        • finalTargetToken()
        • minTargetTokenSaleAmount()
        • minTokenSaleAmount()
        • pairDisabled()
        • priceDecayHalfLife()
        • rewardsPPM()
        • targetToken()
        • targetTokenPriceDecayHalfLife()
        • targetTokenSaleAmount()
        • tokenPrice()
        • totalCollected()
        • tradingEnabled()
    • CarbonVortexBridge Functions
      • Write Functions
        • Bridge()
  • Rest API
    • Carbon DeFi Public REST API
  • Developer Guides
    • Carbon DeFi SDK
      • Getting started
      • Interacting with the SDK
        • Managing Strategies
        • Performing Trades
        • Getting User and Pair Data
        • Collecting Liquidity Data
      • SDK Functions
        • constructor
        • startDataSync
        • getCachedPairs
        • hasLiquidityByPair
        • getLiquidityByPair
        • getUserStrategies
        • getTradeData
        • composeTradeByTargetTransaction
        • composeTradeBySourceTransaction
        • createBuySellStrategy
        • updateStrategy
        • deleteStrategy
        • getMinRateByPair
        • getMaxRateByPair
        • getRateLiquidityDepthByPair
    • The Carbon DeFi versus Uniswap V3 Invariant Functions
    • Carbon DeFi Subgraph
      • Accessing the Subgraph
      • Creating Subgraph Queries
      • Subgraph Query in Python
      • Sample Subgraph Queries
    • Using CarbonVortex
      • CarbonVortex Dynamics
Powered by GitBook
On this page
  • Initial Contract Settings
  • Initiating and Restarting Auctions
  1. Developer Guides
  2. Using CarbonVortex

CarbonVortex Dynamics

Initial Contract Settings

The contract requires the deployer to predefine parameters which are used for the different function and functionalities of the contract and dutch auction.

Non adjustable values:

  • Auction initial price - set at uint128, it enables every auction to start at a price point of 34×10^37

  • targetToken - token address to consolidate all fees into

  • finalTargetToken - [optional] token address to auction targetToken to

Adjustable values:

  • priceDecayHalfLife - on existing deployments it is set at 6h. This determine the speed in which the "AnyToken to targetToken" auction price moves once initiated (following execute()).

  • targetTokenPriceDecayHalfLife - on existing deployments it is set at 6h. This determine the speed in which the "targetToken to finalTargetToken" auction price moves once initiated (following execute()).

  • targetTokenPriceDecayHalfLifeOnReset - on existing deployments it is set at 10days. This determine the speed in which the "targetToken to finalTargetToken" auction price slows down to following a trade.

  • targetTokenSaleAmount - unlike other auctions that auction the entire available balance of the token, targetToken auctions use buckets. This value indicates the maximum amount of tokens the bucket can auction at once.

Initiating and Restarting Auctions

Upon calling execute() , token balance will be transferred into the CarbonVortex contract and be included in an active auction. If there is no active auction, a new one will be created. There are some specific cases in which an auction price will reset to allow new tokens to rediscover their market price.

PreviousUsing CarbonVortex

Last updated 2 months ago