Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 14868839 | 786 days ago | IN | Create: VaultDummyImplementation | 0 ETH | 0.02190469 |
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
[{"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
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
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.