ETH Price: $2,398.51 (-8.64%)

Contract

0x8c8A48ED514a47D95c786fa7D26F4970d015a8a1

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Recover Funds3728310832025-08-27 12:18:00158 days ago1756297080IN
0x8c8A48ED...0d015a8a1
0 ETH0.000001880.018117

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564070322023-01-29 16:33:111098 days ago1675009991
0x8c8A48ED...0d015a8a1
0 ETH
564069372023-01-29 16:32:451098 days ago1675009965
0x8c8A48ED...0d015a8a1
0 ETH
564069372023-01-29 16:32:451098 days ago1675009965
0x8c8A48ED...0d015a8a1
0 ETH
564069372023-01-29 16:32:451098 days ago1675009965
0x8c8A48ED...0d015a8a1
0 ETH
564069372023-01-29 16:32:451098 days ago1675009965
0x8c8A48ED...0d015a8a1
0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

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

Contract Name:
BeaconProxy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

import {BaseProxy} from "./BaseProxy.sol";
import {Errors} from "../utils/Errors.sol";
import {StorageSlot} from "../utils/Storage.sol";
import {IBeacon} from "../interface/proxy/IBeacon.sol";

contract BeaconProxy is BaseProxy {

    bytes32 private constant _BEACON_SLOT =
        bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1);

    event BeaconUpgraded(address indexed beacon);

    constructor(address _beacon, address _admin) {
        _setAdmin(_admin);
        _setBeacon(_beacon);
    }

    function changeBeacon(address beacon) external adminOnly {
        _setBeacon(beacon);
    }

    function getBeacon() public view returns (address) {
        return StorageSlot.getAddressAt(_BEACON_SLOT);
    }

    function getImplementation() public override returns (address) {
        return IBeacon(getBeacon()).implementation();
    }

    function _setBeacon(address beacon) internal {
        if (beacon == address(0)) revert Errors.ZeroAddress();
        StorageSlot.setAddressAt(_BEACON_SLOT, beacon);
        emit BeaconUpgraded(beacon);
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

interface IBeacon {
    function implementation() external returns (address);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

import {Errors} from "../utils/Errors.sol";
import {StorageSlot} from "../utils/Storage.sol";

abstract contract BaseProxy {

    bytes32 private constant _ADMIN_SLOT =
        bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1);

    event AdminChanged(address previousAdmin, address newAdmin);

    modifier adminOnly() {
        if (msg.sender != getAdmin()) revert Errors.AdminOnly();
        _;
    }

    function changeAdmin(address newAdmin) external adminOnly {
        _setAdmin(newAdmin);
    }

    function getAdmin() public view returns (address) {
        return StorageSlot.getAddressAt(_ADMIN_SLOT);
    }

    function _setAdmin(address admin) internal {
        if (admin == address(0)) revert Errors.ZeroAddress();
        emit AdminChanged(getAdmin(), admin);
        StorageSlot.setAddressAt(_ADMIN_SLOT, admin);
    }

    function getImplementation() public virtual returns (address);

    function _delegate(address impl) internal virtual {
        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())

            let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0)

            let size := returndatasize()
            returndatacopy(ptr, 0, size)

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

    fallback() external payable {
        _delegate(getImplementation());
    }

    receive() external payable {
        _delegate(getImplementation());
    }
}

File 4 of 5 : Errors.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

