Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 81 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Send Token | 14980000 | 1354 days ago | IN | 0 ETH | 0.00272017 | ||||
| Send Token | 14977913 | 1354 days ago | IN | 0 ETH | 0.01196043 | ||||
| Send Token | 14974776 | 1355 days ago | IN | 0 ETH | 0.01316727 | ||||
| Send Token | 14971072 | 1355 days ago | IN | 0 ETH | 0.01605052 | ||||
| Change Recipient | 14969499 | 1356 days ago | IN | 0 ETH | 0.00168436 | ||||
| Send Token | 14965411 | 1356 days ago | IN | 0 ETH | 0.01283676 | ||||
| Send Token | 14962175 | 1357 days ago | IN | 0 ETH | 0.01241396 | ||||
| Send Token | 14958963 | 1358 days ago | IN | 0 ETH | 0.01204302 | ||||
| Send Token | 14954033 | 1358 days ago | IN | 0 ETH | 0.01459761 | ||||
| Send Token | 14948793 | 1359 days ago | IN | 0 ETH | 0.01207916 | ||||
| Send Token | 14943197 | 1360 days ago | IN | 0 ETH | 0.01203413 | ||||
| Send Token | 14939487 | 1361 days ago | IN | 0 ETH | 0.01648123 | ||||
| Send Token | 14933893 | 1362 days ago | IN | 0 ETH | 0.01464047 | ||||
| Send Token | 14933877 | 1362 days ago | IN | 0 ETH | 0.02032212 | ||||
| Send Token | 14929120 | 1363 days ago | IN | 0 ETH | 0.01712621 | ||||
| Send Token | 14923277 | 1364 days ago | IN | 0 ETH | 0.01515465 | ||||
| Send Token | 14919607 | 1364 days ago | IN | 0 ETH | 0.01213647 | ||||
| Send Token | 14919596 | 1364 days ago | IN | 0 ETH | 0.0119131 | ||||
| Send Token | 14916139 | 1365 days ago | IN | 0 ETH | 0.01506922 | ||||
| Send Token | 14912890 | 1365 days ago | IN | 0 ETH | 0.0121716 | ||||
| Send Token | 14912195 | 1366 days ago | IN | 0 ETH | 0.01435237 | ||||
| Send Token | 14908562 | 1366 days ago | IN | 0 ETH | 0.01216563 | ||||
| Send Token | 14904646 | 1367 days ago | IN | 0 ETH | 0.0130992 | ||||
| Unlock | 14902696 | 1367 days ago | IN | 0 ETH | 0.00072594 | ||||
| Unlock | 14902674 | 1367 days ago | IN | 0 ETH | 0.00104001 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Holding
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 800 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract Holding {
uint256 public unlocked;
address public recipient;
address public token;
address public owner;
constructor(address _token, address _recipient) {
owner = msg.sender;
token = _token;
recipient = _recipient;
}
function unlock(uint256 unlockAmount) public onlyOwner {
require(unlockAmount <= IERC20(token).balanceOf(address(this)), "unlock > balance");
unlocked = unlockAmount;
}
function sendToken(uint256 amount) public onlyOwner {
require(amount <= unlocked, "more than unlocked");
IERC20(token).transfer(recipient, amount);
}
function changeRecipient(address newRecipient) public onlyOwner {
require(newRecipient != address(0));
recipient = newRecipient;
}
function transferOwnership(address newOwner) external onlyOwner {
require(newOwner != address(0));
owner = newOwner;
}
modifier onlyOwner {
require(msg.sender == owner, "only owner");
_;
}
}// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @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 `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount) external returns (bool);
/**
* @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);
}{
"optimizer": {
"enabled": true,
"runs": 800
},
"metadata": {
"bytecodeHash": "none"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"newRecipient","type":"address"}],"name":"changeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"unlockAmount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlocked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5060405161058b38038061058b8339818101604052604081101561003357600080fd5b508051602090910151600380546001600160a01b03199081163317909155600280546001600160a01b0394851690831617905560018054939092169216919091179055610506806100856000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b1461010757806392c2bcb41461010f578063f2fde38b14610135578063fc0c546a1461015b57610088565b8063437e95f11461008d5780636198e339146100ac57806366d003ac146100c95780636a5e2650146100ed575b600080fd5b6100aa600480360360208110156100a357600080fd5b5035610163565b005b6100aa600480360360208110156100c257600080fd5b503561028e565b6100d16103aa565b604080516001600160a01b039092168252519081900360200190f35b6100f56103b9565b60408051918252519081900360200190f35b6100d16103bf565b6100aa6004803603602081101561012557600080fd5b50356001600160a01b03166103ce565b6100aa6004803603602081101561014b57600080fd5b50356001600160a01b031661045c565b6100d16104ea565b6003546001600160a01b031633146101af576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600054811115610206576040805162461bcd60e51b815260206004820152601260248201527f6d6f7265207468616e20756e6c6f636b65640000000000000000000000000000604482015290519081900360640190fd5b6002546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561025f57600080fd5b505af1158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b505050565b6003546001600160a01b031633146102da576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d602081101561034f57600080fd5b50518111156103a5576040805162461bcd60e51b815260206004820152601060248201527f756e6c6f636b203e2062616c616e636500000000000000000000000000000000604482015290519081900360640190fd5b600055565b6001546001600160a01b031681565b60005481565b6003546001600160a01b031681565b6003546001600160a01b0316331461041a576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b03811661042d57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6003546001600160a01b031633146104a8576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b0381166104bb57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6002546001600160a01b03168156fea164736f6c6343000706000a0000000000000000000000006bea7cfef803d1e3d5f7c0103f7ded065644e19700000000000000000000000026805021988f1a45dc708b5fb75fc75f21747d8c
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b1461010757806392c2bcb41461010f578063f2fde38b14610135578063fc0c546a1461015b57610088565b8063437e95f11461008d5780636198e339146100ac57806366d003ac146100c95780636a5e2650146100ed575b600080fd5b6100aa600480360360208110156100a357600080fd5b5035610163565b005b6100aa600480360360208110156100c257600080fd5b503561028e565b6100d16103aa565b604080516001600160a01b039092168252519081900360200190f35b6100f56103b9565b60408051918252519081900360200190f35b6100d16103bf565b6100aa6004803603602081101561012557600080fd5b50356001600160a01b03166103ce565b6100aa6004803603602081101561014b57600080fd5b50356001600160a01b031661045c565b6100d16104ea565b6003546001600160a01b031633146101af576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600054811115610206576040805162461bcd60e51b815260206004820152601260248201527f6d6f7265207468616e20756e6c6f636b65640000000000000000000000000000604482015290519081900360640190fd5b6002546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018590529051919092169163a9059cbb9160448083019260209291908290030181600087803b15801561025f57600080fd5b505af1158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b505050565b6003546001600160a01b031633146102da576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d602081101561034f57600080fd5b50518111156103a5576040805162461bcd60e51b815260206004820152601060248201527f756e6c6f636b203e2062616c616e636500000000000000000000000000000000604482015290519081900360640190fd5b600055565b6001546001600160a01b031681565b60005481565b6003546001600160a01b031681565b6003546001600160a01b0316331461041a576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b03811661042d57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6003546001600160a01b031633146104a8576040805162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b604482015290519081900360640190fd5b6001600160a01b0381166104bb57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6002546001600160a01b03168156fea164736f6c6343000706000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006bea7cfef803d1e3d5f7c0103f7ded065644e19700000000000000000000000026805021988f1a45dc708b5fb75fc75f21747d8c
-----Decoded View---------------
Arg [0] : _token (address): 0x6BeA7CFEF803D1e3d5f7C0103f7ded065644e197
Arg [1] : _recipient (address): 0x26805021988F1a45dC708B5FB75Fc75F21747D8c
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000006bea7cfef803d1e3d5f7c0103f7ded065644e197
Arg [1] : 00000000000000000000000026805021988f1a45dc708b5fb75fc75f21747d8c
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
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.