45 lines
1.7 KiB
Solidity
45 lines
1.7 KiB
Solidity
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
pragma solidity ^0.8.19;
|
|
|
|
/// @title ConfigurableOptimizer
|
|
/// @notice Optimizer mock with directly settable parameters for parameter sweep fuzzing
|
|
/// @dev Parameters are set via constructor or setter, not environment variables (Solidity can't read env)
|
|
contract ConfigurableOptimizer {
|
|
uint256 private _capitalInefficiency;
|
|
uint256 private _anchorShare;
|
|
uint24 private _anchorWidth;
|
|
uint256 private _discoveryDepth;
|
|
|
|
constructor(uint256 capitalInefficiency_, uint256 anchorShare_, uint24 anchorWidth_, uint256 discoveryDepth_) {
|
|
_capitalInefficiency = capitalInefficiency_;
|
|
_anchorShare = anchorShare_;
|
|
_anchorWidth = anchorWidth_;
|
|
_discoveryDepth = discoveryDepth_;
|
|
}
|
|
|
|
function setParams(uint256 capitalInefficiency_, uint256 anchorShare_, uint24 anchorWidth_, uint256 discoveryDepth_) external {
|
|
_capitalInefficiency = capitalInefficiency_;
|
|
_anchorShare = anchorShare_;
|
|
_anchorWidth = anchorWidth_;
|
|
_discoveryDepth = discoveryDepth_;
|
|
}
|
|
|
|
function calculateSentiment(uint256, uint256) public pure returns (uint256) {
|
|
return 0;
|
|
}
|
|
|
|
function getSentiment() external pure returns (uint256) {
|
|
return 0;
|
|
}
|
|
|
|
function getLiquidityParams() external view returns (uint256 capitalInefficiency, uint256 anchorShare, uint24 anchorWidth, uint256 discoveryDepth) {
|
|
capitalInefficiency = _capitalInefficiency;
|
|
anchorShare = _anchorShare;
|
|
anchorWidth = _anchorWidth;
|
|
discoveryDepth = _discoveryDepth;
|
|
}
|
|
|
|
function getDescription() external pure returns (string memory) {
|
|
return "Configurable Optimizer (Parameter Sweep)";
|
|
}
|
|
}
|