# 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()`).&#x20;
* 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.
