simple-staking
Description
The simple-staking platform provides a user-friendly staking interface for Bitcoin-based staking. It enables users to stake BTC, manage their staking balance, and track staking rewards through a web-based dashboard.
This module is responsible for
providing a front-end staking dashboard where users can interact with staking functions
handling wallet connections to enable staking transactions
interfacing with the Bitcoin network to process and track staking transactions
providing staking-related analytics and balance tracking
Here are its key functionalities:
Staking transaction management — users can create and manage staking transactions
Wallet connection and address validation — securely connects user wallets and verifies staking addresses
Staking rewards tracking — displays real-time staking rewards and balance updates
Invariants
Staking transactions should be valid and correctly processed on the Bitcoin network.
User staking balances and transactions should be accurately recorded and displayed.
Test coverage
Cases covered
UI and front-end validation — ensuring the staking dashboard correctly renders and displays information and validating that users can interact with the UI elements correctly
Wallet connection and address verification — verifying that wallets connect securely and that the correct address is displayed and ensuring the balance updates correctly after connection
Staking transaction creation -- validating that users can create staking transactions and ensuring transaction hash and staking amount are correctly recorded
Cases not covered
Blockchain verification — The system does not test if the staking transactions are confirmed on the Bitcoin network.
Attack surface
Users should only be able to connect authorized wallets; input validation should be enforced to prevent injection of malicious scripts (XSS); and a mechanism should be implemented to ensure that staking transactions are correctly confirmed on the blockchain.