Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Name:
YechoMidasHelper
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
cancun 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";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
/*
██ ██ ███████ ██████ ██ ██ ██████
██ ██ ██ ██ ██ ██ ██ ██
████ █████ ██ ███████ ██ ██
██ ██ ██ ██ ██ ██ ██
██ ███████ ██████ ██ ██ ██████
Yecho - Know Your Yield
Midas Helper Smartcontract
https://www.yecho.app | https://x.com/YechoApp
By Lasalad
*/
interface IMidasRedemption {
function getDataInBase18() external view returns (uint256);
}
contract YechoMidasHelper is Ownable {
IERC20 public midasToken;
IMidasRedemption public redemptionContract;
uint8 public priceDecimals = 18;
event MidasTokenUpdated(address newAddress);
event RedemptionContractUpdated(address newAddress);
event PriceDecimalsUpdated(uint8 newDecimals);
constructor(
address _midasTokenAddress,
address _redemptionContractAddress
) Ownable(msg.sender) {
require(_midasTokenAddress != address(0), "Invalid Midas token address");
require(_redemptionContractAddress != address(0), "Invalid Redemption contract address");
midasToken = IERC20(_midasTokenAddress);
redemptionContract = IMidasRedemption(_redemptionContractAddress);
}
function setMidasTokenAddress(address _newMidasTokenAddress) external onlyOwner {
require(_newMidasTokenAddress != address(0), "Invalid Midas token address");
midasToken = IERC20(_newMidasTokenAddress);
emit MidasTokenUpdated(_newMidasTokenAddress);
}
function setRedemptionContractAddress(address _newRedemptionAddress) external onlyOwner {
require(_newRedemptionAddress != address(0), "Invalid Redemption contract address");
redemptionContract = IMidasRedemption(_newRedemptionAddress);
emit RedemptionContractUpdated(_newRedemptionAddress);
}
function setPriceDecimals(uint8 _newDecimals) external onlyOwner {
priceDecimals = _newDecimals;
emit PriceDecimalsUpdated(_newDecimals);
}
function getHelper(address user) external view returns (uint256 balanceUsd) {
uint256 balance = midasToken.balanceOf(user);
uint256 priceInBase18 = redemptionContract.getDataInBase18();
uint256 balanceValue = (balance * priceInBase18) / (10 ** priceDecimals);
return balanceValue;
}
}// 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.4.0) (token/ERC20/IERC20.sol)
pragma solidity >=0.4.16;
/**
* @dev Interface of the ERC-20 standard as defined in the ERC.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the value of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the value of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves a `value` amount of tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 value) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets a `value` amount of tokens as the allowance of `spender` over the
* caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 value) external returns (bool);
/**
* @dev Moves a `value` amount of tokens from `from` to `to` using the
* allowance mechanism. `value` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 value) external returns (bool);
}// 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": "cancun",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_midasTokenAddress","type":"address"},{"internalType":"address","name":"_redemptionContractAddress","type":"address"}],"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":"address","name":"newAddress","type":"address"}],"name":"MidasTokenUpdated","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":"uint8","name":"newDecimals","type":"uint8"}],"name":"PriceDecimalsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"RedemptionContractUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getHelper","outputs":[{"internalType":"uint256","name":"balanceUsd","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"midasToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemptionContract","outputs":[{"internalType":"contract IMidasRedemption","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMidasTokenAddress","type":"address"}],"name":"setMidasTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_newDecimals","type":"uint8"}],"name":"setPriceDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRedemptionAddress","type":"address"}],"name":"setRedemptionContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040526012600260146101000a81548160ff021916908360ff16021790555034801561002b575f80fd5b5060405161128d38038061128d833981810160405281019061004d9190610350565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100be575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100b5919061039d565b60405180910390fd5b6100cd8161023160201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361013c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013390610410565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a19061049e565b60405180910390fd5b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506104bc565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61031f826102f6565b9050919050565b61032f81610315565b8114610339575f80fd5b50565b5f8151905061034a81610326565b92915050565b5f8060408385031215610366576103656102f2565b5b5f6103738582860161033c565b92505060206103848582860161033c565b9150509250929050565b61039781610315565b82525050565b5f6020820190506103b05f83018461038e565b92915050565b5f82825260208201905092915050565b7f496e76616c6964204d6964617320746f6b656e206164647265737300000000005f82015250565b5f6103fa601b836103b6565b9150610405826103c6565b602082019050919050565b5f6020820190508181035f830152610427816103ee565b9050919050565b7f496e76616c696420526564656d7074696f6e20636f6e747261637420616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6104886023836103b6565b91506104938261042e565b604082019050919050565b5f6020820190508181035f8301526104b58161047c565b9050919050565b610dc4806104c95f395ff3fe608060405234801561000f575f80fd5b506004361061009c575f3560e01c80638da5cb5b116100645780638da5cb5b1461013257806396fe914f14610150578063c5c221e11461016e578063ca49d5b11461018a578063f2fde38b146101a65761009c565b806305300b28146100a057806305ad0cd3146100be578063715018a6146100dc57806375d39356146100e6578063832af50214610116575b5f80fd5b6100a86101c2565b6040516100b591906107f2565b60405180910390f35b6100c66101d5565b6040516100d39190610885565b60405180910390f35b6100e46101fa565b005b61010060048036038101906100fb91906108dd565b61020d565b60405161010d9190610920565b60405180910390f35b610130600480360381019061012b91906108dd565b61037b565b005b61013a61046b565b6040516101479190610948565b60405180910390f35b610158610492565b6040516101659190610981565b60405180910390f35b610188600480360381019061018391906109c4565b6104b7565b005b6101a4600480360381019061019f91906108dd565b610514565b005b6101c060048036038101906101bb91906108dd565b610604565b005b600260149054906101000a900460ff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610202610688565b61020b5f61070f565b565b5f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016102699190610948565b602060405180830381865afa158015610284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a89190610a19565b90505f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663636929056040518163ffffffff1660e01b8152600401602060405180830381865afa158015610315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103399190610a19565b90505f600260149054906101000a900460ff16600a6103589190610ba0565b82846103649190610bea565b61036e9190610c58565b9050809350505050919050565b610383610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890610ce2565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70ad7d8f3eb4f6fa8f67d91badd288ddf6d8612d4771fbf5db1397ddc83df698816040516104609190610948565b60405180910390a150565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104bf610688565b80600260146101000a81548160ff021916908360ff1602179055507f2e1f392960766be318c55c9c5a566588cd7313b31cacdc1971b7a156dc9bdddb8160405161050991906107f2565b60405180910390a150565b61051c610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190610d70565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f37d7f236784a51e3623ae0b21d9b02f0d2e73b5c64eb90d1219d05c0c42dc8d0816040516105f99190610948565b60405180910390a150565b61060c610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361067c575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106739190610948565b60405180910390fd5b6106858161070f565b50565b6106906107d0565b73ffffffffffffffffffffffffffffffffffffffff166106ae61046b565b73ffffffffffffffffffffffffffffffffffffffff161461070d576106d16107d0565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107049190610948565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60ff82169050919050565b6107ec816107d7565b82525050565b5f6020820190506108055f8301846107e3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61084d6108486108438461080b565b61082a565b61080b565b9050919050565b5f61085e82610833565b9050919050565b5f61086f82610854565b9050919050565b61087f81610865565b82525050565b5f6020820190506108985f830184610876565b92915050565b5f80fd5b5f6108ac8261080b565b9050919050565b6108bc816108a2565b81146108c6575f80fd5b50565b5f813590506108d7816108b3565b92915050565b5f602082840312156108f2576108f161089e565b5b5f6108ff848285016108c9565b91505092915050565b5f819050919050565b61091a81610908565b82525050565b5f6020820190506109335f830184610911565b92915050565b610942816108a2565b82525050565b5f60208201905061095b5f830184610939565b92915050565b5f61096b82610854565b9050919050565b61097b81610961565b82525050565b5f6020820190506109945f830184610972565b92915050565b6109a3816107d7565b81146109ad575f80fd5b50565b5f813590506109be8161099a565b92915050565b5f602082840312156109d9576109d861089e565b5b5f6109e6848285016109b0565b91505092915050565b6109f881610908565b8114610a02575f80fd5b50565b5f81519050610a13816109ef565b92915050565b5f60208284031215610a2e57610a2d61089e565b5b5f610a3b84828501610a05565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610ac657808604811115610aa257610aa1610a44565b5b6001851615610ab15780820291505b8081029050610abf85610a71565b9450610a86565b94509492505050565b5f82610ade5760019050610b99565b81610aeb575f9050610b99565b8160018114610b015760028114610b0b57610b3a565b6001915050610b99565b60ff841115610b1d57610b1c610a44565b5b8360020a915084821115610b3457610b33610a44565b5b50610b99565b5060208310610133831016604e8410600b8410161715610b6f5782820a905083811115610b6a57610b69610a44565b5b610b99565b610b7c8484846001610a7d565b92509050818404811115610b9357610b92610a44565b5b81810290505b9392505050565b5f610baa82610908565b9150610bb5836107d7565b9250610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610acf565b905092915050565b5f610bf482610908565b9150610bff83610908565b9250828202610c0d81610908565b91508282048414831517610c2457610c23610a44565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610c6282610908565b9150610c6d83610908565b925082610c7d57610c7c610c2b565b5b828204905092915050565b5f82825260208201905092915050565b7f496e76616c6964204d6964617320746f6b656e206164647265737300000000005f82015250565b5f610ccc601b83610c88565b9150610cd782610c98565b602082019050919050565b5f6020820190508181035f830152610cf981610cc0565b9050919050565b7f496e76616c696420526564656d7074696f6e20636f6e747261637420616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f610d5a602383610c88565b9150610d6582610d00565b604082019050919050565b5f6020820190508181035f830152610d8781610d4e565b905091905056fea264697066735822122061b9b344e0bbc6ee76d28582d6f31ee8788a69e2b22e48faf4a6541cd567bacb64736f6c634300081a0033000000000000000000000000c6135d59f8d10c9c035963ce9037b3635170d716000000000000000000000000001b3731c706fed93bda240a5bf848c28ae1cc12
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061009c575f3560e01c80638da5cb5b116100645780638da5cb5b1461013257806396fe914f14610150578063c5c221e11461016e578063ca49d5b11461018a578063f2fde38b146101a65761009c565b806305300b28146100a057806305ad0cd3146100be578063715018a6146100dc57806375d39356146100e6578063832af50214610116575b5f80fd5b6100a86101c2565b6040516100b591906107f2565b60405180910390f35b6100c66101d5565b6040516100d39190610885565b60405180910390f35b6100e46101fa565b005b61010060048036038101906100fb91906108dd565b61020d565b60405161010d9190610920565b60405180910390f35b610130600480360381019061012b91906108dd565b61037b565b005b61013a61046b565b6040516101479190610948565b60405180910390f35b610158610492565b6040516101659190610981565b60405180910390f35b610188600480360381019061018391906109c4565b6104b7565b005b6101a4600480360381019061019f91906108dd565b610514565b005b6101c060048036038101906101bb91906108dd565b610604565b005b600260149054906101000a900460ff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610202610688565b61020b5f61070f565b565b5f8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016102699190610948565b602060405180830381865afa158015610284573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a89190610a19565b90505f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663636929056040518163ffffffff1660e01b8152600401602060405180830381865afa158015610315573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103399190610a19565b90505f600260149054906101000a900460ff16600a6103589190610ba0565b82846103649190610bea565b61036e9190610c58565b9050809350505050919050565b610383610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890610ce2565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70ad7d8f3eb4f6fa8f67d91badd288ddf6d8612d4771fbf5db1397ddc83df698816040516104609190610948565b60405180910390a150565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6104bf610688565b80600260146101000a81548160ff021916908360ff1602179055507f2e1f392960766be318c55c9c5a566588cd7313b31cacdc1971b7a156dc9bdddb8160405161050991906107f2565b60405180910390a150565b61051c610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058190610d70565b60405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f37d7f236784a51e3623ae0b21d9b02f0d2e73b5c64eb90d1219d05c0c42dc8d0816040516105f99190610948565b60405180910390a150565b61060c610688565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361067c575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106739190610948565b60405180910390fd5b6106858161070f565b50565b6106906107d0565b73ffffffffffffffffffffffffffffffffffffffff166106ae61046b565b73ffffffffffffffffffffffffffffffffffffffff161461070d576106d16107d0565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016107049190610948565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f60ff82169050919050565b6107ec816107d7565b82525050565b5f6020820190506108055f8301846107e3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61084d6108486108438461080b565b61082a565b61080b565b9050919050565b5f61085e82610833565b9050919050565b5f61086f82610854565b9050919050565b61087f81610865565b82525050565b5f6020820190506108985f830184610876565b92915050565b5f80fd5b5f6108ac8261080b565b9050919050565b6108bc816108a2565b81146108c6575f80fd5b50565b5f813590506108d7816108b3565b92915050565b5f602082840312156108f2576108f161089e565b5b5f6108ff848285016108c9565b91505092915050565b5f819050919050565b61091a81610908565b82525050565b5f6020820190506109335f830184610911565b92915050565b610942816108a2565b82525050565b5f60208201905061095b5f830184610939565b92915050565b5f61096b82610854565b9050919050565b61097b81610961565b82525050565b5f6020820190506109945f830184610972565b92915050565b6109a3816107d7565b81146109ad575f80fd5b50565b5f813590506109be8161099a565b92915050565b5f602082840312156109d9576109d861089e565b5b5f6109e6848285016109b0565b91505092915050565b6109f881610908565b8114610a02575f80fd5b50565b5f81519050610a13816109ef565b92915050565b5f60208284031215610a2e57610a2d61089e565b5b5f610a3b84828501610a05565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610ac657808604811115610aa257610aa1610a44565b5b6001851615610ab15780820291505b8081029050610abf85610a71565b9450610a86565b94509492505050565b5f82610ade5760019050610b99565b81610aeb575f9050610b99565b8160018114610b015760028114610b0b57610b3a565b6001915050610b99565b60ff841115610b1d57610b1c610a44565b5b8360020a915084821115610b3457610b33610a44565b5b50610b99565b5060208310610133831016604e8410600b8410161715610b6f5782820a905083811115610b6a57610b69610a44565b5b610b99565b610b7c8484846001610a7d565b92509050818404811115610b9357610b92610a44565b5b81810290505b9392505050565b5f610baa82610908565b9150610bb5836107d7565b9250610be27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610acf565b905092915050565b5f610bf482610908565b9150610bff83610908565b9250828202610c0d81610908565b91508282048414831517610c2457610c23610a44565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610c6282610908565b9150610c6d83610908565b925082610c7d57610c7c610c2b565b5b828204905092915050565b5f82825260208201905092915050565b7f496e76616c6964204d6964617320746f6b656e206164647265737300000000005f82015250565b5f610ccc601b83610c88565b9150610cd782610c98565b602082019050919050565b5f6020820190508181035f830152610cf981610cc0565b9050919050565b7f496e76616c696420526564656d7074696f6e20636f6e747261637420616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f610d5a602383610c88565b9150610d6582610d00565b604082019050919050565b5f6020820190508181035f830152610d8781610d4e565b905091905056fea264697066735822122061b9b344e0bbc6ee76d28582d6f31ee8788a69e2b22e48faf4a6541cd567bacb64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c6135d59f8d10c9c035963ce9037b3635170d716000000000000000000000000001b3731c706fed93bda240a5bf848c28ae1cc12
-----Decoded View---------------
Arg [0] : _midasTokenAddress (address): 0xC6135d59F8D10c9C035963ce9037B3635170D716
Arg [1] : _redemptionContractAddress (address): 0x001b3731c706fEd93BDA240A5BF848C28ae1cC12
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c6135d59f8d10c9c035963ce9037b3635170d716
Arg [1] : 000000000000000000000000001b3731c706fed93bda240a5bf848c28ae1cc12
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 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.