Source Code
Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| File | 165374614 | 762 days ago | IN | 0 ETH | 0.00005342 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Bank
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IERC20 {
function transfer(address, uint256) external returns (bool);
}
contract Bank {
mapping(address => bool) public exec;
event File(bytes32 indexed what, address data);
error InvalidFile();
error Unauthorized();
error TransferFailed();
constructor() {
exec[msg.sender] = true;
}
modifier auth() {
if (!exec[msg.sender]) revert Unauthorized();
_;
}
function file(bytes32 what, address data) external auth {
if (what == "exec") {
exec[data] = !exec[data];
} else {
revert InvalidFile();
}
emit File(what, data);
}
function transferNative(address to, uint256 amount) external auth {
if (amount == 0) return;
(bool s,) = to.call{value: amount}("");
if (!s) revert TransferFailed();
}
function transfer(address token, address to, uint256 amount) external auth {
if (amount == 0) return;
if (!IERC20(token).transfer(to, amount)) revert TransferFailed();
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "london",
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidFile","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"File","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exec","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferNative","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50336000908152602081905260409020805460ff191660011790556104248061003a6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636bb6126e146100515780637d2e90c214610088578063beabacc81461009d578063d4e8be83146100b0575b600080fd5b61007461005f366004610318565b60006020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b61009b61009636600461033a565b6100c3565b005b61009b6100ab366004610364565b610172565b61009b6100be3660046103a0565b610237565b3360009081526020819052604090205460ff166100f2576040516282b42960e81b815260040160405180910390fd5b801561016e576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610145576040519150601f19603f3d011682016040523d82523d6000602084013e61014a565b606091505b505090508061016c576040516312171d8360e31b815260040160405180910390fd5b505b5050565b3360009081526020819052604090205460ff166101a1576040516282b42960e81b815260040160405180910390fd5b801561016c5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a91906103cc565b61016c576040516312171d8360e31b815260040160405180910390fd5b3360009081526020819052604090205460ff16610266576040516282b42960e81b815260040160405180910390fd5b81636578656360e01b036102a1576001600160a01b0381166000908152602081905260409020805460ff19811660ff909116151790556102ba565b6040516302bfa98160e41b815260040160405180910390fd5b6040516001600160a01b038216815282907f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba9060200160405180910390a25050565b80356001600160a01b038116811461031357600080fd5b919050565b60006020828403121561032a57600080fd5b610333826102fc565b9392505050565b6000806040838503121561034d57600080fd5b610356836102fc565b946020939093013593505050565b60008060006060848603121561037957600080fd5b610382846102fc565b9250610390602085016102fc565b9150604084013590509250925092565b600080604083850312156103b357600080fd5b823591506103c3602084016102fc565b90509250929050565b6000602082840312156103de57600080fd5b8151801515811461033357600080fdfea2646970667358221220d85394315200da6d56092d5dac768b946869f17b9c821d43d051965550dce14f64736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80636bb6126e146100515780637d2e90c214610088578063beabacc81461009d578063d4e8be83146100b0575b600080fd5b61007461005f366004610318565b60006020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b61009b61009636600461033a565b6100c3565b005b61009b6100ab366004610364565b610172565b61009b6100be3660046103a0565b610237565b3360009081526020819052604090205460ff166100f2576040516282b42960e81b815260040160405180910390fd5b801561016e576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610145576040519150601f19603f3d011682016040523d82523d6000602084013e61014a565b606091505b505090508061016c576040516312171d8360e31b815260040160405180910390fd5b505b5050565b3360009081526020819052604090205460ff166101a1576040516282b42960e81b815260040160405180910390fd5b801561016c5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a91906103cc565b61016c576040516312171d8360e31b815260040160405180910390fd5b3360009081526020819052604090205460ff16610266576040516282b42960e81b815260040160405180910390fd5b81636578656360e01b036102a1576001600160a01b0381166000908152602081905260409020805460ff19811660ff909116151790556102ba565b6040516302bfa98160e41b815260040160405180910390fd5b6040516001600160a01b038216815282907f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba9060200160405180910390a25050565b80356001600160a01b038116811461031357600080fd5b919050565b60006020828403121561032a57600080fd5b610333826102fc565b9392505050565b6000806040838503121561034d57600080fd5b610356836102fc565b946020939093013593505050565b60008060006060848603121561037957600080fd5b610382846102fc565b9250610390602085016102fc565b9150604084013590509250925092565b600080604083850312156103b357600080fd5b823591506103c3602084016102fc565b90509250929050565b6000602082840312156103de57600080fd5b8151801515811461033357600080fdfea2646970667358221220d85394315200da6d56092d5dac768b946869f17b9c821d43d051965550dce14f64736f6c63430008110033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.