Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
This commit is contained in:
237
docs/operations/integrations/METAMASK_TEST_CHECKLIST.md
Normal file
237
docs/operations/integrations/METAMASK_TEST_CHECKLIST.md
Normal file
@@ -0,0 +1,237 @@
|
||||
# MetaMask Integration Test Checklist
|
||||
|
||||
Comprehensive test checklist for MetaMask integration with ChainID 138.
|
||||
|
||||
## Pre-Testing Setup
|
||||
|
||||
- [ ] MetaMask extension installed (latest version)
|
||||
- [ ] MetaMask mobile app installed (for mobile testing)
|
||||
- [ ] Test accounts created and funded
|
||||
- [ ] RPC endpoints accessible
|
||||
- [ ] Blockscout explorer accessible
|
||||
- [ ] Token contracts deployed
|
||||
|
||||
## Browser Testing
|
||||
|
||||
### Chrome/Chromium
|
||||
|
||||
- [ ] Network addition via `wallet_addEthereumChain`
|
||||
- [ ] Network addition via Chainlist
|
||||
- [ ] Network switching via `wallet_switchEthereumChain`
|
||||
- [ ] Token addition via `wallet_watchAsset`
|
||||
- [ ] Account connection
|
||||
- [ ] Transaction signing
|
||||
- [ ] Network change event handling
|
||||
- [ ] Account change event handling
|
||||
|
||||
### Firefox
|
||||
|
||||
- [ ] Network addition via `wallet_addEthereumChain`
|
||||
- [ ] Network addition via Chainlist
|
||||
- [ ] Network switching
|
||||
- [ ] Token addition
|
||||
- [ ] Account connection
|
||||
- [ ] Transaction signing
|
||||
|
||||
### Edge
|
||||
|
||||
- [ ] Network addition
|
||||
- [ ] Network switching
|
||||
- [ ] Token addition
|
||||
- [ ] Account connection
|
||||
|
||||
## Mobile Testing
|
||||
|
||||
### iOS (MetaMask Mobile)
|
||||
|
||||
- [ ] Network addition
|
||||
- [ ] Network switching
|
||||
- [ ] Token addition
|
||||
- [ ] Account connection
|
||||
- [ ] Transaction signing
|
||||
- [ ] Deep linking
|
||||
|
||||
### Android (MetaMask Mobile)
|
||||
|
||||
- [ ] Network addition
|
||||
- [ ] Network switching
|
||||
- [ ] Token addition
|
||||
- [ ] Account connection
|
||||
- [ ] Transaction signing
|
||||
- [ ] Deep linking
|
||||
|
||||
## Network Addition Tests
|
||||
|
||||
### Method 1: wallet_addEthereumChain
|
||||
|
||||
- [ ] Add network successfully
|
||||
- [ ] Handle network already added error
|
||||
- [ ] Handle user rejection
|
||||
- [ ] Handle invalid parameters
|
||||
- [ ] Verify network appears in MetaMask
|
||||
- [ ] Verify network details are correct
|
||||
|
||||
### Method 2: Chainlist
|
||||
|
||||
- [ ] Find network on Chainlist
|
||||
- [ ] Click "Add to MetaMask" button
|
||||
- [ ] Approve network addition
|
||||
- [ ] Verify network added correctly
|
||||
|
||||
### Method 3: Manual Addition
|
||||
|
||||
- [ ] Add network manually via MetaMask UI
|
||||
- [ ] Verify all fields are correct
|
||||
- [ ] Test with different RPC URLs
|
||||
- [ ] Test with different explorer URLs
|
||||
|
||||
## Network Switching Tests
|
||||
|
||||
- [ ] Switch to ChainID 138 from another network
|
||||
- [ ] Switch away from ChainID 138
|
||||
- [ ] Handle network not added error
|
||||
- [ ] Handle user rejection
|
||||
- [ ] Verify chain change event fires
|
||||
- [ ] Verify UI updates on chain change
|
||||
|
||||
## Token Addition Tests
|
||||
|
||||
### Method 1: wallet_watchAsset
|
||||
|
||||
- [ ] Add token successfully
|
||||
- [ ] Handle invalid address
|
||||
- [ ] Handle invalid decimals
|
||||
- [ ] Handle user rejection
|
||||
- [ ] Verify token appears in MetaMask
|
||||
- [ ] Verify token balance displays correctly
|
||||
- [ ] Verify token logo displays correctly
|
||||
|
||||
### Method 2: Token List
|
||||
|
||||
- [ ] Token auto-detection works
|
||||
- [ ] Token appears in token list
|
||||
- [ ] Token metadata is correct
|
||||
- [ ] Token logo is accessible
|
||||
|
||||
## Integration Tests
|
||||
|
||||
### React Integration
|
||||
|
||||
- [ ] useChain138 hook works correctly
|
||||
- [ ] Chain138Button component works
|
||||
- [ ] AddTokenButton component works
|
||||
- [ ] Event listeners work correctly
|
||||
- [ ] State management works correctly
|
||||
|
||||
### Vanilla JS Integration
|
||||
|
||||
- [ ] Network addition works
|
||||
- [ ] Network switching works
|
||||
- [ ] Token addition works
|
||||
- [ ] Event handlers work correctly
|
||||
|
||||
### Vue Integration
|
||||
|
||||
- [ ] useChain138 composable works
|
||||
- [ ] Components work correctly
|
||||
- [ ] Event listeners work correctly
|
||||
|
||||
## Error Handling Tests
|
||||
|
||||
- [ ] MetaMask not installed error
|
||||
- [ ] MetaMask locked error
|
||||
- [ ] User rejection error
|
||||
- [ ] Network not added error
|
||||
- [ ] Invalid parameters error
|
||||
- [ ] RPC endpoint error
|
||||
- [ ] Network connectivity error
|
||||
|
||||
## Edge Cases
|
||||
|
||||
- [ ] Multiple network additions
|
||||
- [ ] Rapid network switching
|
||||
- [ ] Network addition during transaction
|
||||
- [ ] Token addition with invalid logo URL
|
||||
- [ ] Token addition with missing metadata
|
||||
- [ ] Network change during token addition
|
||||
- [ ] Account change during network switch
|
||||
|
||||
## Performance Tests
|
||||
|
||||
- [ ] Network addition response time
|
||||
- [ ] Network switching response time
|
||||
- [ ] Token addition response time
|
||||
- [ ] Event handler performance
|
||||
- [ ] Memory usage
|
||||
|
||||
## Security Tests
|
||||
|
||||
- [ ] Verify RPC URLs are correct
|
||||
- [ ] Verify explorer URLs are correct
|
||||
- [ ] Verify token addresses are correct
|
||||
- [ ] Test with malicious RPC URLs
|
||||
- [ ] Test with malicious token addresses
|
||||
- [ ] Verify CORS headers
|
||||
- [ ] Verify SSL certificates
|
||||
|
||||
## Regression Tests
|
||||
|
||||
- [ ] Test with older MetaMask versions
|
||||
- [ ] Test with newer MetaMask versions
|
||||
- [ ] Test with different browser versions
|
||||
- [ ] Test with different operating systems
|
||||
- [ ] Test with different network conditions
|
||||
|
||||
## Documentation Tests
|
||||
|
||||
- [ ] Code examples work correctly
|
||||
- [ ] Documentation is accurate
|
||||
- [ ] Links are working
|
||||
- [ ] Screenshots are up to date
|
||||
|
||||
## Production Readiness
|
||||
|
||||
- [ ] All tests pass
|
||||
- [ ] Error handling is comprehensive
|
||||
- [ ] User experience is smooth
|
||||
- [ ] Documentation is complete
|
||||
- [ ] Security checks pass
|
||||
- [ ] Performance is acceptable
|
||||
|
||||
## Test Results
|
||||
|
||||
### Test Date: ___________
|
||||
|
||||
### Tester: ___________
|
||||
|
||||
### Browser: ___________
|
||||
|
||||
### MetaMask Version: ___________
|
||||
|
||||
### Results:
|
||||
|
||||
- Total Tests: ___________
|
||||
- Passed: ___________
|
||||
- Failed: ___________
|
||||
- Skipped: ___________
|
||||
|
||||
### Notes:
|
||||
|
||||
___________
|
||||
|
||||
___________
|
||||
|
||||
___________
|
||||
|
||||
## Sign-off
|
||||
|
||||
- [ ] All critical tests passed
|
||||
- [ ] All high-priority tests passed
|
||||
- [ ] Documentation reviewed
|
||||
- [ ] Security reviewed
|
||||
- [ ] Ready for production
|
||||
|
||||
**Tester Signature**: ___________
|
||||
|
||||
**Date**: ___________
|
||||
|
||||
Reference in New Issue
Block a user