pheuberger / toucan-bridge

Toucan - Regen Ledger bridge smart contracts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Toucan Bridge

Smart contracts for Toucan (Polygon) - Regen bridge.

Summary

Regen Ledger is a blockchain dedicated for Earth sustainability and Regenerative Finance. Regen Ledger provides a registry for all type of eco credits. Vintages are represented as batches and grouped into credit classes.

Toucan is a digitized carbon registry implemented on Polygon blockchain. The carbon vintages are implemented as ERC20 smart contracts, called TCO2.

This repository provides smart contracts for a one way bridge from TCO2 carbon credits to Regen Ledger Eco Credits Batches. In parallel we are working for a fully decentralized 2-way bridge.

Functionality

  • burning TCO2 whitelisted tokens and issuing bridge events.

(TODO, more description will come)

Setup

Dependencies

  • node > 16.0

Installation

git submodule update --init --recursive
yarn

To update the submodule to its latest version

git submodule update --remote --merge

Contributing

  • get some Polygon Mumbai testnet tokens from faucet.

Build

yarn build

Deploy bridge

The bridge deploy script expects two environment variables. 1) address of the bridge controller: BRIDGE_CONTROLLER_ADDRESS and 2) address of the Toucan contract registry: TOUCAN_CONTRACT_REGISTRY_ADDRESS

Testnets/Matic

Before you deploy you should set up your signer wallet. You can either pass a mnemonic via the environment variable MNEMONIC or create a mnemonic.txt file with the seed phrase in the root of the repository.

Locally

The mnemonic is not required for local deployments. The script will automatically default to the first signer account from Hardhat.

yarn hardhat run scripts/toucan-bridge.js --network <network>

Verify in Polygonscan

Add a Polygonscan API key in your .env file, then run:

yarn hardhat verify <contract_address> --contract contracts/ToucanRegenBridge.sol:ToucanRegenBridge <issuer_address> <nct_address> --network <network>

License

See the LICENSE file.

About

Toucan - Regen Ledger bridge smart contracts

License:GNU General Public License v3.0


Languages

Language:JavaScript 76.3%Language:Solidity 22.6%Language:Shell 1.0%