ETH Price: $2,514.98 (+2.48%)

Contract

0x223e36CbEbE52F784cd3Fb1717CC2037A0888e02
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Set Owner187029442023-12-03 2:38:23275 days ago1701571103IN
0x223e36Cb...7A0888e02
0 ETH0.000822230.54823868
Transfer182850592023-10-05 14:59:11333 days ago1696517951IN
0x223e36Cb...7A0888e02
0 ETH0.0006697511.09309873
Withdraw178498322023-08-05 16:02:23394 days ago1691251343IN
0x223e36Cb...7A0888e02
0 ETH0.0005566218.29018315
Transfer175497102023-06-24 13:35:23436 days ago1687613723IN
0x223e36Cb...7A0888e02
0 ETH0.0005957413.76609696
Transfer173399012023-05-26 1:06:11466 days ago1685063171IN
0x223e36Cb...7A0888e02
0.00082382 ETH0.0005601826.60565822
Transfer172273392023-05-10 3:28:59482 days ago1683689339IN
0x223e36Cb...7A0888e02
0 ETH0.0025481858.86588834
Set Token172273382023-05-10 3:28:47482 days ago1683689327IN
0x223e36Cb...7A0888e02
0 ETH0.0017631560.93092433
Emergency Withdr...172273202023-05-10 3:25:11482 days ago1683689111IN
0x223e36Cb...7A0888e02
0 ETH0.0022260960.54774311
Transfer171818492023-05-03 18:04:11488 days ago1683137051IN
0x223e36Cb...7A0888e02
0.012 ETH0.0019099490.71240754
Transfer171078852023-04-23 8:40:11498 days ago1682239211IN
0x223e36Cb...7A0888e02
0.005 ETH0.0008253139.1978318
Transfer170806372023-04-19 12:26:35502 days ago1681907195IN
0x223e36Cb...7A0888e02
0.06364638 ETH0.0014766770.13394513
Transfer170776432023-04-19 2:16:47503 days ago1681870607IN
0x223e36Cb...7A0888e02
0.00987793 ETH0.0008992242.7083654
Transfer170041762023-04-08 14:09:23513 days ago1680962963IN
0x223e36Cb...7A0888e02
0.05 ETH0.0004501121.37802766
Transfer169588952023-04-02 3:57:59520 days ago1680407879IN
0x223e36Cb...7A0888e02
0.02294643 ETH0.0004004619.0201421
Transfer168839762023-03-22 15:19:23530 days ago1679498363IN
0x223e36Cb...7A0888e02
0.01 ETH0.0008268239.2698969
Transfer168675932023-03-20 8:07:47532 days ago1679299667IN
0x223e36Cb...7A0888e02
0 ETH0.0002777713.19281221
Transfer168618222023-03-19 12:38:59533 days ago1679229539IN
0x223e36Cb...7A0888e02
0.03207504 ETH0.0003416516.22659232
Transfer168515632023-03-18 2:04:59535 days ago1679105099IN
0x223e36Cb...7A0888e02
0.05 ETH0.0003926418.64840085
Transfer168463952023-03-17 8:37:47535 days ago1679042267IN
0x223e36Cb...7A0888e02
0.01428551 ETH0.000364717.32175097
Transfer168463922023-03-17 8:37:11535 days ago1679042231IN
0x223e36Cb...7A0888e02
0.01955343 ETH0.0003533816.78388435
Transfer168189812023-03-13 12:10:11539 days ago1678709411IN
0x223e36Cb...7A0888e02
0.03 ETH0.0003826718.17498391
Transfer167421852023-03-02 16:54:23550 days ago1677776063IN
0x223e36Cb...7A0888e02
0.0260613 ETH0.0010623450.4559014
Transfer167276022023-02-28 15:38:59552 days ago1677598739IN
0x223e36Cb...7A0888e02
0.00061 ETH0.0005866427.86230578
Transfer167042892023-02-25 9:03:11555 days ago1677315791IN
0x223e36Cb...7A0888e02
0 ETH0.0004671322.18638423
Transfer166813672023-02-22 3:37:47559 days ago1677037067IN
0x223e36Cb...7A0888e02
0.01 ETH0.0006882532.68845897
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
178498322023-08-05 16:02:23394 days ago1691251343
0x223e36Cb...7A0888e02
0.35687987 ETH
166538182023-02-18 6:43:11563 days ago1676702591
0x223e36Cb...7A0888e02
1.00843897 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TwitFiDeposit

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 150 runs

Other Settings:
default evmVersion
File 1 of 2 : TwitFiDeposit.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract TwitFiDeposit {
    address public _owner;
    IERC20 public _twitfi;

    constructor(IERC20 _token) {
        _owner = msg.sender;
        _twitfi = _token;
    }

    function setToken(IERC20 _token) public onlyOwner {
        _twitfi = _token;
    }

    function setOwner(address _newOwner) public onlyOwner {
        _owner = _newOwner;
    }

    function transfer(address _to, uint _amount) public onlyOwner {
        require(_twitfi.balanceOf(address(this)) >= _amount, "INSUFFICIENT_BALANCE");
        _twitfi.transfer(_to, _amount);
    }

    function withdraw() public onlyOwner {
        uint amount = address(this).balance;
        require(amount > 0, "Insufficient balance");
        (bool success, ) = payable(_owner).call {
            value: amount
        }("");

        require(success, "Failed to send Matic");
    }

    function emergencyWithdraw() external onlyOwner {
        _twitfi.transfer(_owner, _twitfi.balanceOf(address(this)));
    }

    modifier onlyOwner {
        require(msg.sender == _owner, "UNAUTHORIZED");
        _;
    }

    receive() payable external {}
}

