ETH Price: $2,438.27 (-9.48%)

Contract

0x0E429603D3Cb1DFae4E6F52Add5fE82d96d77Dac

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Safe Transfer Fr...4109868692025-12-15 19:00:5147 days ago1765825251IN
0x0E429603...d96d77Dac
0 ETH0.000001270.01
Safe Transfer Fr...4109867072025-12-15 19:00:1047 days ago1765825210IN
0x0E429603...d96d77Dac
0 ETH0.000001380.01
Safe Transfer Fr...4109865772025-12-15 18:59:3747 days ago1765825177IN
0x0E429603...d96d77Dac
0 ETH0.000001270.01
Transfer From3769047392025-09-08 6:53:35145 days ago1757314415IN
0x0E429603...d96d77Dac
0 ETH0.000001220.01
Transfer From3635886312025-07-31 19:11:27184 days ago1753989087IN
0x0E429603...d96d77Dac
0 ETH0.000001380.01
Transfer From3635876542025-07-31 19:07:23184 days ago1753988843IN
0x0E429603...d96d77Dac
0 ETH0.000001290.01
Transfer From3377032062025-05-17 18:01:53259 days ago1747504913IN
0x0E429603...d96d77Dac
0 ETH0.000001280.01
Safe Transfer Fr...3277880462025-04-18 21:42:45288 days ago1745012565IN
0x0E429603...d96d77Dac
0 ETH0.000001790.01
Safe Transfer Fr...3277150142025-04-18 16:36:28288 days ago1744994188IN
0x0E429603...d96d77Dac
0 ETH0.000002380.01
Safe Transfer Fr...3274713762025-04-17 23:38:52289 days ago1744933132IN
0x0E429603...d96d77Dac
0 ETH0.000001390.01
Safe Transfer Fr...3223538712025-04-03 2:45:37304 days ago1743648337IN
0x0E429603...d96d77Dac
0 ETH0.000000420.01
Safe Transfer Fr...3167940272025-03-17 23:44:34320 days ago1742255074IN
0x0E429603...d96d77Dac
0 ETH0.000001330.01
Safe Transfer Fr...3043417362025-02-09 18:04:36356 days ago1739124276IN
0x0E429603...d96d77Dac
0 ETH0.000001970.01
Safe Transfer Fr...3043346842025-02-09 17:34:51356 days ago1739122491IN
0x0E429603...d96d77Dac
0 ETH0.000001980.01
Transfer From3029384532025-02-05 15:54:46360 days ago1738770886IN
0x0E429603...d96d77Dac
0 ETH0.000002770.01
Transfer From3029383532025-02-05 15:54:21360 days ago1738770861IN
0x0E429603...d96d77Dac
0 ETH0.000002890.01
Transfer From3029377822025-02-05 15:51:57360 days ago1738770717IN
0x0E429603...d96d77Dac
0 ETH0.000002650.01
Transfer From3029369852025-02-05 15:48:38360 days ago1738770518IN
0x0E429603...d96d77Dac
0 ETH0.000002930.01
Transfer From2997319782025-01-27 6:49:48369 days ago1737960588IN
0x0E429603...d96d77Dac
0 ETH0.000014170.110748
Safe Transfer Fr...2947682912025-01-12 20:58:26384 days ago1736715506IN
0x0E429603...d96d77Dac
0 ETH0.000001340.01
Transfer From2797058212024-11-30 0:34:42428 days ago1732926882IN
0x0E429603...d96d77Dac
0 ETH0.000002320.01
Safe Transfer Fr...2696656142024-10-31 19:15:19457 days ago1730402119IN
0x0E429603...d96d77Dac
0 ETH0.000002430.01
Transfer From2457031042024-08-23 0:45:09527 days ago1724373909IN
0x0E429603...d96d77Dac
0 ETH0.000001440.011272
Transfer From2365565472024-07-27 10:11:03553 days ago1722075063IN
0x0E429603...d96d77Dac
0 ETH0.000001340.01

