Skip to content

Many Chain Multisig System (MCMS) provides tools and libraries to deploy, manage and interact with MCMS across multiple chains.

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.md
Unknown
LICENSE-GRANTS.md
Notifications You must be signed in to change notification settings

smartcontractkit/mcms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Many Chain Multisig System

Official documentation

Many Chain Multisig System (MCMS) provides tools and libraries to deploy, manage and interact with MCMS across multiple chains.

Development

Getting Started

Install the developments tools and dependencies to get started.

Install asdf

asdf is a tool version manager. All dependencies used for local development of this repo are managed through asdf. To install asdf:

  1. Install asdf
  2. Follow the instructions to ensure asdf is shimmed into your terminal or development environment

Install task

task is an alternative to make and is used to provide commands for everyday development tasks. To install task:

  1. Add the asdf task plugin: asdf plugin add task
  2. Install task with asdf install task
  3. Run task -l to see available commands

Installing Dependencies

Now that you have asdf and task installed, you can install the dependencies for this repo:

task install:tools

Running Tests

Run the entire test suite with:

task test

More test commands can be found by running task -l

Running Unit Tests

task test:unit

Running E2E Tests

We use Chainlink Testing Framework for E2E tests. Run them with:

task test:e2e

For verbose output just pass -v as command argument:

task test:e2e -- -v

By default, we use anvil evm. If you want to run e2e tests with specific configuration different chain etc. you need to specify path to the config after default one to override or add to the previous values. It's pattern of CTF more here:

task test:e2e CTF_CONFIGS=../config.toml,../custom_configs/avax_fuji.toml

Generating MCM Solana compiled program

To run e2e tests for solana blockchain, we need to have the MCM compiled program. MCM Solana program is located in chainlink-ccip repo. We can run go generate -tags=e2e ./e2e/... to pull in the latest version of the program from that repo and compile it. The output will be saved in e2e/artifacts/solana/ folder.

Running Ledger Signing Test

For real ledger signing verification you can run: task test:ledger

Remember to connect usb device, unlock it and open ethereum app.

Running Linters

Run the linters with:

task lint

More lint commands can be found by running task -l

Documentation

We use Docsify to generate our documentation. You can modify the docs by editing the markdown files in the docs directory.

Run the local documentation server with:

task docs

Contributing

For instructions on how to contribute to mcms, see CONTRIBUTING.md

Releasing

For instructions on how to release mcms, see RELEASE.md

About

Many Chain Multisig System (MCMS) provides tools and libraries to deploy, manage and interact with MCMS across multiple chains.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.md
Unknown
LICENSE-GRANTS.md

Stars

Watchers

Forks

Packages

No packages published