Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
YechoMorphoReservoirTokenCollatHelper
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 Reservoir 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 IwsrUSD {
function convertToAssets(uint256 shares) external view returns (uint256 assets);
}
contract YechoMorphoReservoirTokenCollatHelper is Ownable {
IMorpho public morpho;
IwsrUSD public wsrUSD;
bytes32 public marketId;
event MorphoAddressUpdated(address newAddress);
event wsrUSDUpdated(address newAddress);
event MarketIdUpdated(bytes32 newMarketId);
constructor(address _morphoAddress, address _wsrUSDAddress, bytes32 _marketId) Ownable(msg.sender) {
require(_morphoAddress != address(0), "Invalid Morpho address");
require(_wsrUSDAddress != address(0), "Invalid wsrUSD address");
morpho = IMorpho(_morphoAddress);
wsrUSD = IwsrUSD(_wsrUSDAddress);
marketId = _marketId;
}
function setMorphoAddress(address _newMorphoAddress) external onlyOwner {
require(_newMorphoAddress != address(0), "Invalid Morpho address");
morpho = IMorpho(_newMorphoAddress);
emit MorphoAddressUpdated(_newMorphoAddress);
}
function setwsrUSDAddress(address _newwsrUSDAddress) external onlyOwner {
require(_newwsrUSDAddress != address(0), "Invalid wsrUSD address");
wsrUSD = IwsrUSD(_newwsrUSDAddress);
emit wsrUSDUpdated(_newwsrUSDAddress);
}
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 wsrUSD.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":"_wsrUSDAddress","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":"wsrUSDUpdated","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":"_newwsrUSDAddress","type":"address"}],"name":"setwsrUSDAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wsrUSD","outputs":[{"internalType":"contract IwsrUSD","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b506040516111863803806111868339818101604052810190610031919061036f565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009991906103ce565b60405180910390fd5b6100b18161021d60201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011790610441565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361018e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610185906104a9565b60405180910390fd5b8260015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806003819055505050506104c7565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61030b826102e2565b9050919050565b61031b81610301565b8114610325575f5ffd5b50565b5f8151905061033681610312565b92915050565b5f819050919050565b61034e8161033c565b8114610358575f5ffd5b50565b5f8151905061036981610345565b92915050565b5f5f5f60608486031215610386576103856102de565b5b5f61039386828701610328565b93505060206103a486828701610328565b92505060406103b58682870161035b565b9150509250925092565b6103c881610301565b82525050565b5f6020820190506103e15f8301846103bf565b92915050565b5f82825260208201905092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f61042b6016836103e7565b9150610436826103f7565b602082019050919050565b5f6020820190508181035f8301526104588161041f565b9050919050565b7f496e76616c6964207773725553442061646472657373000000000000000000005f82015250565b5f6104936016836103e7565b915061049e8261045f565b602082019050919050565b5f6020820190508181035f8301526104c081610487565b9050919050565b610cb2806104d45f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80638da5cb5b116100645780638da5cb5b14610130578063c9f00d571461014e578063d8fbc8331461016a578063f2fac95714610188578063f2fde38b146101a65761009c565b806351d3725d146100a05780636ed71ede146100bc578063715018a6146100da57806375d39356146100e45780638937e6ce14610114575b5f5ffd5b6100ba60048036038101906100b5919061080c565b6101c2565b005b6100c46102b2565b6040516100d1919061084f565b60405180910390f35b6100e26102b8565b005b6100fe60048036038101906100f9919061080c565b6102cb565b60405161010b9190610880565b60405180910390f35b61012e600480360381019061012991906108c3565b610428565b005b610138610471565b60405161014591906108fd565b60405180910390f35b6101686004803603810190610163919061080c565b610498565b005b610172610588565b60405161017f9190610971565b60405180910390f35b6101906105ad565b60405161019d91906109aa565b60405180910390f35b6101c060048036038101906101bb919061080c565b6105d2565b005b6101ca610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022f90610a1d565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2443b15f77560a483b1f552d7b23cd5c1c83d7bf00022f69c6dba645d61341a4816040516102a791906108fd565b60405180910390a150565b60035481565b6102c0610656565b6102c95f6106dd565b565b5f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166393c52062600354856040518363ffffffff1660e01b815260040161032b929190610a3b565b606060405180830381865afa158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190610bbe565b90505f81604001516fffffffffffffffffffffffffffffffff16905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a826040518263ffffffff1660e01b81526004016103e09190610880565b602060405180830381865afa1580156103fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041f9190610be9565b92505050919050565b610430610656565b806003819055507fc04740e081dca61cc37383dbf40b10a83336f91ea2e64fc439246375f5b2c2e681604051610466919061084f565b60405180910390a150565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104a0610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361050e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050590610c5e565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe551a727ce84fcce18e75bb608983de9ef9cd63273a22c80c5d2b3eee95000568160405161057d91906108fd565b60405180910390a150565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105da610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361064a575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161064191906108fd565b60405180910390fd5b610653816106dd565b50565b61065e61079e565b73ffffffffffffffffffffffffffffffffffffffff1661067c610471565b73ffffffffffffffffffffffffffffffffffffffff16146106db5761069f61079e565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016106d291906108fd565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f604051905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107db826107b2565b9050919050565b6107eb816107d1565b81146107f5575f5ffd5b50565b5f81359050610806816107e2565b92915050565b5f60208284031215610821576108206107ae565b5b5f61082e848285016107f8565b91505092915050565b5f819050919050565b61084981610837565b82525050565b5f6020820190506108625f830184610840565b92915050565b5f819050919050565b61087a81610868565b82525050565b5f6020820190506108935f830184610871565b92915050565b6108a281610837565b81146108ac575f5ffd5b50565b5f813590506108bd81610899565b92915050565b5f602082840312156108d8576108d76107ae565b5b5f6108e5848285016108af565b91505092915050565b6108f7816107d1565b82525050565b5f6020820190506109105f8301846108ee565b92915050565b5f819050919050565b5f61093961093461092f846107b2565b610916565b6107b2565b9050919050565b5f61094a8261091f565b9050919050565b5f61095b82610940565b9050919050565b61096b81610951565b82525050565b5f6020820190506109845f830184610962565b92915050565b5f61099482610940565b9050919050565b6109a48161098a565b82525050565b5f6020820190506109bd5f83018461099b565b92915050565b5f82825260208201905092915050565b7f496e76616c6964207773725553442061646472657373000000000000000000005f82015250565b5f610a076016836109c3565b9150610a12826109d3565b602082019050919050565b5f6020820190508181035f830152610a34816109fb565b9050919050565b5f604082019050610a4e5f830185610840565b610a5b60208301846108ee565b9392505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610aac82610a66565b810181811067ffffffffffffffff82111715610acb57610aca610a76565b5b80604052505050565b5f610add6107a5565b9050610ae98282610aa3565b919050565b610af781610868565b8114610b01575f5ffd5b50565b5f81519050610b1281610aee565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b3c81610b18565b8114610b46575f5ffd5b50565b5f81519050610b5781610b33565b92915050565b5f60608284031215610b7257610b71610a62565b5b610b7c6060610ad4565b90505f610b8b84828501610b04565b5f830152506020610b9e84828501610b49565b6020830152506040610bb284828501610b49565b60408301525092915050565b5f60608284031215610bd357610bd26107ae565b5b5f610be084828501610b5d565b91505092915050565b5f60208284031215610bfe57610bfd6107ae565b5b5f610c0b84828501610b04565b91505092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f610c486016836109c3565b9150610c5382610c14565b602082019050919050565b5f6020820190508181035f830152610c7581610c3c565b905091905056fea2646970667358221220cee772ad99461b5a6d49262795da63f4240039522edc52fa8ad26fe4b3c6240764736f6c63430008210033000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000d3fd63209fa2d55b07a0f6db36c2f43900be3094a9f70093360419b4544f17a4553ac5847d896be23f020295bd95c24af4df700e
Deployed Bytecode
0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c80638da5cb5b116100645780638da5cb5b14610130578063c9f00d571461014e578063d8fbc8331461016a578063f2fac95714610188578063f2fde38b146101a65761009c565b806351d3725d146100a05780636ed71ede146100bc578063715018a6146100da57806375d39356146100e45780638937e6ce14610114575b5f5ffd5b6100ba60048036038101906100b5919061080c565b6101c2565b005b6100c46102b2565b6040516100d1919061084f565b60405180910390f35b6100e26102b8565b005b6100fe60048036038101906100f9919061080c565b6102cb565b60405161010b9190610880565b60405180910390f35b61012e600480360381019061012991906108c3565b610428565b005b610138610471565b60405161014591906108fd565b60405180910390f35b6101686004803603810190610163919061080c565b610498565b005b610172610588565b60405161017f9190610971565b60405180910390f35b6101906105ad565b60405161019d91906109aa565b60405180910390f35b6101c060048036038101906101bb919061080c565b6105d2565b005b6101ca610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022f90610a1d565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2443b15f77560a483b1f552d7b23cd5c1c83d7bf00022f69c6dba645d61341a4816040516102a791906108fd565b60405180910390a150565b60035481565b6102c0610656565b6102c95f6106dd565b565b5f5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166393c52062600354856040518363ffffffff1660e01b815260040161032b929190610a3b565b606060405180830381865afa158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190610bbe565b90505f81604001516fffffffffffffffffffffffffffffffff16905060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a826040518263ffffffff1660e01b81526004016103e09190610880565b602060405180830381865afa1580156103fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041f9190610be9565b92505050919050565b610430610656565b806003819055507fc04740e081dca61cc37383dbf40b10a83336f91ea2e64fc439246375f5b2c2e681604051610466919061084f565b60405180910390a150565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104a0610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361050e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050590610c5e565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe551a727ce84fcce18e75bb608983de9ef9cd63273a22c80c5d2b3eee95000568160405161057d91906108fd565b60405180910390a150565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6105da610656565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361064a575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161064191906108fd565b60405180910390fd5b610653816106dd565b50565b61065e61079e565b73ffffffffffffffffffffffffffffffffffffffff1661067c610471565b73ffffffffffffffffffffffffffffffffffffffff16146106db5761069f61079e565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016106d291906108fd565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f604051905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107db826107b2565b9050919050565b6107eb816107d1565b81146107f5575f5ffd5b50565b5f81359050610806816107e2565b92915050565b5f60208284031215610821576108206107ae565b5b5f61082e848285016107f8565b91505092915050565b5f819050919050565b61084981610837565b82525050565b5f6020820190506108625f830184610840565b92915050565b5f819050919050565b61087a81610868565b82525050565b5f6020820190506108935f830184610871565b92915050565b6108a281610837565b81146108ac575f5ffd5b50565b5f813590506108bd81610899565b92915050565b5f602082840312156108d8576108d76107ae565b5b5f6108e5848285016108af565b91505092915050565b6108f7816107d1565b82525050565b5f6020820190506109105f8301846108ee565b92915050565b5f819050919050565b5f61093961093461092f846107b2565b610916565b6107b2565b9050919050565b5f61094a8261091f565b9050919050565b5f61095b82610940565b9050919050565b61096b81610951565b82525050565b5f6020820190506109845f830184610962565b92915050565b5f61099482610940565b9050919050565b6109a48161098a565b82525050565b5f6020820190506109bd5f83018461099b565b92915050565b5f82825260208201905092915050565b7f496e76616c6964207773725553442061646472657373000000000000000000005f82015250565b5f610a076016836109c3565b9150610a12826109d3565b602082019050919050565b5f6020820190508181035f830152610a34816109fb565b9050919050565b5f604082019050610a4e5f830185610840565b610a5b60208301846108ee565b9392505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610aac82610a66565b810181811067ffffffffffffffff82111715610acb57610aca610a76565b5b80604052505050565b5f610add6107a5565b9050610ae98282610aa3565b919050565b610af781610868565b8114610b01575f5ffd5b50565b5f81519050610b1281610aee565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b610b3c81610b18565b8114610b46575f5ffd5b50565b5f81519050610b5781610b33565b92915050565b5f60608284031215610b7257610b71610a62565b5b610b7c6060610ad4565b90505f610b8b84828501610b04565b5f830152506020610b9e84828501610b49565b6020830152506040610bb284828501610b49565b60408301525092915050565b5f60608284031215610bd357610bd26107ae565b5b5f610be084828501610b5d565b91505092915050565b5f60208284031215610bfe57610bfd6107ae565b5b5f610c0b84828501610b04565b91505092915050565b7f496e76616c6964204d6f7270686f2061646472657373000000000000000000005f82015250565b5f610c486016836109c3565b9150610c5382610c14565b602082019050919050565b5f6020820190508181035f830152610c7581610c3c565b905091905056fea2646970667358221220cee772ad99461b5a6d49262795da63f4240039522edc52fa8ad26fe4b3c6240764736f6c63430008210033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000d3fd63209fa2d55b07a0f6db36c2f43900be3094a9f70093360419b4544f17a4553ac5847d896be23f020295bd95c24af4df700e
-----Decoded View---------------
Arg [0] : _morphoAddress (address): 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb
Arg [1] : _wsrUSDAddress (address): 0xd3fD63209FA2D55B07A0f6db36C2f43900be3094
Arg [2] : _marketId (bytes32): 0xa9f70093360419b4544f17a4553ac5847d896be23f020295bd95c24af4df700e
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb
Arg [1] : 000000000000000000000000d3fd63209fa2d55b07a0f6db36c2f43900be3094
Arg [2] : a9f70093360419b4544f17a4553ac5847d896be23f020295bd95c24af4df700e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 36 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.