Beta Test Plan
This comprehensive, step-by-step test plan will guide you through the process of interacting with the Otacon smart contract, allowing you to experience the platform as a Bounty Program Manager, a Validator, or a Bounty Hunter.
1. Introduction
The Otacon platform is a decentralized bug bounty hunting ecosystem where participants can:
Bounty Program Managers: Create and manage bug bounty programs.
Validators: Validate reported bugs and proofs submitted by bounty hunters.
Bounty Hunters: Find vulnerabilities, submit proofs, and earn rewards.
This test plan aims to simulate real-world interactions with the Otacon smart contract, helping users understand its functionalities and workflows.
2. Becoming a Bounty Program Manager
As a bounty program manager, you'll create and manage bug bounty programs.
Creating a Bounty
Step 1: Set Up Collectible Contracts
Ensure the OtaconBountyRegistry contract is aware of the collectible contract addresses:
Step 2: Prepare Bounty Parameters
Define the bounty creation parameters:
Step 3: Pay Bounty Creation Fee
You can pay the fee using one of three options:
Otacon Tokens
Approve Otacon tokens for transfer:
Set
useOtaconToken
totrue
when callingstartBounty
.
ETH
Send the required ETH amount with the transaction.
Set
useETH
totrue
.
Bounty Pass Collectible
Ensure you own a Bounty Pass collectible.
Approve the Bounty Pass for transfer:
Provide the
bountyPassTokenId
when callingstartBounty
.
Step 4: Create the Bounty
3. Becoming a Validator
Validators are responsible for reviewing and validating proofs submitted by bounty hunters.
Step 1: Request to Become a Validator
Contact the Bounty Program Manager or the Otacon Protocol Owner to be added as a validator for a specific bounty.
Step 2: Manager Adds Validator
4. Becoming a Bounty Hunter
Bounty hunters find vulnerabilities and submit proofs to earn rewards.
Staking a ProofCollectible
Step 1: Obtain a ProofCollectible
Acquire a ProofCollectible (ERC721 token) representing your discovered bug.
Step 2: Approve and Stake the ProofCollectible
Staking a SnippetCollectible
If the bounty requires a code snippet:
Step 1: Obtain a SnippetCollectible
Acquire a SnippetCollectible (ERC721 token) containing your code snippet.
Step 2: Approve and Stake the SnippetCollectible
5. Validating Proofs and Distributing Rewards
Step 1: Validator Validates the Proof
Severity: An integer representing the severity level (0-3).
Step 2: Reward Distribution
Upon validation:
The bounty hunter receives their reward minus the protocol fee.
The protocol fee accumulates in the contract.
6. Claiming Bounty Shares
Participants who have staked multipliers can claim a share of the protocol bounty rewards.
Step 1: Stake a MultiplierCollectible
Step 1.1: Obtain MultiplierCollectible
Acquire a MultiplierCollectible (ERC1155 token) of a specific tier.
Step 1.2: Approve and Stake the MultiplierCollectible
Step 2: Claim Your Share
The contract calculates your share based on your staked multiplier.
MultiplierCollectibles are burned upon claiming.
7. Diagrams
Workflow Overview
Below is a simplified diagram of the Otacon workflow:
Explanation:
Bounty Creation: The Bounty Program Manager creates a bounty by interacting with the Otacon Bounty Registry.
Proof Submission: Bounty Hunters find vulnerabilities and stake their ProofCollectibles to the bounty.
Validation: Validators review the proofs and validate them.
Rewards Distribution: Upon validation, rewards are distributed to the bounty hunters, and protocol fees are accumulated.
Bounty Share Claim: Participants who have staked MultiplierCollectibles can claim a share of the protocol fees.
Last updated