Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 15,041 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update Futures | 128274835 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128271801 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128270724 | 53 days ago | IN | 0 ETH | 0.00000576 | ||||
Update Futures | 128269642 | 53 days ago | IN | 0 ETH | 0.00000576 | ||||
Update Futures | 128265312 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128264282 | 53 days ago | IN | 0 ETH | 0.00000736 | ||||
Update Futures | 128263238 | 53 days ago | IN | 0 ETH | 0.00000737 | ||||
Update Futures | 128262157 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128261072 | 53 days ago | IN | 0 ETH | 0.00000576 | ||||
Update Futures | 128259980 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128257834 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128256753 | 53 days ago | IN | 0 ETH | 0.00000736 | ||||
Update Futures | 128254516 | 53 days ago | IN | 0 ETH | 0.00000737 | ||||
Update Futures | 128252376 | 53 days ago | IN | 0 ETH | 0.00000737 | ||||
Update Futures | 128251288 | 53 days ago | IN | 0 ETH | 0.00000576 | ||||
Update Futures | 128250180 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128248020 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128247000 | 53 days ago | IN | 0 ETH | 0.00001058 | ||||
Update Futures | 128245923 | 53 days ago | IN | 0 ETH | 0.00001058 | ||||
Update Futures | 128244810 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128243681 | 53 days ago | IN | 0 ETH | 0.00000897 | ||||
Update Futures | 128242582 | 53 days ago | IN | 0 ETH | 0.00001058 | ||||
Update Futures | 128241439 | 53 days ago | IN | 0 ETH | 0.00000415 | ||||
Update Futures | 128239230 | 53 days ago | IN | 0 ETH | 0.00000576 | ||||
Update Futures | 128238093 | 53 days ago | IN | 0 ETH | 0.00000454 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Commodities
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; // test 4 contract Commodities is Ownable { uint256 public premiumFeePerSecond; address public addressFee; struct Future { uint256 price; uint256 expiration; uint256 lastUpdated; } struct CosnumerData { uint256 subscribedTill; } mapping(string symbol => Future future) futures; string[] public symbols; mapping(address nodeAddress => bool nodeAllowance) allowedCallers; mapping(address userAddress => CosnumerData consumerData) public consumers; // Almacena la información de cada usuario constructor( address[] memory nodesAddresses, uint256 _premiumFeePerSecond, address _addressFee ) Ownable(msg.sender) { for (uint256 i = 0; i < nodesAddresses.length; i++) { allowedCallers[nodesAddresses[i]] = true; } premiumFeePerSecond = _premiumFeePerSecond; addressFee = _addressFee; } modifier onlyNodes() { require(allowedCallers[msg.sender], "Caller is not a Node"); _; } function storeTickers(string[] memory _symbols) external onlyNodes { for (uint256 i = 0; i < _symbols.length; i++) { string memory symbol = _symbols[i]; if (futures[symbol].lastUpdated == 0) { symbols.push(symbol); futures[symbol] = Future(0, 0, block.timestamp); } } } function updateFutures( string[] memory tickers, uint256[][] memory dataInput ) public onlyNodes { require(dataInput.length == tickers.length, "Array length mismatch"); for (uint256 i = 0; i < tickers.length; i++) { // Leer el futuro actual Future storage future = futures[tickers[i]]; // Solo actualizar si los valores han cambiado if (future.price != dataInput[i][0]) { future.price = dataInput[i][0]; } if (future.expiration != dataInput[i][1]) { future.expiration = dataInput[i][1]; } // Actualizar lastUpdated cada vez future.lastUpdated = block.timestamp; } } // why parameter is a string array??? because this function abi could be use for more complex data feeds function getFeedData( string[] memory inputTickers ) public view returns (uint256[][] memory) { require(isSubscriptionActive(msg.sender), "Not Allowed"); uint256[][] memory returnData = new uint256[][](inputTickers.length); for (uint256 i = 0; i < inputTickers.length; i++) { uint256[] memory future = new uint256[](3); future[0] = futures[inputTickers[i]].price; future[1] = futures[inputTickers[i]].expiration; future[2] = futures[inputTickers[i]].lastUpdated; returnData[i] = future; } return returnData; } function changeRewardToken(address _newAddressFee) external onlyOwner { addressFee = _newAddressFee; } function changePremiumFee(uint256 _premiumFeePerSecond) external onlyOwner { premiumFeePerSecond = _premiumFeePerSecond; } function addSubscription( address consumerAddress, uint256 payment ) external { require(payment > 10 ** 6, "min 1 usd"); require( IERC20(addressFee).transferFrom(msg.sender, owner(), payment), "Transfer failed" ); uint256 timeNow = block.timestamp; uint256 extendTime = payment / premiumFeePerSecond; if (consumers[consumerAddress].subscribedTill < timeNow) { consumers[consumerAddress].subscribedTill = timeNow + extendTime; } else { consumers[consumerAddress].subscribedTill += extendTime; } } // Función para verificar si la suscripción de un usuario está activa function isSubscriptionActive( address consumerOrNode ) internal view returns (bool) { if (allowedCallers[consumerOrNode]) { return true; } return consumers[consumerOrNode].subscribedTill > block.timestamp; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "evmVersion": "paris", "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract ABI
API[{"inputs":[{"internalType":"address[]","name":"nodesAddresses","type":"address[]"},{"internalType":"uint256","name":"_premiumFeePerSecond","type":"uint256"},{"internalType":"address","name":"_addressFee","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"consumerAddress","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"}],"name":"addSubscription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addressFee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_premiumFeePerSecond","type":"uint256"}],"name":"changePremiumFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddressFee","type":"address"}],"name":"changeRewardToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"consumers","outputs":[{"internalType":"uint256","name":"subscribedTill","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string[]","name":"inputTickers","type":"string[]"}],"name":"getFeedData","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":"premiumFeePerSecond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"_symbols","type":"string[]"}],"name":"storeTickers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"symbols","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"tickers","type":"string[]"},{"internalType":"uint256[][]","name":"dataInput","type":"uint256[][]"}],"name":"updateFutures","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161236938038061236983398181016040528101906100329190610456565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a55760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009c91906104d4565b60405180910390fd5b6100b48161019160201b60201c565b5060005b8351811015610140576001600560008684815181106100da576100d96104ef565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506100b8565b508160018190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505061051e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102b78261026e565b810181811067ffffffffffffffff821117156102d6576102d561027f565b5b80604052505050565b60006102e9610255565b90506102f582826102ae565b919050565b600067ffffffffffffffff8211156103155761031461027f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103568261032b565b9050919050565b6103668161034b565b811461037157600080fd5b50565b6000815190506103838161035d565b92915050565b600061039c610397846102fa565b6102df565b905080838252602082019050602084028301858111156103bf576103be610326565b5b835b818110156103e857806103d48882610374565b8452602084019350506020810190506103c1565b5050509392505050565b600082601f83011261040757610406610269565b5b8151610417848260208601610389565b91505092915050565b6000819050919050565b61043381610420565b811461043e57600080fd5b50565b6000815190506104508161042a565b92915050565b60008060006060848603121561046f5761046e61025f565b5b600084015167ffffffffffffffff81111561048d5761048c610264565b5b610499868287016103f2565b93505060206104aa86828701610441565b92505060406104bb86828701610374565b9150509250925092565b6104ce8161034b565b82525050565b60006020820190506104e960008301846104c5565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b611e3c8061052d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342b7191a1161008c5780638da5cb5b116100665780638da5cb5b146101ea578063ccce413b14610208578063f2fde38b14610238578063f59911d314610254576100cf565b806342b7191a146101a85780635626044d146101c4578063715018a6146101e0576100cf565b8063088ab8ce146100d45780630bf53668146100f0578063103de2a314610120578063298602f31461013e57806340bbdff81461016e578063418daca71461018a575b600080fd5b6100ee60048036038101906100e99190610f33565b610270565b005b61010a60048036038101906101059190610f33565b6102bc565b6040516101179190610f79565b60405180910390f35b6101286102da565b6040516101359190610f79565b60405180910390f35b610158600480360381019061015391906111c0565b6102e0565b6040516101659190611389565b60405180910390f35b610188600480360381019061018391906113d7565b610522565b005b610192610767565b60405161019f9190611426565b60405180910390f35b6101c260048036038101906101bd91906111c0565b61078d565b005b6101de60048036038101906101d991906115e5565b610911565b005b6101e8610b43565b005b6101f2610b57565b6040516101ff9190611426565b60405180910390f35b610222600480360381019061021d919061165d565b610b80565b60405161022f9190611709565b60405180910390f35b610252600480360381019061024d9190610f33565b610c2c565b005b61026e6004803603810190610269919061165d565b610cb2565b005b610278610cc4565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915090508060000154905081565b60015481565b60606102eb33610d4b565b61032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032190611777565b60405180910390fd5b6000825167ffffffffffffffff81111561034757610346610faa565b5b60405190808252806020026020018201604052801561037a57816020015b60608152602001906001900390816103655790505b50905060005b8351811015610518576000600367ffffffffffffffff8111156103a6576103a5610faa565b5b6040519080825280602002602001820160405280156103d45781602001602082028036833780820191505090505b50905060038583815181106103ec576103eb611797565b5b60200260200101516040516104019190611802565b9081526020016040518091039020600001548160008151811061042757610426611797565b5b602002602001018181525050600385838151811061044857610447611797565b5b602002602001015160405161045d9190611802565b9081526020016040518091039020600101548160018151811061048357610482611797565b5b60200260200101818152505060038583815181106104a4576104a3611797565b5b60200260200101516040516104b99190611802565b908152602001604051809103902060020154816002815181106104df576104de611797565b5b602002602001018181525050808383815181106104ff576104fe611797565b5b6020026020010181905250508080600101915050610380565b5080915050919050565b620f42408111610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e90611865565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd336105ae610b57565b846040518463ffffffff1660e01b81526004016105cd93929190611885565b6020604051808303816000875af11580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906118f4565b61064f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106469061196d565b60405180910390fd5b600042905060006001548361066491906119eb565b905081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410156107075780826106bc9190611a1c565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610761565b80600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546107599190611a1c565b925050819055505b50505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081090611a9c565b60405180910390fd5b60005b815181101561090d57600082828151811061083a57610839611797565b5b6020026020010151905060006003826040516108569190611802565b908152602001604051809103902060020154036108ff576004819080600181540180825580915050600190039060005260206000200160009091909190915090816108a19190611cc8565b5060405180606001604052806000815260200160008152602001428152506003826040516108cf9190611802565b90815260200160405180910390206000820151816000015560208201518160010155604082015181600201559050505b50808060010191505061081c565b5050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490611a9c565b60405180910390fd5b81518151146109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d890611de6565b60405180910390fd5b60005b8251811015610b3e5760006003848381518110610a0457610a03611797565b5b6020026020010151604051610a199190611802565b90815260200160405180910390209050828281518110610a3c57610a3b611797565b5b6020026020010151600081518110610a5757610a56611797565b5b6020026020010151816000015414610aa857828281518110610a7c57610a7b611797565b5b6020026020010151600081518110610a9757610a96611797565b5b602002602001015181600001819055505b828281518110610abb57610aba611797565b5b6020026020010151600181518110610ad657610ad5611797565b5b6020026020010151816001015414610b2757828281518110610afb57610afa611797565b5b6020026020010151600181518110610b1657610b15611797565b5b602002602001015181600101819055505b4281600201819055505080806001019150506109e4565b505050565b610b4b610cc4565b610b556000610df5565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60048181548110610b9057600080fd5b906000526020600020016000915090508054610bab90611aeb565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd790611aeb565b8015610c245780601f10610bf957610100808354040283529160200191610c24565b820191906000526020600020905b815481529060010190602001808311610c0757829003601f168201915b505050505081565b610c34610cc4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ca65760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610c9d9190611426565b60405180910390fd5b610caf81610df5565b50565b610cba610cc4565b8060018190555050565b610ccc610eb9565b73ffffffffffffffffffffffffffffffffffffffff16610cea610b57565b73ffffffffffffffffffffffffffffffffffffffff1614610d4957610d0d610eb9565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610d409190611426565b60405180910390fd5b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610da85760019050610df0565b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541190505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f0082610ed5565b9050919050565b610f1081610ef5565b8114610f1b57600080fd5b50565b600081359050610f2d81610f07565b92915050565b600060208284031215610f4957610f48610ecb565b5b6000610f5784828501610f1e565b91505092915050565b6000819050919050565b610f7381610f60565b82525050565b6000602082019050610f8e6000830184610f6a565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610fe282610f99565b810181811067ffffffffffffffff8211171561100157611000610faa565b5b80604052505050565b6000611014610ec1565b90506110208282610fd9565b919050565b600067ffffffffffffffff8211156110405761103f610faa565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff82111561107657611075610faa565b5b61107f82610f99565b9050602081019050919050565b82818337600083830152505050565b60006110ae6110a98461105b565b61100a565b9050828152602081018484840111156110ca576110c9611056565b5b6110d584828561108c565b509392505050565b600082601f8301126110f2576110f1610f94565b5b813561110284826020860161109b565b91505092915050565b600061111e61111984611025565b61100a565b9050808382526020820190506020840283018581111561114157611140611051565b5b835b8181101561118857803567ffffffffffffffff81111561116657611165610f94565b5b80860161117389826110dd565b85526020850194505050602081019050611143565b5050509392505050565b600082601f8301126111a7576111a6610f94565b5b81356111b784826020860161110b565b91505092915050565b6000602082840312156111d6576111d5610ecb565b5b600082013567ffffffffffffffff8111156111f4576111f3610ed0565b5b61120084828501611192565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61126a81610f60565b82525050565b600061127c8383611261565b60208301905092915050565b6000602082019050919050565b60006112a082611235565b6112aa8185611240565b93506112b583611251565b8060005b838110156112e65781516112cd8882611270565b97506112d883611288565b9250506001810190506112b9565b5085935050505092915050565b60006112ff8383611295565b905092915050565b6000602082019050919050565b600061131f82611209565b6113298185611214565b93508360208202850161133b85611225565b8060005b85811015611377578484038952815161135885826112f3565b945061136383611307565b925060208a0199505060018101905061133f565b50829750879550505050505092915050565b600060208201905081810360008301526113a38184611314565b905092915050565b6113b481610f60565b81146113bf57600080fd5b50565b6000813590506113d1816113ab565b92915050565b600080604083850312156113ee576113ed610ecb565b5b60006113fc85828601610f1e565b925050602061140d858286016113c2565b9150509250929050565b61142081610ef5565b82525050565b600060208201905061143b6000830184611417565b92915050565b600067ffffffffffffffff82111561145c5761145b610faa565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561148857611487610faa565b5b602082029050602081019050919050565b60006114ac6114a78461146d565b61100a565b905080838252602082019050602084028301858111156114cf576114ce611051565b5b835b818110156114f857806114e488826113c2565b8452602084019350506020810190506114d1565b5050509392505050565b600082601f83011261151757611516610f94565b5b8135611527848260208601611499565b91505092915050565b600061154361153e84611441565b61100a565b9050808382526020820190506020840283018581111561156657611565611051565b5b835b818110156115ad57803567ffffffffffffffff81111561158b5761158a610f94565b5b8086016115988982611502565b85526020850194505050602081019050611568565b5050509392505050565b600082601f8301126115cc576115cb610f94565b5b81356115dc848260208601611530565b91505092915050565b600080604083850312156115fc576115fb610ecb565b5b600083013567ffffffffffffffff81111561161a57611619610ed0565b5b61162685828601611192565b925050602083013567ffffffffffffffff81111561164757611646610ed0565b5b611653858286016115b7565b9150509250929050565b60006020828403121561167357611672610ecb565b5b6000611681848285016113c2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116c45780820151818401526020810190506116a9565b60008484015250505050565b60006116db8261168a565b6116e58185611695565b93506116f58185602086016116a6565b6116fe81610f99565b840191505092915050565b6000602082019050818103600083015261172381846116d0565b905092915050565b7f4e6f7420416c6c6f776564000000000000000000000000000000000000000000600082015250565b6000611761600b83611695565b915061176c8261172b565b602082019050919050565b6000602082019050818103600083015261179081611754565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006117dc8261168a565b6117e681856117c6565b93506117f68185602086016116a6565b80840191505092915050565b600061180e82846117d1565b915081905092915050565b7f6d696e2031207573640000000000000000000000000000000000000000000000600082015250565b600061184f600983611695565b915061185a82611819565b602082019050919050565b6000602082019050818103600083015261187e81611842565b9050919050565b600060608201905061189a6000830186611417565b6118a76020830185611417565b6118b46040830184610f6a565b949350505050565b60008115159050919050565b6118d1816118bc565b81146118dc57600080fd5b50565b6000815190506118ee816118c8565b92915050565b60006020828403121561190a57611909610ecb565b5b6000611918848285016118df565b91505092915050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000611957600f83611695565b915061196282611921565b602082019050919050565b600060208201905081810360008301526119868161194a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119f682610f60565b9150611a0183610f60565b925082611a1157611a1061198d565b5b828204905092915050565b6000611a2782610f60565b9150611a3283610f60565b9250828201905080821115611a4a57611a496119bc565b5b92915050565b7f43616c6c6572206973206e6f742061204e6f6465000000000000000000000000600082015250565b6000611a86601483611695565b9150611a9182611a50565b602082019050919050565b60006020820190508181036000830152611ab581611a79565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b0357607f821691505b602082108103611b1657611b15611abc565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611b7e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b41565b611b888683611b41565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611bc5611bc0611bbb84610f60565b611ba0565b610f60565b9050919050565b6000819050919050565b611bdf83611baa565b611bf3611beb82611bcc565b848454611b4e565b825550505050565b600090565b611c08611bfb565b611c13818484611bd6565b505050565b5b81811015611c3757611c2c600082611c00565b600181019050611c19565b5050565b601f821115611c7c57611c4d81611b1c565b611c5684611b31565b81016020851015611c65578190505b611c79611c7185611b31565b830182611c18565b50505b505050565b600082821c905092915050565b6000611c9f60001984600802611c81565b1980831691505092915050565b6000611cb88383611c8e565b9150826002028217905092915050565b611cd18261168a565b67ffffffffffffffff811115611cea57611ce9610faa565b5b611cf48254611aeb565b611cff828285611c3b565b600060209050601f831160018114611d325760008415611d20578287015190505b611d2a8582611cac565b865550611d92565b601f198416611d4086611b1c565b60005b82811015611d6857848901518255600182019150602085019450602081019050611d43565b86831015611d855784890151611d81601f891682611c8e565b8355505b6001600288020188555050505b505050505050565b7f4172726179206c656e677468206d69736d617463680000000000000000000000600082015250565b6000611dd0601583611695565b9150611ddb82611d9a565b602082019050919050565b60006020820190508181036000830152611dff81611dc3565b905091905056fea2646970667358221220983e0683a55e4dcb7ad26c7c538a97461c4c2adfe8021c6e102b497916b6d59e64736f6c634300081900330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000075faf114eafb1bdbe2f0316df893fd58ce46aa4d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000029573ddcdb523d53cc04a8308461ab60cd070be
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342b7191a1161008c5780638da5cb5b116100665780638da5cb5b146101ea578063ccce413b14610208578063f2fde38b14610238578063f59911d314610254576100cf565b806342b7191a146101a85780635626044d146101c4578063715018a6146101e0576100cf565b8063088ab8ce146100d45780630bf53668146100f0578063103de2a314610120578063298602f31461013e57806340bbdff81461016e578063418daca71461018a575b600080fd5b6100ee60048036038101906100e99190610f33565b610270565b005b61010a60048036038101906101059190610f33565b6102bc565b6040516101179190610f79565b60405180910390f35b6101286102da565b6040516101359190610f79565b60405180910390f35b610158600480360381019061015391906111c0565b6102e0565b6040516101659190611389565b60405180910390f35b610188600480360381019061018391906113d7565b610522565b005b610192610767565b60405161019f9190611426565b60405180910390f35b6101c260048036038101906101bd91906111c0565b61078d565b005b6101de60048036038101906101d991906115e5565b610911565b005b6101e8610b43565b005b6101f2610b57565b6040516101ff9190611426565b60405180910390f35b610222600480360381019061021d919061165d565b610b80565b60405161022f9190611709565b60405180910390f35b610252600480360381019061024d9190610f33565b610c2c565b005b61026e6004803603810190610269919061165d565b610cb2565b005b610278610cc4565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60066020528060005260406000206000915090508060000154905081565b60015481565b60606102eb33610d4b565b61032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032190611777565b60405180910390fd5b6000825167ffffffffffffffff81111561034757610346610faa565b5b60405190808252806020026020018201604052801561037a57816020015b60608152602001906001900390816103655790505b50905060005b8351811015610518576000600367ffffffffffffffff8111156103a6576103a5610faa565b5b6040519080825280602002602001820160405280156103d45781602001602082028036833780820191505090505b50905060038583815181106103ec576103eb611797565b5b60200260200101516040516104019190611802565b9081526020016040518091039020600001548160008151811061042757610426611797565b5b602002602001018181525050600385838151811061044857610447611797565b5b602002602001015160405161045d9190611802565b9081526020016040518091039020600101548160018151811061048357610482611797565b5b60200260200101818152505060038583815181106104a4576104a3611797565b5b60200260200101516040516104b99190611802565b908152602001604051809103902060020154816002815181106104df576104de611797565b5b602002602001018181525050808383815181106104ff576104fe611797565b5b6020026020010181905250508080600101915050610380565b5080915050919050565b620f42408111610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055e90611865565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd336105ae610b57565b846040518463ffffffff1660e01b81526004016105cd93929190611885565b6020604051808303816000875af11580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906118f4565b61064f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106469061196d565b60405180910390fd5b600042905060006001548361066491906119eb565b905081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410156107075780826106bc9190611a1c565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610761565b80600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282546107599190611a1c565b925050819055505b50505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081090611a9c565b60405180910390fd5b60005b815181101561090d57600082828151811061083a57610839611797565b5b6020026020010151905060006003826040516108569190611802565b908152602001604051809103902060020154036108ff576004819080600181540180825580915050600190039060005260206000200160009091909190915090816108a19190611cc8565b5060405180606001604052806000815260200160008152602001428152506003826040516108cf9190611802565b90815260200160405180910390206000820151816000015560208201518160010155604082015181600201559050505b50808060010191505061081c565b5050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490611a9c565b60405180910390fd5b81518151146109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d890611de6565b60405180910390fd5b60005b8251811015610b3e5760006003848381518110610a0457610a03611797565b5b6020026020010151604051610a199190611802565b90815260200160405180910390209050828281518110610a3c57610a3b611797565b5b6020026020010151600081518110610a5757610a56611797565b5b6020026020010151816000015414610aa857828281518110610a7c57610a7b611797565b5b6020026020010151600081518110610a9757610a96611797565b5b602002602001015181600001819055505b828281518110610abb57610aba611797565b5b6020026020010151600181518110610ad657610ad5611797565b5b6020026020010151816001015414610b2757828281518110610afb57610afa611797565b5b6020026020010151600181518110610b1657610b15611797565b5b602002602001015181600101819055505b4281600201819055505080806001019150506109e4565b505050565b610b4b610cc4565b610b556000610df5565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60048181548110610b9057600080fd5b906000526020600020016000915090508054610bab90611aeb565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd790611aeb565b8015610c245780601f10610bf957610100808354040283529160200191610c24565b820191906000526020600020905b815481529060010190602001808311610c0757829003601f168201915b505050505081565b610c34610cc4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ca65760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610c9d9190611426565b60405180910390fd5b610caf81610df5565b50565b610cba610cc4565b8060018190555050565b610ccc610eb9565b73ffffffffffffffffffffffffffffffffffffffff16610cea610b57565b73ffffffffffffffffffffffffffffffffffffffff1614610d4957610d0d610eb9565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610d409190611426565b60405180910390fd5b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610da85760019050610df0565b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541190505b919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f0082610ed5565b9050919050565b610f1081610ef5565b8114610f1b57600080fd5b50565b600081359050610f2d81610f07565b92915050565b600060208284031215610f4957610f48610ecb565b5b6000610f5784828501610f1e565b91505092915050565b6000819050919050565b610f7381610f60565b82525050565b6000602082019050610f8e6000830184610f6a565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610fe282610f99565b810181811067ffffffffffffffff8211171561100157611000610faa565b5b80604052505050565b6000611014610ec1565b90506110208282610fd9565b919050565b600067ffffffffffffffff8211156110405761103f610faa565b5b602082029050602081019050919050565b600080fd5b600080fd5b600067ffffffffffffffff82111561107657611075610faa565b5b61107f82610f99565b9050602081019050919050565b82818337600083830152505050565b60006110ae6110a98461105b565b61100a565b9050828152602081018484840111156110ca576110c9611056565b5b6110d584828561108c565b509392505050565b600082601f8301126110f2576110f1610f94565b5b813561110284826020860161109b565b91505092915050565b600061111e61111984611025565b61100a565b9050808382526020820190506020840283018581111561114157611140611051565b5b835b8181101561118857803567ffffffffffffffff81111561116657611165610f94565b5b80860161117389826110dd565b85526020850194505050602081019050611143565b5050509392505050565b600082601f8301126111a7576111a6610f94565b5b81356111b784826020860161110b565b91505092915050565b6000602082840312156111d6576111d5610ecb565b5b600082013567ffffffffffffffff8111156111f4576111f3610ed0565b5b61120084828501611192565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61126a81610f60565b82525050565b600061127c8383611261565b60208301905092915050565b6000602082019050919050565b60006112a082611235565b6112aa8185611240565b93506112b583611251565b8060005b838110156112e65781516112cd8882611270565b97506112d883611288565b9250506001810190506112b9565b5085935050505092915050565b60006112ff8383611295565b905092915050565b6000602082019050919050565b600061131f82611209565b6113298185611214565b93508360208202850161133b85611225565b8060005b85811015611377578484038952815161135885826112f3565b945061136383611307565b925060208a0199505060018101905061133f565b50829750879550505050505092915050565b600060208201905081810360008301526113a38184611314565b905092915050565b6113b481610f60565b81146113bf57600080fd5b50565b6000813590506113d1816113ab565b92915050565b600080604083850312156113ee576113ed610ecb565b5b60006113fc85828601610f1e565b925050602061140d858286016113c2565b9150509250929050565b61142081610ef5565b82525050565b600060208201905061143b6000830184611417565b92915050565b600067ffffffffffffffff82111561145c5761145b610faa565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561148857611487610faa565b5b602082029050602081019050919050565b60006114ac6114a78461146d565b61100a565b905080838252602082019050602084028301858111156114cf576114ce611051565b5b835b818110156114f857806114e488826113c2565b8452602084019350506020810190506114d1565b5050509392505050565b600082601f83011261151757611516610f94565b5b8135611527848260208601611499565b91505092915050565b600061154361153e84611441565b61100a565b9050808382526020820190506020840283018581111561156657611565611051565b5b835b818110156115ad57803567ffffffffffffffff81111561158b5761158a610f94565b5b8086016115988982611502565b85526020850194505050602081019050611568565b5050509392505050565b600082601f8301126115cc576115cb610f94565b5b81356115dc848260208601611530565b91505092915050565b600080604083850312156115fc576115fb610ecb565b5b600083013567ffffffffffffffff81111561161a57611619610ed0565b5b61162685828601611192565b925050602083013567ffffffffffffffff81111561164757611646610ed0565b5b611653858286016115b7565b9150509250929050565b60006020828403121561167357611672610ecb565b5b6000611681848285016113c2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116c45780820151818401526020810190506116a9565b60008484015250505050565b60006116db8261168a565b6116e58185611695565b93506116f58185602086016116a6565b6116fe81610f99565b840191505092915050565b6000602082019050818103600083015261172381846116d0565b905092915050565b7f4e6f7420416c6c6f776564000000000000000000000000000000000000000000600082015250565b6000611761600b83611695565b915061176c8261172b565b602082019050919050565b6000602082019050818103600083015261179081611754565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006117dc8261168a565b6117e681856117c6565b93506117f68185602086016116a6565b80840191505092915050565b600061180e82846117d1565b915081905092915050565b7f6d696e2031207573640000000000000000000000000000000000000000000000600082015250565b600061184f600983611695565b915061185a82611819565b602082019050919050565b6000602082019050818103600083015261187e81611842565b9050919050565b600060608201905061189a6000830186611417565b6118a76020830185611417565b6118b46040830184610f6a565b949350505050565b60008115159050919050565b6118d1816118bc565b81146118dc57600080fd5b50565b6000815190506118ee816118c8565b92915050565b60006020828403121561190a57611909610ecb565b5b6000611918848285016118df565b91505092915050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000611957600f83611695565b915061196282611921565b602082019050919050565b600060208201905081810360008301526119868161194a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006119f682610f60565b9150611a0183610f60565b925082611a1157611a1061198d565b5b828204905092915050565b6000611a2782610f60565b9150611a3283610f60565b9250828201905080821115611a4a57611a496119bc565b5b92915050565b7f43616c6c6572206973206e6f742061204e6f6465000000000000000000000000600082015250565b6000611a86601483611695565b9150611a9182611a50565b602082019050919050565b60006020820190508181036000830152611ab581611a79565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611b0357607f821691505b602082108103611b1657611b15611abc565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302611b7e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611b41565b611b888683611b41565b95508019841693508086168417925050509392505050565b6000819050919050565b6000611bc5611bc0611bbb84610f60565b611ba0565b610f60565b9050919050565b6000819050919050565b611bdf83611baa565b611bf3611beb82611bcc565b848454611b4e565b825550505050565b600090565b611c08611bfb565b611c13818484611bd6565b505050565b5b81811015611c3757611c2c600082611c00565b600181019050611c19565b5050565b601f821115611c7c57611c4d81611b1c565b611c5684611b31565b81016020851015611c65578190505b611c79611c7185611b31565b830182611c18565b50505b505050565b600082821c905092915050565b6000611c9f60001984600802611c81565b1980831691505092915050565b6000611cb88383611c8e565b9150826002028217905092915050565b611cd18261168a565b67ffffffffffffffff811115611cea57611ce9610faa565b5b611cf48254611aeb565b611cff828285611c3b565b600060209050601f831160018114611d325760008415611d20578287015190505b611d2a8582611cac565b865550611d92565b601f198416611d4086611b1c565b60005b82811015611d6857848901518255600182019150602085019450602081019050611d43565b86831015611d855784890151611d81601f891682611c8e565b8355505b6001600288020188555050505b505050505050565b7f4172726179206c656e677468206d69736d617463680000000000000000000000600082015250565b6000611dd0601583611695565b9150611ddb82611d9a565b602082019050919050565b60006020820190508181036000830152611dff81611dc3565b905091905056fea2646970667358221220983e0683a55e4dcb7ad26c7c538a97461c4c2adfe8021c6e102b497916b6d59e64736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000075faf114eafb1bdbe2f0316df893fd58ce46aa4d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000029573ddcdb523d53cc04a8308461ab60cd070be
-----Decoded View---------------
Arg [0] : nodesAddresses (address[]): 0x029573ddCDB523D53cc04A8308461Ab60cd070BE
Arg [1] : _premiumFeePerSecond (uint256): 6
Arg [2] : _addressFee (address): 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [2] : 00000000000000000000000075faf114eafb1bdbe2f0316df893fd58ce46aa4d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 000000000000000000000000029573ddcdb523d53cc04a8308461ab60cd070be
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.