Skip to content

pushchain/push-chain-core-contracts

Repository files navigation

Push Chain Core Contracts

This repository contains the core smart contracts powering Push Chain's universal interoperability protocol. The system enables users and applications from any supported chain to interact with Push Chain through deterministic smart accounts, a protocol coordinator, and synthetic token primitives — all without requiring a native Push Chain wallet.

Getting Started

Dependencies

  • Foundry
  • Solidity 0.8.26 (auto-pinned via foundry.toml)

Setup

forge build

Test

forge test                                    # all tests
forge test -vvv                               # verbose output
forge test --match-test testName              # single test by name
forge test --match-contract ContractTest      # single contract
forge test --match-path test/tests_uea_and_factory/UEA_EVM.t.sol  # single file
forge test --gas-report                       # with gas report

Coverage

Coverage requires lcov for HTML report generation (optional):

# Ubuntu
sudo apt install lcov

# macOS
brew install lcov
forge coverage --ir-minimum --no-match-coverage "(PRC20V0\.sol|UniversalCoreV0\.sol|ReceiverExample\.sol|src/(libraries|[Ii]nterfaces|mocks)/|test/)"

Note: The --ir-minimum flag is required because the codebase uses via_ir = true. Without it, forge coverage disables the optimizer and hits "Stack too deep" errors in some fuzz tests. The --ir-minimum flag re-enables viaIR with minimal optimization, producing accurate coverage without stack issues.


Docs and Tooling

Protocol Documentation

Deployed Addresses

Push Chain Testnet

RPC: https://rpc.push.org/testnet

Push Chain Docs: https://push.org/docs/


License

MIT

About

v1 of push smart account for Push Chain - Represents external EOAs on Push Chain.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages