Address Contract Partially Verified
Address
0xa5569DD31530a25a4009b862B208058FF4e5e418
Balance
0 ETH
Nonce
1
Code Size
3672 bytes
Creator
0x6F942942...D1F0 at tx 0x7cdbd3d3...ace92c
Indexed Transactions
0
Contract Bytecode
3672 bytes
0x60806040526004361061007e575f3560e01c8063983b05641161004d578063983b0564146101f4578063c1dbd9b214610230578063d0e30db014610258578063f8b2cb4f1461026257610126565b8063068990311461012a57806323b872dd1461016657806327e235e31461018e5780638da5cb5b146101ca57610126565b36610126573460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546100cf919061096e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c43460405161011c91906109b0565b60405180910390a2005b5f80fd5b348015610135575f80fd5b50610150600480360381019061014b9190610a27565b61029e565b60405161015d91906109b0565b60405180910390f35b348015610171575f80fd5b5061018c60048036038101906101879190610a8f565b6102be565b005b348015610199575f80fd5b506101b460048036038101906101af9190610adf565b6105ed565b6040516101c191906109b0565b60405180910390f35b3480156101d5575f80fd5b506101de610602565b6040516101eb9190610b19565b60405180910390f35b3480156101ff575f80fd5b5061021a60048036038101906102159190610a27565b610625565b60405161022791906109b0565b60405180910390f35b34801561023b575f80fd5b5061025660048036038101906102519190610b32565b6106a7565b005b61026061080d565b005b34801561026d575f80fd5b5061028860048036038101906102839190610adf565b6108f2565b60405161029591906109b0565b60405180910390f35b6002602052815f5260405f20602052805f5260405f205f91509150505481565b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561033e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033590610bca565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156103f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f090610c32565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104459190610c50565b925050819055508060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104d39190610c50565b925050819055505f8273ffffffffffffffffffffffffffffffffffffffff16826040516104ff90610cb0565b5f6040518083038185875af1925050503d805f8114610539576040519150601f19603f3d011682016040523d82523d5f602084013e61053e565b606091505b5050905080610582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057990610d0e565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f81c11bbbbd3abc79fc30e588a6b3a353bfb9309bcc00d649daf83a0ad7313b56846040516105df91906109b0565b60405180910390a350505050565b6001602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b8060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e90610d9c565b60405180910390fd5b8060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe6dc004dd5d5c937c10d93ec12fefa9f5a8699b7a01dd5a0d53814d25e369f7b8360405161080191906109b0565b60405180910390a35050565b5f341161084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084690610e04565b60405180910390fd5b3460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461089b919061096e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4346040516108e891906109b0565b60405180910390a2565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61097882610938565b915061098383610938565b925082820190508082111561099b5761099a610941565b5b92915050565b6109aa81610938565b82525050565b5f6020820190506109c35f8301846109a1565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109f6826109cd565b9050919050565b610a06816109ec565b8114610a10575f80fd5b50565b5f81359050610a21816109fd565b92915050565b5f8060408385031215610a3d57610a3c6109c9565b5b5f610a4a85828601610a13565b9250506020610a5b85828601610a13565b9150509250929050565b610a6e81610938565b8114610a78575f80fd5b50565b5f81359050610a8981610a65565b92915050565b5f805f60608486031215610aa657610aa56109c9565b5b5f610ab386828701610a13565b9350506020610ac486828701610a13565b9250506040610ad586828701610a7b565b9150509250925092565b5f60208284031215610af457610af36109c9565b5b5f610b0184828501610a13565b91505092915050565b610b13816109ec565b82525050565b5f602082019050610b2c5f830184610b0a565b92915050565b5f8060408385031215610b4857610b476109c9565b5b5f610b5585828601610a13565b9250506020610b6685828601610a7b565b9150509250929050565b5f82825260208201905092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f610bb4601483610b70565b9150610bbf82610b80565b602082019050919050565b5f6020820190508181035f830152610be181610ba8565b9050919050565b7f4e6f7420617574686f72697a656420666f72207468697320616d6f756e7400005f82015250565b5f610c1c601e83610b70565b9150610c2782610be8565b602082019050919050565b5f6020820190508181035f830152610c4981610c10565b9050919050565b5f610c5a82610938565b9150610c6583610938565b9250828203905081811115610c7d57610c7c610941565b5b92915050565b5f81905092915050565b50565b5f610c9b5f83610c83565b9150610ca682610c8d565b5f82019050919050565b5f610cba82610c90565b9150819050919050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f610cf8601383610b70565b9150610d0382610cc4565b602082019050919050565b5f6020820190508181035f830152610d2581610cec565b9050919050565b7f496e73756666696369656e742062616c616e636520746f20617574686f72697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f610d86602183610b70565b9150610d9182610d2c565b604082019050919050565b5f6020820190508181035f830152610db381610d7a565b9050919050565b7f4d7573742073656e6420455448000000000000000000000000000000000000005f82015250565b5f610dee600d83610b70565b9150610df982610dba565b602082019050919050565b5f6020820190508181035f830152610e1b81610de2565b905091905056fea26469706673582212206c34cb3418452ef30f6d959401b0507cef054ab47beb78929e7074806b8c1c9b64736f6c634300081a0033
Verified Source Code Partial Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: cancun
Optimization: No
ETHPayment.sol 65 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ETHPayment {
address public owner;
constructor() {
owner = msg.sender;
}
// 用户地址 => 存入的 ETH 余额
mapping(address => uint256) public balances;
// 授权:用户授权给某地址支配他存入的 ETH
mapping(address => mapping(address => uint256)) public authorizations;
event Deposited(address indexed user, uint256 amount);
event Authorized(address indexed user, address indexed agent, uint256 amount);
event TransferredFromAuthorized(address indexed from, address indexed to, uint256 amount);
// 用户存入 ETH 到合约(必须用户主动调用)
function deposit() external payable {
require(msg.value > 0, "Must send ETH");
balances[msg.sender] += msg.value;
emit Deposited(msg.sender, msg.value);
}
// 用户授权某个地址可以花费自己存入的 ETH
function authorize(address agent, uint256 amount) external {
require(balances[msg.sender] >= amount, "Insufficient balance to authorize");
authorizations[msg.sender][agent] = amount;
emit Authorized(msg.sender, agent, amount);
}
// 被授权人调用,从授权人账户转出 ETH 到目标地址
function transferFrom(address from, address to, uint256 amount) external {
require(balances[from] >= amount, "Insufficient balance");
require(authorizations[from][msg.sender] >= amount, "Not authorized for this amount");
// 扣除余额和授权额度
balances[from] -= amount;
authorizations[from][msg.sender] -= amount;
// 转账
(bool success, ) = to.call{value: amount}("");
require(success, "ETH transfer failed");
emit TransferredFromAuthorized(from, to, amount);
}
// 查询余额和授权
function getBalance(address user) external view returns (uint256) {
return balances[user];
}
function getAuthorization(address owner_, address agent) external view returns (uint256) {
return authorizations[owner_][agent];
}
// fallback
receive() external payable {
balances[msg.sender] += msg.value;
emit Deposited(msg.sender, msg.value);
}
}
Read Contract
authorizations 0x06899031 → uint256
balances 0x27e235e3 → uint256
getAuthorization 0x983b0564 → uint256
getBalance 0xf8b2cb4f → uint256
owner 0x8da5cb5b → address
Write Contract 3 functions
These functions modify contract state and require a wallet transaction to execute.
authorize 0xc1dbd9b2
address agent
uint256 amount
deposit 0xd0e30db0
No parameters
transferFrom 0x23b872dd
address from
address to
uint256 amount
Recent Transactions
No transactions found for this address