Sentinel is a community-owned and governed EVM Optimistic Oracle using decentralized and trustless system designed to provide accurate and reliable data feeds to Ethereum Virtual Machine (EVM) applications. This oracle leverages the principles of optimism, allowing developers to efficiently and securely access off-chain information without sacrificing the benefits of decentralization.
Using this model, the community collectively governs the oracle, making decisions about data sources, consensus mechanisms, and protocol upgrades. This ensures that no single entity has control over the oracle, promoting transparency and preventing manipulation. The governance process typically involves token holders who can vote on proposals and changes, ensuring a fair and inclusive decision-making process.
By being community-owned and governed, this EVM Optimistic Oracle eliminates the need for a centralized authority or third-party intermediaries. It promotes the values of decentralization, transparency, and security, allowing developers to build innovative applications on the Ethereum network with reliable and up-to-date external data.
To build the Sentinel smart contracts, you will need the following:
Clone the repository with its submodules, set up Hardhat, and install the dependencies via npm:
npm install
Contract | Description |
---|---|
stakingAdapter |
The entry point for managing protocol participants(data providers & disputers) stakes. Their stakes ensure security and data validity through financial incentives and penalties. It handles the logic for of the staking, as well as liquidations and redemptions. |
SNT-Token |
An ERC-20 token designed to be the governance token of the protocol for voting on proposals. |
stSNT-Token |
An ERC-20 token designed to be the staking token of the protocol which is issued to protocol participants when they stake to represent their share during redemptions. |
aggregatorAdapter |
This contract manages the aggregation of various data sent by providers using an optimal data validity threshhold that is decided by the protocol. It also tracks the invalid data sent by providers based on a deviation threshhold to record invalid data providers. |
disputeAdapter |
Disputes that arise from data providers and data feed consumers are settled by this contract and it issues rewards/penalties records to the stakingAdapter contract . |
oracleAdapter |
Servers asset that have been aggregated by the aggregationAdapter contract.This is the entry point for all data feed consumers. |
proposalAdapter |
This contract handles all proposals to the protocol i.e deviation threshhold, new data provider, aggregation metrics. |