library Errors {
    error AdminOnly();
    error MaxSupply();
    error ZeroShares();
    error ZeroAssets();
    error ZeroAddress();
    error MinimumShares();
    error ContractPaused();
    error OutstandingDebt();
    error AccountOwnerOnly();
    error TokenNotContract();
    error AddressNotContract();
    error ContractNotPaused();
    error LTokenUnavailable();
    error LiquidationFailed();
    error EthTransferFailure();
    error AccountManagerOnly();
    error RiskThresholdBreached();
    error FunctionCallRestricted();
    error AccountNotLiquidatable();
    error CollateralTypeRestricted();
    error IncorrectConstructorArgs();
    error ContractAlreadyInitialized();
    error AccountDeactivationFailure();
    error AccountInteractionFailure(address, address, uint, bytes);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

library StorageSlot {
    function getAddressAt(bytes32 slot) internal view returns (address a) {
        assembly {
            a := sload(slot)
        }
    }

    function setAddressAt(bytes32 slot, address address_) internal {
        assembly {
            sstore(slot, address_)
        }
    }
}

Settings
{
  "remappings": [
    "controller/=lib/controller/src/",
    "ds-test/=lib/solmate/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "oracle/=lib/oracle/src/",
    "solidity-bytes-utils/=lib/controller/lib/solidity-bytes-utils/contracts/",
    "solmate/=lib/solmate/src/",
    "v3-core/=lib/oracle/lib/v3-core/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_beacon","type":"address"},{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AdminOnly","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beacon","type":"address"}],"name":"changeBeacon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBeacon","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x608060405234801561001057600080fd5b506040516106d33803806106d383398101604081905261002f916101d1565b61003881610048565b610041826100ec565b505061022b565b6001600160a01b03811661006f5760405163d92e233d60e01b815260040160405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610098610178565b604080516001600160a01b03928316815291841660208301520160405180910390a16100e96100d660016000805160206106b3833981519152610204565b60001b826101ad60201b61028d1760201c565b50565b6001600160a01b0381166101135760405163d92e233d60e01b815260040160405180910390fd5b6101416100d660017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51610204565b6040516001600160a01b038216907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a250565b60006101a861019660016000805160206106b3833981519152610204565b60001b6101b160201b6102911760201c565b905090565b9055565b5490565b80516001600160a01b03811681146101cc57600080fd5b919050565b600080604083850312156101e457600080fd5b6101ed836101b5565b91506101fb602084016101b5565b90509250929050565b8181038181111561022557634e487b7160e01b600052601160045260246000fd5b92915050565b6104798061023a6000396000f3fe60806040526004361061004e5760003560e01c80632d6b3a6b146100705780636e9960c3146100a15780638f283970146100b6578063aaf10f42146100d6578063d14823f8146100eb57610065565b366100655761006361005e61010b565b61017d565b005b61006361005e61010b565b34801561007c57600080fd5b506100856101a2565b6040516001600160a01b03909116815260200160405180910390f35b3480156100ad57600080fd5b506100856101d6565b3480156100c257600080fd5b506100636100d13660046103db565b610206565b3480156100e257600080fd5b5061008561010b565b3480156100f757600080fd5b506100636101063660046103db565b61024b565b60006101156101a2565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906103ff565b905090565b60405136600082376000803683855af43d806000843e81801561019e578184f35b8184fd5b60006101786101d260017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161041c565b5490565b60006101786101d260017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610461041c565b61020e6101d6565b6001600160a01b0316336001600160a01b03161461023f57604051633057182d60e21b815260040160405180910390fd5b61024881610295565b50565b6102536101d6565b6001600160a01b0316336001600160a01b03161461028457604051633057182d60e21b815260040160405180910390fd5b6102488161033a565b9055565b5490565b6001600160a01b0381166102bc5760405163d92e233d60e01b815260040160405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102e56101d6565b604080516001600160a01b03928316815291841660208301520160405180910390a161024861033560017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610461041c565b829055565b6001600160a01b0381166103615760405163d92e233d60e01b815260040160405180910390fd5b61038f61033560017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161041c565b6040516001600160a01b038216907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a250565b6001600160a01b038116811461024857600080fd5b6000602082840312156103ed57600080fd5b81356103f8816103c6565b9392505050565b60006020828403121561041157600080fd5b81516103f8816103c6565b8181038181111561043d57634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212205445eb06fe5c15e83a7aedf2706072d4aec523b5a2aa5bf4e9c95c482c311b0964736f6c63430008110033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104000000000000000000000000b7ba3321fc5acd14395eb2f00f6c4e2e6c122eee00000000000000000000000062c5aa8277e49b3ead43dc67453ec91dc6826403

Deployed Bytecode

0x60806040526004361061004e5760003560e01c80632d6b3a6b146100705780636e9960c3146100a15780638f283970146100b6578063aaf10f42146100d6578063d14823f8146100eb57610065565b366100655761006361005e61010b565b61017d565b005b61006361005e61010b565b34801561007c57600080fd5b506100856101a2565b6040516001600160a01b03909116815260200160405180910390f35b3480156100ad57600080fd5b506100856101d6565b3480156100c257600080fd5b506100636100d13660046103db565b610206565b3480156100e257600080fd5b5061008561010b565b3480156100f757600080fd5b506100636101063660046103db565b61024b565b60006101156101a2565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906103ff565b905090565b60405136600082376000803683855af43d806000843e81801561019e578184f35b8184fd5b60006101786101d260017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161041c565b5490565b60006101786101d260017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610461041c565b61020e6101d6565b6001600160a01b0316336001600160a01b03161461023f57604051633057182d60e21b815260040160405180910390fd5b61024881610295565b50565b6102536101d6565b6001600160a01b0316336001600160a01b03161461028457604051633057182d60e21b815260040160405180910390fd5b6102488161033a565b9055565b5490565b6001600160a01b0381166102bc5760405163d92e233d60e01b815260040160405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102e56101d6565b604080516001600160a01b03928316815291841660208301520160405180910390a161024861033560017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610461041c565b829055565b6001600160a01b0381166103615760405163d92e233d60e01b815260040160405180910390fd5b61038f61033560017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161041c565b6040516001600160a01b038216907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a250565b6001600160a01b038116811461024857600080fd5b6000602082840312156103ed57600080fd5b81356103f8816103c6565b9392505050565b60006020828403121561041157600080fd5b81516103f8816103c6565b8181038181111561043d57634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212205445eb06fe5c15e83a7aedf2706072d4aec523b5a2aa5bf4e9c95c482c311b0964736f6c63430008110033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.