Overview
ETH Balance
1.5039898517 ETH
Eth Value
$5,141.76 (@ $3,418.75/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 321 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Raise Dispute | 19936463 | 37 days ago | IN | 0 ETH | 0.00044606 | ||||
Raise Dispute | 19792444 | 57 days ago | IN | 0 ETH | 0.0004186 | ||||
Raise Dispute | 19792354 | 57 days ago | IN | 0 ETH | 0.00042099 | ||||
Raise Dispute | 19753708 | 63 days ago | IN | 0 ETH | 0.00080548 | ||||
Deposit | 19752495 | 63 days ago | IN | 0.0034744 ETH | 0.00058895 | ||||
Deposit | 19750246 | 63 days ago | IN | 0.00247208 ETH | 0.00051258 | ||||
Deposit | 19750203 | 63 days ago | IN | 0.00186001 ETH | 0.00047467 | ||||
Set Rental Info | 19750083 | 63 days ago | IN | 0 ETH | 0.00052699 | ||||
Deposit | 19750082 | 63 days ago | IN | 0.00180399 ETH | 0.00046511 | ||||
Raise Dispute | 19749625 | 63 days ago | IN | 0 ETH | 0.00039114 | ||||
Set Rental Info | 19748539 | 64 days ago | IN | 0 ETH | 0.00063021 | ||||
Deposit | 19748532 | 64 days ago | IN | 0.00114165 ETH | 0.00051536 | ||||
Raise Dispute | 19747758 | 64 days ago | IN | 0 ETH | 0.00053542 | ||||
Deposit | 19747527 | 64 days ago | IN | 0.0794807 ETH | 0.00066544 | ||||
Set Rental Info | 19746702 | 64 days ago | IN | 0 ETH | 0.00062698 | ||||
Deposit | 19746695 | 64 days ago | IN | 0.00551935 ETH | 0.00056743 | ||||
Deposit | 19746637 | 64 days ago | IN | 0.00128476 ETH | 0.00060176 | ||||
Claim Refund | 19746078 | 64 days ago | IN | 0 ETH | 0.00019089 | ||||
Raise Dispute | 19745794 | 64 days ago | IN | 0 ETH | 0.00049964 | ||||
Raise Dispute | 19744947 | 64 days ago | IN | 0 ETH | 0.00042054 | ||||
Set Rental Info | 19742952 | 64 days ago | IN | 0 ETH | 0.00069703 | ||||
Deposit | 19742948 | 64 days ago | IN | 0.02740307 ETH | 0.00056634 | ||||
Set Rental Info | 19742626 | 64 days ago | IN | 0 ETH | 0.00069146 | ||||
Deposit | 19742621 | 64 days ago | IN | 0.00107415 ETH | 0.00058451 | ||||
Set Rental Info | 19742524 | 64 days ago | IN | 0 ETH | 0.00075937 |
Latest 23 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
19746078 | 64 days ago | 0.001599 ETH | ||||
19690723 | 72 days ago | 0.02491036 ETH | ||||
19690723 | 72 days ago | 0.00830345 ETH | ||||
19637832 | 79 days ago | 0.00256185 ETH | ||||
19637832 | 79 days ago | 0.00085395 ETH | ||||
19634914 | 79 days ago | 0.00252781 ETH | ||||
19634914 | 79 days ago | 0.0008426 ETH | ||||
19629158 | 80 days ago | 0.00262497 ETH | ||||
19629158 | 80 days ago | 0.00087499 ETH | ||||
19628941 | 80 days ago | 0.00243498 ETH | ||||
19628941 | 80 days ago | 0.00081166 ETH | ||||
19628522 | 80 days ago | 0.00196575 ETH | ||||
19628522 | 80 days ago | 0.00065525 ETH | ||||
19609325 | 83 days ago | 0.00234858 ETH | ||||
19609325 | 83 days ago | 0.00078286 ETH | ||||
19524664 | 95 days ago | 0.00526468 ETH | ||||
19524664 | 95 days ago | 0.00175489 ETH | ||||
19524661 | 95 days ago | 0.00523019 ETH | ||||
19524661 | 95 days ago | 0.00174339 ETH | ||||
19524654 | 95 days ago | 0.00523631 ETH | ||||
19524654 | 95 days ago | 0.00174543 ETH | ||||
19524651 | 95 days ago | 0.00545138 ETH | ||||
19524651 | 95 days ago | 0.00181712 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NodeTreasurer
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; import '@openzeppelin/contracts/utils/ReentrancyGuard.sol'; struct Rental { address renter; address lender; uint256 pendingAmount; uint256 totalAmount; uint256 pendingDisputeAmount; uint256 totalDisputeAmount; uint256 startTime; uint256 endTime; bool ended; bool active; } contract NodeTreasurer is ReentrancyGuard { // The owner of the contract address public owner; // The system that will call the functions address private system; // The staking contract that implements a depositReward function address public stakingContract; // The rentals mapping(bytes32 => Rental) public rentals; // Whether new rentals are paused bool public isPaused; // The percentage of revenue to share uint256 public revenueSharePercentage; // The total revenue shared uint256 public totalRevenueShared; // Events event Deposit(bytes32 key, uint256 amount); event Withdraw(bytes32 key, uint256 amount); event Dispute(bytes32 key, uint256 disputeAmount); event Refund(bytes32 key, uint256 amount); event Migrated(address indexed newTreasurer, uint256 ethAmount); constructor() { owner = msg.sender; } modifier onlySystem() { require( msg.sender == system || msg.sender == owner, 'Only system can call this function.' ); _; } modifier onlyOwner() { require(msg.sender == owner, 'Only owner can call this function.'); _; } /* Will be called by owner to set the system */ function setSystem(address _system) external onlyOwner { system = _system; } /* Will be called by our systems to set the revenue share percentage */ function setRevenueSharePercentage( uint256 _revenueSharePercentage ) external onlyOwner { require( _revenueSharePercentage <= 100, 'Revenue share percentage must be less than or equal to 100' ); revenueSharePercentage = _revenueSharePercentage; } /* Will be called by our systems to set the staking contract */ function setStakingContract(address _stakingContract) external onlyOwner { stakingContract = _stakingContract; } /* Will be called by our systems to pause new rentals */ function pause(bool state) external onlyOwner { require(state != isPaused, 'State is already set to this value'); isPaused = state; } /* Will be called by the renter to deposit the rental amount */ function deposit(bytes32 key) external payable nonReentrant { require(msg.value > 0, 'Deposit must be greater than 0'); require(!isPaused, 'Rentals are paused'); require(rentals[key].totalAmount == 0, 'Rental already exists'); Rental storage rental = rentals[key]; rental.renter = msg.sender; rental.pendingAmount = msg.value; rental.totalAmount = msg.value; rental.pendingDisputeAmount = 0; rental.totalDisputeAmount = 0; rental.active = false; emit Deposit(key, msg.value); } /* Will be called by the renter to withdraw the rental amount */ function withdraw(bytes32 key) external nonReentrant { Rental storage rental = rentals[key]; require(block.timestamp >= rental.endTime, 'Rental period has not ended'); require(rental.active, 'Rental is not active'); require(!rental.ended, 'Rental has already ended'); require(msg.sender == rental.lender, 'Only lender can withdraw'); require(stakingContract != address(0), 'Staking contract is not set'); uint256 amountToPay = rental.totalAmount - rental.totalDisputeAmount; rental.ended = true; rental.pendingAmount = 0; uint256 revenueShare = (amountToPay * revenueSharePercentage) / 100; uint256 amountToWithdraw = amountToPay - revenueShare; (bool sent, ) = stakingContract.call{value: revenueShare}(''); require(sent, 'Failed to send revenue share amount to staking contract'); totalRevenueShared += revenueShare; (bool withdrawSent, ) = msg.sender.call{value: amountToWithdraw}(''); require(withdrawSent, 'Failed to send amount to withdraw'); emit Withdraw(key, amountToWithdraw); } /* Will be called by the lender to claim the refund */ function claimRefund(bytes32 key) external nonReentrant { Rental storage rental = rentals[key]; require(msg.sender == rental.renter, 'Only renter can claim refund'); require(rental.pendingDisputeAmount > 0, 'No dispute amount to refund'); (bool disputeSent, ) = msg.sender.call{value: rental.pendingDisputeAmount}( '' ); require(disputeSent, 'Failed to send dispute amount'); emit Refund(key, rental.pendingDisputeAmount); rental.pendingDisputeAmount = 0; } /* Will be set from our systems and starts the rental period */ function setRentalInfo( bytes32 key, address lender, uint256 endTime ) external onlySystem { Rental storage rental = rentals[key]; rental.lender = lender; rental.startTime = block.timestamp; rental.endTime = endTime; rental.active = true; } /* Will be set from our systems that detects uptime */ function raiseDispute( bytes32 key, uint256 disputeAmount ) external onlySystem { Rental storage rental = rentals[key]; require(rental.active, 'Rental is not active'); require(disputeAmount > 0, 'Dispute amount must be greater than 0'); require( disputeAmount <= rental.totalAmount - rental.totalDisputeAmount, 'Dispute amount exceeds rental amount' ); rental.pendingDisputeAmount += disputeAmount; rental.totalDisputeAmount += disputeAmount; emit Dispute(key, disputeAmount); } /* Migrates the treasurer contract to a new contract */ function migrate(address _newStakingContract) external onlyOwner { require(_newStakingContract != address(0), 'Invalid address'); uint256 contractETHBalance = address(this).balance; (bool sent, ) = _newStakingContract.call{value: contractETHBalance}(''); require(sent, 'Failed to transfer ETH'); emit Migrated( _newStakingContract, contractETHBalance ); } receive() external payable {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"key","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"key","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"disputeAmount","type":"uint256"}],"name":"Dispute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newTreasurer","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"Migrated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"key","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"key","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"claimRefund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newStakingContract","type":"address"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"uint256","name":"disputeAmount","type":"uint256"}],"name":"raiseDispute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"rentals","outputs":[{"internalType":"address","name":"renter","type":"address"},{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint256","name":"pendingAmount","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"pendingDisputeAmount","type":"uint256"},{"internalType":"uint256","name":"totalDisputeAmount","type":"uint256"},{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"bool","name":"ended","type":"bool"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revenueSharePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"address","name":"lender","type":"address"},{"internalType":"uint256","name":"endTime","type":"uint256"}],"name":"setRentalInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_revenueSharePercentage","type":"uint256"}],"name":"setRevenueSharePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_stakingContract","type":"address"}],"name":"setStakingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_system","type":"address"}],"name":"setSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRevenueShared","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50600160008190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061262f806100696000396000f3fe6080604052600436106100f75760003560e01c80638e19899e1161008a578063b214faa511610059578063b214faa514610312578063ce5494bb1461032e578063ee99205c14610357578063ef11753c14610382576100fe565b80638e19899e1461026c57806398238491146102955780639dd373b9146102be578063b187bd26146102e7576100fe565b806355837757116100c657806355837757146101a957806371de2ffc146101d25780637df8768e146101fb5780638da5cb5b14610241576100fe565b8063016856861461010357806302329a291461012c57806327313f8614610155578063468306281461017e576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a600480360381019061012591906116f8565b6103ad565b005b34801561013857600080fd5b50610153600480360381019061014e919061175d565b61048b565b005b34801561016157600080fd5b5061017c6004803603810190610177919061181e565b61058d565b005b34801561018a57600080fd5b50610193610704565b6040516101a09190611880565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061189b565b61070a565b005b3480156101de57600080fd5b506101f960048036038101906101f491906118c8565b6107de565b005b34801561020757600080fd5b50610222600480360381019061021d91906118c8565b6109da565b6040516102389a99989796959493929190611913565b60405180910390f35b34801561024d57600080fd5b50610256610a88565b60405161026391906119af565b60405180910390f35b34801561027857600080fd5b50610293600480360381019061028e91906118c8565b610aae565b005b3480156102a157600080fd5b506102bc60048036038101906102b791906119ca565b610f24565b005b3480156102ca57600080fd5b506102e560048036038101906102e0919061189b565b611181565b005b3480156102f357600080fd5b506102fc611255565b6040516103099190611a0a565b60405180910390f35b61032c600480360381019061032791906118c8565b611268565b005b34801561033a57600080fd5b506103556004803603810190610350919061189b565b61143e565b005b34801561036357600080fd5b5061036c611641565b60405161037991906119af565b60405180910390f35b34801561038e57600080fd5b50610397611667565b6040516103a49190611880565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043490611aa8565b60405180910390fd5b6064811115610481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047890611b3a565b60405180910390fd5b8060068190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051290611aa8565b60405180910390fd5b600560009054906101000a900460ff16151581151503610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790611bcc565b60405180910390fd5b80600560006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106365750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066c90611c5e565b60405180910390fd5b6000600460008581526020019081526020016000209050828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042816006018190555081816007018190555060018160080160016101000a81548160ff02191690831515021790555050505050565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079190611aa8565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6107e661166d565b60006004600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088690611cca565b60405180910390fd5b60008160040154116108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd90611d36565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16826004015460405161090090611d87565b60006040518083038185875af1925050503d806000811461093d576040519150601f19603f3d011682016040523d82523d6000602084013e610942565b606091505b5050905080610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90611de8565b60405180910390fd5b7fdda15e30b719d5c232faad22f4c2c1e8994336c026868ed0d3bc4aac71977abb8383600401546040516109bb929190611e17565b60405180910390a16000826004018190555050506109d76116b3565b50565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060154908060070154908060080160009054906101000a900460ff16908060080160019054906101000a900460ff1690508a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ab661166d565b60006004600083815260200190815260200160002090508060070154421015610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90611e8c565b60405180910390fd5b8060080160019054906101000a900460ff16610b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5c90611ef8565b60405180910390fd5b8060080160009054906101000a900460ff1615610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90611f64565b60405180910390fd5b8060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4090611fd0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd19061203c565b60405180910390fd5b600081600501548260030154610cf0919061208b565b905060018260080160006101000a81548160ff021916908315150217905550600082600201819055506000606460065483610d2b91906120bf565b610d359190612130565b905060008183610d45919061208b565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051610d8f90611d87565b60006040518083038185875af1925050503d8060008114610dcc576040519150601f19603f3d011682016040523d82523d6000602084013e610dd1565b606091505b5050905080610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c906121d3565b60405180910390fd5b8260076000828254610e2791906121f3565b9250508190555060003373ffffffffffffffffffffffffffffffffffffffff1683604051610e5490611d87565b60006040518083038185875af1925050503d8060008114610e91576040519150601f19603f3d011682016040523d82523d6000602084013e610e96565b606091505b5050905080610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed190612299565b60405180910390fd5b7f4591ca0897d0d8e83f7153dfe0b2912125672084ab8d84be59ee13240a1778bc8784604051610f0b929190611e17565b60405180910390a1505050505050610f216116b3565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fcd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390611c5e565b60405180910390fd5b60006004600084815260200190815260200160002090508060080160019054906101000a900460ff16611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90611ef8565b60405180910390fd5b600082116110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061232b565b60405180910390fd5b806005015481600301546110cb919061208b565b82111561110d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611104906123bd565b60405180910390fd5b8181600401600082825461112191906121f3565b925050819055508181600501600082825461113c91906121f3565b925050819055507fb61a6e9fc6e8ebbe9ecc7d2aaed6d58f8a52462a14025534159c27b333620e3f8383604051611174929190611e17565b60405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890611aa8565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff1681565b61127061166d565b600034116112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612429565b60405180910390fd5b600560009054906101000a900460ff1615611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612495565b60405180910390fd5b600060046000838152602001908152602001600020600301541461135c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135390612501565b60405180910390fd5b6000600460008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348160020181905550348160030181905550600081600401819055506000816005018190555060008160080160016101000a81548160ff0219169083151502179055507f98e783c3864bbf744a057ef605a2a61701c3b62b5ed68b3745b99094497daf1f823460405161142a929190611e17565b60405180910390a15061143b6116b3565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590611aa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361153d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115349061256d565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff168260405161156890611d87565b60006040518083038185875af1925050503d80600081146115a5576040519150601f19603f3d011682016040523d82523d6000602084013e6115aa565b606091505b50509050806115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906125d9565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f8b80bd19aea7b735bc6d75db8d6adbe18b28c30d62b3555245eb67b2340caedc836040516116349190611880565b60405180910390a2505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6002600054036116a9576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600081905550565b6001600081905550565b600080fd5b6000819050919050565b6116d5816116c2565b81146116e057600080fd5b50565b6000813590506116f2816116cc565b92915050565b60006020828403121561170e5761170d6116bd565b5b600061171c848285016116e3565b91505092915050565b60008115159050919050565b61173a81611725565b811461174557600080fd5b50565b60008135905061175781611731565b92915050565b600060208284031215611773576117726116bd565b5b600061178184828501611748565b91505092915050565b6000819050919050565b61179d8161178a565b81146117a857600080fd5b50565b6000813590506117ba81611794565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117eb826117c0565b9050919050565b6117fb816117e0565b811461180657600080fd5b50565b600081359050611818816117f2565b92915050565b600080600060608486031215611837576118366116bd565b5b6000611845868287016117ab565b935050602061185686828701611809565b9250506040611867868287016116e3565b9150509250925092565b61187a816116c2565b82525050565b60006020820190506118956000830184611871565b92915050565b6000602082840312156118b1576118b06116bd565b5b60006118bf84828501611809565b91505092915050565b6000602082840312156118de576118dd6116bd565b5b60006118ec848285016117ab565b91505092915050565b6118fe816117e0565b82525050565b61190d81611725565b82525050565b600061014082019050611929600083018d6118f5565b611936602083018c6118f5565b611943604083018b611871565b611950606083018a611871565b61195d6080830189611871565b61196a60a0830188611871565b61197760c0830187611871565b61198460e0830186611871565b611992610100830185611904565b6119a0610120830184611904565b9b9a5050505050505050505050565b60006020820190506119c460008301846118f5565b92915050565b600080604083850312156119e1576119e06116bd565b5b60006119ef858286016117ab565b9250506020611a00858286016116e3565b9150509250929050565b6000602082019050611a1f6000830184611904565b92915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e2e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a92602283611a25565b9150611a9d82611a36565b604082019050919050565b60006020820190508181036000830152611ac181611a85565b9050919050565b7f526576656e75652073686172652070657263656e74616765206d75737420626560008201527f206c657373207468616e206f7220657175616c20746f20313030000000000000602082015250565b6000611b24603a83611a25565b9150611b2f82611ac8565b604082019050919050565b60006020820190508181036000830152611b5381611b17565b9050919050565b7f537461746520697320616c72656164792073657420746f20746869732076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bb6602283611a25565b9150611bc182611b5a565b604082019050919050565b60006020820190508181036000830152611be581611ba9565b9050919050565b7f4f6e6c792073797374656d2063616e2063616c6c20746869732066756e63746960008201527f6f6e2e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611c48602383611a25565b9150611c5382611bec565b604082019050919050565b60006020820190508181036000830152611c7781611c3b565b9050919050565b7f4f6e6c792072656e7465722063616e20636c61696d20726566756e6400000000600082015250565b6000611cb4601c83611a25565b9150611cbf82611c7e565b602082019050919050565b60006020820190508181036000830152611ce381611ca7565b9050919050565b7f4e6f206469737075746520616d6f756e7420746f20726566756e640000000000600082015250565b6000611d20601b83611a25565b9150611d2b82611cea565b602082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b50565b6000611d71600083611d56565b9150611d7c82611d61565b600082019050919050565b6000611d9282611d64565b9150819050919050565b7f4661696c656420746f2073656e64206469737075746520616d6f756e74000000600082015250565b6000611dd2601d83611a25565b9150611ddd82611d9c565b602082019050919050565b60006020820190508181036000830152611e0181611dc5565b9050919050565b611e118161178a565b82525050565b6000604082019050611e2c6000830185611e08565b611e396020830184611871565b9392505050565b7f52656e74616c20706572696f6420686173206e6f7420656e6465640000000000600082015250565b6000611e76601b83611a25565b9150611e8182611e40565b602082019050919050565b60006020820190508181036000830152611ea581611e69565b9050919050565b7f52656e74616c206973206e6f7420616374697665000000000000000000000000600082015250565b6000611ee2601483611a25565b9150611eed82611eac565b602082019050919050565b60006020820190508181036000830152611f1181611ed5565b9050919050565b7f52656e74616c2068617320616c726561647920656e6465640000000000000000600082015250565b6000611f4e601883611a25565b9150611f5982611f18565b602082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4f6e6c79206c656e6465722063616e2077697468647261770000000000000000600082015250565b6000611fba601883611a25565b9150611fc582611f84565b602082019050919050565b60006020820190508181036000830152611fe981611fad565b9050919050565b7f5374616b696e6720636f6e7472616374206973206e6f74207365740000000000600082015250565b6000612026601b83611a25565b915061203182611ff0565b602082019050919050565b6000602082019050818103600083015261205581612019565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612096826116c2565b91506120a1836116c2565b92508282039050818111156120b9576120b861205c565b5b92915050565b60006120ca826116c2565b91506120d5836116c2565b92508282026120e3816116c2565b915082820484148315176120fa576120f961205c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061213b826116c2565b9150612146836116c2565b92508261215657612155612101565b5b828204905092915050565b7f4661696c656420746f2073656e6420726576656e756520736861726520616d6f60008201527f756e7420746f207374616b696e6720636f6e7472616374000000000000000000602082015250565b60006121bd603783611a25565b91506121c882612161565b604082019050919050565b600060208201905081810360008301526121ec816121b0565b9050919050565b60006121fe826116c2565b9150612209836116c2565b92508282019050808211156122215761222061205c565b5b92915050565b7f4661696c656420746f2073656e6420616d6f756e7420746f207769746864726160008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612283602183611a25565b915061228e82612227565b604082019050919050565b600060208201905081810360008301526122b281612276565b9050919050565b7f4469737075746520616d6f756e74206d7573742062652067726561746572207460008201527f68616e2030000000000000000000000000000000000000000000000000000000602082015250565b6000612315602583611a25565b9150612320826122b9565b604082019050919050565b6000602082019050818103600083015261234481612308565b9050919050565b7f4469737075746520616d6f756e7420657863656564732072656e74616c20616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b60006123a7602483611a25565b91506123b28261234b565b604082019050919050565b600060208201905081810360008301526123d68161239a565b9050919050565b7f4465706f736974206d7573742062652067726561746572207468616e20300000600082015250565b6000612413601e83611a25565b915061241e826123dd565b602082019050919050565b6000602082019050818103600083015261244281612406565b9050919050565b7f52656e74616c7320617265207061757365640000000000000000000000000000600082015250565b600061247f601283611a25565b915061248a82612449565b602082019050919050565b600060208201905081810360008301526124ae81612472565b9050919050565b7f52656e74616c20616c7265616479206578697374730000000000000000000000600082015250565b60006124eb601583611a25565b91506124f6826124b5565b602082019050919050565b6000602082019050818103600083015261251a816124de565b9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b6000612557600f83611a25565b915061256282612521565b602082019050919050565b600060208201905081810360008301526125868161254a565b9050919050565b7f4661696c656420746f207472616e736665722045544800000000000000000000600082015250565b60006125c3601683611a25565b91506125ce8261258d565b602082019050919050565b600060208201905081810360008301526125f2816125b6565b905091905056fea2646970667358221220d1f90654bfea667c37abc58682d81d2ac1629716b35ca178662866acdcbd5b1564736f6c63430008180033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c80638e19899e1161008a578063b214faa511610059578063b214faa514610312578063ce5494bb1461032e578063ee99205c14610357578063ef11753c14610382576100fe565b80638e19899e1461026c57806398238491146102955780639dd373b9146102be578063b187bd26146102e7576100fe565b806355837757116100c657806355837757146101a957806371de2ffc146101d25780637df8768e146101fb5780638da5cb5b14610241576100fe565b8063016856861461010357806302329a291461012c57806327313f8614610155578063468306281461017e576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a600480360381019061012591906116f8565b6103ad565b005b34801561013857600080fd5b50610153600480360381019061014e919061175d565b61048b565b005b34801561016157600080fd5b5061017c6004803603810190610177919061181e565b61058d565b005b34801561018a57600080fd5b50610193610704565b6040516101a09190611880565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061189b565b61070a565b005b3480156101de57600080fd5b506101f960048036038101906101f491906118c8565b6107de565b005b34801561020757600080fd5b50610222600480360381019061021d91906118c8565b6109da565b6040516102389a99989796959493929190611913565b60405180910390f35b34801561024d57600080fd5b50610256610a88565b60405161026391906119af565b60405180910390f35b34801561027857600080fd5b50610293600480360381019061028e91906118c8565b610aae565b005b3480156102a157600080fd5b506102bc60048036038101906102b791906119ca565b610f24565b005b3480156102ca57600080fd5b506102e560048036038101906102e0919061189b565b611181565b005b3480156102f357600080fd5b506102fc611255565b6040516103099190611a0a565b60405180910390f35b61032c600480360381019061032791906118c8565b611268565b005b34801561033a57600080fd5b506103556004803603810190610350919061189b565b61143e565b005b34801561036357600080fd5b5061036c611641565b60405161037991906119af565b60405180910390f35b34801561038e57600080fd5b50610397611667565b6040516103a49190611880565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461043d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043490611aa8565b60405180910390fd5b6064811115610481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047890611b3a565b60405180910390fd5b8060068190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051290611aa8565b60405180910390fd5b600560009054906101000a900460ff16151581151503610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790611bcc565b60405180910390fd5b80600560006101000a81548160ff02191690831515021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106365750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066c90611c5e565b60405180910390fd5b6000600460008581526020019081526020016000209050828160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042816006018190555081816007018190555060018160080160016101000a81548160ff02191690831515021790555050505050565b60075481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079190611aa8565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6107e661166d565b60006004600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088690611cca565b60405180910390fd5b60008160040154116108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd90611d36565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16826004015460405161090090611d87565b60006040518083038185875af1925050503d806000811461093d576040519150601f19603f3d011682016040523d82523d6000602084013e610942565b606091505b5050905080610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90611de8565b60405180910390fd5b7fdda15e30b719d5c232faad22f4c2c1e8994336c026868ed0d3bc4aac71977abb8383600401546040516109bb929190611e17565b60405180910390a16000826004018190555050506109d76116b3565b50565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060154908060070154908060080160009054906101000a900460ff16908060080160019054906101000a900460ff1690508a565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ab661166d565b60006004600083815260200190815260200160002090508060070154421015610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90611e8c565b60405180910390fd5b8060080160019054906101000a900460ff16610b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5c90611ef8565b60405180910390fd5b8060080160009054906101000a900460ff1615610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90611f64565b60405180910390fd5b8060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4090611fd0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd19061203c565b60405180910390fd5b600081600501548260030154610cf0919061208b565b905060018260080160006101000a81548160ff021916908315150217905550600082600201819055506000606460065483610d2b91906120bf565b610d359190612130565b905060008183610d45919061208b565b90506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051610d8f90611d87565b60006040518083038185875af1925050503d8060008114610dcc576040519150601f19603f3d011682016040523d82523d6000602084013e610dd1565b606091505b5050905080610e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0c906121d3565b60405180910390fd5b8260076000828254610e2791906121f3565b9250508190555060003373ffffffffffffffffffffffffffffffffffffffff1683604051610e5490611d87565b60006040518083038185875af1925050503d8060008114610e91576040519150601f19603f3d011682016040523d82523d6000602084013e610e96565b606091505b5050905080610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed190612299565b60405180910390fd5b7f4591ca0897d0d8e83f7153dfe0b2912125672084ab8d84be59ee13240a1778bc8784604051610f0b929190611e17565b60405180910390a1505050505050610f216116b3565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fcd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390611c5e565b60405180910390fd5b60006004600084815260200190815260200160002090508060080160019054906101000a900460ff16611074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106b90611ef8565b60405180910390fd5b600082116110b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ae9061232b565b60405180910390fd5b806005015481600301546110cb919061208b565b82111561110d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611104906123bd565b60405180910390fd5b8181600401600082825461112191906121f3565b925050819055508181600501600082825461113c91906121f3565b925050819055507fb61a6e9fc6e8ebbe9ecc7d2aaed6d58f8a52462a14025534159c27b333620e3f8383604051611174929190611e17565b60405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890611aa8565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff1681565b61127061166d565b600034116112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612429565b60405180910390fd5b600560009054906101000a900460ff1615611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612495565b60405180910390fd5b600060046000838152602001908152602001600020600301541461135c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135390612501565b60405180910390fd5b6000600460008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348160020181905550348160030181905550600081600401819055506000816005018190555060008160080160016101000a81548160ff0219169083151502179055507f98e783c3864bbf744a057ef605a2a61701c3b62b5ed68b3745b99094497daf1f823460405161142a929190611e17565b60405180910390a15061143b6116b3565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590611aa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361153d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115349061256d565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff168260405161156890611d87565b60006040518083038185875af1925050503d80600081146115a5576040519150601f19603f3d011682016040523d82523d6000602084013e6115aa565b606091505b50509050806115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e5906125d9565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f8b80bd19aea7b735bc6d75db8d6adbe18b28c30d62b3555245eb67b2340caedc836040516116349190611880565b60405180910390a2505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b6002600054036116a9576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600081905550565b6001600081905550565b600080fd5b6000819050919050565b6116d5816116c2565b81146116e057600080fd5b50565b6000813590506116f2816116cc565b92915050565b60006020828403121561170e5761170d6116bd565b5b600061171c848285016116e3565b91505092915050565b60008115159050919050565b61173a81611725565b811461174557600080fd5b50565b60008135905061175781611731565b92915050565b600060208284031215611773576117726116bd565b5b600061178184828501611748565b91505092915050565b6000819050919050565b61179d8161178a565b81146117a857600080fd5b50565b6000813590506117ba81611794565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117eb826117c0565b9050919050565b6117fb816117e0565b811461180657600080fd5b50565b600081359050611818816117f2565b92915050565b600080600060608486031215611837576118366116bd565b5b6000611845868287016117ab565b935050602061185686828701611809565b9250506040611867868287016116e3565b9150509250925092565b61187a816116c2565b82525050565b60006020820190506118956000830184611871565b92915050565b6000602082840312156118b1576118b06116bd565b5b60006118bf84828501611809565b91505092915050565b6000602082840312156118de576118dd6116bd565b5b60006118ec848285016117ab565b91505092915050565b6118fe816117e0565b82525050565b61190d81611725565b82525050565b600061014082019050611929600083018d6118f5565b611936602083018c6118f5565b611943604083018b611871565b611950606083018a611871565b61195d6080830189611871565b61196a60a0830188611871565b61197760c0830187611871565b61198460e0830186611871565b611992610100830185611904565b6119a0610120830184611904565b9b9a5050505050505050505050565b60006020820190506119c460008301846118f5565b92915050565b600080604083850312156119e1576119e06116bd565b5b60006119ef858286016117ab565b9250506020611a00858286016116e3565b9150509250929050565b6000602082019050611a1f6000830184611904565b92915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e2e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a92602283611a25565b9150611a9d82611a36565b604082019050919050565b60006020820190508181036000830152611ac181611a85565b9050919050565b7f526576656e75652073686172652070657263656e74616765206d75737420626560008201527f206c657373207468616e206f7220657175616c20746f20313030000000000000602082015250565b6000611b24603a83611a25565b9150611b2f82611ac8565b604082019050919050565b60006020820190508181036000830152611b5381611b17565b9050919050565b7f537461746520697320616c72656164792073657420746f20746869732076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000611bb6602283611a25565b9150611bc182611b5a565b604082019050919050565b60006020820190508181036000830152611be581611ba9565b9050919050565b7f4f6e6c792073797374656d2063616e2063616c6c20746869732066756e63746960008201527f6f6e2e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611c48602383611a25565b9150611c5382611bec565b604082019050919050565b60006020820190508181036000830152611c7781611c3b565b9050919050565b7f4f6e6c792072656e7465722063616e20636c61696d20726566756e6400000000600082015250565b6000611cb4601c83611a25565b9150611cbf82611c7e565b602082019050919050565b60006020820190508181036000830152611ce381611ca7565b9050919050565b7f4e6f206469737075746520616d6f756e7420746f20726566756e640000000000600082015250565b6000611d20601b83611a25565b9150611d2b82611cea565b602082019050919050565b60006020820190508181036000830152611d4f81611d13565b9050919050565b600081905092915050565b50565b6000611d71600083611d56565b9150611d7c82611d61565b600082019050919050565b6000611d9282611d64565b9150819050919050565b7f4661696c656420746f2073656e64206469737075746520616d6f756e74000000600082015250565b6000611dd2601d83611a25565b9150611ddd82611d9c565b602082019050919050565b60006020820190508181036000830152611e0181611dc5565b9050919050565b611e118161178a565b82525050565b6000604082019050611e2c6000830185611e08565b611e396020830184611871565b9392505050565b7f52656e74616c20706572696f6420686173206e6f7420656e6465640000000000600082015250565b6000611e76601b83611a25565b9150611e8182611e40565b602082019050919050565b60006020820190508181036000830152611ea581611e69565b9050919050565b7f52656e74616c206973206e6f7420616374697665000000000000000000000000600082015250565b6000611ee2601483611a25565b9150611eed82611eac565b602082019050919050565b60006020820190508181036000830152611f1181611ed5565b9050919050565b7f52656e74616c2068617320616c726561647920656e6465640000000000000000600082015250565b6000611f4e601883611a25565b9150611f5982611f18565b602082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4f6e6c79206c656e6465722063616e2077697468647261770000000000000000600082015250565b6000611fba601883611a25565b9150611fc582611f84565b602082019050919050565b60006020820190508181036000830152611fe981611fad565b9050919050565b7f5374616b696e6720636f6e7472616374206973206e6f74207365740000000000600082015250565b6000612026601b83611a25565b915061203182611ff0565b602082019050919050565b6000602082019050818103600083015261205581612019565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612096826116c2565b91506120a1836116c2565b92508282039050818111156120b9576120b861205c565b5b92915050565b60006120ca826116c2565b91506120d5836116c2565b92508282026120e3816116c2565b915082820484148315176120fa576120f961205c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061213b826116c2565b9150612146836116c2565b92508261215657612155612101565b5b828204905092915050565b7f4661696c656420746f2073656e6420726576656e756520736861726520616d6f60008201527f756e7420746f207374616b696e6720636f6e7472616374000000000000000000602082015250565b60006121bd603783611a25565b91506121c882612161565b604082019050919050565b600060208201905081810360008301526121ec816121b0565b9050919050565b60006121fe826116c2565b9150612209836116c2565b92508282019050808211156122215761222061205c565b5b92915050565b7f4661696c656420746f2073656e6420616d6f756e7420746f207769746864726160008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612283602183611a25565b915061228e82612227565b604082019050919050565b600060208201905081810360008301526122b281612276565b9050919050565b7f4469737075746520616d6f756e74206d7573742062652067726561746572207460008201527f68616e2030000000000000000000000000000000000000000000000000000000602082015250565b6000612315602583611a25565b9150612320826122b9565b604082019050919050565b6000602082019050818103600083015261234481612308565b9050919050565b7f4469737075746520616d6f756e7420657863656564732072656e74616c20616d60008201527f6f756e7400000000000000000000000000000000000000000000000000000000602082015250565b60006123a7602483611a25565b91506123b28261234b565b604082019050919050565b600060208201905081810360008301526123d68161239a565b9050919050565b7f4465706f736974206d7573742062652067726561746572207468616e20300000600082015250565b6000612413601e83611a25565b915061241e826123dd565b602082019050919050565b6000602082019050818103600083015261244281612406565b9050919050565b7f52656e74616c7320617265207061757365640000000000000000000000000000600082015250565b600061247f601283611a25565b915061248a82612449565b602082019050919050565b600060208201905081810360008301526124ae81612472565b9050919050565b7f52656e74616c20616c7265616479206578697374730000000000000000000000600082015250565b60006124eb601583611a25565b91506124f6826124b5565b602082019050919050565b6000602082019050818103600083015261251a816124de565b9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b6000612557600f83611a25565b915061256282612521565b602082019050919050565b600060208201905081810360008301526125868161254a565b9050919050565b7f4661696c656420746f207472616e736665722045544800000000000000000000600082015250565b60006125c3601683611a25565b91506125ce8261258d565b602082019050919050565b600060208201905081810360008301526125f2816125b6565b905091905056fea2646970667358221220d1f90654bfea667c37abc58682d81d2ac1629716b35ca178662866acdcbd5b1564736f6c63430008180033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,417.2 | 1.504 | $5,139.44 |
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.