ResourceManager
Last modified:
Inherits: IResourceManager, Owned
A contract that holds immutable state for the resource token and the resource recipient address. It also maintains logic for managing the threshold of the resource token.
State Variables
threshold
The minimum threshold of RESOURCE tokens required to perform a release
uint256 public thresholdthresholdSetter
The address authorized to set the threshold value
address public thresholdSetterRESOURCE
The resource token required by parent IReleaser
ERC20 public immutable RESOURCERESOURCE_RECIPIENT
The recipient of the RESOURCE tokens
address public immutable RESOURCE_RECIPIENTFunctions
onlyThresholdSetter
Ensures only the threshold setter can call the setThreshold function
modifier onlyThresholdSetter() ;constructor
At construction the thresholdSetter defaults to 0 and its on the owner to set.
constructor(address _resource, uint256 _threshold, address _owner, address _recipient)
Owned(_owner);setThresholdSetter
Set the address authorized to set the threshold value
only callable by owner
function setThresholdSetter(address _thresholdSetter) external onlyOwner;setThreshold
Set the minimum threshold of RESOURCE tokens required to perform a release
only callable by thresholdSetter
the thresholdSetter should take explicit care when updating the threshold
- lowering the threshold may create instantaneous value leakage
- front-running a release with an increased threshold may cause economic loss to the releaser/searcher
function setThreshold(uint256 _threshold) external onlyThresholdSetter;