From 0e95ca428fb893519e7512010c33b546b87b2e68 Mon Sep 17 00:00:00 2001 From: Frederico Teixeira Date: Mon, 21 Aug 2023 08:21:59 +0200 Subject: [PATCH] Vault's contract gets ERC20 and Manager as arguments --- contracts/StakeVault.sol | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/contracts/StakeVault.sol b/contracts/StakeVault.sol index d29c801..587bd5e 100644 --- a/contracts/StakeVault.sol +++ b/contracts/StakeVault.sol @@ -11,16 +11,23 @@ import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; * @notice Secures user stake */ contract StakeVault is Ownable { - StakeManager stakeManager; - ERC20 stakedToken; - constructor(address _owner) { + StakeManager private stakeManager; + ERC20 immutable stakedToken; + + event Staked(address from, address to, uint256 _amount, uint256 time); + + constructor(address _owner, ERC20 _stakedToken, StakeManager _stakeManager) { _transferOwnership(_owner); + stakedToken = _stakedToken; + stakeManager = _stakeManager; } function stake(uint256 _amount, uint256 _time) external onlyOwner { stakedToken.transferFrom(msg.sender, address(this), _amount); stakeManager.stake(_amount, _time); + + emit Staked(msg.sender, address(this), _amount, _time); } function lock(uint256 _time) external onlyOwner {