Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
YechoMorphoYearnTokenCollatHelper
Compiler Version
v0.8.33+commit.64118f21
Optimization Enabled:
No with 200 runs
Other Settings:
prague EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BSL 1.1
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
/*
██ ██ ███████ ██████ ██ ██ ██████
██ ██ ██ ██ ██ ██ ██ ██
████ █████ ██ ███████ ██ ██
██ ██ ██ ██ ██ ██ ██
██ ███████ ██████ ██ ██ ██████
Yecho - Know Your Yield
Morpho Yearn Collateral Helper Smartcontract
https://www.yecho.app | https://x.com/YechoApp
By Lasalad
*/
struct Position {
uint256 supplyShares;
uint128 borrowShares;
uint128 collateral;
}
struct Market {
uint128 totalSupplyAssets;
uint128 totalSupplyShares;
uint128 totalBorrowAssets;
uint128 totalBorrowShares;
uint128 lastUpdate;
uint128 fee;
}
interface IMorpho {
function position(bytes32 marketId, address user) external view returns (Position memory);
function market(bytes32 marketId) external view returns (Market memory);
}
interface IYearnVault {
function convertToAssets(uint256 shares) external view returns (uint256 assets);
}
contract YechoMorphoYearnTokenCollatHelper is Ownable {
IMorpho public morpho;
IYearnVault public yearnVault;
bytes32 public marketId;
event MorphoAddressUpdated(address newAddress);
event YearnVaultUpdated(address newAddress);
event MarketIdUpdated(bytes32 newMarketId);
constructor(address _morphoAddress, address _yearnVaultAddress, bytes32 _marketId) Ownable(msg.sender) {
require(_morphoAddress != address(0), "Invalid Morpho address");
require(_yearnVaultAddress != address(0), "Invalid Yearn vault address");
morpho = IMorpho(_morphoAddress);
yearnVault = IYearnVault(_yearnVaultAddress);
marketId = _marketId;
}
function setMorphoAddress(address _newMorphoAddress) external onlyOwner {
require(_newMorphoAddress != address(0), "Invalid Morpho address");
morpho = IMorpho(_newMorphoAddress);
emit MorphoAddressUpdated(_newMorphoAddress);
}
function setYearnVaultAddress(address _newYearnVaultAddress) external onlyOwner {
require(_newYearnVaultAddress != address(0), "Invalid Yearn vault address");
yearnVault = IYearnVault(_newYearnVaultAddress);
emit YearnVaultUpdated(_newYearnVaultAddress);
}
function setMarketId(bytes32 _newMarketId) external onlyOwner {
marketId = _newMarketId;
emit MarketIdUpdated(_newMarketId);
}
function getHelper(address user) external view returns (uint256 collateral) {
Position memory position = morpho.position(marketId, user);
uint256 shares = position.collateral;
return yearnVault.convertToAssets(shares);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}{
"remappings": [
"@openzeppelin/=lib/openzeppelin-contracts/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/"
],
"optimizer": {
"enabled": false,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "prague",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_morphoAddress","type":"address"},{"internalType":"address","name":"_yearnVaultAddress","type":"address"},{"internalType":"bytes32","name":"_marketId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"newMarketId","type":"bytes32"}],"name":"MarketIdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"MorphoAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"YearnVaultUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getHelper","outputs":[{"internalType":"uint256","name":"collateral","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"morpho","outputs":[{"internalType":"contract IMorpho","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_newMarketId","type":"bytes32"}],"name":"setMarketId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMorphoAddress","type":"address"}],"name":"setMorphoAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newYearnVaultAddress","type":"address"}],"name":"setYearnVaultAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"yearnVault","outputs":[{"internalType":"contract IYearnVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b506040516111863803806111868339818101604052810190610031919061036f565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009991906103ce565b60405180910390fd5b6100b18161021d60201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011790610441565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361018e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610185906104a9565b60405180910390fd5b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003819055505050506104c7565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61030b826102e2565b9050919050565b61031b81610301565b8114610325575f5ffd5b50565b5f8151905061033681610312565b92915050565b5f819050919050565b61034e8161033c565b8114610358575f5ffd5b50565b5f8151905061036981610345565b92915050565b5f5f5f60608486031215610386576103856102de565b5b5f61039386828701610328565b93505060206103a486828701610328565b92505060406103b58682870161035b565b9150509250925092565b6103c881610301565b82525050565b5f6020820190506103e15f8301846103bf565b92915050565b5f82825260208201905092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f61042b6016836103e7565b9150610436826103f7565b602082019050919050565b5f6020820190508181035f8301526104588161041f565b9050919050565b7f496e76616c696420596561726e207661756c74206164647265737300000000005f82015250565b5f610493601b836103e7565b915061049e8261045f565b602082019050919050565b5f6020820190508181035f8301526104c081610487565b9050919050565b610cb2806104d45f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80639db5df46116100645780639db5df4614610132578063c9f00d5714610150578063d8fbc8331461016c578063f2fde38b1461018a578063f3200671146101a65761009c565b80636ed71ede146100a0578063715018a6146100be57806375d39356146100c85780638937e6ce146100f85780638da5cb5b14610114575b5f5ffd5b6100a86101c2565b6040516100b591906107bd565b60405180910390f35b6100c66101c8565b005b6100e260048036038101906100dd919061083d565b6101db565b6040516100ef9190610880565b60405180910390f35b610112600480360381019061010d91906108c3565b610338565b005b61011c610381565b60405161012991906108fd565b60405180910390f35b61013a6103a8565b6040516101479190610971565b60405180910390f35b61016a6004803603810190610165919061083d565b6103cd565b005b6101746104bd565b60405161018191906109aa565b60405180910390f35b6101a4600480360381019061019f919061083d565b6104e2565b005b6101c060048036038101906101bb919061083d565b610566565b005b60035481565b6101d0610656565b6101d95f6106dd565b565b5f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166393c52062600354856040518363ffffffff1660e01b815260040161023b9291906109c3565b606060405180830381865afa158015610256573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027a9190610b46565b90505f81604001516fffffffffffffffffffffffffffffffff16905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a826040518263ffffffff1660e01b81526004016102f09190610880565b602060405180830381865afa15801561030b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061032f9190610b71565b92505050919050565b610340610656565b806003819055507fc04740e081dca61cc37383dbf40b10a83336f91ea2e64fc439246375f5b2c2e68160405161037691906107bd565b60405180910390a150565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103d5610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043a90610bf6565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe551a727ce84fcce18e75bb608983de9ef9cd63273a22c80c5d2b3eee9500056816040516104b291906108fd565b60405180910390a150565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104ea610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361055a575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161055191906108fd565b60405180910390fd5b610563816106dd565b50565b61056e610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d390610c5e565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5c873e3ef6b69eba45de5cf5c12b87d6952204669c796e17a62928166bc344668160405161064b91906108fd565b60405180910390a150565b61065e61079e565b73ffffffffffffffffffffffffffffffffffffffff1661067c610381565b73ffffffffffffffffffffffffffffffffffffffff16146106db5761069f61079e565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016106d291906108fd565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f819050919050565b6107b7816107a5565b82525050565b5f6020820190506107d05f8301846107ae565b92915050565b5f604051905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61080c826107e3565b9050919050565b61081c81610802565b8114610826575f5ffd5b50565b5f8135905061083781610813565b92915050565b5f60208284031215610852576108516107df565b5b5f61085f84828501610829565b91505092915050565b5f819050919050565b61087a81610868565b82525050565b5f6020820190506108935f830184610871565b92915050565b6108a2816107a5565b81146108ac575f5ffd5b50565b5f813590506108bd81610899565b92915050565b5f602082840312156108d8576108d76107df565b5b5f6108e5848285016108af565b91505092915050565b6108f781610802565b82525050565b5f6020820190506109105f8301846108ee565b92915050565b5f819050919050565b5f61093961093461092f846107e3565b610916565b6107e3565b9050919050565b5f61094a8261091f565b9050919050565b5f61095b82610940565b9050919050565b61096b81610951565b82525050565b5f6020820190506109845f830184610962565b92915050565b5f61099482610940565b9050919050565b6109a48161098a565b82525050565b5f6020820190506109bd5f83018461099b565b92915050565b5f6040820190506109d65f8301856107ae565b6109e360208301846108ee565b9392505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a34826109ee565b810181811067ffffffffffffffff82111715610a5357610a526109fe565b5b80604052505050565b5f610a656107d6565b9050610a718282610a2b565b919050565b610a7f81610868565b8114610a89575f5ffd5b50565b5f81519050610a9a81610a76565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610ac481610aa0565b8114610ace575f5ffd5b50565b5f81519050610adf81610abb565b92915050565b5f60608284031215610afa57610af96109ea565b5b610b046060610a5c565b90505f610b1384828501610a8c565b5f830152506020610b2684828501610ad1565b6020830152506040610b3a84828501610ad1565b60408301525092915050565b5f60608284031215610b5b57610b5a6107df565b5b5f610b6884828501610ae5565b91505092915050565b5f60208284031215610b8657610b856107df565b5b5f610b9384828501610a8c565b91505092915050565b5f82825260208201905092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f610be0601683610b9c565b9150610beb82610bac565b602082019050919050565b5f6020820190508181035f830152610c0d81610bd4565b9050919050565b7f496e76616c696420596561726e207661756c74206164647265737300000000005f82015250565b5f610c48601b83610b9c565b9150610c5382610c14565b602082019050919050565b5f6020820190508181035f830152610c7581610c3c565b905091905056fea26469706673582212208ea9f707a36bf1eb23a3922e04a5271cfc5d235d270ded357e8d2ef010b9c1ba64736f6c63430008210033000000000000000000000000d50f2dfffd62f94ee4aed9ca05c61d0753268abc00000000000000000000000080c34bd3a3569e126e7055831036aa7b212cb1596691cdcadd5d23ac68d2c1cf54dc97ab8242d2a888230de411094480252c2ed3
Deployed Bytecode
0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80639db5df46116100645780639db5df4614610132578063c9f00d5714610150578063d8fbc8331461016c578063f2fde38b1461018a578063f3200671146101a65761009c565b80636ed71ede146100a0578063715018a6146100be57806375d39356146100c85780638937e6ce146100f85780638da5cb5b14610114575b5f5ffd5b6100a86101c2565b6040516100b591906107bd565b60405180910390f35b6100c66101c8565b005b6100e260048036038101906100dd919061083d565b6101db565b6040516100ef9190610880565b60405180910390f35b610112600480360381019061010d91906108c3565b610338565b005b61011c610381565b60405161012991906108fd565b60405180910390f35b61013a6103a8565b6040516101479190610971565b60405180910390f35b61016a6004803603810190610165919061083d565b6103cd565b005b6101746104bd565b60405161018191906109aa565b60405180910390f35b6101a4600480360381019061019f919061083d565b6104e2565b005b6101c060048036038101906101bb919061083d565b610566565b005b60035481565b6101d0610656565b6101d95f6106dd565b565b5f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166393c52062600354856040518363ffffffff1660e01b815260040161023b9291906109c3565b606060405180830381865afa158015610256573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027a9190610b46565b90505f81604001516fffffffffffffffffffffffffffffffff16905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a826040518263ffffffff1660e01b81526004016102f09190610880565b602060405180830381865afa15801561030b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061032f9190610b71565b92505050919050565b610340610656565b806003819055507fc04740e081dca61cc37383dbf40b10a83336f91ea2e64fc439246375f5b2c2e68160405161037691906107bd565b60405180910390a150565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6103d5610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610443576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043a90610bf6565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe551a727ce84fcce18e75bb608983de9ef9cd63273a22c80c5d2b3eee9500056816040516104b291906108fd565b60405180910390a150565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104ea610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361055a575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161055191906108fd565b60405180910390fd5b610563816106dd565b50565b61056e610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d390610c5e565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5c873e3ef6b69eba45de5cf5c12b87d6952204669c796e17a62928166bc344668160405161064b91906108fd565b60405180910390a150565b61065e61079e565b73ffffffffffffffffffffffffffffffffffffffff1661067c610381565b73ffffffffffffffffffffffffffffffffffffffff16146106db5761069f61079e565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016106d291906108fd565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f819050919050565b6107b7816107a5565b82525050565b5f6020820190506107d05f8301846107ae565b92915050565b5f604051905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61080c826107e3565b9050919050565b61081c81610802565b8114610826575f5ffd5b50565b5f8135905061083781610813565b92915050565b5f60208284031215610852576108516107df565b5b5f61085f84828501610829565b91505092915050565b5f819050919050565b61087a81610868565b82525050565b5f6020820190506108935f830184610871565b92915050565b6108a2816107a5565b81146108ac575f5ffd5b50565b5f813590506108bd81610899565b92915050565b5f602082840312156108d8576108d76107df565b5b5f6108e5848285016108af565b91505092915050565b6108f781610802565b82525050565b5f6020820190506109105f8301846108ee565b92915050565b5f819050919050565b5f61093961093461092f846107e3565b610916565b6107e3565b9050919050565b5f61094a8261091f565b9050919050565b5f61095b82610940565b9050919050565b61096b81610951565b82525050565b5f6020820190506109845f830184610962565b92915050565b5f61099482610940565b9050919050565b6109a48161098a565b82525050565b5f6020820190506109bd5f83018461099b565b92915050565b5f6040820190506109d65f8301856107ae565b6109e360208301846108ee565b9392505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a34826109ee565b810181811067ffffffffffffffff82111715610a5357610a526109fe565b5b80604052505050565b5f610a656107d6565b9050610a718282610a2b565b919050565b610a7f81610868565b8114610a89575f5ffd5b50565b5f81519050610a9a81610a76565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610ac481610aa0565b8114610ace575f5ffd5b50565b5f81519050610adf81610abb565b92915050565b5f60608284031215610afa57610af96109ea565b5b610b046060610a5c565b90505f610b1384828501610a8c565b5f830152506020610b2684828501610ad1565b6020830152506040610b3a84828501610ad1565b60408301525092915050565b5f60608284031215610b5b57610b5a6107df565b5b5f610b6884828501610ae5565b91505092915050565b5f60208284031215610b8657610b856107df565b5b5f610b9384828501610a8c565b91505092915050565b5f82825260208201905092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f610be0601683610b9c565b9150610beb82610bac565b602082019050919050565b5f6020820190508181035f830152610c0d81610bd4565b9050919050565b7f496e76616c696420596561726e207661756c74206164647265737300000000005f82015250565b5f610c48601b83610b9c565b9150610c5382610c14565b602082019050919050565b5f6020820190508181035f830152610c7581610c3c565b905091905056fea26469706673582212208ea9f707a36bf1eb23a3922e04a5271cfc5d235d270ded357e8d2ef010b9c1ba64736f6c63430008210033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d50f2dfffd62f94ee4aed9ca05c61d0753268abc00000000000000000000000080c34bd3a3569e126e7055831036aa7b212cb1596691cdcadd5d23ac68d2c1cf54dc97ab8242d2a888230de411094480252c2ed3
-----Decoded View---------------
Arg [0] : _morphoAddress (address): 0xD50F2DffFd62f94Ee4AEd9ca05C61d0753268aBc
Arg [1] : _yearnVaultAddress (address): 0x80c34BD3A3569E126e7055831036aa7b212cB159
Arg [2] : _marketId (bytes32): 0x6691cdcadd5d23ac68d2c1cf54dc97ab8242d2a888230de411094480252c2ed3
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000d50f2dfffd62f94ee4aed9ca05c61d0753268abc
Arg [1] : 00000000000000000000000080c34bd3a3569e126e7055831036aa7b212cb159
Arg [2] : 6691cdcadd5d23ac68d2c1cf54dc97ab8242d2a888230de411094480252c2ed3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 36 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.