Files
proxmox/docs/06-besu/GAS_API_INTEGRATION_COMPLETE.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

5.2 KiB

Gas API Integration - Complete

Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation


Date: 2026-01-18
Status: GAS API INTEGRATION COMPLETE


What Was Created

1. Gas Price Calculation Script

File: scripts/calculate-chain138-gas-price.sh

Features:

  • Fetches current gas price from ChainID 138 RPC endpoint
  • Respects minimum gas price from config (1 gwei = 1,000,000,000 wei)
  • Applies safety multiplier (10% buffer)
  • Returns optimal gas price in wei

Usage:

cd /home/intlc/projects/proxmox
GAS_PRICE=$(bash scripts/calculate-chain138-gas-price.sh)
echo "Using gas price: $GAS_PRICE wei"

2. Automated Deployment Script

File: scripts/deploy-phase3-bridges-with-gas-api.sh

Features:

  • Automatically calculates optimal gas price using API
  • Deploys WETH9 bridge with calculated gas price
  • Deploys WETH10 bridge with calculated gas price
  • Verifies deployments automatically
  • Provides summary and next steps

Usage:

cd /home/intlc/projects/proxmox
./scripts/deploy-phase3-bridges-with-gas-api.sh

🔧 How It Works

Gas Price Calculation Logic

  1. Fetch Current Gas Price

    • Uses cast gas-price --rpc-url to get current network gas price
    • RPC URL: http://192.168.11.211:8545 (ChainID 138)
  2. Apply Minimum

    • Checks against minimum from config: 1,000,000,000 wei (1 gwei)
    • Uses the higher of current or minimum
  3. Apply Safety Buffer

    • Multiplies by 1.1 (10% buffer) for safety
    • Ensures transaction won't fail due to sudden gas price increase
  4. Output

    • Returns optimal gas price in wei
    • Suitable for use in forge script --gas-price

Example Calculation

Current RPC Gas Price: 1000 wei
Minimum from Config:   1,000,000,000 wei (1 gwei)
Applied Minimum:       1,000,000,000 wei (current is below minimum)
Safety Multiplier:     1.1
Final Gas Price:       1,100,000,000 wei (1.1 gwei)

📊 Integration with Existing System

Compatibility

  • Works with existing .env files
  • Uses RPC_URL_138 environment variable
  • Respects MIN_GAS_PRICE_WEI if set
  • Compatible with Foundry deployment scripts

Configuration

The script automatically loads configuration from:

  1. $PROJECT_ROOT/.env
  2. $PROJECT_ROOT/smom-dbis-138/.env

Required variables:

  • RPC_URL_138: ChainID 138 RPC endpoint (default: http://192.168.11.211:8545)

Optional variables:

  • MIN_GAS_PRICE_WEI: Minimum gas price in wei (default: 1000000000 = 1 gwei)
  • SAFETY_MULTIPLIER: Safety buffer multiplier (default: 1.1 = 10%)

🚀 Usage Examples

Example 1: Standalone Gas Price Calculation

cd /home/intlc/projects/proxmox
GAS_PRICE=$(bash scripts/calculate-chain138-gas-price.sh)
echo "Optimal gas price: $GAS_PRICE wei"

Output:

[INFO] Calculating optimal gas price for ChainID 138...
[INFO] RPC URL: http://192.168.11.211:8545
[INFO] Minimum gas price: 1.00 gwei
[⚠] Could not fetch gas price from RPC, using minimum
[⚠] Network gas price (0.00 gwei) below minimum, using minimum
[✓] Optimal gas price: 1.10 gwei (1100000000 wei)
1100000000

Example 2: Automated Deployment

cd /home/intlc/projects/proxmox
./scripts/deploy-phase3-bridges-with-gas-api.sh

This will:

  1. Calculate optimal gas price
  2. Deploy WETH9 bridge
  3. Deploy WETH10 bridge
  4. Verify both deployments
  5. Display summary

Benefits

Before (Fixed Gas Price)

  • Used hardcoded gas price (often wrong)
  • Didn't respect network minimums
  • No safety buffer
  • Transactions could fail

After (Dynamic Gas Price)

  • Calculates from RPC API
  • Respects network minimums
  • Applies safety buffer
  • Reduces transaction failures

📝 Documentation Updates

Updated:

  • docs/06-besu/GAS_PRICE_RESOLUTION.md - Added gas API integration options

Created:

  • docs/06-besu/GAS_API_INTEGRATION_COMPLETE.md - This document

🔍 Testing

Test Gas Price Calculation

cd /home/intlc/projects/proxmox
bash scripts/calculate-chain138-gas-price.sh

Expected:

  • Fetches gas price from RPC
  • Applies minimum (1 gwei)
  • Applies safety multiplier (10%)
  • Returns gas price in wei

Test Deployment Script

cd /home/intlc/projects/proxmox
./scripts/deploy-phase3-bridges-with-gas-api.sh

Expected:

  • Calculates gas price
  • Deploys both bridges
  • Verifies deployments
  • Provides summary

⚠️ Notes

  1. Network Minimum: ChainID 138 requires minimum 1 gwei, even if RPC reports lower
  2. Safety Buffer: 10% buffer ensures transactions won't fail due to gas price spikes
  3. Fallback: If RPC call fails, uses minimum from config
  4. Format: Always returns gas price in wei (not gwei) for use with Foundry

🎯 Next Steps

  1. Gas API Integration: Complete
  2. Deployment Scripts: Ready
  3. ⏭️ Execute Deployment: Run ./scripts/deploy-phase3-bridges-with-gas-api.sh
  4. ⏭️ Verify Results: Check deployed addresses
  5. ⏭️ Configure Destinations: Phase 3.4

Status: GAS API INTEGRATION COMPLETE - READY FOR DEPLOYMENT

Last Updated: 2026-01-18