ETH Price: $2,564.18 (-1.29%)
 

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

There are no matching entries

Please try again later

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BerachainMapping

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/// @title BerachainMapping
/// @notice This contract is used to map mainnet addresses to berachain addresses
contract BerachainMapping {
    // mainnet address => berachain address
    mapping(address mainnet => address berachain) public mainnetToBerachain;

    // requests are the addresses that have requested a berachain address
    address[] public requests;

    /// @notice The event emitted when a berachain address is set
    /// @param mainnetAddress The mainnet address that set the berachain address
    /// @param berachainAddress The berachain address that was set
    event BerachainAddressSet(address indexed mainnetAddress, address indexed berachainAddress);

    /// @notice The error emitted when an invalid berachain address is set
    error InvalidBerachainAddress();

    /// @notice Please use this berachain address for redemption
    /// @param berachainAddress The berachain address to redeem to
    /// @dev This function is used to set the berachain address for redemption
    function PleaseUseThisBerachainAddressForRedemption(address berachainAddress) public {
        if (berachainAddress == address(0)) revert InvalidBerachainAddress();
        mainnetToBerachain[msg.sender] = berachainAddress;
        requests.push(msg.sender);
        emit BerachainAddressSet(msg.sender, berachainAddress);
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
    "@blueprint-finance/=node_modules/@blueprint-finance/",
    "@blueprint-finance/token-distribution-contracts/=node_modules/@blueprint-finance/token-distribution-contracts/",
    "local/src/=src/",
    "@morpho-org/=node_modules/@morpho-org/",
    "@uniswap/=node_modules/@uniswap/",
    "@layerzerolabs/lz-evm-oapp-v2/contracts/=node_modules/@layerzerolabs/lz-evm-oapp-v2/contracts/",
    "@layerzerolabs/lz-evm-messagelib-v2/=node_modules/@layerzerolabs/lz-evm-messagelib-v2/",
    "@layerzerolabs/lz-evm-protocol-v2/=node_modules/@layerzerolabs/lz-evm-protocol-v2/",
    "@layerzerolabs/oapp-evm/contracts/=node_modules/@layerzerolabs/oapp-evm/contracts/",
    "solidity-bytes-utils/=node_modules/solidity-bytes-utils/",
    "base64-sol/=node_modules/base64-sol/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "earn-v1-vault-manager-v1/=node_modules/earn-v1-vault-manager-v1/",
    "earn-v1-vault-manager-v2/=node_modules/earn-v1-vault-manager-v2/",
    "@blueprint-finance/multi-asset-vault/=node_modules/@blueprint-finance/multi-asset-vault/",
    "@blueprint-finance/concrete-earn-beacon/=node_modules/@blueprint-finance/concrete-earn-beacon/",
    "beacon-vaults-0.0.1/=node_modules/beacon-vaults-0.0.1/",
    "earn-v1-release-0-2-1/=node_modules/earn-v1-release-0-2-1/",
    "earn-v1-release-0-2-0/=node_modules/earn-v1-release-0-2-0/",
    "earn-v1-release-0-3-9/=node_modules/earn-v1-release-0-3-9/",
    "earn-v1-release-0-3-8/=node_modules/earn-v1-release-0-3-8/",
    "earn-v1-release-0-3-7/=node_modules/earn-v1-release-0-3-7/",
    "earn-v1-release-0-3-6/=node_modules/earn-v1-release-0-3-6/",
    "earn-v1-release-0-3-5/=node_modules/earn-v1-release-0-3-5/",
    "earn-v1-release-0-3-4/=node_modules/earn-v1-release-0-3-4/",
    "earn-v1-release-0-3-3/=node_modules/earn-v1-release-0-3-3/",
    "earn-v1-release-0-3-2/=node_modules/earn-v1-release-0-3-2/",
    "earn-v1-release-0-3-1/=node_modules/earn-v1-release-0-3-1/",
    "earn-v1-release-0-3-0/=node_modules/earn-v1-release-0-3-0/",
    "earn-v1-release-0-3-10/=node_modules/earn-v1-release-0-3-10/",
    "earn-v1-release-0-3-11/=node_modules/earn-v1-release-0-3-11/",
    "earn-v1-release-0-3-12/=node_modules/earn-v1-release-0-3-12/",
    "earn-v1-release-0-4-0/=node_modules/earn-v1-release-0-4-0/",
    "earn-v1-release-0-4-1/=node_modules/earn-v1-release-0-4-1/",
    "eth-gas-reporter/=node_modules/eth-gas-reporter/",
    "forge-std/=lib/forge-std/src/",
    "hardhat/=node_modules/hardhat/",
    "./=remappings.txt/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"InvalidBerachainAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"mainnetAddress","type":"address"},{"indexed":true,"internalType":"address","name":"berachainAddress","type":"address"}],"name":"BerachainAddressSet","type":"event"},{"inputs":[{"internalType":"address","name":"berachainAddress","type":"address"}],"name":"PleaseUseThisBerachainAddressForRedemption","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"mainnet","type":"address"}],"name":"mainnetToBerachain","outputs":[{"internalType":"address","name":"berachain","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requests","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561000f575f80fd5b506102068061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806372ad1d8b1461004357806381d12c5814610087578063b6d68a291461009a575b5f80fd5b61006b61005136600461018c565b5f602081905290815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61006b6100953660046101b9565b6100af565b6100ad6100a836600461018c565b6100d7565b005b600181815481106100be575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b0381166100fe57604051635b735ab360e11b815260040160405180910390fd5b335f8181526020819052604080822080546001600160a01b0386166001600160a01b031991821681179092556001805480820182559085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180549091168517905590519092917f6d2e10dcba00183d8329be1f14b13279489ef76546dc439c865f31fe499463e591a350565b5f6020828403121561019c575f80fd5b81356001600160a01b03811681146101b2575f80fd5b9392505050565b5f602082840312156101c9575f80fd5b503591905056fea26469706673582212203b5c224b8320dc42afad84343adb534fc482357a4c50d12d236294ff91f3f8f164736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c806372ad1d8b1461004357806381d12c5814610087578063b6d68a291461009a575b5f80fd5b61006b61005136600461018c565b5f602081905290815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61006b6100953660046101b9565b6100af565b6100ad6100a836600461018c565b6100d7565b005b600181815481106100be575f80fd5b5f918252602090912001546001600160a01b0316905081565b6001600160a01b0381166100fe57604051635b735ab360e11b815260040160405180910390fd5b335f8181526020819052604080822080546001600160a01b0386166001600160a01b031991821681179092556001805480820182559085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180549091168517905590519092917f6d2e10dcba00183d8329be1f14b13279489ef76546dc439c865f31fe499463e591a350565b5f6020828403121561019c575f80fd5b81356001600160a01b03811681146101b2575f80fd5b9392505050565b5f602082840312156101c9575f80fd5b503591905056fea26469706673582212203b5c224b8320dc42afad84343adb534fc482357a4c50d12d236294ff91f3f8f164736f6c63430008180033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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.

OSZAR »