BVS Service Contracts
Last updated
Last updated
SatLayer provides a straightforward interface, granting BVS developers maximum flexibility via BVS Service Contracts. Developers can architect contract logic without restriction, including side-chains, data availability layers, oracle networks, cross-chain bridges, and more.
The only requirement is to adhere to our TaskInterface
as the entrypoint into SatLayer's Core Contracts. This is where a BVS task start's it's lifecycle.
TaskInterface
is responsible for interfacing with the StateBank
and BVSDriver
contracts of SatLayer. It serves two essential functions:
Create a New Task: Invokes the StateBank
and BVSDriver
contracts to trigger the execution of the off-chain program.
Accept and Validate Task Results: Handles the validation of the results returned from the off-chain execution.
By implementing these two contract interfaces, you can synchronize data with the SatLayer core contracts, completing the full process. Additionally, you can add other methods to extend functionality as needed.
Developers have the option to implement any number of custom contracts for more complex functionality and interactions. This is purely up for BVS developers to decide. You can break down complex applications and flows into separate modules, and implement them across different contracts.
The TaskInterface
contract can then manage the final step of data synchronization and task submissions to the SatLayer platform.