Chainbridge celo module
Sygma celo module is the part of Sygma-core framework. This module brings support of celo compatible client module.
Project still in deep beta
Table of Contents
- Installation
- Usage
- Differences Between EVM and Celo
Installation
Refer to installation guide for assistance in installing.
Usage
Module should be used along with core framework.
Since chainbridge-celo-module is a package it will require writing some extra code to get it running alongside chainbridge-core. Here you can find some examples
Example
Differences Between EVM and Celo
Though Celo is an EVM-compatible chain, it deviates in its implementation of the original Ethereum specifications, and therefore is deserving of its own separate module.
The differences alluded to above in how Celo constructs transactions versus those found within Ethereum can be viewed below by taking a look at the Message structs in both implementations.
Ethereum Message Struct
Here you will find fields relating to the most recent London hardfork (EIP-1559), most notably gasFeeCap
and gasTipCap
.
Message {
from: from,
to: to,
nonce: nonce,
amount: amount,
gasLimit: gasLimit,
gasPrice: gasPrice,
gasFeeCap: gasFeeCap,
gasTipCap: gasTipCap,
data: data,
accessList: accessList,
isFake: isFake,
}
Celo Message Struct
In Celo's struct you will notice that there are additional fields added for feeCurrency
, gatewayFeeRecipient
and gatewayFee
. You may also notice the ethCompatible
field, a boolean value we added in order to quickly determine whether the message is Ethereum compatible or not, ie, that feeCurrency
, gatewayFeeRecipient
and gatewayFee
are omitted.
Message {
from: from,
to: to,
nonce: nonce,
amount: amount,
gasLimit: gasLimit,
gasPrice: gasPrice,
feeCurrency: feeCurrency, // Celo-specific
gatewayFeeRecipient: gatewayFeeRecipient, // Celo-specific
gatewayFee: gatewayFee, // Celo-specific
data: data,
ethCompatible: ethCompatible, // Bool to check presence of: feeCurrency, gatewayFeeRecipient, gatewayFee
checkNonce: checkNonce,
}
ChainSafe Security Policy
Reporting a Security Bug
We take all security issues seriously, if you believe you have found a security issue within a ChainSafe
project please notify us immediately. If an issue is confirmed, we will take all necessary precautions
to ensure a statement and patch release is made in a timely manner.
Please email us a description of the flaw and any related information (e.g. reproduction steps, version) to
security at chainsafe dot io.
License
GNU Lesser General Public License v3.0