fix: add symmetric InvalidAddress guard to setLiquidityManager (#935)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
4c1a3940ec
commit
ee867b256e
2 changed files with 9 additions and 0 deletions
|
|
@ -69,6 +69,7 @@ contract Kraiken is ERC20, ERC20Permit {
|
||||||
function setLiquidityManager(address liquidityManager_) external {
|
function setLiquidityManager(address liquidityManager_) external {
|
||||||
require(msg.sender == deployer, "only deployer");
|
require(msg.sender == deployer, "only deployer");
|
||||||
if (address(0) == liquidityManager_) revert ZeroAddressInSetter();
|
if (address(0) == liquidityManager_) revert ZeroAddressInSetter();
|
||||||
|
if (liquidityManager_ == stakingPool) revert InvalidAddress();
|
||||||
if (liquidityManager != address(0)) revert AddressAlreadySet();
|
if (liquidityManager != address(0)) revert AddressAlreadySet();
|
||||||
liquidityManager = liquidityManager_;
|
liquidityManager = liquidityManager_;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -187,6 +187,14 @@ contract KraikenTest is Test {
|
||||||
kraiken.setLiquidityManager(makeAddr("anotherLiquidityManager"));
|
kraiken.setLiquidityManager(makeAddr("anotherLiquidityManager"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testSetLiquidityManagerRejectsStakingPool() public {
|
||||||
|
Kraiken freshKraiken = new Kraiken("KRAIKEN", "KRK");
|
||||||
|
address sp = makeAddr("stakingPool");
|
||||||
|
freshKraiken.setStakingPool(sp);
|
||||||
|
vm.expectRevert(Kraiken.InvalidAddress.selector);
|
||||||
|
freshKraiken.setLiquidityManager(sp);
|
||||||
|
}
|
||||||
|
|
||||||
function testSetLiquidityManagerOnlyDeployer() public {
|
function testSetLiquidityManagerOnlyDeployer() public {
|
||||||
Kraiken freshKraiken = new Kraiken("KRAIKEN", "KRK");
|
Kraiken freshKraiken = new Kraiken("KRAIKEN", "KRK");
|
||||||
address nonDeployer = makeAddr("nonDeployer");
|
address nonDeployer = makeAddr("nonDeployer");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue