Source Code
Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 1,039 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Disburse Tokens | 4533586 | 784 days ago | IN | 0 ETH | 0.00010256 | ||||
| Disburse Tokens | 4470821 | 794 days ago | IN | 0 ETH | 0.0000684 | ||||
| Disburse Maximum... | 4464498 | 795 days ago | IN | 0 ETH | 0.00008555 | ||||
| Disburse Tokens | 4457966 | 796 days ago | IN | 0 ETH | 0.00007896 | ||||
| Disburse Tokens | 4457809 | 796 days ago | IN | 0 ETH | 0.00108975 | ||||
| Disburse Maximum... | 4453361 | 796 days ago | IN | 0 ETH | 0.00009042 | ||||
| Disburse Tokens | 4450470 | 797 days ago | IN | 0 ETH | 0.00007377 | ||||
| Disburse Tokens | 4445892 | 797 days ago | IN | 0 ETH | 0.00006496 | ||||
| Disburse Tokens | 4445518 | 797 days ago | IN | 0 ETH | 0.0000684 | ||||
| Disburse Tokens | 4444681 | 798 days ago | IN | 0 ETH | 0.00006494 | ||||
| Disburse Tokens | 4444620 | 798 days ago | IN | 0 ETH | 0.00006494 | ||||
| Disburse Tokens | 4444423 | 798 days ago | IN | 0 ETH | 0.00006494 | ||||
| Disburse Tokens | 4444318 | 798 days ago | IN | 0 ETH | 0.00006494 | ||||
| Disburse Tokens | 4443909 | 798 days ago | IN | 0 ETH | 0.00006494 | ||||
| Disburse Tokens | 4443582 | 798 days ago | IN | 0 ETH | 0.00007206 | ||||
| Disburse Tokens | 4443499 | 798 days ago | IN | 0 ETH | 0.00006496 | ||||
| Disburse Maximum... | 4442728 | 798 days ago | IN | 0 ETH | 0.00006419 | ||||
| Disburse Tokens | 4442604 | 798 days ago | IN | 0 ETH | 0.00010342 | ||||
| Disburse Tokens | 4442581 | 798 days ago | IN | 0 ETH | 0.00008178 | ||||
| Disburse Maximum... | 4442223 | 798 days ago | IN | 0 ETH | 0.0011999 | ||||
| Disburse Maximum... | 4441836 | 798 days ago | IN | 0 ETH | 0.00020319 | ||||
| Disburse Tokens | 4441365 | 798 days ago | IN | 0 ETH | 0.00010265 | ||||
| Disburse Maximum... | 4440638 | 798 days ago | IN | 0 ETH | 0.00010187 | ||||
| Disburse Maximum... | 4439932 | 798 days ago | IN | 0 ETH | 0.00013582 | ||||
| Disburse Maximum... | 4439250 | 798 days ago | IN | 0 ETH | 0.00010187 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Contract Name:
TCVPFaucet
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
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 amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` 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 amount) 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 `amount` 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 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` 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 amount
) external returns (bool);
/**
* @dev Returns the symbol of the token.
*/
function symbol() external view returns (string memory);
/**
* @dev Returns the decimals places of the token.
*/
function decimals() external view returns (uint8);
}
contract TCVPFaucet is Ownable{
address public tcvp;
uint256 public maxBalance;
uint256 public timeoutHours;
mapping(address => uint256) public canDisburseMoreAtTimestamp;
error TooGreedy(uint256 currentBalance);
error TooEarly(uint256 timeLeft);
event adjustedDisbursedAmount(uint256 indexed requestedAmount,
uint256 indexed maxBalance,
uint256 indexed newBalance);
constructor (address _tcvp, uint256 _maxBalance, uint256 _timeoutHours){
tcvp = _tcvp;
maxBalance = _maxBalance;
timeoutHours = _timeoutHours;
}
function setTcvp (address _tcvp) public onlyOwner {
tcvp = _tcvp;
}
function setMaxBalance (uint256 _maxBalance) public onlyOwner {
maxBalance = _maxBalance;
}
function setTimeoutHours (uint256 _timeoutHours) public onlyOwner {
timeoutHours = _timeoutHours;
}
function disburseTokens (uint256 amount) public {
uint256 newBalance = amount;
uint256 currentBalance = IERC20(tcvp).balanceOf(msg.sender);
if (currentBalance>maxBalance){
revert TooGreedy(currentBalance);
}
if (block.timestamp<canDisburseMoreAtTimestamp[msg.sender]){
revert TooEarly(canDisburseMoreAtTimestamp[msg.sender] - block.timestamp);
}
if (amount>maxBalance-currentBalance) {
newBalance = maxBalance-currentBalance;
emit adjustedDisbursedAmount(amount, maxBalance, newBalance);
}
canDisburseMoreAtTimestamp[msg.sender] = block.timestamp+timeoutHours*1 hours;
IERC20(tcvp).transfer(msg.sender, newBalance);
}
function disburseMaximumAmount() public {
uint256 currentBalance = IERC20(tcvp).balanceOf(msg.sender);
if (currentBalance>maxBalance){
revert TooGreedy(currentBalance);
}
if (block.timestamp<canDisburseMoreAtTimestamp[msg.sender]){
revert TooEarly(canDisburseMoreAtTimestamp[msg.sender] - block.timestamp);
}
uint256 newBalance = maxBalance-currentBalance;
canDisburseMoreAtTimestamp[msg.sender] = block.timestamp+timeoutHours*1 hours;
IERC20(tcvp).transfer(msg.sender, newBalance);
}
function allowableAmount(address _recipient) public view returns (uint256 amount) {
uint256 currentBalance = IERC20(tcvp).balanceOf(_recipient);
if (currentBalance>maxBalance){
return 0;
}
amount = maxBalance - currentBalance;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../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.
*
* By default, the owner account will be the one that deploys the contract. 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;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @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 {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @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 {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_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 v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @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;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract ABI
API[{"inputs":[{"internalType":"address","name":"_tcvp","type":"address"},{"internalType":"uint256","name":"_maxBalance","type":"uint256"},{"internalType":"uint256","name":"_timeoutHours","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"timeLeft","type":"uint256"}],"name":"TooEarly","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentBalance","type":"uint256"}],"name":"TooGreedy","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"maxBalance","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"adjustedDisbursedAmount","type":"event"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"allowableAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"canDisburseMoreAtTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disburseMaximumAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"disburseTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBalance","type":"uint256"}],"name":"setMaxBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tcvp","type":"address"}],"name":"setTcvp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_timeoutHours","type":"uint256"}],"name":"setTimeoutHours","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tcvp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeoutHours","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200127c3803806200127c833981810160405281019062000037919062000220565b620000576200004b620000af60201b60201c565b620000b760201b60201c565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600281905550806003819055505050506200027c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001ad8262000180565b9050919050565b620001bf81620001a0565b8114620001cb57600080fd5b50565b600081519050620001df81620001b4565b92915050565b6000819050919050565b620001fa81620001e5565b81146200020657600080fd5b50565b6000815190506200021a81620001ef565b92915050565b6000806000606084860312156200023c576200023b6200017b565b5b60006200024c86828701620001ce565b93505060206200025f8682870162000209565b9250506040620002728682870162000209565b9150509250925092565b610ff0806200028c6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063998f90bb1161008c578063bffa54e211610066578063bffa54e2146101d8578063c569178a146101f6578063dbec85d114610214578063f2fde38b14610230576100cf565b8063998f90bb146101705780639d51d9b71461018c578063b4c65653146101a8576100cf565b80630d50b902146100d457806344572b34146100de57806348ca2d40146100fa578063715018a61461012a57806373ad468a146101345780638da5cb5b14610152575b600080fd5b6100dc61024c565b005b6100f860048036038101906100f39190610bf6565b610516565b005b610114600480360381019061010f9190610c81565b610528565b6040516101219190610cbd565b60405180910390f35b610132610540565b005b61013c610554565b6040516101499190610cbd565b60405180910390f35b61015a61055a565b6040516101679190610ce7565b60405180910390f35b61018a60048036038101906101859190610bf6565b610583565b005b6101a660048036038101906101a19190610bf6565b610898565b005b6101c260048036038101906101bd9190610c81565b6108aa565b6040516101cf9190610cbd565b60405180910390f35b6101e0610976565b6040516101ed9190610ce7565b60405180910390f35b6101fe61099c565b60405161020b9190610cbd565b60405180910390f35b61022e60048036038101906102299190610c81565b6109a2565b005b61024a60048036038101906102459190610c81565b6109ee565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016102a99190610ce7565b602060405180830381865afa1580156102c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ea9190610d17565b905060025481111561033357806040517f6f2b1d7c00000000000000000000000000000000000000000000000000000000815260040161032a9190610cbd565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156104015742600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103c59190610d73565b6040517f2a35a3240000000000000000000000000000000000000000000000000000000081526004016103f89190610cbd565b60405180910390fd5b6000816002546104119190610d73565b9050610e106003546104239190610da7565b4261042e9190610de9565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016104ce929190610e1d565b6020604051808303816000875af11580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610e7e565b505050565b61051e610a71565b8060038190555050565b60046020528060005260406000206000915090505481565b610548610a71565b6105526000610aef565b565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008190506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016105e59190610ce7565b602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190610d17565b905060025481111561066f57806040517f6f2b1d7c0000000000000000000000000000000000000000000000000000000081526004016106669190610cbd565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442101561073d5742600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107019190610d73565b6040517f2a35a3240000000000000000000000000000000000000000000000000000000081526004016107349190610cbd565b60405180910390fd5b8060025461074b9190610d73565b83111561079457806002546107609190610d73565b915081600254847f1475536cc5d6c301c4105f3048505ed9852b993ccfdfffa1b007060664a702ac60405160405180910390a45b610e106003546107a49190610da7565b426107af9190610de9565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161084f929190610e1d565b6020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108929190610e7e565b50505050565b6108a0610a71565b8060028190555050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016109089190610ce7565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109499190610d17565b905060025481111561095f576000915050610971565b8060025461096d9190610d73565b9150505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6109aa610a71565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6109f6610a71565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90610f2e565b60405180910390fd5b610a6e81610aef565b50565b610a79610bb3565b73ffffffffffffffffffffffffffffffffffffffff16610a9761055a565b73ffffffffffffffffffffffffffffffffffffffff1614610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490610f9a565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b6000819050919050565b610bd381610bc0565b8114610bde57600080fd5b50565b600081359050610bf081610bca565b92915050565b600060208284031215610c0c57610c0b610bbb565b5b6000610c1a84828501610be1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c4e82610c23565b9050919050565b610c5e81610c43565b8114610c6957600080fd5b50565b600081359050610c7b81610c55565b92915050565b600060208284031215610c9757610c96610bbb565b5b6000610ca584828501610c6c565b91505092915050565b610cb781610bc0565b82525050565b6000602082019050610cd26000830184610cae565b92915050565b610ce181610c43565b82525050565b6000602082019050610cfc6000830184610cd8565b92915050565b600081519050610d1181610bca565b92915050565b600060208284031215610d2d57610d2c610bbb565b5b6000610d3b84828501610d02565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d7e82610bc0565b9150610d8983610bc0565b9250828203905081811115610da157610da0610d44565b5b92915050565b6000610db282610bc0565b9150610dbd83610bc0565b9250828202610dcb81610bc0565b91508282048414831517610de257610de1610d44565b5b5092915050565b6000610df482610bc0565b9150610dff83610bc0565b9250828201905080821115610e1757610e16610d44565b5b92915050565b6000604082019050610e326000830185610cd8565b610e3f6020830184610cae565b9392505050565b60008115159050919050565b610e5b81610e46565b8114610e6657600080fd5b50565b600081519050610e7881610e52565b92915050565b600060208284031215610e9457610e93610bbb565b5b6000610ea284828501610e69565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610f18602683610eab565b9150610f2382610ebc565b604082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610f84602083610eab565b9150610f8f82610f4e565b602082019050919050565b60006020820190508181036000830152610fb381610f77565b905091905056fea264697066735822122095f12fd5dc9ab0a2767a2004b539fb1c18182bb47297ed379da3dd894511988264736f6c63430008120033000000000000000000000000d5134ecd90eb63276af2fca897cc04d845afd74f0000000000000000000000000000000000000000000000d8d726b7177a800000000000000000000000000000000000000000000000000000000000000000000c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063998f90bb1161008c578063bffa54e211610066578063bffa54e2146101d8578063c569178a146101f6578063dbec85d114610214578063f2fde38b14610230576100cf565b8063998f90bb146101705780639d51d9b71461018c578063b4c65653146101a8576100cf565b80630d50b902146100d457806344572b34146100de57806348ca2d40146100fa578063715018a61461012a57806373ad468a146101345780638da5cb5b14610152575b600080fd5b6100dc61024c565b005b6100f860048036038101906100f39190610bf6565b610516565b005b610114600480360381019061010f9190610c81565b610528565b6040516101219190610cbd565b60405180910390f35b610132610540565b005b61013c610554565b6040516101499190610cbd565b60405180910390f35b61015a61055a565b6040516101679190610ce7565b60405180910390f35b61018a60048036038101906101859190610bf6565b610583565b005b6101a660048036038101906101a19190610bf6565b610898565b005b6101c260048036038101906101bd9190610c81565b6108aa565b6040516101cf9190610cbd565b60405180910390f35b6101e0610976565b6040516101ed9190610ce7565b60405180910390f35b6101fe61099c565b60405161020b9190610cbd565b60405180910390f35b61022e60048036038101906102299190610c81565b6109a2565b005b61024a60048036038101906102459190610c81565b6109ee565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016102a99190610ce7565b602060405180830381865afa1580156102c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ea9190610d17565b905060025481111561033357806040517f6f2b1d7c00000000000000000000000000000000000000000000000000000000815260040161032a9190610cbd565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210156104015742600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103c59190610d73565b6040517f2a35a3240000000000000000000000000000000000000000000000000000000081526004016103f89190610cbd565b60405180910390fd5b6000816002546104119190610d73565b9050610e106003546104239190610da7565b4261042e9190610de9565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016104ce929190610e1d565b6020604051808303816000875af11580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610e7e565b505050565b61051e610a71565b8060038190555050565b60046020528060005260406000206000915090505481565b610548610a71565b6105526000610aef565b565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008190506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016105e59190610ce7565b602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190610d17565b905060025481111561066f57806040517f6f2b1d7c0000000000000000000000000000000000000000000000000000000081526004016106669190610cbd565b60405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442101561073d5742600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107019190610d73565b6040517f2a35a3240000000000000000000000000000000000000000000000000000000081526004016107349190610cbd565b60405180910390fd5b8060025461074b9190610d73565b83111561079457806002546107609190610d73565b915081600254847f1475536cc5d6c301c4105f3048505ed9852b993ccfdfffa1b007060664a702ac60405160405180910390a45b610e106003546107a49190610da7565b426107af9190610de9565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b815260040161084f929190610e1d565b6020604051808303816000875af115801561086e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108929190610e7e565b50505050565b6108a0610a71565b8060028190555050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016109089190610ce7565b602060405180830381865afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109499190610d17565b905060025481111561095f576000915050610971565b8060025461096d9190610d73565b9150505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6109aa610a71565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6109f6610a71565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90610f2e565b60405180910390fd5b610a6e81610aef565b50565b610a79610bb3565b73ffffffffffffffffffffffffffffffffffffffff16610a9761055a565b73ffffffffffffffffffffffffffffffffffffffff1614610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae490610f9a565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b6000819050919050565b610bd381610bc0565b8114610bde57600080fd5b50565b600081359050610bf081610bca565b92915050565b600060208284031215610c0c57610c0b610bbb565b5b6000610c1a84828501610be1565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c4e82610c23565b9050919050565b610c5e81610c43565b8114610c6957600080fd5b50565b600081359050610c7b81610c55565b92915050565b600060208284031215610c9757610c96610bbb565b5b6000610ca584828501610c6c565b91505092915050565b610cb781610bc0565b82525050565b6000602082019050610cd26000830184610cae565b92915050565b610ce181610c43565b82525050565b6000602082019050610cfc6000830184610cd8565b92915050565b600081519050610d1181610bca565b92915050565b600060208284031215610d2d57610d2c610bbb565b5b6000610d3b84828501610d02565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d7e82610bc0565b9150610d8983610bc0565b9250828203905081811115610da157610da0610d44565b5b92915050565b6000610db282610bc0565b9150610dbd83610bc0565b9250828202610dcb81610bc0565b91508282048414831517610de257610de1610d44565b5b5092915050565b6000610df482610bc0565b9150610dff83610bc0565b9250828201905080821115610e1757610e16610d44565b5b92915050565b6000604082019050610e326000830185610cd8565b610e3f6020830184610cae565b9392505050565b60008115159050919050565b610e5b81610e46565b8114610e6657600080fd5b50565b600081519050610e7881610e52565b92915050565b600060208284031215610e9457610e93610bbb565b5b6000610ea284828501610e69565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610f18602683610eab565b9150610f2382610ebc565b604082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610f84602083610eab565b9150610f8f82610f4e565b602082019050919050565b60006020820190508181036000830152610fb381610f77565b905091905056fea264697066735822122095f12fd5dc9ab0a2767a2004b539fb1c18182bb47297ed379da3dd894511988264736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d5134ecd90eb63276af2fca897cc04d845afd74f0000000000000000000000000000000000000000000000d8d726b7177a800000000000000000000000000000000000000000000000000000000000000000000c
-----Decoded View---------------
Arg [0] : _tcvp (address): 0xD5134EcD90EB63276aF2Fca897cC04D845AfD74f
Arg [1] : _maxBalance (uint256): 4000000000000000000000
Arg [2] : _timeoutHours (uint256): 12
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000d5134ecd90eb63276af2fca897cc04d845afd74f
Arg [1] : 0000000000000000000000000000000000000000000000d8d726b7177a800000
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000c
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.