@webb-tools/evm-test-utils
TypeScript icon, indicating that this package has built-in type declarations

1.0.11 • Public • Published

A local ganache network for testing evm interactions in development

License Apache 2.0 Twitter Telegram Discord

📖 Table of Contents

Table of Contents

Overview

This Repository is meant to support a development environment for the anchor protocol over EVM networks. In its current state, it starts up two networks and deploys a Variable Anchor bridge over these networks for a freshly created erc20 token. It is meant to be used directly with this script at the current moment.

  • Hermes: chainId 5001, 'chain a'
  • Athena: chainId 5002, 'chain b'
  • Demeter: chainId 5003, 'chain c'

Start

  1. Clone the repo and build dependencies
git clone https://github.com/webb-tools/protocol-solidity
cd protocol-solidity && yarn
  1. Populate fixed zero knowledge keys by running:
cd packages/contracts && dvc pull && cd ../..
  1. Start the local testnet with:
ts-node ./scripts/evm/deployments/LocalEvmVBridge.ts

Great! Now you have a local EVM node running!

Usage

The deployer is the oracle signer for this bridge. As such, a CLI is supported for actions which require the bridge to sign messages, acting as the DKG. These commands are as follows:

- 'deposit on chain a': Using the deployer account, deposit into the fixed anchor on chain a. The deposit is stored in this local testnet memory for use by the withdraw command later.
- 'relay from a to b': Using the deployer account, look at the latest deposit on chain a and update chain b's root. This simulates the work of the Webb Relayer network interacting with a dkg and submitting the signed transaction on the other side of the bridge.
- 'withdraw on chain b': Using the deployer account, withdraw from the chain. It takes the latest deposit done through the CLI for a withdraw.
- 'root on chain a': Print the current root of the merkle tree for chain a.

For full E2E integration testing with the dapp, deposits and withdrawals can be done through the DApp UI. Simply call the 'relay from to ' command after a deposit through the dapp to relay the roots before initiating the withdrawal through the dapp.

Readme

Keywords

none

Package Sidebar

Install

npm i @webb-tools/evm-test-utils

Weekly Downloads

2

Version

1.0.11

License

(MIT OR Apache-2.0)

Unpacked Size

35.6 kB

Total Files

18

Last publish

Collaborators

  • 1xstj
  • atelypham
  • salman01z
  • drewstone
  • shady-commonwealth
  • shekohex