APE Price: $1.09 (-10.08%)

Contract

0x0000000000000000000000000000000000000070

Overview

APE Balance

Apechain LogoApechain LogoApechain Logo0 APE

APE Value

$0.00

More Info

Private Name Tags

ContractCreator

GENESIS at txn GENESIS_0000000000000000000000000000000000000070
Transaction Hash
Method
Block
From
To
Add Chain Owner112024-08-28 16:45:33143 days ago1724863533IN
0x00000000...000000070
0 APE0.000002140.1
GENESIS_0000000000000000000000000000000000000070Transfer*02024-08-28 16:45:22143 days ago1724863522GENESISIN
 Create: ArbOwner
0 APE00

Parent Transaction Hash Block From To
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Genesis Bytecode Match Only)

Contract Name:
ArbOwner

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default EvmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at apescan.io on 2024-11-20
*/

// Copyright 2021-2024, Offchain Labs, Inc.
// For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE
// SPDX-License-Identifier: BUSL-1.1

pragma solidity >=0.4.21 <0.9.0;

/**
 * @title Provides owners with tools for managing the rollup.
 * @notice Calls by non-owners will always revert.
 * Most of Arbitrum Classic's owner methods have been removed since they no longer make sense in Nitro:
 * - What were once chain parameters are now parts of ArbOS's state, and those that remain are set at genesis.
 * - ArbOS upgrades happen with the rest of the system rather than being independent
 * - Exemptions to address aliasing are no longer offered. Exemptions were intended to support backward compatibility for contracts deployed before aliasing was introduced, but no exemptions were ever requested.
 * Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000070.
 **/
interface ArbOwner {
    /// @notice Add account as a chain owner
    function addChainOwner(address newOwner) external;

    /// @notice Remove account from the list of chain owners
    function removeChainOwner(address ownerToRemove) external;

    /// @notice See if the user is a chain owner
    function isChainOwner(address addr) external view returns (bool);

    /// @notice Retrieves the list of chain owners
    function getAllChainOwners() external view returns (address[] memory);

    /// @notice Set how slowly ArbOS updates its estimate of the L1 basefee
    function setL1BaseFeeEstimateInertia(uint64 inertia) external;

    /// @notice Set the L2 basefee directly, bypassing the pool calculus
    function setL2BaseFee(uint256 priceInWei) external;

    /// @notice Set the minimum basefee needed for a transaction to succeed
    function setMinimumL2BaseFee(uint256 priceInWei) external;

    /// @notice Set the computational speed limit for the chain
    function setSpeedLimit(uint64 limit) external;

    /// @notice Set the maximum size a tx (and block) can be
    function setMaxTxGasLimit(uint64 limit) external;

    /// @notice Set the L2 gas pricing inertia
    function setL2GasPricingInertia(uint64 sec) external;

    /// @notice Set the L2 gas backlog tolerance
    function setL2GasBacklogTolerance(uint64 sec) external;

    /// @notice Get the network fee collector
    function getNetworkFeeAccount() external view returns (address);

    /// @notice Get the infrastructure fee collector
    function getInfraFeeAccount() external view returns (address);

    /// @notice Set the network fee collector
    function setNetworkFeeAccount(address newNetworkFeeAccount) external;

    /// @notice Set the infrastructure fee collector
    function setInfraFeeAccount(address newInfraFeeAccount) external;

    /// @notice Upgrades ArbOS to the requested version at the requested timestamp
    function scheduleArbOSUpgrade(uint64 newVersion, uint64 timestamp) external;

    /// @notice Sets equilibration units parameter for L1 price adjustment algorithm
    function setL1PricingEquilibrationUnits(uint256 equilibrationUnits) external;

    /// @notice Sets inertia parameter for L1 price adjustment algorithm
    function setL1PricingInertia(uint64 inertia) external;

    /// @notice Sets reward recipient address for L1 price adjustment algorithm
    function setL1PricingRewardRecipient(address recipient) external;

    /// @notice Sets reward amount for L1 price adjustment algorithm, in wei per unit
    function setL1PricingRewardRate(uint64 weiPerUnit) external;

    /// @notice Set how much ArbOS charges per L1 gas spent on transaction data.
    function setL1PricePerUnit(uint256 pricePerUnit) external;

    /// @notice Sets the base charge (in L1 gas) attributed to each data batch in the calldata pricer
    function setPerBatchGasCharge(int64 cost) external;

    /**
     * @notice Sets the Brotli compression level used for fast compression
     * Available in ArbOS version 12 with default level as 1
     */
    function setBrotliCompressionLevel(uint64 level) external;

    /// @notice Sets the cost amortization cap in basis points
    function setAmortizedCostCapBips(uint64 cap) external;

    /// @notice Releases surplus funds from L1PricerFundsPoolAddress for use
    function releaseL1PricerSurplusFunds(uint256 maxWeiToRelease) external returns (uint256);

    /// @notice Sets the amount of ink 1 gas buys
    /// @param price the conversion rate (must fit in a uint24)
    function setInkPrice(uint32 price) external;

    /// @notice Sets the maximum depth (in wasm words) a wasm stack may grow
    function setWasmMaxStackDepth(uint32 depth) external;

    /// @notice Sets the number of free wasm pages a tx gets
    function setWasmFreePages(uint16 pages) external;

    /// @notice Sets the base cost of each additional wasm page
    function setWasmPageGas(uint16 gas) external;

    /// @notice Sets the maximum number of pages a wasm may allocate
    function setWasmPageLimit(uint16 limit) external;

