This commit is contained in:
Ricardo Guilherme Schmidt 2023-05-16 18:59:25 -03:00
parent f56d7197f4
commit d23afa676a
No known key found for this signature in database
GPG Key ID: 1FD1630B93893608
2 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,39 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract StakeManager is ERC20 {
address stakedToken;
bytes32 vaultCodehash;
mapping (address => Account) account;
modifier onlyVault {
require(msg.sender.codehash() == vaultCodehash, "Unauthorized Codehash");
}
function join(uint256 amount) external onlyVault {
stakedToken.transferFrom(msg.sender, )
}
function lock(uint256 amount, uint256 time) external onlyVault {
}
function joinAndLock(uint256 amount, uint256 time) external onlyVault {
}
function leave(uint256 amount) external {
}
}

36
contracts/StakeVault.sol Normal file
View File

@ -0,0 +1,36 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract StakeVault {
address owner;
address stakeManager;
ERC20 stakedToken;
uint256 balance;
uint256 locked;
uint256 multiplier;
function join(uint256 amount) external {
stakedToken.transferFrom(msg.sender, address(this), amount);
}
function lock(uint256 amount, uint256 time) external {
}
function joinAndLock(uint256 amount, uint256 time) external {
}
function leave(uint256 amount) external {
}
}