diff --git a/contracts/mainnet/connectors/lido_stETH/events.sol b/contracts/mainnet/connectors/lido_stETH/events.sol index 2259e797..60ef8ab8 100644 --- a/contracts/mainnet/connectors/lido_stETH/events.sol +++ b/contracts/mainnet/connectors/lido_stETH/events.sol @@ -1,5 +1,10 @@ pragma solidity ^0.7.0; contract Events { - event LogDeposit(uint256 Amt, uint256 getId, uint256 setId); + event LogDeposit( + uint256 Amt, + address referral, + uint256 getId, + uint256 setId + ); } diff --git a/contracts/mainnet/connectors/lido_stETH/main.sol b/contracts/mainnet/connectors/lido_stETH/main.sol index 84c84f36..d833a738 100644 --- a/contracts/mainnet/connectors/lido_stETH/main.sol +++ b/contracts/mainnet/connectors/lido_stETH/main.sol @@ -15,11 +15,13 @@ abstract contract Resolver is Events, DSMath, Basic, Helpers { * @dev deposit ETH into Lido. * @notice sends Eth into lido and in return you get equivalent of stEth tokens * @param amt The amount of ETH to deposit. (For max: `uint256(-1)`) + * @param referral optional referral parameter * @param getId ID to retrieve amt. * @param setId ID stores the amount of ETH deposited. */ function deposit( uint256 amt, + address referral, uint256 getId, uint256 setId ) @@ -30,11 +32,11 @@ abstract contract Resolver is Events, DSMath, Basic, Helpers { uint256 _amt = getUint(getId, amt); _amt = _amt == uint256(-1) ? address(this).balance : _amt; - lidoInterface.submit{ value: amt }(address(0)); + lidoInterface.submit{ value: amt }(referral); setUint(setId, _amt); - _eventName = "LogDeposit(uint256,uint256,uint256)"; - _eventParam = abi.encode(_amt, getId, setId); + _eventName = "LogDeposit(uint256,address,uint256,uint256)"; + _eventParam = abi.encode(_amt, referral, getId, setId); } } diff --git a/test/mainnet/lido_stETH/lidoStEth.test.ts b/test/mainnet/lido_stETH/lidoStEth.test.ts index 9cd318cd..3467a119 100644 --- a/test/mainnet/lido_stETH/lidoStEth.test.ts +++ b/test/mainnet/lido_stETH/lidoStEth.test.ts @@ -85,7 +85,7 @@ describe("LidoStEth", function() { { connector: connectorName, method: "deposit", - args: [_amt,0,0] + args: [_amt,"0x0000000000000000000000000000000000000000",0,0] }, ]; const tx = await dsaWallet0