ETH Price: $2,992.12 (+0.63%)
 

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
Process Redempti...211713582024-11-12 11:39:35405 days ago1731411575IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0067562824.19793271
Process Redempti...211470932024-11-09 2:25:35408 days ago1731119135IN
0x447dcEa1...5A0dBcbAa
0 ETH0.002100667.52328908
Process Redempti...211223332024-11-05 15:26:11412 days ago1730820371IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0058425819.71707867
Process Redempti...211166362024-11-04 20:20:59413 days ago1730751659IN
0x447dcEa1...5A0dBcbAa
0 ETH0.00140884.75412384
Process Redempti...211142252024-11-04 12:16:35413 days ago1730722595IN
0x447dcEa1...5A0dBcbAa
0 ETH0.001731916.20265077
Process Redempti...210939832024-11-01 16:26:23416 days ago1730478383IN
0x447dcEa1...5A0dBcbAa
0 ETH0.006877717.64427574
Process Redempti...210735742024-10-29 20:06:23419 days ago1730232383IN
0x447dcEa1...5A0dBcbAa
0 ETH0.004207514.80249191
Process Redempti...210663322024-10-28 19:50:59420 days ago1730145059IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0065801512.43460198
Process Redempti...210444612024-10-25 18:35:47423 days ago1729881347IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0051026210.30872021
Process Redempti...210368812024-10-24 17:13:59424 days ago1729790039IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0056467610.67101319
Process Redempti...209947932024-10-18 20:19:11430 days ago1729282751IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0033919311.93322383
Process Redempti...208861052024-10-03 16:13:59445 days ago1727972039IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0044330815.59611614
Process Redempti...208432842024-09-27 16:54:11451 days ago1727456051IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0053301718.75216185
Process Redempti...208369872024-09-26 19:49:11452 days ago1727380151IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0044498515.65577656
Process Redempti...207656272024-09-16 20:41:23462 days ago1726519283IN
0x447dcEa1...5A0dBcbAa
0 ETH0.001780465.90821232
Process Redempti...207141412024-09-09 16:06:35469 days ago1725897995IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0030287610.65556397
Process Redempti...206927432024-09-06 16:28:11472 days ago1725640091IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0069332124.39187492
Process Redempti...206735182024-09-04 0:04:11474 days ago1725408251IN
0x447dcEa1...5A0dBcbAa
0 ETH0.000321291.13036728
Process Redempti...206151912024-08-26 20:35:35483 days ago1724704535IN
0x447dcEa1...5A0dBcbAa
0 ETH0.000494371.19053099
Process Redempti...205352432024-08-15 16:31:59494 days ago1723739519IN
0x447dcEa1...5A0dBcbAa
0 ETH0.002226757.83398543
Process Redempti...203202032024-07-16 16:15:35524 days ago1721146535IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0058181819.30751908
Process Redempti...202919902024-07-12 17:42:35528 days ago1720806155IN
0x447dcEa1...5A0dBcbAa
0 ETH0.001145843.80245565
Process Redempti...201849102024-06-27 18:47:23543 days ago1719514043IN
0x447dcEa1...5A0dBcbAa
0 ETH0.002287098.04625674
Process Redempti...200634832024-06-10 19:21:23560 days ago1718047283IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0063194122.23244954
Process Redempti...200275842024-06-05 19:01:35565 days ago1717614095IN
0x447dcEa1...5A0dBcbAa
0 ETH0.0084393228.00457978
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60806040188214322023-12-19 17:18:47734 days ago1703006327  Contract Creation0 ETH
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

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
File 1 of 3 : Proxy.sol
// SPDX-License-Identifier: 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())
            }
        }
    }

}

// SPDX-License-Identifier: 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_);

}

// SPDX-License-Identifier: 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_)
        }
    }

}

Settings
{
  "remappings": [
    "address-registry/=modules/address-registry/contracts/",
    "contract-test-utils/=modules/erc20/modules/contract-test-utils/contracts/",
    "ds-test/=modules/forge-std/lib/ds-test/src/",
    "erc20-helper/=modules/erc20-helper/src/",
    "erc20/=modules/erc20/",
    "fixed-term-loan-manager/=modules/fixed-term-loan-manager/contracts/",
    "fixed-term-loan/=modules/fixed-term-loan/contracts/",
    "forge-std/=modules/forge-std/src/",
    "globals/=modules/globals/contracts/",
    "liquidations/=modules/liquidations/contracts/",
    "maple-proxy-factory/=modules/open-term-loan/modules/maple-proxy-factory/",
    "non-transparent-proxy/=modules/globals/modules/non-transparent-proxy/",
    "ntp/=modules/pool-permission-manager/modules/ntp/",
    "open-term-loan-manager/=modules/open-term-loan-manager/contracts/",
    "open-term-loan/=modules/open-term-loan/contracts/",
    "pool-permission-manager/=modules/pool-permission-manager/contracts/",
    "pool/=modules/pool/contracts/",
    "proxy-factory/=modules/open-term-loan/modules/maple-proxy-factory/modules/proxy-factory/",
    "withdrawal-manager-cyclical/=modules/withdrawal-manager-cyclical/contracts/",
    "withdrawal-manager-queue/=modules/withdrawal-manager-queue/contracts/"
  ],
  "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

Contract ABI

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

608060405234801561001057600080fd5b5060405161024538038061024583398101604081905261002f91610169565b6001600160a01b0382167f7a45a402e4cb6e08ebc196f20f66d5d30e67285a2a8aa80503fa409e727a4af15560006001600160a01b0382161561007257816100e3565b826001600160a01b031663b39c45936040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ab57600080fd5b505afa1580156100bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e39190610147565b90506001600160a01b0381166100f857600080fd5b6001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555061019c9050565b80516001600160a01b038116811461014257600080fd5b919050565b60006020828403121561015957600080fd5b6101628261012b565b9392505050565b6000806040838503121561017c57600080fd5b6101858361012b565b91506101936020840161012b565b90509250929050565b609b806101aa6000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381163b604257600080fd5b3660008037600080366000845af43d6000803e8080156060573d6000f35b3d6000fdfea2646970667358221220c8872fc7fbfd8b65110f1223c01eeccb9f4a10ea824be092efdc9476b129c14964736f6c63430008070033000000000000000000000000ca33105902e8d232ddfb9f71ff3d79c7e7f2c4e50000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381163b604257600080fd5b3660008037600080366000845af43d6000803e8080156060573d6000f35b3d6000fdfea2646970667358221220c8872fc7fbfd8b65110f1223c01eeccb9f4a10ea824be092efdc9476b129c14964736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ca33105902e8d232ddfb9f71ff3d79c7e7f2c4e50000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : factory_ (address): 0xca33105902E8d232DDFb9f71Ff3D79C7E7f2C4e5
Arg [1] : implementation_ (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ca33105902e8d232ddfb9f71ff3d79c7e7f2c4e5
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000


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.