The page never receives a private key, recovery phrase, or vault password.
Deterministic integration fixtures
Inspect the regression path without polluting the product UI.
This quality-assurance surface reads TaskBounty V2 directly from Flare Testnet Coston2, retrieves the committed task and result manifests, recomputes their Keccak-256 hashes, identifies the connected browser wallet, and preserves the fixed Task #1 and Task #2 scenarios as reproducible test fixtures. Customer-facing flows live in the product routes.
- Public reads stay wallet-free
- Wallet connection is optional
- Exact approval only after simulation
Wallet
Connect your account to take part in a bounty.
Connection exposes only the selected public address and active chain. Connecting itself has no signing or gas spending. Every escrow action has its own simulation, review, and wallet confirmation.
No account connected
Checking for browser wallets…
Coston2 balances are queried through the configured public RPC transport.
Every enabled transaction must pass public-RPC simulation first.
Write milestone 01
Prepare exactly 1 FTestXRP for the next task escrow.
This is ERC-20 approve, not TaskBounty approveTask. It sets a limited allowance; it does not move tokens or create Task #2.
FTestXRP allowance preflight
Connect the dedicated Creator test wallet first.
Review before MetaMask opens
- Network
- Coston2 / chainId 114
- Target token contract
0x0b6A3645c240605887a5532109323A3E12273dc7- Function
approve(address,uint256)- Spender
0x26281308BE46D9b499579CC8776615C69f29826F- New exact allowance
- 1 FTestXRP / 1,000,000 units
- Estimated gas limit
- Run simulation first
MetaMask performs the signature. Rejecting the request creates no transaction and spends no gas.
Creator stays at 8 FTestXRP until a later createTask pulls escrow.
The requested allowance is fixed at 1 FTestXRP, not uint256.max.
Success requires the receipt, Approval event, and refreshed allowance.
Write milestone 02
Create Task #2 and move the exact reward into escrow.
This calls TaskBounty V2 createTask. Unlike approval, a successful transaction uses transferFrom to move 1 FTestXRP from Creator into the contract and increase the escrow liability.
Task #2 creation preflight
Connect the dedicated Creator test wallet first.
Review before MetaMask opens
- Network
- Coston2 / chainId 114
- Target contract
0x26281308BE46D9b499579CC8776615C69f29826F- Function
createTask(uint256,string,bytes32)- Expected task ID
- #2
- Reward
- 1 FTestXRP / 1,000,000 units
- Estimated gas limit
- Run simulation first
- Metadata hash
0x395cc6a1d0…4afc391c4b- Metadata URI
- Open pinned JSON ↗
Only MetaMask can sign. A successful transaction transfers 1 FTestXRP into V2 escrow; rejection broadcasts nothing and spends no gas.
- Creator
- Reading...
- V2 balance
- Reading...
- Allowance
- Reading...
- Total escrowed
- Reading...
The eth_call must predict Task #2 before the wallet is allowed to open.
The exact allowance should return to zero when 1 FTestXRP enters escrow.
The contract stores both a retrieval URI and the exact-byte Keccak-256 commitment.
Live public RPC
V2 Task #1 verification
Values below are read from the configured Coston2 deployment at the latest block. Refreshing never requests a wallet signature.
What this slice proves
Read operations are public; integrity verification is off-chain.
Typed contract reads
Viem encodes V2 ABI calls and decodes the task tuple without a wallet or user gas.
Exact-byte commitments
The browser hashes downloaded bytes, not the URI text and not a parsed JSON object.
Address-aware versions
V1 and V2 deployments remain separate so the frontend never decodes one contract with the other contract's ABI.