FluidDexT1Shift ​
constructor ​
constructor(address deployerContract_) public
_onlyDelegateCall ​
modifier _onlyDelegateCall()
_calcShiftingDone ​
function _calcShiftingDone(uint256 current_, uint256 old_, uint256 timePassed_, uint256 shiftDuration_) internal pure returns (uint256)
This function calculates the new value of a parameter after a shifting process.
Parameters ​
Name | Type | Description |
---|---|---|
current_ | uint256 | The current value is the final value where the shift ends |
old_ | uint256 | The old value from where shifting started. |
timePassed_ | uint256 | The time passed since shifting started. |
shiftDuration_ | uint256 | The total duration of the shift when old* reaches current* |
Return Values ​
Name | Type | Description |
---|---|---|
[0] | uint256 | The new value of the parameter after the shift. |
_calcRangeShifting ​
function _calcRangeShifting(uint256 upperRange_, uint256 lowerRange_, uint256 dexVariables2_) public returns (uint256, uint256, uint256)
This function handles the gradual shifting of range values over time If the shift is complete, it updates the state and clears the shift data
Calculates the new upper and lower range values during an active range shift
Parameters ​
Name | Type | Description |
---|---|---|
upperRange_ | uint256 | The target upper range value |
lowerRange_ | uint256 | The target lower range value |
dexVariables2_ | uint256 | needed in case shift is ended and we need to update dexVariables2 |
Return Values ​
Name | Type | Description |
---|---|---|
[0] | uint256 | The updated upper range, lower range, and dexVariables2 |
[1] | uint256 | |
[2] | uint256 |
_calcThresholdShifting ​
function _calcThresholdShifting(uint256 upperThreshold_, uint256 lowerThreshold_, uint256 thresholdTime_) public returns (uint256, uint256, uint256)
This function handles the gradual shifting of threshold values over time If the shift is complete, it updates the state and clears the shift data
Calculates the new upper and lower threshold values during an active threshold shift
Parameters ​
Name | Type | Description |
---|---|---|
upperThreshold_ | uint256 | The target upper threshold value |
lowerThreshold_ | uint256 | The target lower threshold value |
thresholdTime_ | uint256 | The time passed since shifting started |
Return Values ​
Name | Type | Description |
---|---|---|
[0] | uint256 | The updated upper threshold, lower threshold, and threshold time |
[1] | uint256 | |
[2] | uint256 |
_calcCenterPrice ​
function _calcCenterPrice(uint256 dexVariables_, uint256 dexVariables2_) public returns (uint256 newCenterPrice_)
This function gradually shifts the center price towards a new target price over time It uses an external price source (via ICenterPrice) to determine the target price The shift continues until the current price reaches the target, or the shift duration ends Once the shift is complete, it updates the state and clears the shift data The shift rate is dynamic and depends on:
- Time remaining in the shift duration
- The new center price (fetched externally, which may change)
- The current (old) center price This results in a fuzzy shifting mechanism where the rate can change as these parameters evolve The externally fetched new center price is expected to not differ significantly from the last externally fetched center price
Calculates the new center price during an active price shift
Parameters ​
Name | Type | Description |
---|---|---|
dexVariables_ | uint256 | The current state of dex variables |
dexVariables2_ | uint256 | Additional dex variables |
Return Values ​
Name | Type | Description |
---|---|---|
newCenterPrice_ | uint256 | The updated center price |