ETH Price: $2,037.46 (+6.15%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

5 Token Transfers found.

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ADOVault

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

import "./utils/Context.sol";
import "./interfaces/IERC20.sol";

contract ADOVault is Context {
	uint private _lockedUntil;
	uint constant private timeunit = 1 days;
	address private _owner;
	IERC20 public immutable tokenContract;
	uint256 public immutable slice;

	event ADOVaultWithdraw(address indexed to, uint256 indexed slice);

	modifier onlyOwner() {
		require(_owner == _msgSender(), "ADOVault: caller is not the owner");
		_;
	}

	constructor() {
		_owner = _msgSender();
		tokenContract = IERC20(0xf9902EdfCa4F49DcaEBC335C73aEbD82C79C2886);
		_lockedUntil = block.timestamp + (365 * timeunit);
		slice = 5000000 * 10 ** 18;
	}

	function owner() external view returns (address) {
		return _owner;
	}

	function lockedUntil() external view returns (uint) {
		return _lockedUntil;
	}

	function tokenBalance() external view returns (uint256) {
		return tokenContract.balanceOf(address(this));
	}

	function unlockTokens(address to) external onlyOwner returns (uint) {
		require(to != address(0), "ADOVault: transfer to the zero address");
		require(block.timestamp > _lockedUntil, "ADOVault: Tokens cannot be withdrawn");
		require(tokenContract.balanceOf(address(this)) > 0, "ADOVault: The Vault is empty");
		if (tokenContract.balanceOf(address(this)) >= slice) {
			emit ADOVaultWithdraw(to, slice);
			tokenContract.transfer(to, slice);
		} else {
			uint256 amount = tokenContract.balanceOf(address(this));
			emit ADOVaultWithdraw(to, amount);
			tokenContract.transfer(to, amount);
		}
		_lockedUntil = block.timestamp + (30 * timeunit);
		return _lockedUntil;
	}
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    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.24;

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;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"slice","type":"uint256"}],"name":"ADOVaultWithdraw","type":"event"},{"inputs":[],"name":"lockedUntil","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":"slice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"unlockTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

60c060405234801561000f575f80fd5b50600180546001600160a01b0319163317905573f9902edfca4f49dcaebc335c73aebd82c79c28866080526100496201518061016d61007d565b610053904261009a565b5f556a0422ca8b0a00a42500000060a0526100ad565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761009457610094610069565b92915050565b8082018082111561009457610094610069565b60805160a0516107a861010b5f395f818160ad015281816103b30152818161045001526104bf01525f8181606901528181610127015281816102e0015281816103d5015281816104e50152818161056c015261063c01526107a85ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c806355a373d6146100645780637f371624146100a85780638da5cb5b146100dd5780639e1a4d19146100ee578063cb67f948146100f6578063ce0617ec14610109575b5f80fd5b61008b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cf7f000000000000000000000000000000000000000000000000000000000000000081565b60405190815260200161009f565b6001546001600160a01b031661008b565b6100cf610110565b6100cf6101043660046106cb565b61019d565b5f546100cf565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610174573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019891906106f8565b905090565b6001545f906001600160a01b031633146102085760405162461bcd60e51b815260206004820152602160248201527f41444f5661756c743a2063616c6c6572206973206e6f7420746865206f776e656044820152603960f91b60648201526084015b60405180910390fd5b6001600160a01b03821661026d5760405162461bcd60e51b815260206004820152602660248201527f41444f5661756c743a207472616e7366657220746f20746865207a65726f206160448201526564647265737360d01b60648201526084016101ff565b5f5442116102c95760405162461bcd60e51b8152602060048201526024808201527f41444f5661756c743a20546f6b656e732063616e6e6f742062652077697468646044820152633930bbb760e11b60648201526084016101ff565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561032d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035191906106f8565b1161039e5760405162461bcd60e51b815260206004820152601c60248201527f41444f5661756c743a20546865205661756c7420697320656d7074790000000060448201526064016101ff565b6040516370a0823160e01b81523060048201527f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610422573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044691906106f8565b10610555576040517f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b038416907ff6bebc4a755296353eca1e927258c237346a638906a7ff17f9ccb21ecce527ad905f90a360405163a9059cbb60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000060248301527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af115801561052b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054f919061070f565b506106a9565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156105b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105dd91906106f8565b905080836001600160a01b03167ff6bebc4a755296353eca1e927258c237346a638906a7ff17f9ccb21ecce527ad60405160405180910390a360405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610682573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a6919061070f565b50505b6106b762015180601e610742565b6106c1904261075f565b5f81905592915050565b5f602082840312156106db575f80fd5b81356001600160a01b03811681146106f1575f80fd5b9392505050565b5f60208284031215610708575f80fd5b5051919050565b5f6020828403121561071f575f80fd5b815180151581146106f1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107595761075961072e565b92915050565b808201808211156107595761075961072e56fea2646970667358221220e5a6eceb0bba3c00658df8cc0c1775d193f6d0b026b6d5271361cea792b0d59f64736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610060575f3560e01c806355a373d6146100645780637f371624146100a85780638da5cb5b146100dd5780639e1a4d19146100ee578063cb67f948146100f6578063ce0617ec14610109575b5f80fd5b61008b7f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c288681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100cf7f0000000000000000000000000000000000000000000422ca8b0a00a42500000081565b60405190815260200161009f565b6001546001600160a01b031661008b565b6100cf610110565b6100cf6101043660046106cb565b61019d565b5f546100cf565b6040516370a0823160e01b81523060048201525f907f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c28866001600160a01b0316906370a0823190602401602060405180830381865afa158015610174573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019891906106f8565b905090565b6001545f906001600160a01b031633146102085760405162461bcd60e51b815260206004820152602160248201527f41444f5661756c743a2063616c6c6572206973206e6f7420746865206f776e656044820152603960f91b60648201526084015b60405180910390fd5b6001600160a01b03821661026d5760405162461bcd60e51b815260206004820152602660248201527f41444f5661756c743a207472616e7366657220746f20746865207a65726f206160448201526564647265737360d01b60648201526084016101ff565b5f5442116102c95760405162461bcd60e51b8152602060048201526024808201527f41444f5661756c743a20546f6b656e732063616e6e6f742062652077697468646044820152633930bbb760e11b60648201526084016101ff565b6040516370a0823160e01b81523060048201525f907f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c28866001600160a01b0316906370a0823190602401602060405180830381865afa15801561032d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035191906106f8565b1161039e5760405162461bcd60e51b815260206004820152601c60248201527f41444f5661756c743a20546865205661756c7420697320656d7074790000000060448201526064016101ff565b6040516370a0823160e01b81523060048201527f0000000000000000000000000000000000000000000422ca8b0a00a425000000907f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c28866001600160a01b0316906370a0823190602401602060405180830381865afa158015610422573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044691906106f8565b10610555576040517f0000000000000000000000000000000000000000000422ca8b0a00a425000000906001600160a01b038416907ff6bebc4a755296353eca1e927258c237346a638906a7ff17f9ccb21ecce527ad905f90a360405163a9059cbb60e01b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000422ca8b0a00a42500000060248301527f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c2886169063a9059cbb906044016020604051808303815f875af115801561052b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054f919061070f565b506106a9565b6040516370a0823160e01b81523060048201525f907f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c28866001600160a01b0316906370a0823190602401602060405180830381865afa1580156105b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105dd91906106f8565b905080836001600160a01b03167ff6bebc4a755296353eca1e927258c237346a638906a7ff17f9ccb21ecce527ad60405160405180910390a360405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390527f000000000000000000000000f9902edfca4f49dcaebc335c73aebd82c79c2886169063a9059cbb906044016020604051808303815f875af1158015610682573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a6919061070f565b50505b6106b762015180601e610742565b6106c1904261075f565b5f81905592915050565b5f602082840312156106db575f80fd5b81356001600160a01b03811681146106f1575f80fd5b9392505050565b5f60208284031215610708575f80fd5b5051919050565b5f6020828403121561071f575f80fd5b815180151581146106f1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107595761075961072e565b92915050565b808201808211156107595761075961072e56fea2646970667358221220e5a6eceb0bba3c00658df8cc0c1775d193f6d0b026b6d5271361cea792b0d59f64736f6c63430008180033

Deployed Bytecode Sourcemap

122:1515:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:37;;;;;;;;-1:-1:-1;;;;;192:32:3;;;174:51;;162:2;147:18;249:37:0;;;;;;;;289:30;;;;;;;;382:25:3;;;370:2;355:18;289:30:0;236:177:3;696:70:0;756:6;;-1:-1:-1;;;;;756:6:0;696:70;;851:109;;;:::i;963:672::-;;;;;;:::i;:::-;;:::i;769:79::-;815:4;832:12;769:79;;851:109;918:38;;-1:-1:-1;;;918:38:0;;950:4;918:38;;;174:51:3;898:7:0;;918:13;-1:-1:-1;;;;;918:23:0;;;;147:18:3;;918:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;911:45;;851:109;:::o;963:672::-;425:6;;1025:4;;-1:-1:-1;;;;;425:6:0;236:10:2;425:22:0;417:68;;;;-1:-1:-1;;;417:68:0;;1308:2:3;417:68:0;;;1290:21:3;1347:2;1327:18;;;1320:30;1386:34;1366:18;;;1359:62;-1:-1:-1;;;1437:18:3;;;1430:31;1478:19;;417:68:0;;;;;;;;;-1:-1:-1;;;;;1043:16:0;::::1;1035:67;;;::::0;-1:-1:-1;;;1035:67:0;;1710:2:3;1035:67:0::1;::::0;::::1;1692:21:3::0;1749:2;1729:18;;;1722:30;1788:34;1768:18;;;1761:62;-1:-1:-1;;;1839:18:3;;;1832:36;1885:19;;1035:67:0::1;1508:402:3::0;1035:67:0::1;1132:12;;1114:15;:30;1106:79;;;::::0;-1:-1:-1;;;1106:79:0;;2117:2:3;1106:79:0::1;::::0;::::1;2099:21:3::0;2156:2;2136:18;;;2129:30;2195:34;2175:18;;;2168:62;-1:-1:-1;;;2246:18:3;;;2239:34;2290:19;;1106:79:0::1;1915:400:3::0;1106:79:0::1;1197:38;::::0;-1:-1:-1;;;1197:38:0;;1229:4:::1;1197:38;::::0;::::1;174:51:3::0;1238:1:0::1;::::0;1197:13:::1;-1:-1:-1::0;;;;;1197:23:0::1;::::0;::::1;::::0;147:18:3;;1197:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;1189:83;;;::::0;-1:-1:-1;;;1189:83:0;;2522:2:3;1189:83:0::1;::::0;::::1;2504:21:3::0;2561:2;2541:18;;;2534:30;2600;2580:18;;;2573:58;2648:18;;1189:83:0::1;2320:352:3::0;1189:83:0::1;1280:38;::::0;-1:-1:-1;;;1280:38:0;;1312:4:::1;1280:38;::::0;::::1;174:51:3::0;1322:5:0::1;::::0;1280:13:::1;-1:-1:-1::0;;;;;1280:23:0::1;::::0;::::1;::::0;147:18:3;;1280:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:47;1276:281;;1339:27;::::0;1360:5:::1;::::0;-1:-1:-1;;;;;1339:27:0;::::1;::::0;::::1;::::0;;;::::1;1371:33;::::0;-1:-1:-1;;;1371:33:0;;-1:-1:-1;;;;;2869:32:3;;;1371:33:0::1;::::0;::::1;2851:51:3::0;1398:5:0::1;2918:18:3::0;;;2911:34;1371:13:0::1;:22;::::0;::::1;::::0;2824:18:3;;1371:33:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1276:281;;;1437:38;::::0;-1:-1:-1;;;1437:38:0;;1469:4:::1;1437:38;::::0;::::1;174:51:3::0;1420:14:0::1;::::0;1437:13:::1;-1:-1:-1::0;;;;;1437:23:0::1;::::0;::::1;::::0;147:18:3;;1437:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1420:55;;1506:6;1502:2;-1:-1:-1::0;;;;;1485:28:0::1;;;;;;;;;;;1518:34;::::0;-1:-1:-1;;;1518:34:0;;-1:-1:-1;;;;;2869:32:3;;;1518:34:0::1;::::0;::::1;2851:51:3::0;2918:18;;;2911:34;;;1518:13:0::1;:22;::::0;::::1;::::0;2824:18:3;;1518:34:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1415:142;1276:281;1594:13;215:6;1594:2;:13;:::i;:::-;1575:33;::::0;:15:::1;:33;:::i;:::-;1560:12;:48:::0;;;;963:672;-1:-1:-1;;963:672:0:o;626:286:3:-;685:6;738:2;726:9;717:7;713:23;709:32;706:52;;;754:1;751;744:12;706:52;780:23;;-1:-1:-1;;;;;832:31:3;;822:42;;812:70;;878:1;875;868:12;812:70;901:5;626:286;-1:-1:-1;;;626:286:3:o;917:184::-;987:6;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;-1:-1:-1;1079:16:3;;917:184;-1:-1:-1;917:184:3:o;2956:277::-;3023:6;3076:2;3064:9;3055:7;3051:23;3047:32;3044:52;;;3092:1;3089;3082:12;3044:52;3124:9;3118:16;3177:5;3170:13;3163:21;3156:5;3153:32;3143:60;;3199:1;3196;3189:12;3238:127;3299:10;3294:3;3290:20;3287:1;3280:31;3330:4;3327:1;3320:15;3354:4;3351:1;3344:15;3370:168;3443:9;;;3474;;3491:15;;;3485:22;;3471:37;3461:71;;3512:18;;:::i;:::-;3370:168;;;;:::o;3543:125::-;3608:9;;;3629:10;;;3626:36;;;3642:18;;:::i

Swarm Source

ipfs://e5a6eceb0bba3c00658df8cc0c1775d193f6d0b026b6d5271361cea792b0d59f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

1 Year cliff, 5M released per month for 60 months

Loading...
Loading

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.