Deployed contracts
The Staking and reward-distribution contracts are carried forward from Safenet Beta.
main/beta with links to the exact release tag or commit corresponding to the deployed Safenet Aegis version.
Core protocol
The core Safenet protocol contracts run on Gnosis Chain:
- SentinelOracle coordinates Sentinel checks, fees, bonds, arbitration, and configurable protocol parameters.
- Consensus coordinates Validator attestations and Validator-set epochs.
- FROSTCoordinator coordinates Validator FROST signing ceremonies.
oracle.safenet-gov.eth.
SafeDAO can change configurable SentinelOracle parameters without replacing the Oracle, including:
- Sentinel set.
- Transaction-check fee.
- SafeDAO fee share.
- Bond parameters.
- SafeDAO fee receiver.
Governance accounts
Safenet uses separate Safe accounts for protocol governance, arbitration, and reward distribution.
TODO: Add addresses for the SafeDAO Safenet Safe, Safenet Security Council Safe, and Reward Distribution Safe once deployed.
The SafeDAO Safenet Safe on Gnosis Chain is the governance address configured in the Safenet Oracle and is also the SafeDAO fee receiver.
The Safenet Security Council Safe on Gnosis Chain resolves arbitration when Sentinel decisions are split.
The Reward Distribution Safe on Ethereum Mainnet publishes accepted reward distributions.
See Governance and Rewards for the corresponding processes.
Veto Module
The Reality Veto Module is a Safe module for a SafeDAO Safe on Gnosis Chain that executes proposals through SafeSnap. It gives one address, the vetoer, a single power: invalidating a pending SafeSnap proposal. The vetoer cannot propose, approve, or execute transactions, or act as the Safe in any other way. How a veto works A SafeSnap proposal passes a Snapshot vote, then waits through a challenge period on Reality.eth. After that, anyone can execute its transactions through the Safe. The vetoer can invalidate the proposal until its transactions have executed. The module does this by making the Safe call the Reality module’s existing function for invalidating proposals. It adds no other capability.- A veto is permanent for that proposal. SafeDAO can submit the same change again as a new proposal, which starts a new challenge period and cooldown.
- After a veto, the proposal’s remaining transactions can no longer execute. If a proposal contains several transactions, any that already executed are not reversed.
- The vetoer can also invalidate a proposal before it is submitted. That exact proposal can then never be submitted.
Audits
The following audits cover contracts used by Safenet, newest first.
An audit reviews specific code at a specific commit. It does not guarantee that the code is free of vulnerabilities. Read each report for its scope, findings, and the resolution status of each finding.
The audit index in the safenet repository lists the Safenet reports and their commits. The safenet-utils audit index lists the Veto Module report.