Sygma uses Solidity smart contracts to enable transfers to and from EVM compatible chains. These contracts consist of a core bridge contract (Bridge.sol) and a set of handler contracts (ERC20Handler.sol, PermissionlessGenericHandler.sol). The bridge contract is responsible for initiating and executing proposed transfers. The handlers are used by the bridge contract to interact with other existing contracts.
To deploy contracts run npx hardhat run --network NETWORK_NAME scripts/deploy.ts
.
For more details check out the official hardhat documentation.
To add another network do the following:
- update
hardhat.config.ts
with the desired configuration
Requires yarn
and @nomicfoundation/hardhat
.
- hardhat commands:
check
- Check whatever you need
clean
- Clears the cache and deletes all artifacts
compile
- Compiles the entire project, building all artifacts
console
- Opens a hardhat console
coverage
- Generates a code coverage report for tests
flatten
- Flattens and prints contracts and their dependencies
help
- Prints this message
node
- Starts a JSON-RPC server on top of Hardhat Network
run
- Runs a user-defined script after compiling the project
test
- Runs mocha tests
typechain
- Generate Typechain typings for compiled contracts
verify
- Verifies contract on Etherscan - custom commands:
yarn run test
: Runs tests.
We take all security issues seriously, if you believe you have found a security issue within a Sygma 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 dev@buildwithsygma.com.