Contract 0x1f83b42aA2b03F01EEC063aFd4b3E674F97fe9e8

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xda6a12b3ca0aa185270ac7d5b530e053682356c4cd07a668eb2de88d736208ee0x60c06040274840022023-03-15 20:22:3415 days 4 hrs ago0x8406a51a0e1b5f52ff61226773e6328e5da5d964 IN  Create: BunyBank0 AVAX0.01203982525
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BunyBank

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : BunyBank.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface ERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

contract BunyBank {
    address owner;
    mapping(address => uint256) tokenBalances;
    string public ContractName = "Buny Bank v1";
    
    constructor() {
        owner = msg.sender;
    }
    
    function deposit() public payable {
    }
    
    receive() external payable {}


    function withdraw(uint amount) public {
        require(msg.sender == owner, "Only the owner can withdraw funds.");
        require(amount <= address(this).balance, "Insufficient balance.");
        payable(msg.sender).transfer(amount);
    }
    
    function withdrawTo(address payable recipient, uint amount) public {
        require(msg.sender == owner, "Only the owner can withdraw funds.");
        require(amount <= address(this).balance, "Insufficient balance.");
        recipient.transfer(amount);
    }
    
    function getBalance() public view returns(uint) {
        return address(this).balance;
    }
    
    function receive(address token, uint256 amount) public {
        require(msg.sender == token, "Only the token contract can call this function.");
        require(ERC20(token).transferFrom(msg.sender, address(this), amount), "Token transfer failed.");
        tokenBalances[token] += amount;
    }
    
    function getTokenBalance(address token) public view returns (uint256) {
        return ERC20(token).balanceOf(address(this));
    }
    
  
}

Settings
{
  "evmVersion": "london",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ContractName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"receive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600c60809081526b42756e792042616e6b20763160a01b60a05260029061002b90826100ef565b5034801561003857600080fd5b50600080546001600160a01b031916331790556101ae565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061007a57607f821691505b60208210810361009a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156100ea57600081815260208120601f850160051c810160208610156100c75750805b601f850160051c820191505b818110156100e6578281556001016100d3565b5050505b505050565b81516001600160401b0381111561010857610108610050565b61011c816101168454610066565b846100a0565b602080601f83116001811461015157600084156101395750858301515b600019600386901b1c1916600185901b1785556100e6565b600085815260208120601f198616915b8281101561018057888601518255948401946001909101908401610161565b508582101561019e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6106d4806101bd6000396000f3fe6080604052600436106100745760003560e01c80632e1a7d4d1161004e5780632e1a7d4d146100e45780633aecd0e314610104578063d0e30db0146100a0578063fd79c2a91461012457600080fd5b806310b8fadc1461008057806312065fe0146100a2578063205c2878146100c457600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b36600461050f565b610146565b005b3480156100ae57600080fd5b50475b6040519081526020015b60405180910390f35b3480156100d057600080fd5b506100a06100df36600461050f565b6102a8565b3480156100f057600080fd5b506100a06100ff36600461053b565b610355565b34801561011057600080fd5b506100b161011f366004610554565b6103f8565b34801561013057600080fd5b50610139610469565b6040516100bb9190610578565b336001600160a01b038316146101bb5760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520746f6b656e20636f6e74726163742063616e2063616c6c60448201526e103a3434b990333ab731ba34b7b71760891b60648201526084015b60405180910390fd5b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038316906323b872dd906064016020604051808303816000875af115801561020e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023291906105c6565b6102775760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b7103a3930b739b332b9103330b4b632b21760511b60448201526064016101b2565b6001600160a01b0382166000908152600160205260408120805483929061029f9084906105e8565b90915550505050565b6000546001600160a01b031633146102d25760405162461bcd60e51b81526004016101b290610609565b4781111561031a5760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b60448201526064016101b2565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610350573d6000803e3d6000fd5b505050565b6000546001600160a01b0316331461037f5760405162461bcd60e51b81526004016101b290610609565b478111156103c75760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b60448201526064016101b2565b604051339082156108fc029083906000818181858888f193505050501580156103f4573d6000803e3d6000fd5b5050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610463919061064b565b92915050565b6002805461047690610664565b80601f01602080910402602001604051908101604052809291908181526020018280546104a290610664565b80156104ef5780601f106104c4576101008083540402835291602001916104ef565b820191906000526020600020905b8154815290600101906020018083116104d257829003601f168201915b505050505081565b6001600160a01b038116811461050c57600080fd5b50565b6000806040838503121561052257600080fd5b823561052d816104f7565b946020939093013593505050565b60006020828403121561054d57600080fd5b5035919050565b60006020828403121561056657600080fd5b8135610571816104f7565b9392505050565b600060208083528351808285015260005b818110156105a557858101830151858201604001528201610589565b506000604082860101526040601f19601f8301168501019250505092915050565b6000602082840312156105d857600080fd5b8151801515811461057157600080fd5b8082018082111561046357634e487b7160e01b600052601160045260246000fd5b60208082526022908201527f4f6e6c7920746865206f776e65722063616e2077697468647261772066756e64604082015261399760f11b606082015260800190565b60006020828403121561065d57600080fd5b5051919050565b600181811c9082168061067857607f821691505b60208210810361069857634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220307d23824e7819e199f60d48abe8721828aefd0c43d389a516e32cc945d55e5664736f6c63430008100033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.