Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
If a transaction does not exist yet, we should not show a standard 404 page. Instead, we should show the TX details page but with a message stating that our node hasn't picked up the transaction yet and the page will update automatically when it does.
1. If the user is on the correct route for the transaction details page but the tx hash is not found in the DB, we should show the normal transaction details page but with a message stating to please be patient while our nodes search for the transaction.
2. We should subscribe to both pending transactions and incoming blocks to find the transaction hash.
3. If the tx hash is found, refresh the page to show either the pending state or collated state.
### Aceptance Criterias
- Verify the TxHash in order to identify if the hash is or not valid and show to the user the correct page behavior:
- For invalid hashes:
- Show a warning message when the TxHash is invalid;
- Message example: [Etherscan](https://etherscan.io/tx/0x0959bc78373b6c206728c3f6eff6ffd3b85b0838aa60628d6df27a53971);
- For pending transactions:
- Show the TxDetails Page when it's valid but doesn't exist. Suggested sentence: ```Please be patient while our nodes search for the transaction.```
- Show a spinner for the pending transactions;
- Show complementary information about the pending transaction process;
- Information Example: [Etherscan](https://etherscan.io/tx/0x0959bc78373b6c206728c3f6eff6ffd3b85b0838aa60628d6df9121827a53971)
- As soon as the txHash get processed the Hash's TxDetail Page needs to be refreshed with it's current state.
- [x] Change controller to not redirect to the 404 page and insert the transaction hash when it is valid;
- [x] Send the hash to the `realtime` indexer to be indexed;
- [x] Alter view to show message of "Transaction not indexed yet."
- [x] Subscribe to pending "transactions" and "incoming blocks" websockets so when the transaction is indexed show in the view;
- [x] When the transaction hash is invalid show message: "Transaction hash invalid."