Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
989db40
refactor: remove arbos 41 methods
gzeoneth Jul 10, 2025
ec31fac
refactor: remove arbos 40 methods
gzeoneth Jul 10, 2025
4ddeb72
refactor: remove arbos 31 methods
gzeoneth Jul 10, 2025
d7184ef
refactor: remove arbos 30 methods
gzeoneth Jul 10, 2025
6064abc
refactor: remove arbos 20 methods
gzeoneth Jul 10, 2025
be196c0
refactor: remove arbos 11 methods
gzeoneth Jul 10, 2025
72ec09b
refactor: remove arbos 10 methods
gzeoneth Jul 10, 2025
6bbba43
refactor: remove arbos 5 methods
gzeoneth Jul 10, 2025
32a62c9
docs: add LICENSE.md
gzeoneth Jul 10, 2025
14059d3
chore: set up repo and ci
gzeoneth Jul 10, 2025
56ccaf3
docs: add README.md
gzeoneth Jul 10, 2025
08f6926
ci: push
gzeoneth Jul 10, 2025
8aa7df3
ci: fix wrong path
gzeoneth Jul 10, 2025
3880ef4
chore: commit yarn lock
gzeoneth Jul 10, 2025
59ed2e3
feat: add arbos 5 methods
gzeoneth Jul 10, 2025
55dd82e
feat: add arbos 10 methods
gzeoneth Jul 10, 2025
99f7f7d
feat: add arbos 11 methods
gzeoneth Jul 10, 2025
0d1f1b0
feat: add arbos 20 methods
gzeoneth Jul 10, 2025
ff94e82
feat: add arbos 30 methods
gzeoneth Jul 10, 2025
9d2bfdc
feat: add arbos 31 methods
gzeoneth Jul 10, 2025
9ba18fd
feat: add arbos 40 methods
gzeoneth Jul 10, 2025
017f1fd
feat: add arbos 41 methods
gzeoneth Jul 10, 2025
949eff7
chore: keep cacheCodehash
gzeoneth Jul 10, 2025
4b11ae6
format: fix
gzeoneth Jul 11, 2025
68ca341
Merge branch 'retag-history' into arbos-5
gzeoneth Jul 11, 2025
8fa7fb5
chore: 5.0.0
gzeoneth Jul 11, 2025
ae5a872
Merge branch 'arbos-5' into arbos-10
gzeoneth Jul 11, 2025
67139d0
chore: 10.0.0
gzeoneth Jul 11, 2025
095c3f2
Merge branch 'arbos-10' into arbos-11
gzeoneth Jul 11, 2025
dbae8f6
chore: 11.0.0
gzeoneth Jul 11, 2025
0b6fc52
Merge branch 'arbos-11' into arbos-20
gzeoneth Jul 11, 2025
dbdc36b
chore: 20.0.0
gzeoneth Jul 11, 2025
7d48c91
Merge branch 'arbos-20' into arbos-30
gzeoneth Jul 11, 2025
a1b73a8
chore: 30.0.0
gzeoneth Jul 11, 2025
55d5b35
Merge branch 'arbos-30' into arbos-31
gzeoneth Jul 11, 2025
4a50c7a
chore: 31.0.0
gzeoneth Jul 11, 2025
16b0fdb
Merge branch 'arbos-31' into arbos-40
gzeoneth Jul 11, 2025
f59667e
chore: 40.0.0
gzeoneth Jul 11, 2025
27c2a95
Merge branch 'arbos-40' into arbos-41
gzeoneth Jul 11, 2025
b0a772a
chore: 41.0.0
gzeoneth Jul 11, 2025
957da64
Merge remote-tracking branch 'origin/main' into arbos-41
gzeoneth Jul 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions ArbNativeTokenManager.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright 2021-2025, Offchain Labs, Inc.
// For license information, see https://github.com/OffchainLabs/nitro-contracts/blob/main/LICENSE.md
// SPDX-License-Identifier: BUSL-1.1

pragma solidity >=0.4.21 <0.9.0;

/**
* @title Enables minting and burning native tokens.
* @notice Authorized callers are added/removed through ArbOwner precompile.
* Precompiled contract that exists in every Arbitrum chain at 0x0000000000000000000000000000000000000073.
* Available in ArbOS version 41 and above
*/
interface ArbNativeTokenManager {
/**
* @notice Emitted when some amount of the native gas token is minted to a NativeTokenOwner.
*/
event NativeTokenMinted(address indexed to, uint256 amount);

/**
* @notice Emitted when some amount of the native gas token is burned from a NativeTokenOwner.
*/
event NativeTokenBurned(address indexed from, uint256 amount);

/**
* @notice In case the caller is authorized,
* mints some amount of the native gas token for this chain to the caller.
*/
function mintNativeToken(
uint256 amount
) external;

/**
* @notice In case the caller is authorized,
* burns some amount of the native gas token for this chain from the caller.
*/
function burnNativeToken(
uint256 amount
) external;
}
28 changes: 28 additions & 0 deletions ArbOwner.sol
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,34 @@ interface ArbOwner {
/// @notice Retrieves the list of chain owners
function getAllChainOwners() external view returns (address[] memory);

/// @notice Sets the NativeTokenManagementFrom time
/// @notice Available in ArbOS version 41 and above
function setNativeTokenManagementFrom(
uint64 timestamp
) external;

/// @notice Add account as a native token owner
/// @notice Available in ArbOS version 41 and above
function addNativeTokenOwner(
address newOwner
) external;

/// @notice Remove account from the list of native token owners
/// @notice Available in ArbOS version 41 and above
function removeNativeTokenOwner(
address ownerToRemove
) external;

/// @notice See if the user is a native token owner
/// @notice Available in ArbOS version 41 and above
function isNativeTokenOwner(
address addr
) external view returns (bool);

/// @notice Retrieves the list of native token owners
/// @notice Available in ArbOS version 41 and above
function getAllNativeTokenOwners() external view returns (address[] memory);

/// @notice Set how slowly ArbOS updates its estimate of the L1 basefee
function setL1BaseFeeEstimateInertia(
uint64 inertia
Expand Down
10 changes: 10 additions & 0 deletions ArbOwnerPublic.sol
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@ interface ArbOwnerPublic {
/// @notice Retrieves the list of chain owners
function getAllChainOwners() external view returns (address[] memory);

/// @notice See if the user is a native token owner
/// @notice Available in ArbOS version 41 and above
function isNativeTokenOwner(
address addr
) external view returns (bool);

/// @notice Retrieves the list of native token owners
/// @notice Available in ArbOS version 41 and above
function getAllNativeTokenOwners() external view returns (address[] memory);

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

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@arbitrum/nitro-precompile-interfaces",
"version": "40.0.0",
"version": "41.0.0",
"description": "Solidity interfaces for Arbitrum Nitro precompiled contracts",
"author": "Offchain Labs, Inc.",
"license": "BUSL-1.1",
Expand Down