Skip to content

Latest commit

 

History

History
108 lines (72 loc) · 7.34 KB

README.md

File metadata and controls

108 lines (72 loc) · 7.34 KB

ERC-5564 and ERC-6538 Contracts

This repo contains the canonical implementations of the ERC-5564 and ERC-6538 contracts:

  • ERC-5564 Stealth Addresses: Private, non-interactive transfers and interactions.
  • ERC-6538 Stealth Meta-Address Registry: A registry to map addresses to stealth meta-addresses

Usage

This repo is developed using Foundry.

Setup

  1. Install Foundry on your local machine by following the instructions here.

  2. Clone the repo and navigate to the root directory of the repo:

git clone [email protected]:ScopeLift/stealth-address-erc-contracts.git
cd stealth-address-erc-contracts

Compile

# Build the contracts
forge build

Test

# Run the tests
forge test

Coverage

# See test coverage
forge coverage

Linting and Specifications

This project uses scopelint for linting and spec generation. Follow these instructions to install it.

Lint

# Check formatting
scopelint check
# Apply formatting changes
scopelint fmt

Spec

scopelint spec

This command will use the names of the contract's unit tests to generate a human readable spec. It will list each contract, its constituent functions, and the human readable description of functionality each unit test aims to assert.

Deployments

The stealth contracts are deployed at the following addresses:

ERC5564Announcer: 0x55649E01B5Df198D18D95b5cc5051630cfD45564

ERC6538Registry: 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538

If you've deployed the contracts on networks other than the ones currently listed, please submit a pull request to update the deployment table with the relevant block scanner links. Thank you!

Mainnet Networks

Networks ERC5564Announcer ERC6538Registry
Mainnet 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Arbitrum 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Base 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Gnosis Chain 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Optimism 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Polygon 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Scroll 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538

Ethereum Test Networks

Networks ERC5564Announcer ERC6538Registry
Sepolia 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Holešky 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538

Additional EVM-Based Test Networks

Networks ERC5564Announcer ERC6538Registry
Arbitrum Sepolia 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Base Sepolia 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538
Optimism Sepolia 0x55649E01B5Df198D18D95b5cc5051630cfD45564 0x6538E6bf4B0eBd30A8Ea093027Ac2422ce5d6538

Security

Coming soon.

License

Contracts in this repository are released under the MIT License.