Darknode contracts (Ethereum-only)
The darknode contracts include the following contracts:
This is the ERC20 contract for the REN token.
These contracts are responsible for managing the registration and bonding of darknodes.
DarknodeRegistry handles the logic of registering, while the
DarknodeRegistryStore stores the REN used for bonds.
Minting and burning fees were previously subtracted on Ethereum, and then forwarded to the
Fees are now collected in RenVM instead, but darknode operators can still withdraw legacy rewards from the
DarknodePayment contract through the Command Center.
Protocol contract tracks the addresses of all of the other contracts.
EVM Gateway contracts
Each ren-asset (e.g. renBTC, renDOGE, etc.) is represented on EVM-compatible chains (Ethereum, BSC, etc.) by an ERC20 contract.
RenERC20 has an associated
MintGateway contract which is responsible for minting and burning the ren-asset. It handles verifying the RenVM signature, and emitting burn events which are watched by RenVM.
A future upgrade will unify all
MintGateways into a single contract that manages all
Each EVM-compatible chain has a
GatewayRegistry which can be used to look-up the
RenERC20 contract addresses from a symbol.
A future upgrade will replace the
GatewayRegistry with a
RenERC20Factory which will also be responsible for deploying new
BasicAdapter contract is not part of the core RenVM protocol contracts, and is only used by the front-end RenJS library. It's a contract that submits mint signatures to a
MintGateway and then forwards the minted ren-asset to the specified recipient.