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>
3.8 KiB
3.8 KiB
Gas Price Issue - Resolution Guide
Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation
Date: 2026-01-18
Issue: Transaction not mined due to gas price below network minimum
Status: ⚠️ RESOLUTION IDENTIFIED
🔍 Problem Analysis
Issue
- Transaction submitted with: 1000 wei gas price
- Network requires: 1,000,000,000 wei (1 gwei)
- Result: Transaction rejected by Besu, not included in any block
Evidence
Transaction Hash: 0x1b786e061eefc0dc8dee4fc23071314f94096f8e701c978539e793a32ccd1012
Gas Price Used: 1000 wei
Effective Gas Price: 1000 wei
Block Hash: (empty - not mined)
Configuration
From config/chain138.json:
{
"gasPrice": "1000000000" // 1 gwei = 1,000,000,000 wei
}
Gap: Transaction used 1,000,000x less than required!
✅ Solution: Deploy with Dynamic Gas Price Calculation
Option 1: Automated Deployment (Recommended)
Use the automated script that calculates gas price from API:
cd /home/intlc/projects/proxmox
./scripts/deploy-phase3-bridges-with-gas-api.sh
This script:
- ✅ Fetches current gas price from ChainID 138 RPC
- ✅ Respects minimum gas price from config (1 gwei)
- ✅ Applies safety multiplier (10% buffer)
- ✅ Deploys both bridges with optimal gas price
- ✅ Verifies deployments automatically
Option 2: Manual Calculation
First, calculate optimal gas price:
cd /home/intlc/projects/proxmox
GAS_PRICE=$(./scripts/calculate-chain138-gas-price.sh)
echo "Using gas price: $GAS_PRICE wei"
Then deploy with calculated gas price:
cd /home/intlc/projects/proxmox/smom-dbis-138
PK="5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8"
RPC="http://192.168.11.211:8545"
# Deploy WETH9 Bridge
forge script script/DeployCCIPWETH9Bridge.s.sol:DeployCCIPWETH9Bridge \
--rpc-url "$RPC" \
--broadcast \
--private-key "0x$PK" \
--gas-price "$GAS_PRICE" \
--slow \
-vvvv
# Deploy WETH10 Bridge
forge script script/DeployCCIPWETH10Bridge.s.sol:DeployCCIPWETH10Bridge \
--rpc-url "$RPC" \
--broadcast \
--private-key "0x$PK" \
--gas-price "$GAS_PRICE" \
--slow \
-vvvv
Option 3: Fixed Gas Price (Fallback)
If gas API is unavailable, use minimum from config:
# Use 1 gwei (minimum required)
GAS_PRICE=1000000000
Alternative: Use EIP-1559 Format
If the above doesn't work, try EIP-1559 format:
forge script script/DeployCCIPWETH9Bridge.s.sol:DeployCCIPWETH9Bridge \
--rpc-url "$RPC" \
--broadcast \
--private-key "0x$PK" \
--max-fee-per-gas 1000000000 \
--priority-fee-per-gas 100000000 \
--slow \
-vvvv
🧪 Verification After Deployment
# Check if contract is deployed
cast code 0x646e0026F8B5BCB94986377a25Da6f89BdCbBF6e --rpc-url "$RPC"
# Verify admin
cast call 0x646e0026F8B5BCB94986377a25Da6f89BdCbBF6e \
"admin()(address)" \
--rpc-url "$RPC"
# Expected: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
# Verify router
cast call 0x646e0026F8B5BCB94986377a25Da6f89BdCbBF6e \
"ccipRouter()(address)" \
--rpc-url "$RPC"
# Expected: 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
# Verify functions exist
cast 4byte "addDestination(uint64,address)"
cast 4byte "getDestinationChains()(uint64[])"
📝 Notes
- Why
--slowflag?: Gives Foundry more time to submit and confirm transaction - Gas Price Units: Always use wei (not gwei) in forge commands
- Transaction Format: Legacy (
--gas-price) should work, but EIP-1559 is fallback - Expected Cost: 1,962,548 gas × 1 gwei = ~0.00196 ETH per deployment
Status: ✅ RESOLUTION IDENTIFIED - READY TO DEPLOY
Next Action: Run deployment commands with --gas-price 1000000000 (1 gwei)
Last Updated: 2026-01-18