File 2 of 2 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @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 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);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 150
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_twitfi","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060405161070f38038061070f83398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b61066e806100a16000396000f3fe6080604052600436106100645760003560e01c806313af403514610070578063144fa6d7146100925780633ccfd60b146100b2578063a9059cbb146100c7578063ad267675146100e7578063b2bdfa7b14610123578063db2e21bc1461014357600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b366004610587565b610158565b005b34801561009e57600080fd5b506100906100ad366004610587565b6101ad565b3480156100be57600080fd5b506100906101f9565b3480156100d357600080fd5b506100906100e23660046105ab565b610306565b3480156100f357600080fd5b50600154610107906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561012f57600080fd5b50600054610107906001600160a01b031681565b34801561014f57600080fd5b5061009061045d565b6000546001600160a01b0316331461018b5760405162461bcd60e51b8152600401610182906105d7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146101d75760405162461bcd60e51b8152600401610182906105d7565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146102235760405162461bcd60e51b8152600401610182906105d7565b47806102685760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610182565b600080546040516001600160a01b039091169083908381818185875af1925050503d80600081146102b5576040519150601f19603f3d011682016040523d82523d6000602084013e6102ba565b606091505b50509050806103025760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f2073656e64204d6174696360601b6044820152606401610182565b5050565b6000546001600160a01b031633146103305760405162461bcd60e51b8152600401610182906105d7565b6001546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015610378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039c91906105fd565b10156103e15760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610182565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190610616565b505050565b6000546001600160a01b031633146104875760405162461bcd60e51b8152600401610182906105d7565b6001546000546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906105fd565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561054b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056f9190610616565b50565b6001600160a01b038116811461056f57600080fd5b60006020828403121561059957600080fd5b81356105a481610572565b9392505050565b600080604083850312156105be57600080fd5b82356105c981610572565b946020939093013593505050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b60006020828403121561060f57600080fd5b5051919050565b60006020828403121561062857600080fd5b815180151581146105a457600080fdfea2646970667358221220c9b516e8c4424d2a4555a6731be4239cc2b8adf0f8477bd4e26aa1c6dae09ed964736f6c634300081100330000000000000000000000003a9cf14a7ade7544645ca49a88f7a20623ba0442

Deployed Bytecode

0x6080604052600436106100645760003560e01c806313af403514610070578063144fa6d7146100925780633ccfd60b146100b2578063a9059cbb146100c7578063ad267675146100e7578063b2bdfa7b14610123578063db2e21bc1461014357600080fd5b3661006b57005b600080fd5b34801561007c57600080fd5b5061009061008b366004610587565b610158565b005b34801561009e57600080fd5b506100906100ad366004610587565b6101ad565b3480156100be57600080fd5b506100906101f9565b3480156100d357600080fd5b506100906100e23660046105ab565b610306565b3480156100f357600080fd5b50600154610107906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561012f57600080fd5b50600054610107906001600160a01b031681565b34801561014f57600080fd5b5061009061045d565b6000546001600160a01b0316331461018b5760405162461bcd60e51b8152600401610182906105d7565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146101d75760405162461bcd60e51b8152600401610182906105d7565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146102235760405162461bcd60e51b8152600401610182906105d7565b47806102685760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610182565b600080546040516001600160a01b039091169083908381818185875af1925050503d80600081146102b5576040519150601f19603f3d011682016040523d82523d6000602084013e6102ba565b606091505b50509050806103025760405162461bcd60e51b81526020600482015260146024820152734661696c656420746f2073656e64204d6174696360601b6044820152606401610182565b5050565b6000546001600160a01b031633146103305760405162461bcd60e51b8152600401610182906105d7565b6001546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015610378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039c91906105fd565b10156103e15760405162461bcd60e51b8152602060048201526014602482015273494e53554646494349454e545f42414c414e434560601b6044820152606401610182565b60015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190610616565b505050565b6000546001600160a01b031633146104875760405162461bcd60e51b8152600401610182906105d7565b6001546000546040516370a0823160e01b81523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906105fd565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561054b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056f9190610616565b50565b6001600160a01b038116811461056f57600080fd5b60006020828403121561059957600080fd5b81356105a481610572565b9392505050565b600080604083850312156105be57600080fd5b82356105c981610572565b946020939093013593505050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b60006020828403121561060f57600080fd5b5051919050565b60006020828403121561062857600080fd5b815180151581146105a457600080fdfea2646970667358221220c9b516e8c4424d2a4555a6731be4239cc2b8adf0f8477bd4e26aa1c6dae09ed964736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000003a9cf14a7ade7544645ca49a88f7a20623ba0442

-----Decoded View---------------
Arg [0] : _token (address): 0x3A9CF14A7aDE7544645cA49A88F7a20623bA0442

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a9cf14a7ade7544645ca49a88f7a20623ba0442


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.