Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
MasterHealer
बनाया गया
5 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
33 हटाए गए
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
124 लाइनें
सभी को कॉपी करें
17 जोड़े गए
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
112 लाइनें
सभी को कॉपी करें
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity 0.8.6;
pragma solidity 0.8.6;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import "./libs/IMasterchef.sol";
import "./libs/IMasterchef.sol";
import "./BaseStrategyLPSingle.sol";
import "./BaseStrategyLPSingle.sol";
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
contract StrategyMaster
Chef
is BaseStrategyLPSingle
, Initializable
{
contract StrategyMaster
Healer
is BaseStrategyLPSingle
{
using SafeMath for uint256;
using SafeMath for uint256;
using SafeERC20 for IERC20;
using SafeERC20 for IERC20;
address public masterchefAddress;
address public masterchefAddress;
uint256 public pid;
uint256 public pid;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
/**
constructor(
address[8] _configAddresses,
address[
5
] memory _
configAddress, //vaulthealer, masterchef, unirouter, want, earned
_configAddresses[0] _vaultChefAddress,
_configAddresses[1] _masterchefAddress,
_configAddresses[2] _uniRouterAddress,
_configAddresses[3] _wantAddress,
_configAddress[4] _earnedAddress,
_configAddress[5] _usdAddress,
_configAddress[6] _bananaAddress,
*/
function initialize(
address[
7
] memory _
configAddresses,
uint256 _pid,
uint256 _pid,
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
address[] memory _earnedToW
n
ati
ve
Path,
uint256 _tolerance,
address[] memory _earnedToUsd
Path,
address[] memory _earnedToW
m
ati
c
Path,
address[] memory _earnedTo
Banana
Path,
address[] memory _earnedToUsd
c
Path,
address[] memory _earnedTo
Crystl
Path,
address[] memory _earnedToToken0Path,
address[] memory _earnedToToken0Path,
address[] memory _earnedToToken1Path,
address[] memory _earnedToToken1Path,
address[] memory _token0ToEarnedPath,
address[] memory _token0ToEarnedPath,
address[] memory _token1ToEarnedPath
address[] memory _token1ToEarnedPath
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
)
external initializer
{
)
{
govAddress = msg.sender;
govAddress = msg.sender;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
vaultChefAddress = _configAddress
es
[0];
vaultChefAddress = _configAddress
[0];
masterchefAddress = _configAddress
es
[1];
masterchefAddress = _configAddress
[1];
uniRouterAddress = _configAddress
es
[2];
uniRouterAddress = _configAddress
[2];
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
wantAddress = _configAddress
es
[3];
wantAddress = _configAddress
[3];
token0Address = IUniPair(wantAddress).token0();
token0Address = IUniPair(wantAddress).token0();
token1Address = IUniPair(wantAddress).token1();
token1Address = IUniPair(wantAddress).token1();
pid = _pid;
pid = _pid;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
earnedAddress = _configAddress
es
[4];
earnedAddress = _configAddress
[4];
usdAddress = _configAddresses[5];
tolerance
= _
tolerance
;
bananaAddress
= _
configAddresses[6]
;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
earnedToWnativePath = _earnedToW
n
ati
ve
Path;
earnedToWnativePath = _earnedToW
m
ati
c
Path;
earnedToUsdPath = _earnedToUsd
Path;
earnedToUsdPath = _earnedToUsd
c
Path;
earnedTo
Banana
Path = _earnedTo
Banana
Path;
earnedTo
Crystl
Path = _earnedTo
Crystl
Path;
earnedToToken0Path = _earnedToToken0Path;
earnedToToken0Path = _earnedToToken0Path;
earnedToToken1Path = _earnedToToken1Path;
earnedToToken1Path = _earnedToToken1Path;
token0ToEarnedPath = _token0ToEarnedPath;
token0ToEarnedPath = _token0ToEarnedPath;
token1ToEarnedPath = _token1ToEarnedPath;
token1ToEarnedPath = _token1ToEarnedPath;
transferOwnership(vaultChefAddress);
transferOwnership(vaultChefAddress);
_resetAllowances();
_resetAllowances();
}
}
function _vaultDeposit(uint256 _amount) internal override {
function _vaultDeposit(uint256 _amount) internal override {
IMasterchef(masterchefAddress).deposit(pid, _amount);
IMasterchef(masterchefAddress).deposit(pid, _amount);
}
}
function _vaultWithdraw(uint256 _amount) internal override {
function _vaultWithdraw(uint256 _amount) internal override {
IMasterchef(masterchefAddress).withdraw(pid, _amount);
IMasterchef(masterchefAddress).withdraw(pid, _amount);
}
}
function _vaultHarvest() internal override {
function _vaultHarvest() internal override {
IMasterchef(masterchefAddress).withdraw(pid, 0);
IMasterchef(masterchefAddress).withdraw(pid, 0);
}
}
function vaultSharesTotal() public override view returns (uint256) {
function vaultSharesTotal() public override view returns (uint256) {
(uint256 amount,) = IMasterchef(masterchefAddress).userInfo(pid, address(this));
(uint256 amount,) = IMasterchef(masterchefAddress).userInfo(pid, address(this));
return amount;
return amount;
}
}
function wantLockedTotal() public override view returns (uint256) {
function wantLockedTotal() public override view returns (uint256) {
return IERC20(wantAddress).balanceOf(address(this))
return IERC20(wantAddress).balanceOf(address(this))
.add(vaultSharesTotal());
.add(vaultSharesTotal());
}
}
function _resetAllowances() internal override {
function _resetAllowances() internal override {
IERC20(wantAddress).safeApprove(masterchefAddress, uint256(0));
IERC20(wantAddress).safeApprove(masterchefAddress, uint256(0));
IERC20(wantAddress).safeIncreaseAllowance(
IERC20(wantAddress).safeIncreaseAllowance(
masterchefAddress,
masterchefAddress,
type(uint256).max
type(uint256).max
);
);
IERC20(earnedAddress).safeApprove(uniRouterAddress, uint256(0));
IERC20(earnedAddress).safeApprove(uniRouterAddress, uint256(0));
IERC20(earnedAddress).safeIncreaseAllowance(
IERC20(earnedAddress).safeIncreaseAllowance(
uniRouterAddress,
uniRouterAddress,
type(uint256).max
type(uint256).max
);
);
IERC20(token0Address).safeApprove(uniRouterAddress, uint256(0));
IERC20(token0Address).safeApprove(uniRouterAddress, uint256(0));
IERC20(token0Address).safeIncreaseAllowance(
IERC20(token0Address).safeIncreaseAllowance(
uniRouterAddress,
uniRouterAddress,
type(uint256).max
type(uint256).max
);
);
IERC20(token1Address).safeApprove(uniRouterAddress, uint256(0));
IERC20(token1Address).safeApprove(uniRouterAddress, uint256(0));
IERC20(token1Address).safeIncreaseAllowance(
IERC20(token1Address).safeIncreaseAllowance(
uniRouterAddress,
uniRouterAddress,
type(uint256).max
type(uint256).max
);
);
}
}
function _emergencyVaultWithdraw() internal override {
function _emergencyVaultWithdraw() internal override {
IMasterchef(masterchefAddress).emergencyWithdraw(pid);
IMasterchef(masterchefAddress).emergencyWithdraw(pid);
}
}
function _beforeDeposit(address _to) internal override {
function _beforeDeposit(address _to) internal override {
}
}
function _beforeWithdraw(address _to) internal override {
function _beforeWithdraw(address _to) internal override {
}
}
}
}
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
// SPDX-License-Identifier: MIT pragma solidity 0.8.6; import "@openzeppelin/contracts/proxy/utils/Initializable.sol"; import "./libs/IMasterchef.sol"; import "./BaseStrategyLPSingle.sol"; contract StrategyMasterChef is BaseStrategyLPSingle, Initializable { using SafeMath for uint256; using SafeERC20 for IERC20; address public masterchefAddress; uint256 public pid; /** address[8] _configAddresses, _configAddresses[0] _vaultChefAddress, _configAddresses[1] _masterchefAddress, _configAddresses[2] _uniRouterAddress, _configAddresses[3] _wantAddress, _configAddress[4] _earnedAddress, _configAddress[5] _usdAddress, _configAddress[6] _bananaAddress, */ function initialize( address[7] memory _configAddresses, uint256 _pid, address[] memory _earnedToWnativePath, address[] memory _earnedToUsdPath, address[] memory _earnedToBananaPath, address[] memory _earnedToToken0Path, address[] memory _earnedToToken1Path, address[] memory _token0ToEarnedPath, address[] memory _token1ToEarnedPath ) external initializer { govAddress = msg.sender; vaultChefAddress = _configAddresses[0]; masterchefAddress = _configAddresses[1]; uniRouterAddress = _configAddresses[2]; wantAddress = _configAddresses[3]; token0Address = IUniPair(wantAddress).token0(); token1Address = IUniPair(wantAddress).token1(); pid = _pid; earnedAddress = _configAddresses[4]; usdAddress = _configAddresses[5]; bananaAddress = _configAddresses[6]; earnedToWnativePath = _earnedToWnativePath; earnedToUsdPath = _earnedToUsdPath; earnedToBananaPath = _earnedToBananaPath; earnedToToken0Path = _earnedToToken0Path; earnedToToken1Path = _earnedToToken1Path; token0ToEarnedPath = _token0ToEarnedPath; token1ToEarnedPath = _token1ToEarnedPath; transferOwnership(vaultChefAddress); _resetAllowances(); } function _vaultDeposit(uint256 _amount) internal override { IMasterchef(masterchefAddress).deposit(pid, _amount); } function _vaultWithdraw(uint256 _amount) internal override { IMasterchef(masterchefAddress).withdraw(pid, _amount); } function _vaultHarvest() internal override { IMasterchef(masterchefAddress).withdraw(pid, 0); } function vaultSharesTotal() public override view returns (uint256) { (uint256 amount,) = IMasterchef(masterchefAddress).userInfo(pid, address(this)); return amount; } function wantLockedTotal() public override view returns (uint256) { return IERC20(wantAddress).balanceOf(address(this)) .add(vaultSharesTotal()); } function _resetAllowances() internal override { IERC20(wantAddress).safeApprove(masterchefAddress, uint256(0)); IERC20(wantAddress).safeIncreaseAllowance( masterchefAddress, type(uint256).max ); IERC20(earnedAddress).safeApprove(uniRouterAddress, uint256(0)); IERC20(earnedAddress).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); IERC20(token0Address).safeApprove(uniRouterAddress, uint256(0)); IERC20(token0Address).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); IERC20(token1Address).safeApprove(uniRouterAddress, uint256(0)); IERC20(token1Address).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); } function _emergencyVaultWithdraw() internal override { IMasterchef(masterchefAddress).emergencyWithdraw(pid); } function _beforeDeposit(address _to) internal override { } function _beforeWithdraw(address _to) internal override { } }
परिवर्तित टेक्स्ट
फ़ाइल खोलें
// SPDX-License-Identifier: MIT pragma solidity 0.8.6; import "./libs/IMasterchef.sol"; import "./BaseStrategyLPSingle.sol"; contract StrategyMasterHealer is BaseStrategyLPSingle { using SafeMath for uint256; using SafeERC20 for IERC20; address public masterchefAddress; uint256 public pid; constructor( address[5] memory _configAddress, //vaulthealer, masterchef, unirouter, want, earned uint256 _pid, uint256 _tolerance, address[] memory _earnedToWmaticPath, address[] memory _earnedToUsdcPath, address[] memory _earnedToCrystlPath, address[] memory _earnedToToken0Path, address[] memory _earnedToToken1Path, address[] memory _token0ToEarnedPath, address[] memory _token1ToEarnedPath ) { govAddress = msg.sender; vaultChefAddress = _configAddress[0]; masterchefAddress = _configAddress[1]; uniRouterAddress = _configAddress[2]; wantAddress = _configAddress[3]; token0Address = IUniPair(wantAddress).token0(); token1Address = IUniPair(wantAddress).token1(); pid = _pid; earnedAddress = _configAddress[4]; tolerance = _tolerance; earnedToWnativePath = _earnedToWmaticPath; earnedToUsdPath = _earnedToUsdcPath; earnedToCrystlPath = _earnedToCrystlPath; earnedToToken0Path = _earnedToToken0Path; earnedToToken1Path = _earnedToToken1Path; token0ToEarnedPath = _token0ToEarnedPath; token1ToEarnedPath = _token1ToEarnedPath; transferOwnership(vaultChefAddress); _resetAllowances(); } function _vaultDeposit(uint256 _amount) internal override { IMasterchef(masterchefAddress).deposit(pid, _amount); } function _vaultWithdraw(uint256 _amount) internal override { IMasterchef(masterchefAddress).withdraw(pid, _amount); } function _vaultHarvest() internal override { IMasterchef(masterchefAddress).withdraw(pid, 0); } function vaultSharesTotal() public override view returns (uint256) { (uint256 amount,) = IMasterchef(masterchefAddress).userInfo(pid, address(this)); return amount; } function wantLockedTotal() public override view returns (uint256) { return IERC20(wantAddress).balanceOf(address(this)) .add(vaultSharesTotal()); } function _resetAllowances() internal override { IERC20(wantAddress).safeApprove(masterchefAddress, uint256(0)); IERC20(wantAddress).safeIncreaseAllowance( masterchefAddress, type(uint256).max ); IERC20(earnedAddress).safeApprove(uniRouterAddress, uint256(0)); IERC20(earnedAddress).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); IERC20(token0Address).safeApprove(uniRouterAddress, uint256(0)); IERC20(token0Address).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); IERC20(token1Address).safeApprove(uniRouterAddress, uint256(0)); IERC20(token1Address).safeIncreaseAllowance( uniRouterAddress, type(uint256).max ); } function _emergencyVaultWithdraw() internal override { IMasterchef(masterchefAddress).emergencyWithdraw(pid); } function _beforeDeposit(address _to) internal override { } function _beforeWithdraw(address _to) internal override { } }
अंतर खोजें