ETH Price: $2,163.63 (+4.89%)

Contract

0x70AE22E0Ec81A656D405AA3972153Ec79f9Db1C3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Make Payment220879882025-03-20 12:11:11368 days ago1742472671IN
0x70AE22E0...79f9Db1C3
0 ETH0.00014550.62942895
Make Payment220877442025-03-20 11:21:59368 days ago1742469719IN
0x70AE22E0...79f9Db1C3
0 ETH0.000117840.4599836
Accept New Terms220280702025-03-12 3:22:23376 days ago1741749743IN
0x70AE22E0...79f9Db1C3
0 ETH0.000166740.53589885
Accept New Terms220181712025-03-10 18:10:59378 days ago1741630259IN
0x70AE22E0...79f9Db1C3
0 ETH0.0047574414.9618784
Accept New Terms219210372025-02-25 4:44:35391 days ago1740458675IN
0x70AE22E0...79f9Db1C3
0 ETH0.000231640.74449535
Make Payment218132262025-02-10 2:47:11406 days ago1739155631IN
0x70AE22E0...79f9Db1C3
0 ETH0.000255790.99702595
Make Payment216018852025-01-11 14:38:11436 days ago1736606291IN
0x70AE22E0...79f9Db1C3
0 ETH0.000900223.50884104
Accept New Terms213943492024-12-13 15:00:23465 days ago1734102023IN
0x70AE22E0...79f9Db1C3
0 ETH0.0057517417.93233236
Make Payment213921392024-12-13 7:36:47465 days ago1734075407IN
0x70AE22E0...79f9Db1C3
0 ETH0.0026352410.27582919

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60806040211798112024-11-13 15:57:35495 days ago1731513455  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xDA8f7941...2455669Ce
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Proxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-16
*/

/** 
 *  SourceUnit: /Users/farhaan/repositories/maple/proxy-factory/contracts/Proxy.sol
*/
            
////// SPDX-License-Identifier-FLATTEN-SUPPRESS-WARNING: AGPL-3.0-only
pragma solidity ^0.8.7;

abstract contract SlotManipulatable {

    function _getReferenceTypeSlot(bytes32 slot_, bytes32 key_) internal pure returns (bytes32 value_) {
        return keccak256(abi.encodePacked(key_, slot_));
    }

    function _getSlotValue(bytes32 slot_) internal view returns (bytes32 value_) {
        assembly {
            value_ := sload(slot_)
        }
    }

    function _setSlotValue(bytes32 slot_, bytes32 value_) internal {
        assembly {
            sstore(slot_, value_)
        }
    }

}




/** 
 *  SourceUnit: /Users/farhaan/repositories/maple/proxy-factory/contracts/Proxy.sol
*/
            
////// SPDX-License-Identifier-FLATTEN-SUPPRESS-WARNING: AGPL-3.0-only
pragma solidity ^0.8.7;

/// @title An beacon that provides a default implementation for proxies, must implement IDefaultImplementationBeacon.
interface IDefaultImplementationBeacon {

    /// @dev The address of an implementation for proxies.
    function defaultImplementation() external view returns (address defaultImplementation_);

}


/** 
 *  SourceUnit: /Users/farhaan/repositories/maple/proxy-factory/contracts/Proxy.sol
*/

////// SPDX-License-Identifier-FLATTEN-SUPPRESS-WARNING: AGPL-3.0-only
pragma solidity ^0.8.7;

////import { IDefaultImplementationBeacon } from "./interfaces/IDefaultImplementationBeacon.sol";

////import { SlotManipulatable } from "./SlotManipulatable.sol";

/// @title A completely transparent, and thus interface-less, proxy contract.
contract Proxy is SlotManipulatable {

    /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.factory') - 1`.
    bytes32 private constant FACTORY_SLOT = bytes32(0x7a45a402e4cb6e08ebc196f20f66d5d30e67285a2a8aa80503fa409e727a4af1);

    /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.
    bytes32 private constant IMPLEMENTATION_SLOT = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc);

    /**
     *  @dev   The constructor requires at least one of `factory_` or `implementation_`.
     *         If an implementation is not provided, the factory is treated as an IDefaultImplementationBeacon
     *         to fetch the default implementation.
     *  @param factory_        The address of a proxy factory, if any.
     *  @param implementation_ The address of the implementation contract being proxied, if any.
     */
    constructor(address factory_, address implementation_) {
        _setSlotValue(FACTORY_SLOT, bytes32(uint256(uint160(factory_))));

        // If the implementation is empty, fetch it from the factory, which can act as a beacon.
        address implementation = implementation_ == address(0)
            ? IDefaultImplementationBeacon(factory_).defaultImplementation()
            : implementation_;

        require(implementation != address(0));

        _setSlotValue(IMPLEMENTATION_SLOT, bytes32(uint256(uint160(implementation))));
    }

    fallback() payable external virtual {
        bytes32 implementation = _getSlotValue(IMPLEMENTATION_SLOT);

        require(address(uint160(uint256(implementation))).code.length != uint256(0));

        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"factory_","type":"address"},{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b5060405161024538038061024583398101604081905261002f91610169565b6001600160a01b0382167f7a45a402e4cb6e08ebc196f20f66d5d30e67285a2a8aa80503fa409e727a4af15560006001600160a01b0382161561007257816100e3565b826001600160a01b031663b39c45936040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ab57600080fd5b505afa1580156100bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e39190610147565b90506001600160a01b0381166100f857600080fd5b6001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555061019c9050565b80516001600160a01b038116811461014257600080fd5b919050565b60006020828403121561015957600080fd5b6101628261012b565b9392505050565b6000806040838503121561017c57600080fd5b6101858361012b565b91506101936020840161012b565b90509250929050565b609b806101aa6000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381163b604257600080fd5b3660008037600080366000845af43d6000803e8080156060573d6000f35b3d6000fdfea26469706673582212206a731915400432878d54bd0168588da912c447afb1999eac01f1b1977a676e8064736f6c634300080700330000000000000000000000006fad515fc046dd17166453a79725f50b917b7cf60000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381163b604257600080fd5b3660008037600080366000845af43d6000803e8080156060573d6000f35b3d6000fdfea26469706673582212206a731915400432878d54bd0168588da912c447afb1999eac01f1b1977a676e8064736f6c63430008070033

Deployed Bytecode Sourcemap

1716:2157:0:-:0;;;3293:22;3318:34;2167:66;548:12;;426:152;3318:34;3293:59;-1:-1:-1;;;;;;3373:53:0;;;3365:76;;;;;;3497:14;3494:1;3491;3478:34;3600:1;3597;3581:14;3578:1;3562:14;3555:5;3542:60;3639:16;3636:1;3633;3618:38;3679:6;3699:68;;;;3818:16;3815:1;3808:27;3699:68;3735:16;3732:1;3725:27

Swarm Source

ipfs://6a731915400432878d54bd0168588da912c447afb1999eac01f1b1977a676e80

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.