Address Contract Partially Verified
Address
0x17d06960f23373E7A2A1D2757f2eA341E9F356F8
Balance
0 ETH
Nonce
1
Code Size
4492 bytes
Creator
0x6A992545...3B14 at tx 0x766e4f72...637495
Indexed Transactions
0
Contract Bytecode
4492 bytes
0x60806040526004361061009b575f3560e01c806370a082311161006357806370a082311461014b578063715018a61461018757806382ca116d1461019d5780638da5cb5b146101c5578063dd48087f146101ef578063f2fde38b1461022b5761009b565b806312065fe01461009f5780633ccfd60b146100c957806349df728c146100df5780635358fbda146101075780635c5b9f8f14610123575b5f80fd5b3480156100aa575f80fd5b506100b3610253565b6040516100c09190610b73565b60405180910390f35b3480156100d4575f80fd5b506100dd61025a565b005b3480156100ea575f80fd5b5061010560048036038101906101009190610bfb565b6102d6565b005b610121600480360381019061011c9190610c50565b6103d9565b005b34801561012e575f80fd5b5061014960048036038101906101449190610ca5565b610524565b005b348015610156575f80fd5b50610171600480360381019061016c9190610cf5565b6107f9565b60405161017e9190610b73565b60405180910390f35b348015610192575f80fd5b5061019b61087e565b005b3480156101a8575f80fd5b506101c360048036038101906101be9190610cf5565b610891565b005b3480156101d0575f80fd5b506101d96108dc565b6040516101e69190610d2f565b60405180910390f35b3480156101fa575f80fd5b5061021560048036038101906102109190610cf5565b610903565b6040516102229190610b73565b60405180910390f35b348015610236575f80fd5b50610251600480360381019061024c9190610cf5565b610988565b005b5f47905090565b610262610a0c565b5f3373ffffffffffffffffffffffffffffffffffffffff164760405161028790610d75565b5f6040518083038185875af1925050503d805f81146102c1576040519150601f19603f3d011682016040523d82523d5f602084013e6102c6565b606091505b50509050806102d3575f80fd5b50565b6102de610a0c565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103189190610d2f565b602060405180830381865afa158015610333573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103579190610d9d565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610394929190610dc8565b6020604051808303815f875af11580156103b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103d49190610e24565b505050565b5f34101561041c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041390610ea9565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163460405161046290610d75565b5f6040518083038185875af1925050503d805f811461049c576040519150601f19603f3d011682016040523d82523d5f602084013e6104a1565b606091505b50509050806104e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dc90610f11565b60405180910390fd5b7f57e8e547a3ef8d890c570ca885b0a8c441be3070e36b7ad4c7d6b9d9316ff2ce33348460405161051893929190610f2f565b60405180910390a15050565b5f8211610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055d90610fae565b60405180910390fd5b818373ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016105a09190610d2f565b602060405180830381865afa1580156105bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105df9190610d9d565b1015610620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061790611016565b60405180910390fd5b5f808473ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b3360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168760405160240161067793929190611034565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106e191906110b1565b5f604051808303815f865af19150503d805f811461071a576040519150601f19603f3d011682016040523d82523d5f602084013e61071f565b606091505b509150915081801561074c57505f8151148061074b57508080602001905181019061074a9190610e24565b5b5b61078b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078290611111565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d786866040516107ea92919061112f565b60405180910390a35050505050565b5f808273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016108349190610d2f565b602060405180830381865afa15801561084f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108739190610d9d565b905080915050919050565b610886610a0c565b61088f5f610a93565b565b610899610a0c565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161093e9190610d2f565b602060405180830381865afa158015610959573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061097d9190610d9d565b905080915050919050565b610990610a0c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a00575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016109f79190610d2f565b60405180910390fd5b610a0981610a93565b50565b610a14610b54565b73ffffffffffffffffffffffffffffffffffffffff16610a326108dc565b73ffffffffffffffffffffffffffffffffffffffff1614610a9157610a55610b54565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610a889190610d2f565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f819050919050565b610b6d81610b5b565b82525050565b5f602082019050610b865f830184610b64565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610bb982610b90565b9050919050565b5f610bca82610baf565b9050919050565b610bda81610bc0565b8114610be4575f80fd5b50565b5f81359050610bf581610bd1565b92915050565b5f60208284031215610c1057610c0f610b8c565b5b5f610c1d84828501610be7565b91505092915050565b610c2f81610b5b565b8114610c39575f80fd5b50565b5f81359050610c4a81610c26565b92915050565b5f60208284031215610c6557610c64610b8c565b5b5f610c7284828501610c3c565b91505092915050565b610c8481610baf565b8114610c8e575f80fd5b50565b5f81359050610c9f81610c7b565b92915050565b5f805f60608486031215610cbc57610cbb610b8c565b5b5f610cc986828701610c91565b9350506020610cda86828701610c3c565b9250506040610ceb86828701610c3c565b9150509250925092565b5f60208284031215610d0a57610d09610b8c565b5b5f610d1784828501610c91565b91505092915050565b610d2981610baf565b82525050565b5f602082019050610d425f830184610d20565b92915050565b5f81905092915050565b50565b5f610d605f83610d48565b9150610d6b82610d52565b5f82019050919050565b5f610d7f82610d55565b9150819050919050565b5f81519050610d9781610c26565b92915050565b5f60208284031215610db257610db1610b8c565b5b5f610dbf84828501610d89565b91505092915050565b5f604082019050610ddb5f830185610d20565b610de86020830184610b64565b9392505050565b5f8115159050919050565b610e0381610def565b8114610e0d575f80fd5b50565b5f81519050610e1e81610dfa565b92915050565b5f60208284031215610e3957610e38610b8c565b5b5f610e4684828501610e10565b91505092915050565b5f82825260208201905092915050565b7f4d696e696d756d20696e766573746d656e742077726f6e6700000000000000005f82015250565b5f610e93601883610e4f565b9150610e9e82610e5f565b602082019050919050565b5f6020820190508181035f830152610ec081610e87565b9050919050565b7f4661696c656420746f2073656e642045544820746f2062616e6b0000000000005f82015250565b5f610efb601a83610e4f565b9150610f0682610ec7565b602082019050919050565b5f6020820190508181035f830152610f2881610eef565b9050919050565b5f606082019050610f425f830186610d20565b610f4f6020830185610b64565b610f5c6040830184610b64565b949350505050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f610f98601d83610e4f565b9150610fa382610f64565b602082019050919050565b5f6020820190508181035f830152610fc581610f8c565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f611000601483610e4f565b915061100b82610fcc565b602082019050919050565b5f6020820190508181035f83015261102d81610ff4565b9050919050565b5f6060820190506110475f830186610d20565b6110546020830185610d20565b6110616040830184610b64565b949350505050565b5f81519050919050565b8281835e5f83830152505050565b5f61108b82611069565b6110958185610d48565b93506110a5818560208601611073565b80840191505092915050565b5f6110bc8284611081565b915081905092915050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f6110fb601583610e4f565b9150611106826110c7565b602082019050919050565b5f6020820190508181035f830152611128816110ef565b9050919050565b5f6040820190506111425f830185610b64565b61114f6020830184610b64565b939250505056fea2646970667358221220b2671509b563a5f36d7d1218b5eb8b89f1284e3e4b7f659c9a5dbd4d4cc9675f64736f6c634300081a0033
Verified Source Code Partial Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: cancun
Optimization: No
depositToken.sol 153 lines
/**
*Submitted for verification at Etherscan.io on 2025-04-29
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
interface IERC20
{
function balanceOf(address account) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}
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;
}
}
abstract contract Ownable is Context {
address private _owner;
error OwnableUnauthorizedAccount(address account);
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
contract depositToken is Ownable {
address bankAddress;
// events //
event Deposit(address indexed token, address indexed from, uint amount, uint id);
event DepositETH (address sender_, uint amount_, uint id);
constructor( address _owner,address _bankAddress) Ownable (_owner) {
bankAddress = _bankAddress;
}
function depositTokens(address _token, uint _amount, uint _id) public {
require(_amount > 0, "Amount must be greater than 0");
require(IERC20(_token).balanceOf(msg.sender) >= _amount, "Insufficient balance");
// Use low-level call to handle USDT's non-standard behavior
(bool success, bytes memory data) = _token.call(
abi.encodeWithSelector(IERC20.transferFrom.selector, msg.sender, bankAddress, _amount)
);
// Check if the transaction was successful and revert if not
require(success && (data.length == 0 || abi.decode(data, (bool))), "Token transfer failed");
emit Deposit(_token, msg.sender, _amount, _id);
}
function depositETH(uint _id) external payable {
require(msg.value >= 0, "Minimum investment wrong");
// Forward the ETH to the bankAddress
(bool sent, ) = bankAddress.call{value: msg.value}("");
require(sent, "Failed to send ETH to bank");
emit DepositETH( msg.sender, msg.value, _id);
}
// Bank Address
function changeBankAddress(address _bankAddress) public onlyOwner{
bankAddress=_bankAddress;
}
// withdraw functions for owner //
function withdrawTokens(IERC20 token) public onlyOwner{
uint256 balance = token.balanceOf(address(this));
token.transfer(msg.sender, balance);
}
function withdraw() public onlyOwner {
(bool os, ) = payable(msg.sender).call{value: address(this).balance}("");
require(os);
}
// view fucntions for return balance //
function balanceOf(address _tokenAddress) public view returns(uint)
{
uint _balance = IERC20(_tokenAddress).balanceOf(msg.sender);
return _balance;
}
function balanceOfContract (address _tokenAddress) public view returns(uint)
{
uint _balance = IERC20(_tokenAddress).balanceOf(address(this));
return _balance;
}
// Function to get the current ETH balance of the contract
function getBalance() external view returns (uint256) {
return address(this).balance;
}
}
Read Contract
balanceOf 0x70a08231 → uint256
balanceOfContract 0xdd48087f → uint256
getBalance 0x12065fe0 → uint256
owner 0x8da5cb5b → address
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
changeBankAddress 0x82ca116d
address _bankAddress
depositETH 0x5358fbda
uint256 _id
depositTokens 0x5c5b9f8f
address _token
uint256 _amount
uint256 _id
renounceOwnership 0x715018a6
No parameters
transferOwnership 0xf2fde38b
address newOwner
withdraw 0x3ccfd60b
No parameters
withdrawTokens 0x49df728c
address token
Recent Transactions
No transactions found for this address