Latest 1 internal transaction

Parent Transaction Hash Block From To
2182867012024-06-04 10:25:23606 days ago1717496723  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

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

Contract Name:
UUPSProxyWithOwner

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 8 : UUPSProxyWithOwner.sol
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

import {UUPSProxy} from "./UUPSProxy.sol";
import {OwnableStorage} from "../ownership/OwnableStorage.sol";

contract UUPSProxyWithOwner is UUPSProxy {
    // solhint-disable-next-line no-empty-blocks
    constructor(address firstImplementation, address initialOwner) UUPSProxy(firstImplementation) {
        OwnableStorage.load().owner = initialOwner;
    }
}

File 2 of 8 : AccessError.sol
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

/**
 * @title Library for access related errors.
 */
library AccessError {
    /**
     * @dev Thrown when an address tries to perform an unauthorized action.
     * @param addr The address that attempts the action.
     */
    error Unauthorized(address addr);
}

File 3 of 8 : AddressError.sol
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

/**
 * @title Library for address related errors.
 */
library AddressError {
    /**
     * @dev Thrown when a zero address was passed as a function parameter (0x0000000000000000000000000000000000000000).
     */
    error ZeroAddress();

    /**
     * @dev Thrown when an address representing a contract is expected, but no code is found at the address.
     * @param contr The address that was expected to be a contract.
     */
    error NotAContract(address contr);
}

//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

import "../errors/AccessError.sol";

library OwnableStorage {
    bytes32 private constant _SLOT_OWNABLE_STORAGE =
        keccak256(abi.encode("io.synthetix.core-contracts.Ownable"));

    struct Data {
        address owner;
        address nominatedOwner;
    }

    function load() internal pure returns (Data storage store) {
        bytes32 s = _SLOT_OWNABLE_STORAGE;
        assembly {
            store.slot := s
        }
    }

    function onlyOwner() internal view {
        if (msg.sender != getOwner()) {
            revert AccessError.Unauthorized(msg.sender);
        }
    }

    function getOwner() internal view returns (address) {
        return OwnableStorage.load().owner;
    }
}

//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

abstract contract AbstractProxy {
    fallback() external payable {
        _forward();
    }

    receive() external payable {
        _forward();
    }

    function _forward() internal {
        address implementation = _getImplementation();

        // solhint-disable-next-line no-inline-assembly
        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())
            }
        }
    }

    function _getImplementation() internal view virtual returns (address);
}

File 6 of 8 : ProxyStorage.sol
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

contract ProxyStorage {
    bytes32 private constant _SLOT_PROXY_STORAGE =
        keccak256(abi.encode("io.synthetix.core-contracts.Proxy"));

    struct ProxyStore {
        address implementation;
        bool simulatingUpgrade;
    }

    function _proxyStore() internal pure returns (ProxyStore storage store) {
        bytes32 s = _SLOT_PROXY_STORAGE;
        assembly {
            store.slot := s
        }
    }
}

//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

import "./AbstractProxy.sol";
import "./ProxyStorage.sol";
import "../errors/AddressError.sol";
import "../utils/AddressUtil.sol";

contract UUPSProxy is AbstractProxy, ProxyStorage {
    constructor(address firstImplementation) {
        if (firstImplementation == address(0)) {
            revert AddressError.ZeroAddress();
        }

        if (!AddressUtil.isContract(firstImplementation)) {
            revert AddressError.NotAContract(firstImplementation);
        }

        _proxyStore().implementation = firstImplementation;
    }

    function _getImplementation() internal view virtual override returns (address) {
        return _proxyStore().implementation;
    }
}

//SPDX-License-Identifier: MIT
pragma solidity >=0.8.11 <0.9.0;