    /// @notice Sets the minimum costs to invoke a program
    /// @param gas amount of gas paid in increments of 256 when not the program is not cached
    /// @param cached amount of gas paid in increments of 64 when the program is cached
    function setWasmMinInitGas(uint8 gas, uint16 cached) external;

    /// @notice Sets the linear adjustment made to program init costs.
    /// @param percent the adjustment (100% = no adjustment).
    function setWasmInitCostScalar(uint64 percent) external;

    /// @notice Sets the number of days after which programs deactivate
    function setWasmExpiryDays(uint16 _days) external;

    /// @notice Sets the age a program must be to perform a keepalive
    function setWasmKeepaliveDays(uint16 _days) external;

    /// @notice Sets the number of extra programs ArbOS caches during a given block
    function setWasmBlockCacheSize(uint16 count) external;

    /// @notice Adds account as a wasm cache manager
    function addWasmCacheManager(address manager) external;

    /// @notice Removes account from the list of wasm cache managers
    function removeWasmCacheManager(address manager) external;

    /// @notice Sets serialized chain config in ArbOS state
    function setChainConfig(string calldata chainConfig) external;

    /// Emitted when a successful call is made to this precompile
    event OwnerActs(bytes4 indexed method, address indexed owner, bytes data);

    function setSharePrice(uint64 sharePrice) external;
    function setApy(uint64 apy) external;
}

Contract Security Audit

Contract ABI

[{"anonymous": false,"inputs": [{"indexed": true,"internalType": "bytes4","name": "method","type": "bytes4"},{"indexed": true,"internalType": "address","name": "owner","type": "address"},{"indexed": false,"internalType": "bytes","name": "data","type": "bytes"}],"name": "OwnerActs","type": "event"},{"inputs": [{"internalType": "address","name": "newOwner","type": "address"}],"name": "addChainOwner","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "manager","type": "address"}],"name": "addWasmCacheManager","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [],"name": "getAllChainOwners","outputs": [{"internalType": "address[]","name": "","type": "address[]"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "getInfraFeeAccount","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [],"name": "getNetworkFeeAccount","outputs": [{"internalType": "address","name": "","type": "address"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "address","name": "addr","type": "address"}],"name": "isChainOwner","outputs": [{"internalType": "bool","name": "","type": "bool"}],"stateMutability": "view","type": "function"},{"inputs": [{"internalType": "uint256","name": "maxWeiToRelease","type": "uint256"}],"name": "releaseL1PricerSurplusFunds","outputs": [{"internalType": "uint256","name": "","type": "uint256"}],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "ownerToRemove","type": "address"}],"name": "removeChainOwner","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "manager","type": "address"}],"name": "removeWasmCacheManager","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "newVersion","type": "uint64"},{"internalType": "uint64","name": "timestamp","type": "uint64"}],"name": "scheduleArbOSUpgrade","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "cap","type": "uint64"}],"name": "setAmortizedCostCapBips","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "apy","type": "uint64"}],"name": "setApy","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "level","type": "uint64"}],"name": "setBrotliCompressionLevel","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "string","name": "chainConfig","type": "string"}],"name": "setChainConfig","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "newInfraFeeAccount","type": "address"}],"name": "setInfraFeeAccount","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint32","name": "price","type": "uint32"}],"name": "setInkPrice","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "inertia","type": "uint64"}],"name": "setL1BaseFeeEstimateInertia","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint256","name": "pricePerUnit","type": "uint256"}],"name": "setL1PricePerUnit","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint256","name": "equilibrationUnits","type": "uint256"}],"name": "setL1PricingEquilibrationUnits","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "inertia","type": "uint64"}],"name": "setL1PricingInertia","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "weiPerUnit","type": "uint64"}],"name": "setL1PricingRewardRate","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "recipient","type": "address"}],"name": "setL1PricingRewardRecipient","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint256","name": "priceInWei","type": "uint256"}],"name": "setL2BaseFee","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "sec","type": "uint64"}],"name": "setL2GasBacklogTolerance","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "sec","type": "uint64"}],"name": "setL2GasPricingInertia","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "limit","type": "uint64"}],"name": "setMaxTxGasLimit","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint256","name": "priceInWei","type": "uint256"}],"name": "setMinimumL2BaseFee","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "address","name": "newNetworkFeeAccount","type": "address"}],"name": "setNetworkFeeAccount","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "int64","name": "cost","type": "int64"}],"name": "setPerBatchGasCharge","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "sharePrice","type": "uint64"}],"name": "setSharePrice","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "limit","type": "uint64"}],"name": "setSpeedLimit","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "count","type": "uint16"}],"name": "setWasmBlockCacheSize","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "_days","type": "uint16"}],"name": "setWasmExpiryDays","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "pages","type": "uint16"}],"name": "setWasmFreePages","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint64","name": "percent","type": "uint64"}],"name": "setWasmInitCostScalar","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "_days","type": "uint16"}],"name": "setWasmKeepaliveDays","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint32","name": "depth","type": "uint32"}],"name": "setWasmMaxStackDepth","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint8","name": "gas","type": "uint8"},{"internalType": "uint16","name": "cached","type": "uint16"}],"name": "setWasmMinInitGas","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "gas","type": "uint16"}],"name": "setWasmPageGas","outputs": [],"stateMutability": "nonpayable","type": "function"},{"inputs": [{"internalType": "uint16","name": "limit","type": "uint16"}],"name": "setWasmPageLimit","outputs": [],"stateMutability": "nonpayable","type": "function"}]

0xfe

Deployed Bytecode

0xfe

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
[ 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.