Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VaultDummyImplementation
Compiler Version
v0.8.6+commit.11564f7e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
contract UserModule {
/**
* @dev User function to supply.
* @param token_ address of token.
* @param amount_ amount to supply.
* @param to_ address to send vTokens to.
* @return vtokenAmount_ amount of vTokens sent to the `to_` address passed
*/
function supply(
address token_,
uint256 amount_,
address to_
) external returns (uint256 vtokenAmount_) {}
/**
* @dev User function to withdraw.
* @param amount_ amount to withdraw.
* @param to_ address to send tokens to.
* @return vtokenAmount_ amount of vTokens burnt from caller
*/
function withdraw(uint256 amount_, address to_)
external
returns (uint256 vtokenAmount_)
{}
/**
* @dev If ratio is below then this function will allow anyone to swap from steth -> weth.
* @param amt_ amount of stEth to swap for weth.
*/
function leverage(uint256 amt_) external {}
/**
* @dev If ratio is above then this function will allow anyone to payback WETH and withdraw astETH to msg.sender at 1:1 ratio.
* @param amt_ amount of weth to swap for steth.
*/
function deleverage(uint256 amt_) external {}
/**
* @dev Function to allow users to max withdraw
*/
function deleverageAndWithdraw(
uint256 deleverageAmt_,
uint256 withdrawAmount_,
address to_
) external {}
event supplyLog(
uint256 amount_,
address indexed caller_,
address indexed to_
);
event withdrawLog(
uint256 amount_,
address indexed caller_,
address indexed to_
);
event leverageLog(uint256 amt_, uint256 transferAmt_);
event deleverageLog(uint256 amt_, uint256 transferAmt_);
event deleverageAndWithdrawLog(
uint256 deleverageAmt_,
uint256 transferAmt_,
uint256 vtokenAmount_,
address to_
);
}
contract RebalancerModule {
/**
* @dev low gas function just to collect profit.
* @notice Collected the profit & leave it in the DSA itself to optimize further on gas.
* @param isWeth what token to swap. WETH or stETH.
* @param withdrawAmt_ need to borrow any weth amount or withdraw steth for swaps from Aave position.
* @param amt_ amount to swap into base vault token.
* @param unitAmt_ unit amount for swap.
* @param oneInchData_ 1inch's data for the swaps.
*/
function collectProfit(
bool isWeth, // either weth or steth
uint256 withdrawAmt_,
uint256 amt_,
uint256 unitAmt_,
bytes memory oneInchData_
) external {}
/**
* @dev Rebalancer function to leverage and rebalance the position.
*/
function rebalanceOne(
address flashTkn_,
uint256 flashAmt_,
uint256 route_,
address[] memory vaults_, // leverage using other vaults
uint256[] memory amts_,
uint256 leverageAmt_,
uint256 swapAmt_, // 1inch's swap amount
uint256 tokenSupplyAmt_,
uint256 tokenWithdrawAmt_,
uint256 unitAmt_,
bytes memory oneInchData_
) external {}
/**
* @dev Rebalancer function for saving. To be run in times of making position less risky or to fill up the withdraw amount for users to exit
*/
function rebalanceTwo(
address flashTkn_,
uint256 flashAmt_,
uint256 route_,
uint256 saveAmt_,
uint256 tokenSupplyAmt_,
uint256 unitAmt_,
bytes memory oneInchData_
) external {}
event collectProfitLog(
bool isWeth,
uint256 withdrawAmt_,
uint256 amt_,
uint256 unitAmt_
);
event rebalanceOneLog(
address flashTkn_,
uint256 flashAmt_,
uint256 route_,
address[] vaults_,
uint256[] amts_,
uint256 leverageAmt_,
uint256 swapAmt_,
uint256 tokenSupplyAmt_,
uint256 tokenWithdrawAmt_,
uint256 unitAmt_
);
event rebalanceTwoLog(
address flashTkn_,
uint256 flashAmt_,
uint256 route_,
uint256 saveAmt_,
uint256 unitAmt_
);
}
contract AdminModule {
/**
* @dev Update rebalancer.
* @param rebalancer_ address of rebalancer.
* @param isRebalancer_ true for setting the rebalancer, false for removing.
*/
function updateRebalancer(address rebalancer_, bool isRebalancer_)
external
{}
/**
* @dev Update all fees.
* @param revenueFee_ new revenue fee.
* @param withdrawalFee_ new withdrawal fee.
* @param swapFee_ new swap fee or leverage fee.
* @param deleverageFee_ new deleverage fee.
*/
function updateFees(
uint256 revenueFee_,
uint256 withdrawalFee_,
uint256 swapFee_,
uint256 deleverageFee_
) external {}
/**
* @dev Update ratios.
* @param ratios_ new ratios.
*/
function updateRatios(uint16[] memory ratios_) external {}
/**
* @dev Change status.
* @param status_ new status, function to pause all functionality of the contract, status = 2 -> pause, status = 1 -> resume.
*/
function changeStatus(uint256 status_) external {}
/**
* @dev Function to collect token revenue.
* @param amount_ amount to claim
* @param to_ address to send the claimed revenue to
*/
function collectRevenue(uint256 amount_, address to_) external {}
/**
* @dev Function to collect eth revenue.
* @param amount_ amount to claim
* @param to_ address to send the claimed revenue to
*/
function collectRevenueEth(uint256 amount_, address to_) external {}
/**
* @dev function to initialize variables
*/
function initialize(
string memory name_,
string memory symbol_,
address rebalancer_,
address token_,
address atoken_,
uint256 revenueFee_,
uint256 withdrawalFee_,
uint256 idealExcessAmt_,
uint16[] memory ratios_,
uint256 swapFee_,
uint256 saveSlippage_,
uint256 deleverageFee_
) external {}
event updateRebalancerLog(address auth_, bool isAuth_);
event changeStatusLog(uint256 status_);
event updateRatiosLog(
uint16 maxLimit,
uint16 maxLimitGap,
uint16 minLimit,
uint16 minLimitGap,
uint16 stEthLimit,
uint128 maxBorrowRate
);
event updateFeesLog(
uint256 revenueFee_,
uint256 withdrawalFee_,
uint256 swapFee_,
uint256 deleverageFee_
);
event collectRevenueLog(uint256 amount_, address to_);
event collectRevenueEthLog(
uint256 amount_,
uint256 stethAmt_,
uint256 wethAmt_,
address to_
);
}
contract ReadModule {
function isRebalancer(address accountAddr_) public view returns (bool) {}
/**
* @dev Base token of the vault
*/
function token() public view returns (address) {}
/**
* @dev Minimum token limit used inside the functions
*/
function tokenMinLimit() public view returns (uint256) {}
/**
* @dev atoken of the base token of the vault
*/
function atoken() public view returns (address) {}
/**
* @dev DSA for this particular vault
*/
function vaultDsa() public view returns (address) {}
struct Ratios {
uint16 maxLimit; // Above this withdrawals are not allowed
uint16 maxLimitGap;
uint16 minLimit; // After leverage the ratio should be below minLimit & above minLimitGap
uint16 minLimitGap;
uint16 stEthLimit; // if 7500. Meaning stETH collateral covers 75% of the ETH debt. Excess ETH will be covered by token limit.
// send borrow rate in 4 decimals from UI. In the smart contract it'll convert to 27 decimals which where is 100%
uint128 maxBorrowRate; // maximum borrow rate above this leveraging should not happen
}
/**
* @dev Ratios to set particular limits on leveraging, saving and risks of the vault.
*/
function ratios() public view returns (Ratios memory) {}
/**
* @dev last stored revenue exchange price
*/
function lastRevenueExchangePrice() public view returns (uint256) {}
/**
* @dev cut to take from the profits
*/
function revenueFee() public view returns (uint256) {}
/**
* @dev base token revenue stored in the vault
*/
function revenue() public view returns (uint256) {}
/**
* @dev ETH revenue stored in the vault
*/
function revenueEth() public view returns (uint256) {}
/**
* @dev Withdrawl Fee of the vault
*/
function withdrawalFee() public view returns (uint256) {}
/**
* @dev extra eth/stETH amount to leave in the vault for easier swaps.
*/
function idealExcessAmt() public view returns (uint256) {}
/**
* @dev Fees of leverage swaps.
*/
function swapFee() public view returns (uint256) {}
/**
* @dev Max allowed slippage at the time of saving the vault
*/
function saveSlippage() public view returns (uint256) {}
/**
* @dev Fees of deleverage swaps.
*/
function deleverageFee() public view returns (uint256) {}
}
contract SecurityModule {
/**
* @dev Admin Spell function
* @param to_ target address
* @param calldata_ function calldata
* @param value_ function msg.value
* @param operation_ .call or .delegate. (0 => .call, 1 => .delegateCall)
*/
function spell(
address to_,
bytes memory calldata_,
uint256 value_,
uint256 operation_
) external payable {}
/**
* @dev Admin function to add auth on DSA
* @param auth_ new auth address for DSA
*/
function addDSAAuth(address auth_) external {}
}
contract HelperReadFunctions {
/**
* @dev Helper function to token balances of everywhere.
*/
function getVaultBalances()
public
view
returns (
uint256 tokenCollateralAmt_,
uint256 stethCollateralAmt_,
uint256 wethDebtAmt_,
uint256 tokenVaultBal_,
uint256 tokenDSABal_,
uint256 netTokenBal_
)
{}
// returns net eth. net stETH + ETH - net ETH debt.
function getNewProfits() public view returns (uint256 profits_) {}
/**
* @dev Helper function to get current exchange price and new revenue generated.
*/
function getCurrentExchangePrice()
public
view
returns (uint256 exchangePrice_, uint256 newTokenRevenue_)
{}
}
contract ERC20Functions {
function decimals() public view returns (uint8) {}
function totalSupply() external view returns (uint256) {}
function balanceOf(address account) external view returns (uint256) {}
function transfer(address to, uint256 amount) external returns (bool) {}
function allowance(address owner, address spender)
external
view
returns (uint256)
{}
function approve(address spender, uint256 amount) external returns (bool) {}
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool) {}
function name() external view returns (string memory) {}
function symbol() external view returns (string memory) {}
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
contract VaultDummyImplementation is
UserModule,
RebalancerModule,
AdminModule,
ReadModule,
SecurityModule,
HelperReadFunctions,
ERC20Functions
{
receive() external payable {}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"status_","type":"uint256"}],"name":"changeStatusLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"isWeth","type":"bool"},{"indexed":false,"internalType":"uint256","name":"withdrawAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unitAmt_","type":"uint256"}],"name":"collectProfitLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stethAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wethAmt_","type":"uint256"},{"indexed":false,"internalType":"address","name":"to_","type":"address"}],"name":"collectRevenueEthLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":false,"internalType":"address","name":"to_","type":"address"}],"name":"collectRevenueLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"deleverageAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transferAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vtokenAmount_","type":"uint256"},{"indexed":false,"internalType":"address","name":"to_","type":"address"}],"name":"deleverageAndWithdrawLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transferAmt_","type":"uint256"}],"name":"deleverageLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transferAmt_","type":"uint256"}],"name":"leverageLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"flashTkn_","type":"address"},{"indexed":false,"internalType":"uint256","name":"flashAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"route_","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"vaults_","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amts_","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"leverageAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"swapAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenSupplyAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenWithdrawAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unitAmt_","type":"uint256"}],"name":"rebalanceOneLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"flashTkn_","type":"address"},{"indexed":false,"internalType":"uint256","name":"flashAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"route_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"saveAmt_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unitAmt_","type":"uint256"}],"name":"rebalanceTwoLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller_","type":"address"},{"indexed":true,"internalType":"address","name":"to_","type":"address"}],"name":"supplyLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"revenueFee_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"withdrawalFee_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"swapFee_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deleverageFee_","type":"uint256"}],"name":"updateFeesLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"maxLimit","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"maxLimitGap","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"minLimit","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"minLimitGap","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"stEthLimit","type":"uint16"},{"indexed":false,"internalType":"uint128","name":"maxBorrowRate","type":"uint128"}],"name":"updateRatiosLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"auth_","type":"address"},{"indexed":false,"internalType":"bool","name":"isAuth_","type":"bool"}],"name":"updateRebalancerLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller_","type":"address"},{"indexed":true,"internalType":"address","name":"to_","type":"address"}],"name":"withdrawLog","type":"event"},{"inputs":[{"internalType":"address","name":"auth_","type":"address"}],"name":"addDSAAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"atoken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"status_","type":"uint256"}],"name":"changeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isWeth","type":"bool"},{"internalType":"uint256","name":"withdrawAmt_","type":"uint256"},{"internalType":"uint256","name":"amt_","type":"uint256"},{"internalType":"uint256","name":"unitAmt_","type":"uint256"},{"internalType":"bytes","name":"oneInchData_","type":"bytes"}],"name":"collectProfit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"}],"name":"collectRevenue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"}],"name":"collectRevenueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt_","type":"uint256"}],"name":"deleverage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"deleverageAmt_","type":"uint256"},{"internalType":"uint256","name":"withdrawAmount_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"}],"name":"deleverageAndWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deleverageFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentExchangePrice","outputs":[{"internalType":"uint256","name":"exchangePrice_","type":"uint256"},{"internalType":"uint256","name":"newTokenRevenue_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNewProfits","outputs":[{"internalType":"uint256","name":"profits_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVaultBalances","outputs":[{"internalType":"uint256","name":"tokenCollateralAmt_","type":"uint256"},{"internalType":"uint256","name":"stethCollateralAmt_","type":"uint256"},{"internalType":"uint256","name":"wethDebtAmt_","type":"uint256"},{"internalType":"uint256","name":"tokenVaultBal_","type":"uint256"},{"internalType":"uint256","name":"tokenDSABal_","type":"uint256"},{"internalType":"uint256","name":"netTokenBal_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"idealExcessAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"rebalancer_","type":"address"},{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"atoken_","type":"address"},{"internalType":"uint256","name":"revenueFee_","type":"uint256"},{"internalType":"uint256","name":"withdrawalFee_","type":"uint256"},{"internalType":"uint256","name":"idealExcessAmt_","type":"uint256"},{"internalType":"uint16[]","name":"ratios_","type":"uint16[]"},{"internalType":"uint256","name":"swapFee_","type":"uint256"},{"internalType":"uint256","name":"saveSlippage_","type":"uint256"},{"internalType":"uint256","name":"deleverageFee_","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"accountAddr_","type":"address"}],"name":"isRebalancer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRevenueExchangePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt_","type":"uint256"}],"name":"leverage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ratios","outputs":[{"components":[{"internalType":"uint16","name":"maxLimit","type":"uint16"},{"internalType":"uint16","name":"maxLimitGap","type":"uint16"},{"internalType":"uint16","name":"minLimit","type":"uint16"},{"internalType":"uint16","name":"minLimitGap","type":"uint16"},{"internalType":"uint16","name":"stEthLimit","type":"uint16"},{"internalType":"uint128","name":"maxBorrowRate","type":"uint128"}],"internalType":"struct ReadModule.Ratios","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"flashTkn_","type":"address"},{"internalType":"uint256","name":"flashAmt_","type":"uint256"},{"internalType":"uint256","name":"route_","type":"uint256"},{"internalType":"address[]","name":"vaults_","type":"address[]"},{"internalType":"uint256[]","name":"amts_","type":"uint256[]"},{"internalType":"uint256","name":"leverageAmt_","type":"uint256"},{"internalType":"uint256","name":"swapAmt_","type":"uint256"},{"internalType":"uint256","name":"tokenSupplyAmt_","type":"uint256"},{"internalType":"uint256","name":"tokenWithdrawAmt_","type":"uint256"},{"internalType":"uint256","name":"unitAmt_","type":"uint256"},{"internalType":"bytes","name":"oneInchData_","type":"bytes"}],"name":"rebalanceOne","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"flashTkn_","type":"address"},{"internalType":"uint256","name":"flashAmt_","type":"uint256"},{"internalType":"uint256","name":"route_","type":"uint256"},{"internalType":"uint256","name":"saveAmt_","type":"uint256"},{"internalType":"uint256","name":"tokenSupplyAmt_","type":"uint256"},{"internalType":"uint256","name":"unitAmt_","type":"uint256"},{"internalType":"bytes","name":"oneInchData_","type":"bytes"}],"name":"rebalanceTwo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revenue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revenueEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revenueFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saveSlippage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"bytes","name":"calldata_","type":"bytes"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"uint256","name":"operation_","type":"uint256"}],"name":"spell","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"}],"name":"supply","outputs":[{"internalType":"uint256","name":"vtokenAmount_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenMinLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"revenueFee_","type":"uint256"},{"internalType":"uint256","name":"withdrawalFee_","type":"uint256"},{"internalType":"uint256","name":"swapFee_","type":"uint256"},{"internalType":"uint256","name":"deleverageFee_","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"ratios_","type":"uint16[]"}],"name":"updateRatios","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rebalancer_","type":"address"},{"internalType":"bool","name":"isRebalancer_","type":"bool"}],"name":"updateRebalancer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultDsa","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"address","name":"to_","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"vtokenAmount_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b50610e3a806100206000396000f3fe60806040526004361061026a5760003560e01c80637c37411c11610144578063b0037ada116100b6578063d4d544d01161007a578063d4d544d014610314578063d96ac74c146105e2578063dc935698146103ed578063dd62ed3e1461060b578063e8025d77146104f6578063fc0c546a146103ed57600080fd5b8063b0037ada14610468578063c6616ba114610511578063cc4a01581461052c578063cf6d625e1461054d578063d3f852fd1461031457600080fd5b80639fdabec2116101085780639fdabec2146104f6578063a293b0cd146103ed578063a4c6c1e014610314578063a9059cbb146102c8578063aa1a59e214610314578063acd431a8146104f657600080fd5b80637c37411c146104c05780638b2a4df5146104db5780638bc7e8c414610314578063922a167c1461031457806395d89b41146102ac57600080fd5b8063313ce567116101dd578063467c9eff116101a1578063467c9eff1461042957806354cf2aeb14610314578063590ee3461461044a5780635c87743a1461046857806370a082311461048357806372e518c21461049e57600080fd5b8063313ce567146103ed57806336bd1f2f1461031457806336e4ec64146103145780633b3fdb5c146104095780633e9491a21461031457600080fd5b806315ff627d1161022f57806315ff627d1461032857806318160ddd14610314578063223706851461033c5780632391f3c11461037d57806323b872dd146103a157806325258d0c146103c557600080fd5b8062f714ce1461027657806306fdde03146102ac578063095ea7b3146102c85780630de30836146102f35780630f9775d51461031457600080fd5b3661027157005b600080fd5b34801561028257600080fd5b50610299610291366004610cc3565b600092915050565b6040519081526020015b60405180910390f35b3480156102b857600080fd5b5060606040516102a39190610d44565b3480156102d457600080fd5b506102e3610291366004610932565b60405190151581526020016102a3565b3480156102ff57600080fd5b5061031261030e3660046108aa565b5050565b005b34801561032057600080fd5b506000610299565b6103126103363660046108d4565b50505050565b34801561034857600080fd5b5060008080808080604080519687526020870195909552938501929092526060840152608083015260a082015260c0016102a3565b34801561038957600080fd5b50610312610398366004610a7d565b50505050505050565b3480156103ad57600080fd5b506102e36103bc36600461086e565b60009392505050565b3480156103d157600080fd5b506103126103e0366004610998565b5050505050505050505050565b3480156103f957600080fd5b50604051600081526020016102a3565b34801561041557600080fd5b50610312610424366004610ce6565b505050565b34801561043557600080fd5b506102e3610444366004610819565b50600090565b34801561045657600080fd5b50610312610465366004610819565b50565b34801561047457600080fd5b5061031261030e366004610cc3565b34801561048f57600080fd5b50610299610444366004610819565b3480156104aa57600080fd5b506103126104b9366004610b38565b5050505050565b3480156104cc57600080fd5b50610312610465366004610afb565b3480156104e757600080fd5b506102996103bc36600461095c565b34801561050257600080fd5b50610312610465366004610caa565b34801561051d57600080fd5b50610312610336366004610d12565b34801561053857600080fd5b506040805160008082526020820152016102a3565b34801561055957600080fd5b506040805160c08082018352600080835260208084018281528486018381526060808701858152608080890187815260a0998a018881528b51988952955161ffff90811697890197909752935186169987019990995251841690850152519091169482019490945292516fffffffffffffffffffffffffffffffff1691830191909152016102a3565b3480156105ee57600080fd5b506103126105fd366004610ba3565b505050505050505050505050565b34801561061757600080fd5b5061029961029136600461083b565b80356001600160a01b038116811461063d57600080fd5b919050565b600082601f83011261065357600080fd5b8135602061066861066383610dca565b610d99565b80838252828201915082860187848660051b890101111561068857600080fd5b60005b858110156106ae5761069c82610626565b8452928401929084019060010161068b565b5090979650505050505050565b600082601f8301126106cc57600080fd5b813560206106dc61066383610dca565b80838252828201915082860187848660051b89010111156106fc57600080fd5b6000805b8681101561072b57823561ffff81168114610719578283fd5b85529385019391850191600101610700565b509198975050505050505050565b600082601f83011261074a57600080fd5b8135602061075a61066383610dca565b80838252828201915082860187848660051b890101111561077a57600080fd5b60005b858110156106ae5781358452928401929084019060010161077d565b8035801515811461063d57600080fd5b600082601f8301126107ba57600080fd5b813567ffffffffffffffff8111156107d4576107d4610dee565b6107e7601f8201601f1916602001610d99565b8181528460208386010111156107fc57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561082b57600080fd5b61083482610626565b9392505050565b6000806040838503121561084e57600080fd5b61085783610626565b915061086560208401610626565b90509250929050565b60008060006060848603121561088357600080fd5b61088c84610626565b925061089a60208501610626565b9150604084013590509250925092565b600080604083850312156108bd57600080fd5b6108c683610626565b915061086560208401610799565b600080600080608085870312156108ea57600080fd5b6108f385610626565b9350602085013567ffffffffffffffff81111561090f57600080fd5b61091b878288016107a9565b949794965050505060408301359260600135919050565b6000806040838503121561094557600080fd5b61094e83610626565b946020939093013593505050565b60008060006060848603121561097157600080fd5b61097a84610626565b92506020840135915061098f60408501610626565b90509250925092565b60008060008060008060008060008060006101608c8e0312156109ba57600080fd5b6109c38c610626565b9a5060208c0135995060408c0135985067ffffffffffffffff8060608e013511156109ed57600080fd5b6109fd8e60608f01358f01610642565b98508060808e01351115610a1057600080fd5b610a208e60808f01358f01610739565b975060a08d0135965060c08d0135955060e08d013594506101008d013593506101208d01359250806101408e01351115610a5957600080fd5b50610a6b8d6101408e01358e016107a9565b90509295989b509295989b9093969950565b600080600080600080600060e0888a031215610a9857600080fd5b610aa188610626565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115610ae057600080fd5b610aec8a828b016107a9565b91505092959891949750929550565b600060208284031215610b0d57600080fd5b813567ffffffffffffffff811115610b2457600080fd5b610b30848285016106bb565b949350505050565b600080600080600060a08688031215610b5057600080fd5b610b5986610799565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610b8a57600080fd5b610b96888289016107a9565b9150509295509295909350565b6000806000806000806000806000806000806101808d8f031215610bc657600080fd5b67ffffffffffffffff8d351115610bdc57600080fd5b610be98e8e358f016107a9565b9b5067ffffffffffffffff60208e01351115610c0457600080fd5b610c148e60208f01358f016107a9565b9a50610c2260408e01610626565b9950610c3060608e01610626565b9850610c3e60808e01610626565b975060a08d0135965060c08d0135955060e08d0135945067ffffffffffffffff6101008e01351115610c6f57600080fd5b610c808e6101008f01358f016106bb565b93506101208d013592506101408d013591506101608d013590509295989b509295989b509295989b565b600060208284031215610cbc57600080fd5b5035919050565b60008060408385031215610cd657600080fd5b8235915061086560208401610626565b600080600060608486031215610cfb57600080fd5b833592506020840135915061098f60408501610626565b60008060008060808587031215610d2857600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015610d7157858101830151858201604001528201610d55565b81811115610d83576000604083870101525b50601f01601f1916929092016040019392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610dc257610dc2610dee565b604052919050565b600067ffffffffffffffff821115610de457610de4610dee565b5060051b60200190565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220b79e67e5266f8f3497be807022c80c1afca10e46782dc5254ed90f9f0957c97964736f6c63430008060033
Deployed Bytecode
0x60806040526004361061026a5760003560e01c80637c37411c11610144578063b0037ada116100b6578063d4d544d01161007a578063d4d544d014610314578063d96ac74c146105e2578063dc935698146103ed578063dd62ed3e1461060b578063e8025d77146104f6578063fc0c546a146103ed57600080fd5b8063b0037ada14610468578063c6616ba114610511578063cc4a01581461052c578063cf6d625e1461054d578063d3f852fd1461031457600080fd5b80639fdabec2116101085780639fdabec2146104f6578063a293b0cd146103ed578063a4c6c1e014610314578063a9059cbb146102c8578063aa1a59e214610314578063acd431a8146104f657600080fd5b80637c37411c146104c05780638b2a4df5146104db5780638bc7e8c414610314578063922a167c1461031457806395d89b41146102ac57600080fd5b8063313ce567116101dd578063467c9eff116101a1578063467c9eff1461042957806354cf2aeb14610314578063590ee3461461044a5780635c87743a1461046857806370a082311461048357806372e518c21461049e57600080fd5b8063313ce567146103ed57806336bd1f2f1461031457806336e4ec64146103145780633b3fdb5c146104095780633e9491a21461031457600080fd5b806315ff627d1161022f57806315ff627d1461032857806318160ddd14610314578063223706851461033c5780632391f3c11461037d57806323b872dd146103a157806325258d0c146103c557600080fd5b8062f714ce1461027657806306fdde03146102ac578063095ea7b3146102c85780630de30836146102f35780630f9775d51461031457600080fd5b3661027157005b600080fd5b34801561028257600080fd5b50610299610291366004610cc3565b600092915050565b6040519081526020015b60405180910390f35b3480156102b857600080fd5b5060606040516102a39190610d44565b3480156102d457600080fd5b506102e3610291366004610932565b60405190151581526020016102a3565b3480156102ff57600080fd5b5061031261030e3660046108aa565b5050565b005b34801561032057600080fd5b506000610299565b6103126103363660046108d4565b50505050565b34801561034857600080fd5b5060008080808080604080519687526020870195909552938501929092526060840152608083015260a082015260c0016102a3565b34801561038957600080fd5b50610312610398366004610a7d565b50505050505050565b3480156103ad57600080fd5b506102e36103bc36600461086e565b60009392505050565b3480156103d157600080fd5b506103126103e0366004610998565b5050505050505050505050565b3480156103f957600080fd5b50604051600081526020016102a3565b34801561041557600080fd5b50610312610424366004610ce6565b505050565b34801561043557600080fd5b506102e3610444366004610819565b50600090565b34801561045657600080fd5b50610312610465366004610819565b50565b34801561047457600080fd5b5061031261030e366004610cc3565b34801561048f57600080fd5b50610299610444366004610819565b3480156104aa57600080fd5b506103126104b9366004610b38565b5050505050565b3480156104cc57600080fd5b50610312610465366004610afb565b3480156104e757600080fd5b506102996103bc36600461095c565b34801561050257600080fd5b50610312610465366004610caa565b34801561051d57600080fd5b50610312610336366004610d12565b34801561053857600080fd5b506040805160008082526020820152016102a3565b34801561055957600080fd5b506040805160c08082018352600080835260208084018281528486018381526060808701858152608080890187815260a0998a018881528b51988952955161ffff90811697890197909752935186169987019990995251841690850152519091169482019490945292516fffffffffffffffffffffffffffffffff1691830191909152016102a3565b3480156105ee57600080fd5b506103126105fd366004610ba3565b505050505050505050505050565b34801561061757600080fd5b5061029961029136600461083b565b80356001600160a01b038116811461063d57600080fd5b919050565b600082601f83011261065357600080fd5b8135602061066861066383610dca565b610d99565b80838252828201915082860187848660051b890101111561068857600080fd5b60005b858110156106ae5761069c82610626565b8452928401929084019060010161068b565b5090979650505050505050565b600082601f8301126106cc57600080fd5b813560206106dc61066383610dca565b80838252828201915082860187848660051b89010111156106fc57600080fd5b6000805b8681101561072b57823561ffff81168114610719578283fd5b85529385019391850191600101610700565b509198975050505050505050565b600082601f83011261074a57600080fd5b8135602061075a61066383610dca565b80838252828201915082860187848660051b890101111561077a57600080fd5b60005b858110156106ae5781358452928401929084019060010161077d565b8035801515811461063d57600080fd5b600082601f8301126107ba57600080fd5b813567ffffffffffffffff8111156107d4576107d4610dee565b6107e7601f8201601f1916602001610d99565b8181528460208386010111156107fc57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561082b57600080fd5b61083482610626565b9392505050565b6000806040838503121561084e57600080fd5b61085783610626565b915061086560208401610626565b90509250929050565b60008060006060848603121561088357600080fd5b61088c84610626565b925061089a60208501610626565b9150604084013590509250925092565b600080604083850312156108bd57600080fd5b6108c683610626565b915061086560208401610799565b600080600080608085870312156108ea57600080fd5b6108f385610626565b9350602085013567ffffffffffffffff81111561090f57600080fd5b61091b878288016107a9565b949794965050505060408301359260600135919050565b6000806040838503121561094557600080fd5b61094e83610626565b946020939093013593505050565b60008060006060848603121561097157600080fd5b61097a84610626565b92506020840135915061098f60408501610626565b90509250925092565b60008060008060008060008060008060006101608c8e0312156109ba57600080fd5b6109c38c610626565b9a5060208c0135995060408c0135985067ffffffffffffffff8060608e013511156109ed57600080fd5b6109fd8e60608f01358f01610642565b98508060808e01351115610a1057600080fd5b610a208e60808f01358f01610739565b975060a08d0135965060c08d0135955060e08d013594506101008d013593506101208d01359250806101408e01351115610a5957600080fd5b50610a6b8d6101408e01358e016107a9565b90509295989b509295989b9093969950565b600080600080600080600060e0888a031215610a9857600080fd5b610aa188610626565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff811115610ae057600080fd5b610aec8a828b016107a9565b91505092959891949750929550565b600060208284031215610b0d57600080fd5b813567ffffffffffffffff811115610b2457600080fd5b610b30848285016106bb565b949350505050565b600080600080600060a08688031215610b5057600080fd5b610b5986610799565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff811115610b8a57600080fd5b610b96888289016107a9565b9150509295509295909350565b6000806000806000806000806000806000806101808d8f031215610bc657600080fd5b67ffffffffffffffff8d351115610bdc57600080fd5b610be98e8e358f016107a9565b9b5067ffffffffffffffff60208e01351115610c0457600080fd5b610c148e60208f01358f016107a9565b9a50610c2260408e01610626565b9950610c3060608e01610626565b9850610c3e60808e01610626565b975060a08d0135965060c08d0135955060e08d0135945067ffffffffffffffff6101008e01351115610c6f57600080fd5b610c808e6101008f01358f016106bb565b93506101208d013592506101408d013591506101608d013590509295989b509295989b509295989b565b600060208284031215610cbc57600080fd5b5035919050565b60008060408385031215610cd657600080fd5b8235915061086560208401610626565b600080600060608486031215610cfb57600080fd5b833592506020840135915061098f60408501610626565b60008060008060808587031215610d2857600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015610d7157858101830151858201604001528201610d55565b81811115610d83576000604083870101525b50601f01601f1916929092016040019392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610dc257610dc2610dee565b604052919050565b600067ffffffffffffffff821115610de457610de4610dee565b5060051b60200190565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220b79e67e5266f8f3497be807022c80c1afca10e46782dc5254ed90f9f0957c97964736f6c63430008060033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.