Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
268 lines
5.6 KiB
Markdown
268 lines
5.6 KiB
Markdown
# MetaMask Integration Submodule Guide
|
|
|
|
**Date**: $(date)
|
|
**Submodule**: `metamask-integration`
|
|
**Repository**: [Defi-Oracle-Meta-Blockchain/metamask-integration](https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration.git)
|
|
|
|
---
|
|
|
|
## 📋 Overview
|
|
|
|
The MetaMask integration has been set up as a git submodule to keep it as a separate, versioned repository while maintaining integration with the main project.
|
|
|
|
---
|
|
|
|
## 🔧 Submodule Setup
|
|
|
|
### Current Configuration
|
|
|
|
The submodule is configured in `.gitmodules`:
|
|
|
|
```ini
|
|
[submodule "metamask-integration"]
|
|
path = metamask-integration
|
|
url = https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration.git
|
|
```
|
|
|
|
### Location
|
|
|
|
- **Path**: `metamask-integration/`
|
|
- **Remote**: `https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration.git`
|
|
- **Branch**: `main`
|
|
|
|
---
|
|
|
|
## 📁 Submodule Structure
|
|
|
|
```
|
|
metamask-integration/
|
|
├── docs/ # Documentation
|
|
│ ├── METAMASK_QUICK_START_GUIDE.md
|
|
│ ├── METAMASK_TROUBLESHOOTING_GUIDE.md
|
|
│ ├── METAMASK_FULL_INTEGRATION_REQUIREMENTS.md
|
|
│ ├── METAMASK_ORACLE_INTEGRATION.md
|
|
│ ├── METAMASK_TOKEN_LIST_HOSTING.md
|
|
│ ├── METAMASK_WETH9_DISPLAY_BUG.md
|
|
│ ├── METAMASK_WETH9_FIX_INSTRUCTIONS.md
|
|
│ ├── METAMASK_INTEGRATION_COMPLETE.md
|
|
│ ├── METAMASK_NETWORK_CONFIG.json
|
|
│ └── METAMASK_TOKEN_LIST.json
|
|
├── scripts/ # Automation scripts
|
|
│ ├── setup-metamask-integration.sh
|
|
│ ├── test-metamask-integration.sh
|
|
│ └── host-token-list.sh
|
|
├── examples/ # Example dApps
|
|
│ ├── wallet-connect.html
|
|
│ └── metamask-price-feed.html
|
|
├── config/ # Configuration files
|
|
│ └── token-list.json
|
|
└── README.md
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 Working with the Submodule
|
|
|
|
### Initial Clone (For New Users)
|
|
|
|
When cloning the main repository, include submodules:
|
|
|
|
```bash
|
|
# Clone with submodules
|
|
git clone --recurse-submodules https://github.com/your-org/proxmox.git
|
|
|
|
# Or if already cloned
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
### Updating the Submodule
|
|
|
|
```bash
|
|
# Navigate to submodule
|
|
cd metamask-integration
|
|
|
|
# Pull latest changes
|
|
git pull origin main
|
|
|
|
# Return to parent repo
|
|
cd ..
|
|
|
|
# Commit submodule update
|
|
git add metamask-integration
|
|
git commit -m "Update MetaMask integration submodule"
|
|
```
|
|
|
|
### Making Changes to Submodule
|
|
|
|
```bash
|
|
# Navigate to submodule
|
|
cd metamask-integration
|
|
|
|
# Make changes
|
|
# ... edit files ...
|
|
|
|
# Commit in submodule
|
|
git add .
|
|
git commit -m "Update MetaMask integration"
|
|
|
|
# Push to remote
|
|
git push origin main
|
|
|
|
# Return to parent repo and update reference
|
|
cd ..
|
|
git add metamask-integration
|
|
git commit -m "Update MetaMask integration submodule reference"
|
|
git push
|
|
```
|
|
|
|
### Checking Submodule Status
|
|
|
|
```bash
|
|
# Check submodule status
|
|
git submodule status
|
|
|
|
# Check if submodule has uncommitted changes
|
|
cd metamask-integration
|
|
git status
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 Submodule Commands Reference
|
|
|
|
### Initialize Submodules
|
|
```bash
|
|
git submodule init
|
|
git submodule update
|
|
# Or combined:
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
### Update Submodule to Latest
|
|
```bash
|
|
git submodule update --remote metamask-integration
|
|
```
|
|
|
|
### Remove Submodule (if needed)
|
|
```bash
|
|
# Remove submodule entry
|
|
git submodule deinit metamask-integration
|
|
git rm metamask-integration
|
|
rm -rf .git/modules/metamask-integration
|
|
```
|
|
|
|
### Sync Submodule URL (if remote changed)
|
|
```bash
|
|
git submodule sync metamask-integration
|
|
```
|
|
|
|
---
|
|
|
|
## 🔗 Accessing Files
|
|
|
|
### From Parent Repository
|
|
|
|
Reference files in the submodule:
|
|
|
|
```bash
|
|
# Documentation
|
|
cat metamask-integration/docs/METAMASK_QUICK_START_GUIDE.md
|
|
|
|
# Scripts
|
|
bash metamask-integration/scripts/setup-metamask-integration.sh
|
|
|
|
# Examples
|
|
open metamask-integration/examples/metamask-price-feed.html
|
|
```
|
|
|
|
### From Submodule Directory
|
|
|
|
Work directly in the submodule:
|
|
|
|
```bash
|
|
cd metamask-integration
|
|
# Now you're in the submodule repository
|
|
# All git commands work here
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Verification
|
|
|
|
### Check Submodule is Configured
|
|
|
|
```bash
|
|
# Verify .gitmodules
|
|
cat .gitmodules | grep metamask-integration
|
|
|
|
# Verify submodule exists
|
|
ls -la metamask-integration/
|
|
|
|
# Check submodule status
|
|
git submodule status metamask-integration
|
|
```
|
|
|
|
### Verify Remote Connection
|
|
|
|
```bash
|
|
cd metamask-integration
|
|
git remote -v
|
|
# Should show:
|
|
# origin https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration.git (fetch)
|
|
# origin https://github.com/Defi-Oracle-Meta-Blockchain/metamask-integration.git (push)
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Benefits of Submodule
|
|
|
|
1. **Separation of Concerns**: MetaMask integration is a separate, versioned project
|
|
2. **Reusability**: Can be used in other projects
|
|
3. **Independent Updates**: Update MetaMask integration without affecting main repo
|
|
4. **Version Control**: Track specific versions of the integration
|
|
5. **Collaboration**: Multiple projects can use the same integration
|
|
|
|
---
|
|
|
|
## 📚 Related Documentation
|
|
|
|
- [MetaMask Integration Complete](../historical/METAMASK_TOKEN_LIST_HOSTING.md)
|
|
- [Quick Start Guide](/docs/01-getting-started/METAMASK_QUICK_START_GUIDE.md)
|
|
- [Submodule README](/docs/01-getting-started/README.md)
|
|
|
|
---
|
|
|
|
## 🔧 Troubleshooting
|
|
|
|
### Submodule Shows as Modified
|
|
|
|
If `git status` shows the submodule as modified:
|
|
|
|
```bash
|
|
cd metamask-integration
|
|
git status
|
|
# Check for uncommitted changes or different commit
|
|
```
|
|
|
|
### Submodule Not Initialized
|
|
|
|
```bash
|
|
git submodule update --init metamask-integration
|
|
```
|
|
|
|
### Submodule Points to Wrong Commit
|
|
|
|
```bash
|
|
cd metamask-integration
|
|
git checkout main
|
|
git pull origin main
|
|
cd ..
|
|
git add metamask-integration
|
|
git commit -m "Update submodule to latest"
|
|
```
|
|
|
|
---
|
|
|
|
**Last Updated**: $(date)
|
|
|