Skip to content

VaultaFoundation/evm-bridge-contracts

Repository files navigation

Vaulta EVM Bridge Contracts

This repository contains the Solidity and Antelope contracts needed to support advanced functionality of the trustless bridge of Vaulta EVM.

The erc20 contracts (both within solidity_contracts and antelope_contracts) enable tokens to be moved between the Vaulta EVM and Vaulta Native environments across the trustless bridge of Vaulta EVM. On the Vaulta EVM side, the tokens are managed by an ERC-20 compatible token contract that is automatically deployed to Vaulta EVM and managed by the Antelope erc20 contract. On the Vaulta Native side, the Antelope erc20 contract supports any tokens that follow the common interface established by the eosio.token reference contract; specifically, the token contract deployed on Vaulta Native must satisfy the interface for the transfer action captured in this header file and its behavior should follow the expectations set in the eosio.token reference contract.

Dependencies

Building the EVM bridge contract

git submodule update --init --recursive

mkdir build
cd build

export eosevm_DIR=<EVM_RUNTIME_BUILD_DIRECTORY>

cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -Deosevm_DIR=<EVM_RUNTIME_BUILD_DIRECTORY> -Dspring_DIR=<SPRING_DIRECTORY> -Dcdt_DIR=<CDT_DIRECTORY> .. && make -j8

You will get the wasm and abi at:

./build/antelope_contracts/contracts/erc20/erc20.wasm
./build/antelope_contracts/contracts/erc20/erc20.abi

Running tests

cd build && ctest --output-on-failure --verbose 

Design details and deployment steps

Please refer to https://github.com/VaultaFoundation/evm-public-docs/tree/main/Trustless_bridge

About

Contracts to support the trustless bridge mechanism of the Vaulta EVM Framework

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 6