Files
proxmox/docs/archive/configuration/METAMASK_SUBMODULE_GUIDE.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- 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>
2026-02-12 15:46:57 -08:00

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)