Address Contract Partially Verified
Address
0x81C6Cb17CA8495725bAbdc697b3d8204f947434e
Balance
0 ETH
Nonce
1
Code Size
4898 bytes
Creator
0x26D8C229...6d7d at tx 0x4c784f1d...92fdb4
Indexed Transactions
0
Contract Bytecode
4898 bytes
0x6080604052600436106100c1575f3560e01c8063722f62f51161007e5780638da5cb5b116100585780638da5cb5b1461021f578063dd48087f14610249578063f2fde38b14610285578063f6326fb3146102ad576100c1565b8063722f62f5146101a75780637ccb1612146101cf57806382ca116d146101f7576100c1565b80633ccfd60b146100c557806349df728c146100db5780635fec1efc1461010357806366168bd71461012d57806370a0823114610155578063715018a614610191575b5f80fd5b3480156100d0575f80fd5b506100d96102b7565b005b3480156100e6575f80fd5b5061010160048036038101906100fc9190610e36565b610333565b005b34801561010e575f80fd5b50610117610436565b6040516101249190610e70565b60405180910390f35b348015610138575f80fd5b50610153600480360381019061014e9190610ee6565b61045b565b005b348015610160575f80fd5b5061017b60048036038101906101769190610f24565b610703565b6040516101889190610f5e565b60405180910390f35b34801561019c575f80fd5b506101a5610788565b005b3480156101b2575f80fd5b506101cd60048036038101906101c89190610f77565b61079b565b005b3480156101da575f80fd5b506101f560048036038101906101f09190610f77565b6109d7565b005b348015610202575f80fd5b5061021d60048036038101906102189190610f24565b610a7f565b005b34801561022a575f80fd5b50610233610aca565b6040516102409190610e70565b60405180910390f35b348015610254575f80fd5b5061026f600480360381019061026a9190610f24565b610af1565b60405161027c9190610f5e565b60405180910390f35b348015610290575f80fd5b506102ab60048036038101906102a69190610f24565b610b76565b005b6102b5610bfa565b005b6102bf610c78565b5f3373ffffffffffffffffffffffffffffffffffffffff16476040516102e490610fcf565b5f6040518083038185875af1925050503d805f811461031e576040519150601f19603f3d011682016040523d82523d5f602084013e610323565b606091505b5050905080610330575f80fd5b50565b61033b610c78565b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103759190610e70565b602060405180830381865afa158015610390573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b49190610ff7565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016103f1929190611022565b6020604051808303815f875af115801561040d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610431919061107e565b505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f811161049d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049490611103565b60405180910390fd5b808273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016104d79190610e70565b602060405180830381865afa1580156104f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105169190610ff7565b1015610557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054e9061116b565b60405180910390fd5b5f808373ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b3360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040516024016105ae93929190611189565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106189190611206565b5f604051808303815f865af19150503d805f8114610651576040519150601f19603f3d011682016040523d82523d5f602084013e610656565b606091505b509150915081801561068357505f81511480610682575080806020019051810190610681919061107e565b5b5b6106c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b990611266565b60405180910390fd5b7f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f628433856040516106f593929190611189565b60405180910390a150505050565b5f808273ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161073e9190610e70565b602060405180830381865afa158015610759573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077d9190610ff7565b905080915050919050565b610790610c78565b6107995f610cff565b565b5f81116107dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d490611103565b60405180910390fd5b8060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016108389190610e70565b602060405180830381865afa158015610853573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108779190610ff7565b10156108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108af9061116b565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040161093793929190611189565b6020604051808303815f875af1158015610953573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610977919061107e565b507f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f6260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633836040516109cc93929190611189565b60405180910390a150565b6109df610c78565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610a3b929190611022565b6020604051808303815f875af1158015610a57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7b919061107e565b5050565b610a87610c78565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b2c9190610e70565b602060405180830381865afa158015610b47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6b9190610ff7565b905080915050919050565b610b7e610c78565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bee575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610be59190610e70565b60405180910390fd5b610bf781610cff565b50565b5f341015610c3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c34906112ce565b60405180910390fd5b7fced5d8bf10823804603bba066e4f53aa6e8f6f4be68bf0114cf7a0e52183e4e93334604051610c6e929190611022565b60405180910390a1565b610c80610dc0565b73ffffffffffffffffffffffffffffffffffffffff16610c9e610aca565b73ffffffffffffffffffffffffffffffffffffffff1614610cfd57610cc1610dc0565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610cf49190610e70565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610df482610dcb565b9050919050565b5f610e0582610dea565b9050919050565b610e1581610dfb565b8114610e1f575f80fd5b50565b5f81359050610e3081610e0c565b92915050565b5f60208284031215610e4b57610e4a610dc7565b5b5f610e5884828501610e22565b91505092915050565b610e6a81610dea565b82525050565b5f602082019050610e835f830184610e61565b92915050565b610e9281610dea565b8114610e9c575f80fd5b50565b5f81359050610ead81610e89565b92915050565b5f819050919050565b610ec581610eb3565b8114610ecf575f80fd5b50565b5f81359050610ee081610ebc565b92915050565b5f8060408385031215610efc57610efb610dc7565b5b5f610f0985828601610e9f565b9250506020610f1a85828601610ed2565b9150509250929050565b5f60208284031215610f3957610f38610dc7565b5b5f610f4684828501610e9f565b91505092915050565b610f5881610eb3565b82525050565b5f602082019050610f715f830184610f4f565b92915050565b5f60208284031215610f8c57610f8b610dc7565b5b5f610f9984828501610ed2565b91505092915050565b5f81905092915050565b50565b5f610fba5f83610fa2565b9150610fc582610fac565b5f82019050919050565b5f610fd982610faf565b9150819050919050565b5f81519050610ff181610ebc565b92915050565b5f6020828403121561100c5761100b610dc7565b5b5f61101984828501610fe3565b91505092915050565b5f6040820190506110355f830185610e61565b6110426020830184610f4f565b9392505050565b5f8115159050919050565b61105d81611049565b8114611067575f80fd5b50565b5f8151905061107881611054565b92915050565b5f6020828403121561109357611092610dc7565b5b5f6110a08482850161106a565b91505092915050565b5f82825260208201905092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f6110ed601d836110a9565b91506110f8826110b9565b602082019050919050565b5f6020820190508181035f83015261111a816110e1565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6111556014836110a9565b915061116082611121565b602082019050919050565b5f6020820190508181035f83015261118281611149565b9050919050565b5f60608201905061119c5f830186610e61565b6111a96020830185610e61565b6111b66040830184610f4f565b949350505050565b5f81519050919050565b8281835e5f83830152505050565b5f6111e0826111be565b6111ea8185610fa2565b93506111fa8185602086016111c8565b80840191505092915050565b5f61121182846111d6565b915081905092915050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f6112506015836110a9565b915061125b8261121c565b602082019050919050565b5f6020820190508181035f83015261127d81611244565b9050919050565b7f4d696e696d756d20696e766573746d656e742077726f6e6700000000000000005f82015250565b5f6112b86018836110a9565b91506112c382611284565b602082019050919050565b5f6020820190508181035f8301526112e5816112ac565b905091905056fea26469706673582212202aafc9df991553639dfe080fca006cb50ed45cc0059d74d646249837cb55a55064736f6c634300081a0033
Verified Source Code Partial Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: cancun
Optimization: No
depositToken.sol 160 lines
// 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 public Pax;
address bankAddress;
// events //
event Deposit (address token_, address sender_, uint amount_);
event DepositETH (address sender_, uint amount_);
constructor(address token, address _owner,address _bankAddress) Ownable (_owner) {
Pax = token;
bankAddress = _bankAddress;
}
// Deposit Functions //
function depositPax(uint _amount) public {
// amount should be > 0
require(_amount > 0, "Amount must be greater than 0");
require(IERC20(Pax).balanceOf(msg.sender) >= _amount, "Insufficient balance");
IERC20(Pax).transferFrom(msg.sender, bankAddress, _amount);
emit Deposit (Pax , msg.sender, _amount);
}
function depositTokens(address _token, uint _amount) 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);
}
function depositETH() external payable {
require(msg.value >= 0, "Minimum investment wrong");
emit DepositETH( msg.sender, msg.value);
}
// 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 withdrawPax (uint _amount) public onlyOwner
{
IERC20(Pax).transfer(msg.sender, _amount);
}
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;
}
}
Read Contract
Pax 0x5fec1efc → address
balanceOf 0x70a08231 → uint256
balanceOfContract 0xdd48087f → uint256
owner 0x8da5cb5b → address
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
changeBankAddress 0x82ca116d
address _bankAddress
depositETH 0xf6326fb3
No parameters
depositPax 0x722f62f5
uint256 _amount
depositTokens 0x66168bd7
address _token
uint256 _amount
renounceOwnership 0x715018a6
No parameters
transferOwnership 0xf2fde38b
address newOwner
withdraw 0x3ccfd60b
No parameters
withdrawPax 0x7ccb1612
uint256 _amount
withdrawTokens 0x49df728c
address token
Recent Transactions
No transactions found for this address