---
# System prepended metadata

title: Matter Labs' Era System Contracts

---

# Proposal for Enhancements to zkSync Era System Contracts Repository

## Introduction
This proposal outlines suggested improvements for the [zkSync Era System Contracts repository](https://github.com/matter-labs/era-system-contracts).

## Proposed Changes

### 1. Clear README for Test Execution
- **Objective**: Provide a detailed guide on how to run tests in the repository.
- **Action**: Update the README with step-by-step instructions for running tests.

### 2. NPM Compatibility
- **Objective**: Ensure compatibility with npm, in addition to Yarn.
- **Action**: Investigate and resolve npm-related issues to allow seamless use with npm.

### 3. Adding Tests for Contracts
- **Objective**: Develop and add tests for specific contracts currently lacking them.
- **Action**: Begin with adding tests for `NonceHolder.sol`. Subsequently, focus on:
  - `L1Messenger.sol`
  - `L2EthToken.sol`
  - `MsgValueSimulator.sol`
  - `SystemContext.sol`

## Conclusion
Implementing these changes will enhance the usability and reliability of the zkSync Era System Contracts repository, fostering a more robust and developer-friendly environment.

[Repository Link](https://github.com/matter-labs/era-system-contracts)
