Address Contract Partially Verified
Address
0xe0dB8a1348637B8b7b8720578B08b8800124Fb0c
Balance
0 ETH
Nonce
1
Code Size
140 bytes
Creator
0xDec80E98...feA8 at tx 0xc818a019...1fc9f7
Indexed Transactions
0 (1 on-chain, 1.5% indexed)
Contract Bytecode
140 bytes
0x608060405236600a57005b60317f0000000000000000000000004d4c961de7140e642b7217f221b73e859e3a64826033565b005b3660008037600080366000845af43d6000803e8080156051573d6000f35b3d6000fdfea2646970667358221220bcad68a2e23512b5c474f1f9c35678bf73e82533d18c46f4bd47bfdefc7b049564736f6c63430008120033
Verified Source Code Partial Match
Compiler: v0.8.18+commit.87f61d96
EVM: paris
Optimization: Yes (1000000 runs)
Agent.sol 50 lines
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.0;
/// @title A user's agent contract created by the router
/// @notice A proxy for delegating calls to the immutable agent implementation contract
contract Agent {
address internal immutable _implementation;
/// @dev Create an initialized agent
constructor(address implementation) {
_implementation = implementation;
(bool ok, ) = implementation.delegatecall(abi.encodeWithSignature('initialize()'));
require(ok);
}
receive() external payable {}
/// @notice Delegate all function calls to `_implementation`
fallback() external payable {
_delegate(_implementation);
}
/// @notice Delegate the call to `_implementation`
/// @dev Referenced from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.1/contracts/proxy/Proxy.sol#L22
/// @param implementation The address of the implementation contract that this agent delegates calls to
function _delegate(address implementation) internal {
assembly {
// Copy msg.data. We take full control of memory in this inline assembly
// block because it will not return to Solidity code. We overwrite the
// Solidity scratch pad at memory position 0.
calldatacopy(0, 0, calldatasize())
// Call the implementation.
// out and outsize are 0 because we don't know the size yet.
let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
// Copy the returned data.
returndatacopy(0, 0, returndatasize())
switch result
// delegatecall returns 0 on error.
case 0 {
revert(0, returndatasize())
}
default {
return(0, returndatasize())
}
}
}
}
Recent Transactions
This address has 1 on-chain transactions, but only 1.5% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →