Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 25 from a total of 1,181 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw All | 15558700 | 1260 days ago | IN | 0 ETH | 0.00017878 | ||||
| Deposit And Lock | 15548382 | 1261 days ago | IN | 2.99470214 ETH | 0.00033444 | ||||
| Submit Claim | 14945935 | 1358 days ago | IN | 0 ETH | 0.00203757 | ||||
| Deposit And Lock | 14945910 | 1358 days ago | IN | 10.14919711 ETH | 0.00104436 | ||||
| Submit Claim | 14945908 | 1358 days ago | IN | 0 ETH | 0.00213089 | ||||
| Submit Claim | 14945888 | 1358 days ago | IN | 0 ETH | 0.00198326 | ||||
| Submit Claim | 14945360 | 1359 days ago | IN | 0 ETH | 0.00458395 | ||||
| Deposit And Lock | 14943875 | 1359 days ago | IN | 10.4321388 ETH | 0.0010328 | ||||
| Submit Claim | 14943875 | 1359 days ago | IN | 0 ETH | 0.00226765 | ||||
| Submit Claim | 14943721 | 1359 days ago | IN | 0 ETH | 0.00158241 | ||||
| Submit Claim | 14943714 | 1359 days ago | IN | 0 ETH | 0.00202947 | ||||
| Submit Claim | 14943642 | 1359 days ago | IN | 0 ETH | 0.0019611 | ||||
| Submit Claim | 14943580 | 1359 days ago | IN | 0 ETH | 0.00194615 | ||||
| Deposit And Lock | 14940908 | 1359 days ago | IN | 10.2244575 ETH | 0.00182934 | ||||
| Submit Claim | 14940907 | 1359 days ago | IN | 0 ETH | 0.00428409 | ||||
| Submit Claim | 14940808 | 1359 days ago | IN | 0 ETH | 0.00668274 | ||||
| Submit Claim | 14940725 | 1359 days ago | IN | 0 ETH | 0.00316499 | ||||
| Submit Claim | 14940206 | 1359 days ago | IN | 0 ETH | 0.00734305 | ||||
| Submit Claim | 14939327 | 1360 days ago | IN | 0 ETH | 0.00364565 | ||||
| Deposit And Lock | 14939288 | 1360 days ago | IN | 10.48318981 ETH | 0.00130821 | ||||
| Submit Claim | 14939286 | 1360 days ago | IN | 0 ETH | 0.00365626 | ||||
| Submit Claim | 14939221 | 1360 days ago | IN | 0 ETH | 0.00296167 | ||||
| Submit Claim | 14938962 | 1360 days ago | IN | 0 ETH | 0.00535951 | ||||
| Submit Claim | 14938958 | 1360 days ago | IN | 0 ETH | 0.00398859 | ||||
| Submit Claim | 14938730 | 1360 days ago | IN | 0 ETH | 0.00651438 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15558700 | 1260 days ago | 18.92658661 ETH | ||||
| - | 14945935 | 1358 days ago | 2.06595918 ETH | ||||
| - | 14945908 | 1358 days ago | 2.20519007 ETH | ||||
| - | 14945888 | 1358 days ago | 5.68752835 ETH | ||||
| - | 14945360 | 1359 days ago | 1.97499999 ETH | ||||
| - | 14943875 | 1359 days ago | 2.08578404 ETH | ||||
| - | 14943721 | 1359 days ago | 2.0152572 ETH | ||||
| - | 14943714 | 1359 days ago | 2.06497945 ETH | ||||
| - | 14943642 | 1359 days ago | 1.975 ETH | ||||
| - | 14943580 | 1359 days ago | 2.14624903 ETH | ||||
| - | 14940907 | 1359 days ago | 1.975 ETH | ||||
| - | 14940808 | 1359 days ago | 1.975 ETH | ||||
| - | 14940725 | 1359 days ago | 2.06698297 ETH | ||||
| - | 14940206 | 1359 days ago | 2.05566458 ETH | ||||
| - | 14939327 | 1360 days ago | 2.01682988 ETH | ||||
| - | 14939286 | 1360 days ago | 1.975 ETH | ||||
| - | 14939221 | 1360 days ago | 1.975 ETH | ||||
| - | 14938962 | 1360 days ago | 2.27204737 ETH | ||||
| - | 14938958 | 1360 days ago | 2.13833052 ETH | ||||
| - | 14938730 | 1360 days ago | 1.975 ETH | ||||
| - | 14938172 | 1360 days ago | 2.58734716 ETH | ||||
| - | 14938032 | 1360 days ago | 1.975 ETH | ||||
| - | 14937983 | 1360 days ago | 1.975 ETH | ||||
| - | 14937964 | 1360 days ago | 2.05807859 ETH | ||||
| - | 14937520 | 1360 days ago | 1.975 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
LogOfClaimedMEVBlocks
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-04-20
*/
// SPDX-License-Identifier: MIT
pragma solidity = 0.7.6;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = 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 {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
// In the first version, claimed block nonce / mixDigest IS NOT VERIFIED
// This contract assumes that MEV block template producer completely TRUSTS pool operator that received the signed work order.
// This contract !DOES NOT VERIFY! that block nonce / mixDigest is valid or that it was broadcasted without delay
// In the next version we're planning to introduce trustless approach to verify submited block nonce on-chain(see smartpool) and verify delay in seconds for share submission(using oracles)
contract LogOfClaimedMEVBlocks is Ownable {
uint256 internal constant FLAG_BLOCK_NONCE_LIMIT = 0x10000000000000000;
mapping (address => uint) public timestampOfPossibleExit;
mapping (address => uint) public depositedEther;
mapping (address => address) public blockSubmissionsOperator;
mapping (bytes32 => uint) public claimedBlockNonce;
event Deposit(address user, uint amount, uint updatedExitTime);
event Withdraw(address user, uint amount);
event BlockClaimed(bytes32 blockHeader, bytes32 seedHash, bytes32 target, uint blockNumber, uint blockPayment, address miningPoolAddress, address mevProducerAddress, uint blockNonce, bytes32 mixDigest);
event PoolOperatorUpdate(address miningPoolAddress, address oldPoolOperator, address newPoolOperator);
// Add another mining pool to mining DAO which will receive signed work orders directly from mev producers
function whitelistMiningPool(address miningPoolAddress) onlyOwner external {
assert(msg.data.length == 36);
// Owner can't update submission operator for already active pool
require(blockSubmissionsOperator[miningPoolAddress] == 0x0000000000000000000000000000000000000000);
blockSubmissionsOperator[miningPoolAddress] = miningPoolAddress;
emit PoolOperatorUpdate(miningPoolAddress, 0x0000000000000000000000000000000000000000, miningPoolAddress);
}
function setBlockSubmissionsOperator(address newBlockSubmissionsOperator) external {
assert(msg.data.length == 36);
address oldBlockSubmissionsOperator = blockSubmissionsOperator[msg.sender];
// This mining pool was already whitelisted
require(oldBlockSubmissionsOperator != 0x0000000000000000000000000000000000000000);
blockSubmissionsOperator[msg.sender] = newBlockSubmissionsOperator;
emit PoolOperatorUpdate(msg.sender, oldBlockSubmissionsOperator, newBlockSubmissionsOperator);
}
function depositAndLock(uint depositAmount, uint depositDuration) public payable {
require(depositAmount == msg.value);
// Enforcing min and max lockup durations
require(depositDuration >= 24 * 60 * 60 && depositDuration <= 365 * 24 * 60 * 60);
// You can always decrease you lockup time down to 1 day from the time of current block
timestampOfPossibleExit[msg.sender] = block.timestamp + depositDuration;
if (msg.value > 0) {
depositedEther[msg.sender] += msg.value;
}
emit Deposit(msg.sender, msg.value, block.timestamp + depositDuration);
}
fallback () external payable {
depositAndLock(msg.value, 24 * 60 * 60);
}
function withdrawEtherInternal(uint etherAmount) internal {
require(depositedEther[msg.sender] > 0);
// Deposit lockup period is over
require(block.timestamp > timestampOfPossibleExit[msg.sender]);
if (depositedEther[msg.sender] < etherAmount)
etherAmount = depositedEther[msg.sender];
depositedEther[msg.sender] -= etherAmount;
payable(msg.sender).transfer(etherAmount);
emit Withdraw(msg.sender, etherAmount);
}
function withdrawAll() external {
withdrawEtherInternal((uint)(-1));
}
function withdraw(uint etherAmount) external {
withdrawEtherInternal(etherAmount);
}
function submitClaim(
bytes32 blockHeader,
bytes32 seedHash,
bytes32 target,
uint blockNumber,
uint blockPayment,
address payable miningPoolAddress,
address mevProducerAddress,
uint8 v,
bytes32 r,
bytes32 s,
uint blockNonce,
bytes32 mixDigest
) external {
require(msg.sender == blockSubmissionsOperator[miningPoolAddress]);
bytes32 hash = keccak256(abi.encodePacked(blockHeader, seedHash, target, blockNumber, blockPayment, miningPoolAddress));
if (claimedBlockNonce[hash] == 0 && blockNonce < FLAG_BLOCK_NONCE_LIMIT) {
if (ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)),v,r,s) == mevProducerAddress) {
require(depositedEther[mevProducerAddress] >= blockPayment);
claimedBlockNonce[hash] = FLAG_BLOCK_NONCE_LIMIT + blockNonce;
depositedEther[mevProducerAddress] -= blockPayment;
miningPoolAddress.transfer(blockPayment);
emit BlockClaimed(blockHeader, seedHash, target, blockNumber, blockPayment, miningPoolAddress, mevProducerAddress, blockNonce, mixDigest);
}
}
}
function checkValidityOfGetWork(
bytes32 blockHeader,
bytes32 seedHash,
bytes32 target,
uint blockNumber,
uint blockPayment,
address payable miningPoolAddress,
address mevProducerAddress,
uint8 v,
bytes32 r,
bytes32 s
) public view returns (bool isWorkSignatureCorrect, uint remainingDuration) {
bytes32 hash = keccak256(abi.encodePacked(blockHeader, seedHash, target, blockNumber, blockPayment, miningPoolAddress));
if (claimedBlockNonce[hash] == 0) {
if (ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)),v,r,s) == mevProducerAddress) {
isWorkSignatureCorrect = true;
if ((depositedEther[mevProducerAddress] >= blockPayment) && (timestampOfPossibleExit[mevProducerAddress] > block.timestamp)) {
remainingDuration = timestampOfPossibleExit[mevProducerAddress] - block.timestamp;
}
}
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"blockHeader","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"seedHash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"target","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"blockNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"blockPayment","type":"uint256"},{"indexed":false,"internalType":"address","name":"miningPoolAddress","type":"address"},{"indexed":false,"internalType":"address","name":"mevProducerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"blockNonce","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"mixDigest","type":"bytes32"}],"name":"BlockClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedExitTime","type":"uint256"}],"name":"Deposit","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":"miningPoolAddress","type":"address"},{"indexed":false,"internalType":"address","name":"oldPoolOperator","type":"address"},{"indexed":false,"internalType":"address","name":"newPoolOperator","type":"address"}],"name":"PoolOperatorUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blockSubmissionsOperator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"blockHeader","type":"bytes32"},{"internalType":"bytes32","name":"seedHash","type":"bytes32"},{"internalType":"bytes32","name":"target","type":"bytes32"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"uint256","name":"blockPayment","type":"uint256"},{"internalType":"address payable","name":"miningPoolAddress","type":"address"},{"internalType":"address","name":"mevProducerAddress","type":"address"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"checkValidityOfGetWork","outputs":[{"internalType":"bool","name":"isWorkSignatureCorrect","type":"bool"},{"internalType":"uint256","name":"remainingDuration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"claimedBlockNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"depositDuration","type":"uint256"}],"name":"depositAndLock","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"depositedEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"address","name":"newBlockSubmissionsOperator","type":"address"}],"name":"setBlockSubmissionsOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"blockHeader","type":"bytes32"},{"internalType":"bytes32","name":"seedHash","type":"bytes32"},{"internalType":"bytes32","name":"target","type":"bytes32"},{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"uint256","name":"blockPayment","type":"uint256"},{"internalType":"address payable","name":"miningPoolAddress","type":"address"},{"internalType":"address","name":"mevProducerAddress","type":"address"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"blockNonce","type":"uint256"},{"internalType":"bytes32","name":"mixDigest","type":"bytes32"}],"name":"submitClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timestampOfPossibleExit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"miningPoolAddress","type":"address"}],"name":"whitelistMiningPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"etherAmount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b610f268061007d6000396000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b1df402f11610059578063b1df402f14610355578063bfc1027914610388578063efd874af146103ab578063f2fde38b146103de576100dd565b80638da5cb5b146102155780638f0c182514610246578063954648b3146102c7576100dd565b8063399ff3dd116100bb578063399ff3dd1461018e578063482ed2a2146101b8578063715018a6146101eb578063853828b614610200576100dd565b8063044c5769146100ec57806319d40c10146101315780632e1a7d4d14610164575b6100ea3462015180610411565b005b3480156100f857600080fd5b5061011f6004803603602081101561010f57600080fd5b50356001600160a01b03166104b1565b60408051918252519081900360200190f35b34801561013d57600080fd5b506100ea6004803603602081101561015457600080fd5b50356001600160a01b03166104c3565b34801561017057600080fd5b506100ea6004803603602081101561018757600080fd5b503561057b565b34801561019a57600080fd5b5061011f600480360360208110156101b157600080fd5b5035610587565b3480156101c457600080fd5b5061011f600480360360208110156101db57600080fd5b50356001600160a01b0316610599565b3480156101f757600080fd5b506100ea6105ab565b34801561020c57600080fd5b506100ea61069b565b34801561022157600080fd5b5061022a6106c6565b604080516001600160a01b039092168252519081900360200190f35b34801561025257600080fd5b506100ea600480360361018081101561026a57600080fd5b508035906020810135906040810135906060810135906080810135906001600160a01b0360a082013581169160c08101359091169060ff60e0820135169061010081013590610120810135906101408101359061016001356106d5565b3480156102d357600080fd5b5061033a60048036036101408110156102eb57600080fd5b508035906020810135906040810135906060810135906080810135906001600160a01b0360a082013581169160c08101359091169060ff60e0820135169061010081013590610120013561096b565b60408051921515835260208301919091528051918290030190f35b34801561036157600080fd5b506100ea6004803603602081101561037857600080fd5b50356001600160a01b0316610b2f565b6100ea6004803603604081101561039e57600080fd5b5080359060200135610411565b3480156103b757600080fd5b5061022a600480360360208110156103ce57600080fd5b50356001600160a01b0316610c70565b3480156103ea57600080fd5b506100ea6004803603602081101561040157600080fd5b50356001600160a01b0316610c8b565b34821461041d57600080fd5b62015180811015801561043457506301e133808111155b61043d57600080fd5b3360009081526001602052604090204282019055341561046d573360009081526002602052604090208054340190555b604080513381523460208201524283018183015290517f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360600190a15050565b60016020526000908152604090205481565b602436146104cd57fe5b336000908152600360205260409020546001600160a01b0316806104f057600080fd5b3360008181526003602090815260409182902080546001600160a01b038088167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216821790925583519485529085169184019190915282820152517f4dff9c45def96a8c7f3070d31d2867cd1667e92262bcd2ebcac606322291930c9181900360600190a15050565b61058481610deb565b50565b60046020526000908152604090205481565b60026020526000908152604090205481565b6105b3610ec6565b6001600160a01b03166105c46106c6565b6001600160a01b03161461063957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6106c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610deb565b565b6000546001600160a01b031690565b6001600160a01b038781166000908152600360205260409020541633146106fb57600080fd5b6040805160208082018f90528183018e905260608083018e9052608083018d905260a083018c90528a901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660c0830152825180830360b401815260d49092018352815191810191909120600081815260049092529190205415801561078a57506801000000000000000083105b1561095c57866001600160a01b031660018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012088888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610841573d6000803e3d6000fd5b505050602060405103516001600160a01b0316141561095c576001600160a01b03871660009081526002602052604090205489111561087f57600080fd5b600081815260046020908152604080832068010000000000000000870190556001600160a01b03808b168452600290925280832080548d9003905551908a16918b156108fc02918c91818181858888f193505050501580156108e5573d6000803e3d6000fd5b50604080518e8152602081018e90528082018d9052606081018c9052608081018b90526001600160a01b03808b1660a0830152891660c082015260e08101859052610100810184905290517f3da6c93964cc5a2d7155868e6efef7f5c61022c4b932b267b92f808501635755918190036101200190a15b50505050505050505050505050565b6040805160208082018d90528183018c905260608083018c9052608083018b905260a083018a905288901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660c0830152825180830360b401815260d49092018352815191810191909120600081815260049092529181205490918291610b1f57866001600160a01b031660018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012088888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610a9f573d6000803e3d6000fd5b505050602060405103516001600160a01b03161415610b1f576001600160a01b038716600090815260026020526040902054600193508911801590610afb57506001600160a01b03871660009081526001602052604090205442105b15610b1f576001600160a01b03871660009081526001602052604090205442900391505b509a509a98505050505050505050565b610b37610ec6565b6001600160a01b0316610b486106c6565b6001600160a01b031614610bbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60243614610bc757fe5b6001600160a01b038082166000908152600360205260409020541615610bec57600080fd5b6001600160a01b038116600081815260036020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580518481529182019290925280820192909252517f4dff9c45def96a8c7f3070d31d2867cd1667e92262bcd2ebcac606322291930c9181900360600190a150565b6003602052600090815260409020546001600160a01b031681565b610c93610ec6565b6001600160a01b0316610ca46106c6565b6001600160a01b031614610d1957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610ecb6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b33600090815260026020526040902054610e0457600080fd5b336000908152600160205260409020544211610e1f57600080fd5b33600090815260026020526040902054811115610e485750336000908152600260205260409020545b33600081815260026020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610e87573d6000803e3d6000fd5b50604080513381526020810183905281517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364929181900390910190a150565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220214e5a65b83112b87effd4e47e48e29135d199dc71482933eca43c9691d9bac964736f6c63430007060033
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b1df402f11610059578063b1df402f14610355578063bfc1027914610388578063efd874af146103ab578063f2fde38b146103de576100dd565b80638da5cb5b146102155780638f0c182514610246578063954648b3146102c7576100dd565b8063399ff3dd116100bb578063399ff3dd1461018e578063482ed2a2146101b8578063715018a6146101eb578063853828b614610200576100dd565b8063044c5769146100ec57806319d40c10146101315780632e1a7d4d14610164575b6100ea3462015180610411565b005b3480156100f857600080fd5b5061011f6004803603602081101561010f57600080fd5b50356001600160a01b03166104b1565b60408051918252519081900360200190f35b34801561013d57600080fd5b506100ea6004803603602081101561015457600080fd5b50356001600160a01b03166104c3565b34801561017057600080fd5b506100ea6004803603602081101561018757600080fd5b503561057b565b34801561019a57600080fd5b5061011f600480360360208110156101b157600080fd5b5035610587565b3480156101c457600080fd5b5061011f600480360360208110156101db57600080fd5b50356001600160a01b0316610599565b3480156101f757600080fd5b506100ea6105ab565b34801561020c57600080fd5b506100ea61069b565b34801561022157600080fd5b5061022a6106c6565b604080516001600160a01b039092168252519081900360200190f35b34801561025257600080fd5b506100ea600480360361018081101561026a57600080fd5b508035906020810135906040810135906060810135906080810135906001600160a01b0360a082013581169160c08101359091169060ff60e0820135169061010081013590610120810135906101408101359061016001356106d5565b3480156102d357600080fd5b5061033a60048036036101408110156102eb57600080fd5b508035906020810135906040810135906060810135906080810135906001600160a01b0360a082013581169160c08101359091169060ff60e0820135169061010081013590610120013561096b565b60408051921515835260208301919091528051918290030190f35b34801561036157600080fd5b506100ea6004803603602081101561037857600080fd5b50356001600160a01b0316610b2f565b6100ea6004803603604081101561039e57600080fd5b5080359060200135610411565b3480156103b757600080fd5b5061022a600480360360208110156103ce57600080fd5b50356001600160a01b0316610c70565b3480156103ea57600080fd5b506100ea6004803603602081101561040157600080fd5b50356001600160a01b0316610c8b565b34821461041d57600080fd5b62015180811015801561043457506301e133808111155b61043d57600080fd5b3360009081526001602052604090204282019055341561046d573360009081526002602052604090208054340190555b604080513381523460208201524283018183015290517f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360600190a15050565b60016020526000908152604090205481565b602436146104cd57fe5b336000908152600360205260409020546001600160a01b0316806104f057600080fd5b3360008181526003602090815260409182902080546001600160a01b038088167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216821790925583519485529085169184019190915282820152517f4dff9c45def96a8c7f3070d31d2867cd1667e92262bcd2ebcac606322291930c9181900360600190a15050565b61058481610deb565b50565b60046020526000908152604090205481565b60026020526000908152604090205481565b6105b3610ec6565b6001600160a01b03166105c46106c6565b6001600160a01b03161461063957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6106c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610deb565b565b6000546001600160a01b031690565b6001600160a01b038781166000908152600360205260409020541633146106fb57600080fd5b6040805160208082018f90528183018e905260608083018e9052608083018d905260a083018c90528a901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660c0830152825180830360b401815260d49092018352815191810191909120600081815260049092529190205415801561078a57506801000000000000000083105b1561095c57866001600160a01b031660018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012088888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610841573d6000803e3d6000fd5b505050602060405103516001600160a01b0316141561095c576001600160a01b03871660009081526002602052604090205489111561087f57600080fd5b600081815260046020908152604080832068010000000000000000870190556001600160a01b03808b168452600290925280832080548d9003905551908a16918b156108fc02918c91818181858888f193505050501580156108e5573d6000803e3d6000fd5b50604080518e8152602081018e90528082018d9052606081018c9052608081018b90526001600160a01b03808b1660a0830152891660c082015260e08101859052610100810184905290517f3da6c93964cc5a2d7155868e6efef7f5c61022c4b932b267b92f808501635755918190036101200190a15b50505050505050505050505050565b6040805160208082018d90528183018c905260608083018c9052608083018b905260a083018a905288901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660c0830152825180830360b401815260d49092018352815191810191909120600081815260049092529181205490918291610b1f57866001600160a01b031660018260405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012088888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610a9f573d6000803e3d6000fd5b505050602060405103516001600160a01b03161415610b1f576001600160a01b038716600090815260026020526040902054600193508911801590610afb57506001600160a01b03871660009081526001602052604090205442105b15610b1f576001600160a01b03871660009081526001602052604090205442900391505b509a509a98505050505050505050565b610b37610ec6565b6001600160a01b0316610b486106c6565b6001600160a01b031614610bbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60243614610bc757fe5b6001600160a01b038082166000908152600360205260409020541615610bec57600080fd5b6001600160a01b038116600081815260036020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168517905580518481529182019290925280820192909252517f4dff9c45def96a8c7f3070d31d2867cd1667e92262bcd2ebcac606322291930c9181900360600190a150565b6003602052600090815260409020546001600160a01b031681565b610c93610ec6565b6001600160a01b0316610ca46106c6565b6001600160a01b031614610d1957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610ecb6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b33600090815260026020526040902054610e0457600080fd5b336000908152600160205260409020544211610e1f57600080fd5b33600090815260026020526040902054811115610e485750336000908152600260205260409020545b33600081815260026020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610e87573d6000803e3d6000fd5b50604080513381526020810183905281517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364929181900390910190a150565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220214e5a65b83112b87effd4e47e48e29135d199dc71482933eca43c9691d9bac964736f6c63430007060033
Deployed Bytecode Sourcemap
2655:5726:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5310:39;5325:9;5336:12;5310:14;:39::i;:::-;2655:5726;2781:56;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2781:56:0;-1:-1:-1;;;;;2781:56:0;;:::i;:::-;;;;;;;;;;;;;;;;4080:543;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4080:543:0;-1:-1:-1;;;;;4080:543:0;;:::i;5957:98::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5957:98:0;;:::i;2967:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2967:50:0;;:::i;2844:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2844:47:0;-1:-1:-1;;;;;2844:47:0;;:::i;1594:148::-;;;;;;;;;;;;;:::i;5867:84::-;;;;;;;;;;;;;:::i;943:87::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;943:87:0;;;;;;;;;;;;;;6065:1263;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6065:1263:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6065:1263:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7336:1042::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7336:1042:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7336:1042:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3575:497;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3575:497:0;-1:-1:-1;;;;;3575:497:0;;:::i;4631:633::-;;;;;;;;;;;;;;;;-1:-1:-1;4631:633:0;;;;;;;:::i;2900:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2900:60:0;-1:-1:-1;;;;;2900:60:0;;:::i;1897:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1897:244:0;-1:-1:-1;;;;;1897:244:0;;:::i;4631:633::-;4748:9;4731:13;:26;4723:35;;;;;;4847:12;4828:15;:31;;:72;;;;;4882:18;4863:15;:37;;4828:72;4820:81;;;;;;5033:10;5009:35;;;;:23;:35;;;;;5047:15;:33;;5009:71;;5095:9;:13;5091:85;;5140:10;5125:26;;;;:14;:26;;;;;:39;;5155:9;5125:39;;;5091:85;5191:65;;;5199:10;5191:65;;5211:9;5191:65;;;;5222:15;:33;;5191:65;;;;;;;;;;;;;;;4631:633;;:::o;2781:56::-;;;;;;;;;;;;;:::o;4080:543::-;4200:2;4181:8;:21;4174:29;;;;4277:10;4214:35;4252:36;;;:24;:36;;;;;;-1:-1:-1;;;;;4252:36:0;4360:73;4352:82;;;;;;4470:10;4445:36;;;;:24;:36;;;;;;;;;:66;;-1:-1:-1;;;;;4445:66:0;;;;;;;;;;;;4527:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4080:543;;:::o;5957:98::-;6013:34;6035:11;6013:21;:34::i;:::-;5957:98;:::o;2967:50::-;;;;;;;;;;;;;:::o;2844:47::-;;;;;;;;;;;;;:::o;1594:148::-;1174:12;:10;:12::i;:::-;-1:-1:-1;;;;;1163:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1163:23:0;;1155:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1701:1:::1;1685:6:::0;;1664:40:::1;::::0;-1:-1:-1;;;;;1685:6:0;;::::1;::::0;1664:40:::1;::::0;1701:1;;1664:40:::1;1732:1;1715:19:::0;;;::::1;::::0;;1594:148::o;5867:84::-;5910:33;5939:2;5910:21;:33::i;:::-;5867:84::o;943:87::-;989:7;1016:6;-1:-1:-1;;;;;1016:6:0;943:87;:::o;6065:1263::-;-1:-1:-1;;;;;6465:43:0;;;;;;;:24;:43;;;;;;;6451:10;:57;6443:66;;;;;;6545:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6535:104;;;;;;;;;-1:-1:-1;6654:23:0;;;:17;:23;;;;;;;:28;:67;;;;;2755:19;6686:10;:35;6654:67;6650:671;;;6832:18;-1:-1:-1;;;;;6742:108:0;:86;6815:4;6762:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6752:69;;;;;;6822:1;6824;6826;6742:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6742:108:0;;6738:572;;;-1:-1:-1;;;;;6879:34:0;;;;;;:14;:34;;;;;;:50;-1:-1:-1;6879:50:0;6871:59;;;;;;6949:23;;;;:17;:23;;;;;;;;2755:19;6975:35;;6949:61;;-1:-1:-1;;;;;7029:34:0;;;;;:14;:34;;;;;;:50;;;;;;;7098:40;:26;;;;:40;;;;;7067:12;;7098:40;6949:23;7098:40;7067:12;7098:26;:40;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7162:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7162:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6738:572;6065:1263;;;;;;;;;;;;;:::o;7336:1042::-;7761:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7751:104;;;;;;;;;-1:-1:-1;7870:23:0;;;:17;:23;;;;;;;-1:-1:-1;;;;7866:505:0;;8009:18;-1:-1:-1;;;;;7919:108:0;:86;7992:4;7939:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7929:69;;;;;;7999:1;8001;8003;7919:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7919:108:0;;7915:445;;;-1:-1:-1;;;;;8101:34:0;;;;;;:14;:34;;;;;;8073:4;;-1:-1:-1;8101:50:0;-1:-1:-1;8101:50:0;;;8100:119;;-1:-1:-1;;;;;;8157:43:0;;;;;;:23;:43;;;;;;8203:15;-1:-1:-1;8100:119:0;8096:249;;;-1:-1:-1;;;;;8264:43:0;;;;;;:23;:43;;;;;;8310:15;8264:61;;;-1:-1:-1;8096:249:0;7336:1042;;;;;;;;;;;;;;:::o;3575:497::-;1174:12;:10;:12::i;:::-;-1:-1:-1;;;;;1163:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1163:23:0;;1155:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3687:2:::1;3668:8;:21;3661:29;;;;-1:-1:-1::0;;;;;3784:43:0;;::::1;;::::0;;;:24:::1;:43;::::0;;;;;::::1;:89:::0;3776:98:::1;;;::::0;::::1;;-1:-1:-1::0;;;;;3885:43:0;::::1;;::::0;;;:24:::1;:43;::::0;;;;;;;:63;;;::::1;::::0;::::1;::::0;;3964:100;;;;;;;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;;;::::1;3575:497:::0;:::o;2900:60::-;;;;;;;;;;;;-1:-1:-1;;;;;2900:60:0;;:::o;1897:244::-;1174:12;:10;:12::i;:::-;-1:-1:-1;;;;;1163:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1163:23:0;;1155:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1986:22:0;::::1;1978:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2088:6;::::0;;2067:38:::1;::::0;-1:-1:-1;;;;;2067:38:0;;::::1;::::0;2088:6;::::1;::::0;2067:38:::1;::::0;::::1;2116:6;:17:::0;;;::::1;-1:-1:-1::0;;;;;2116:17:0;;;::::1;::::0;;;::::1;::::0;;1897:244::o;5367:494::-;5459:10;5473:1;5444:26;;;:14;:26;;;;;;5436:39;;;;;;5578:10;5554:35;;;;:23;:35;;;;;;5536:15;:53;5528:62;;;;;;5620:10;5605:26;;;;:14;:26;;;;;;:40;-1:-1:-1;5601:99:0;;;-1:-1:-1;5689:10:0;5674:26;;;;:14;:26;;;;;;5601:99;5726:10;5711:26;;;;:14;:26;;;;;;:41;;;;;;;5763;;;;;;5741:11;;5763:41;;5711:26;5763:41;5741:11;5726:10;5763:41;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5820:33:0;;;5829:10;5820:33;;;;;;;;;;;;;;;;;;;;;5367:494;:::o;94:98::-;174:10;94:98;:::o
Swarm Source
ipfs://214e5a65b83112b87effd4e47e48e29135d199dc71482933eca43c9691d9bac9
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.