library AddressUtil {
    function isContract(address account) internal view returns (bool) {
        uint256 size;

        assembly {
            size := extcodesize(account)
        }

        return size > 0;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"firstImplementation","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"contr","type":"address"}],"name":"NotAContract","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

0x608060405234801561001057600080fd5b5060405161037838038061037883398101604081905261002f916101de565b816001600160a01b0381166100575760405163d92e233d60e01b815260040160405180910390fd5b61006a8161010060201b6100471760201c565b610096576040516322a2d07b60e21b81526001600160a01b038216600482015260240160405180910390fd5b8061009f610106565b60000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050806100da61017260201b61004d1760201c565b80546001600160a01b0319166001600160a01b0392909216919091179055506102119050565b3b151590565b6000806040516020016101549060208082526021908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f786040820152607960f81b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b6000806040516020016101549060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b80516001600160a01b03811681146101d957600080fd5b919050565b600080604083850312156101f157600080fd5b6101fa836101c2565b9150610208602084016101c2565b90509250929050565b610158806102206000396000f3fe60806040523661001357610011610017565b005b6100115b60006100216100bb565b90503660008037600080366000845af43d6000803e808015610042573d6000f35b3d6000fd5b3b151590565b60008060405160200161009d9060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b60006100c56100d4565b546001600160a01b0316919050565b60008060405160200161009d9060208082526021908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f786040820152607960f81b60608201526080019056fea2646970667358221220022856d123431d9cd7d55747c0457f492769a6f29ef9cd86dfbdae1b3aeba06c64736f6c6343000811003300000000000000000000000039ab721a0a843e6184cf92ccbc96a133f3d1bb68000000000000000000000000ffffffaeff0b96ea8e4f94b2253f31abdd875847

Deployed Bytecode

0x60806040523661001357610011610017565b005b6100115b60006100216100bb565b90503660008037600080366000845af43d6000803e808015610042573d6000f35b3d6000fd5b3b151590565b60008060405160200161009d9060208082526023908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e4f776e61604082015262626c6560e81b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b60006100c56100d4565b546001600160a01b0316919050565b60008060405160200161009d9060208082526021908201527f696f2e73796e7468657469782e636f72652d636f6e7472616374732e50726f786040820152607960f81b60608201526080019056fea2646970667358221220022856d123431d9cd7d55747c0457f492769a6f29ef9cd86dfbdae1b3aeba06c64736f6c63430008110033

Deployed Bytecode Sourcemap

173:251:6:-:0;;;;;;201:10:3;:8;:10::i;:::-;173:251:6;;141:10:3;224:550;263:22;288:20;:18;:20::i;:::-;263:45;;417:14;414:1;411;398:34;518:1;515;499:14;496:1;480:14;473:5;460:60;555:16;552:1;549;534:38;593:6;612:66;;;;727:16;724:1;717:27;612:66;647:16;644:1;637:27;91:192:7;221:20;268:8;;;91:192::o;335:166:2:-;374:18;404:9;198:49;;;;;;216:2:8;198:21;;;255:2;235:18;;;228:30;294:34;289:2;274:18;;267:62;-1:-1:-1;;;360:2:8;345:18;;338:33;403:3;388:19;;14:399;198:49:2;;;;-1:-1:-1;;198:49:2;;;;;;;;;188:60;;198:49;188:60;;;;;335:166;-1:-1:-1;;335:166:2:o;612:131:5:-;682:7;708:13;:11;:13::i;:::-;:28;-1:-1:-1;;;;;708:28:5;;612:131;-1:-1:-1;612:131:5:o;308:177:4:-;354:24;390:9;158:47;;;;;;620:2:8;602:21;;;659:2;639:18;;;632:30;698:34;693:2;678:18;;671:62;-1:-1:-1;;;764:2:8;749:18;;742:31;805:3;790:19;;418:397

Swarm Source

ipfs://022856d123431d9cd7d55747c0457f492769a6f29ef9cd86dfbdae1b3aeba06c

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.