From a8a7dd48d0d69e371a5c5689b4ceec0a009d0fb6 Mon Sep 17 00:00:00 2001 From: eccheung4 Date: Thu, 2 Sep 2021 23:05:34 -0700 Subject: [PATCH] Fix: Use return values _podShare and _tokenAmount from depositTo and withdraw in setUint() --- .../mainnet/connectors/pooltogether/events.sol | 4 ++-- .../mainnet/connectors/pooltogether/main.sol | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/contracts/mainnet/connectors/pooltogether/events.sol b/contracts/mainnet/connectors/pooltogether/events.sol index 4c6c905e..12e4af63 100644 --- a/contracts/mainnet/connectors/pooltogether/events.sol +++ b/contracts/mainnet/connectors/pooltogether/events.sol @@ -7,6 +7,6 @@ contract Events { event LogWithdrawInstantlyFrom(address prizePool, address from, uint256 amount, address controlledToken, uint256 maximumExitFee, uint256 getId, uint256 setId); event LogClaim(address tokenFaucet, address user, uint256 claimed, uint256 setId); event LogClaimAll(address tokenFaucetProxyFactory, address user, TokenFaucetInterface[] tokenFaucets); - event LogDepositToPod(address prizePoolToken, address pod, address to, uint256 amount, uint256 getId, uint256 setId); - event LogWithdrawFromPod(address pod, uint256 shareAmount, uint256 maxFee, uint256 getId, uint256 setId); + event LogDepositToPod(address prizePoolToken, address pod, address to, uint256 amount, uint256 podShare, uint256 getId, uint256 setId); + event LogWithdrawFromPod(address pod, uint256 shareAmount, uint256 tokenAmount, uint256 maxFee, uint256 getId, uint256 setId); } \ No newline at end of file diff --git a/contracts/mainnet/connectors/pooltogether/main.sol b/contracts/mainnet/connectors/pooltogether/main.sol index 1e910bb5..5218cfa9 100644 --- a/contracts/mainnet/connectors/pooltogether/main.sol +++ b/contracts/mainnet/connectors/pooltogether/main.sol @@ -149,12 +149,12 @@ abstract contract PoolTogetherResolver is Events, DSMath, Basic { _tokenAmount = _tokenAmount == uint256(-1) ? tokenContract.balanceOf(address(this)) : _tokenAmount; tokenContract.approve(pod, _tokenAmount); - podContract.depositTo(address(this), _tokenAmount); + uint256 _podShare = podContract.depositTo(address(this), _tokenAmount); - setUint(setId, _tokenAmount); + setUint(setId, _podShare); - _eventName = "LogDepositToPod(address,address,address,uint256,uint256, uint256)"; - _eventParam = abi.encode(address(prizePoolToken), address(pod), address(this), _tokenAmount, getId, setId); + _eventName = "LogDepositToPod(address,address,address,uint256,uint256,uint256,uint256)"; + _eventParam = abi.encode(address(prizePoolToken), address(pod), address(this), _tokenAmount, _podShare, getId, setId); } /** @@ -180,12 +180,12 @@ abstract contract PoolTogetherResolver is Events, DSMath, Basic { PodInterface podContract = PodInterface(pod); _shareAmount = _shareAmount == uint256(-1) ? podContract.balanceOf(address(this)) : _shareAmount; - podContract.withdraw(_shareAmount, maxFee); + uint256 _tokenAmount = podContract.withdraw(_shareAmount, maxFee); - setUint(setId, _shareAmount); + setUint(setId, _tokenAmount); - _eventName = "LogWithdrawFromPod(address,uint256,uint256,uint256,uint256)"; - _eventParam = abi.encode(address(pod), _shareAmount, maxFee, getId, setId); + _eventName = "LogWithdrawFromPod(address,uint256,uint256,uint256,uint256,uint256)"; + _eventParam = abi.encode(address(pod), _shareAmount, _tokenAmount, maxFee, getId, setId); } }