mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
claim function updated
This commit is contained in:
parent
37af029bbb
commit
ef2c024e67
|
@ -8,8 +8,6 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|||
import "./interface.sol";
|
||||
|
||||
abstract contract Helpers is DSMath, Basic {
|
||||
|
||||
P1M2 internal constant p1m2 = P1M2("0xf40c01Adc86CF5d534Ff5CaFaA451694FdD2b08C");
|
||||
|
||||
P1M2 internal constant p1m2 =
|
||||
P1M2("0xf40c01Adc86CF5d534Ff5CaFaA451694FdD2b08C");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,19 @@
|
|||
pragma solidity ^0.8.6;
|
||||
|
||||
interface P1M2 {
|
||||
function supply(address token_, uint256 amount_)
|
||||
external
|
||||
returns (uint256 itokenAmount_);
|
||||
|
||||
function supply(address token_, uint amount_) external returns (uint itokenAmount_);
|
||||
function withdraw(address token_, uint amount_) external returns (uint itokenAmount_);
|
||||
function withdrawItoken(address token_, uint itokenAmount_) external returns (uint amount_);
|
||||
function claim(address user_, address token_) external returns (uint[] memory updatedRewards_);
|
||||
}
|
||||
function withdraw(address token_, uint256 amount_)
|
||||
external
|
||||
returns (uint256 itokenAmount_);
|
||||
|
||||
function withdrawItoken(address token_, uint256 itokenAmount_)
|
||||
external
|
||||
returns (uint256 amount_);
|
||||
|
||||
function claim(address user_, address token_)
|
||||
external
|
||||
returns (uint256[] memory updatedRewards_);
|
||||
}
|
||||
|
|
|
@ -1,79 +1,108 @@
|
|||
pragma solidity ^0.8.6;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
|
||||
import "./events.sol";
|
||||
import "./helpers.sol";
|
||||
import {Events} from "./events.sol";
|
||||
import {Helpers} "./helpers.sol";
|
||||
import { TokenInterface } from "../../common/interfaces.sol";
|
||||
|
||||
abstract contract FluidityP1M2 is Events, Helpers {
|
||||
function supply(
|
||||
address token_,
|
||||
uint256 amt,
|
||||
uint256 getId,
|
||||
uint256 setId
|
||||
)
|
||||
public
|
||||
payable
|
||||
returns (string memory _eventName, bytes memory _eventParam)
|
||||
{
|
||||
uint256 amt_ = getUint(getId, amt);
|
||||
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint256).max
|
||||
? tokenContract.balanceOf(address(this))
|
||||
: amt_;
|
||||
|
||||
function supply(address token_,
|
||||
uint amt,
|
||||
uint getId,
|
||||
uint setId
|
||||
) public payable returns (string memory _eventName, bytes memory _eventParam) {
|
||||
|
||||
uint amt_ = getUint(getId, amt);
|
||||
uint256 itokenAmount_ = p1m2.supply(token_, amt_);
|
||||
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint).max ? tokenContract.balanceOf(address(this)) : amt_;
|
||||
|
||||
(uint itokenAmount_ )= p1m2.supply(token_,amt_ );
|
||||
setUint(setId, amt_);
|
||||
|
||||
setUint(setId, amt_ );
|
||||
_eventName = "LogSupply(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(
|
||||
address(token_),
|
||||
amt_,
|
||||
itokenAmount_,
|
||||
getId,
|
||||
setId
|
||||
);
|
||||
}
|
||||
|
||||
_eventName = "LogSupply(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(address(token_) , amt_ , itokenAmount_ , getId , setId);
|
||||
function withdraw(
|
||||
address token_,
|
||||
uint256 amount_,
|
||||
uint256 getId,
|
||||
uint256 setId
|
||||
)
|
||||
public
|
||||
payable
|
||||
returns (string memory _eventName, bytes memory _eventParam)
|
||||
{
|
||||
uint256 amt_ = getUint(getId, amount_);
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint256).max
|
||||
? tokenContract.balanceOf(address(this))
|
||||
: amt_;
|
||||
|
||||
uint256 itokenAmount_ = p1m2.withdraw(token_, amt_);
|
||||
|
||||
setUint(setId, amt_);
|
||||
|
||||
_eventName = "LogWithdraw(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(
|
||||
address(token_),
|
||||
amt_,
|
||||
itokenAmount_,
|
||||
getId,
|
||||
setId
|
||||
);
|
||||
}
|
||||
|
||||
function withdrawItoken(
|
||||
address token_,
|
||||
uint256 itokenAmount_,
|
||||
uint256 getId,
|
||||
uint256 setId
|
||||
)
|
||||
public
|
||||
payable
|
||||
returns (string memory _eventName, bytes memory _eventParam)
|
||||
{
|
||||
uint256 amt_ = getUint(getId, itokenAmount_);
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint256).max
|
||||
? tokenContract.balanceOf(address(this))
|
||||
: amt_;
|
||||
|
||||
uint256 amount_ = p1m2.withdrawItoken(token_, amt_);
|
||||
|
||||
setUint(setId, amt_);
|
||||
|
||||
_eventName = "LogWithdrawItoken(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(address(token_), amt_, amount_, getId, setId);
|
||||
}
|
||||
|
||||
function claim(
|
||||
address user_,
|
||||
address token_,
|
||||
|
||||
) public returns (string memory _eventName, bytes memory _eventParam) {
|
||||
uint256[] memory updatedRewards_ = p1m2.claim(user_, token_);
|
||||
|
||||
_eventName = "LogClaimReward(address,address,uint[])";
|
||||
_eventParam = abi.encode(
|
||||
address(user_),
|
||||
address(token_),
|
||||
updatedRewards_
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function withdraw(address token_ , uint amount_, uint getId , uint setId) public payable returns (string memory _eventName , bytes memory _eventParam){
|
||||
|
||||
uint amt_ = getUint(getId, amount_);
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint).max ? tokenContract.balanceOf(address(this)) : amt_;
|
||||
|
||||
(uint itokenAmount_) = p1m2.withdraw(token_,amt_);
|
||||
|
||||
setUint(setId, amt_ );
|
||||
|
||||
|
||||
|
||||
_eventName = "LogWithdraw(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(address(token_) , amt_ , itokenAmount_ , getId , setId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
function withdrawItoken(address token_, uint itokenAmount_ , uint getId,uint setId) public payable returns (string memory _eventName , bytes memory _eventParam){
|
||||
|
||||
uint amt_ = getUint(getId, itokenAmount_);
|
||||
TokenInterface tokenContract = TokenInterface(token_);
|
||||
amt_ = amt_ == type(uint).max ? tokenContract.balanceOf(address(this)) : amt_;
|
||||
|
||||
(uint amount_) = p1m2.withdrawItoken(token_,amt_);
|
||||
|
||||
setUint(setId, amt_ );
|
||||
|
||||
|
||||
|
||||
_eventName = "LogWithdrawItoken(address,uint,uint,uint,uint)";
|
||||
_eventParam = abi.encode(address(token_) ,amt_, amount_ , getId , setId);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function claim(address user_, address token_, uint getId,uint setId) public payable returns (string memory _eventName , bytes memory _eventParam){
|
||||
|
||||
|
||||
uint[] memory updatedRewards_ = p1m2.claim(user_,token_);
|
||||
|
||||
|
||||
_eventName = "LogClaimReward(address,address,uint[])";
|
||||
_eventParam = abi.encode(address(user_),address(token_) , updatedRewards_);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user