diff --git a/onchain/script/Deploy.sol b/onchain/script/Deploy.sol index e4a7fc8..9ae5482 100644 --- a/onchain/script/Deploy.sol +++ b/onchain/script/Deploy.sol @@ -7,6 +7,7 @@ import "../src/Stake.sol"; address constant WETH = 0xb16F35c0Ae2912430DAc15764477E179D9B9EbEa; //Sepolia address constant V3_FACTORY = 0x0227628f3F023bb0B980b67D528571c95c6DaC1c; //Sepolia +uint24 constant FEE = uint24(10_000); contract SepoliaScript is Script { function setUp() public {} @@ -20,7 +21,10 @@ contract SepoliaScript is Script { Harb harb = new Harb("Harberger Tax", "HARB", V3_FACTORY, WETH, tc); Stake stake = new Stake(address(harb)); harb.setStakingPool(address(stake)); - + factory = IUniswapV3Factory(V3_FACTORY); + IUniswapV3Pool(factory.createPool(WETH, address(harb), FEE)); + liquidityManager = new LiquidityManager(V3_FACTORY, WETH, address(harb)); + harb.setLiquidityManager(address(liquidityManager)); vm.stopBroadcast(); } } diff --git a/onchain/src/Harb.sol b/onchain/src/Harb.sol index 7928ca3..757e3dc 100644 --- a/onchain/src/Harb.sol +++ b/onchain/src/Harb.sol @@ -171,6 +171,8 @@ contract Harb is ERC20, ERC20Permit { emit Transfer(_from, _to, _amount); } + /* ============ UBI stuff ============ */ + function getUbiDue(address _account) public view returns (uint256) { UbiTitle storage lastUbiTitle = ubiTitles[_account]; return ubiDue(_account, lastUbiTitle.time, lastUbiTitle.sumTaxCollected); @@ -185,8 +187,7 @@ contract Harb is ERC20, ERC20Permit { uint256 totalSupplyTwab = twabController.getTotalSupplyTwabBetween(address(this), lastTaxClaimed, block.timestamp); uint256 taxCollectedSinceLastClaim = sumTaxCollected - _sumTaxCollected; - //return taxCollectedSinceLastClaim.mulDiv(accountTwab, (totalSupplyTwab - stakeTwab - poolTwab), Math.Rounding.Down); - return taxCollectedSinceLastClaim * accountTwab / (totalSupplyTwab - stakeTwab - poolTwab); + return taxCollectedSinceLastClaim.mulDiv(accountTwab, (totalSupplyTwab - stakeTwab - poolTwab), Math.Rounding.Down); } function claimUbi(address _account) external { diff --git a/onchain/test/Harb.t.sol b/onchain/test/Harb.t.sol index 456459f..21535f1 100644 --- a/onchain/test/Harb.t.sol +++ b/onchain/test/Harb.t.sol @@ -26,7 +26,7 @@ contract HarbTest is Test { LiquidityManager liquidityManager; function setUp() public { - mainnetFork = vm.createFork(vm.envString("ETH_NODE_URI_MAINNET"), 19432879); + mainnetFork = vm.createFork(vm.envString("ETH_NODE_URI_MAINNET"), 19433030); vm.selectFork(mainnetFork); weth = IWETH9(WETH); TwabController tc = new TwabController(60 * 60 * 24, uint32(block.timestamp));