Files
proxmox/docs/06-besu/TRANSACTION_CONDITIONS_ANALYSIS.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.1 KiB

Transaction Conditions Analysis

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


Date: 2025-01-20
Purpose: Identify conditions preventing transaction confirmation


Problem Statement

Transactions for WETH9 and WETH10 bridge deployments are pending confirmation despite:

  • Active block production (1158500+)
  • All 5 validators active
  • Network fully operational
  • Transactions not being included in blocks

Conditions Required for Transaction Inclusion

1. Gas Price Requirements

Current Configuration

  • Minimum Gas Price: Configured in Besu node settings
  • Calculated Gas Price: ~1.1 gwei (1,100,000,000 wei)
  • Used in Deployment: Needs verification

Requirements

  1. Gas price must meet minimum: Transactions below minimum gas price are rejected
  2. EIP-1559 compatibility: If London fork is enabled, transactions need proper fee structure
  3. Priority fee: Must be sufficient for transaction inclusion

2. Transaction Pool Conditions

Validator Requirements

  1. Validator transaction pool: Validators must see the transaction in their pool
  2. Pool synchronization: All validators must have access to the same transaction pool
  3. Pool size limits: Pool may reject transactions if full

RPC Requirements

  1. RPC API access: Transaction pool APIs must be enabled
  2. Transaction broadcasting: Transactions must reach validators
  3. Network connectivity: All nodes must be connected

3. Account Permissioning

Account Allowlist

  1. Account permissioning: If enabled, deployer must be in allowlist
  2. Permissioning status: Must verify if account permissioning is active
  3. Allowlist configuration: Deployer address must be permitted

4. Transaction Validity

Transaction Structure

  1. Valid signature: Transaction must be properly signed
  2. Correct nonce: Must use correct nonce (or higher if skipping)
  3. Sufficient balance: Account must have enough balance for gas
  4. Gas limit: Must be sufficient for contract deployment

Current Transaction Status

Transaction Details

  • Latest Nonce: 13104
  • Pending Nonce: 13107
  • Pending Count: 3 transactions
  • Status: Transactions in pool but not being mined

Gas Price Analysis

  • Calculated: ~1.1 gwei (dynamic calculation)
  • Used: Needs verification from broadcast cache
  • Minimum Required: Unknown (needs configuration check)

Specific Conditions to Check

Verified Conditions

  1. Block production is active
  2. All validators are running
  3. Network connectivity is good
  4. Transactions are in broadcast cache

Conditions to Verify

  1. Gas price meets minimum requirement
  2. Transaction pool is accessible to validators
  3. Account permissioning status
  4. Transaction validity (signature, nonce, balance)
  5. EIP-1559 compatibility

Investigation Steps

Step 1: Check Minimum Gas Price

# Check genesis file
jq '.config.minGasPrice' smom-dbis-138/config/genesis.2025.json

# Check Besu config
grep -i "min.*gas" smom-dbis-138/config/config-*.toml

# Check chain138.json
jq '.minGasPrice' smom-dbis-138/config/chain138.json

Step 2: Verify Transaction Gas Price

# Check broadcast cache
jq '.transactions[0].transaction.gasPrice' \
  smom-dbis-138/broadcast/DeployCCIPWETH9Bridge.s.sol/138/run-latest.json

Step 3: Check Account Permissioning

# Verify permissioning is disabled or deployer is allowed
grep -i "permissions-accounts-config-file-enabled" \
  smom-dbis-138/config/config-*.toml

Step 4: Check Transaction Pool Access

# Try to access transaction pool
cast rpc txpool_content --rpc-url http://192.168.11.211:8545

Step 5: Verify Account Balance

# Check deployer balance
cast balance <DEPLOYER> --rpc-url http://192.168.11.211:8545

Immediate Actions

  1. Verify gas price: Ensure transactions use sufficient gas price
  2. Check minimum gas price: Verify network minimum from config
  3. Review validator logs: Check for transaction rejection reasons
  4. Verify account permissioning: Ensure deployer is allowed

If Gas Price is Issue

  1. Increase gas price: Resend with higher gas price
  2. Use dynamic calculation: Ensure using proper gas price calculation
  3. Check EIP-1559: Verify proper fee structure if enabled

If Permissioning is Issue

  1. Disable permissioning: Temporarily disable for deployment
  2. Add to allowlist: Add deployer to account allowlist
  3. Verify config: Check permissioning configuration files

Next Steps

  1. Complete investigation of conditions
  2. Identify specific blocking condition
  3. Implement fix
  4. Retry deployments with correct conditions
  5. Verify transaction confirmation

Summary

Status: 🔍 INVESTIGATING
Blocking Condition: Unknown - requires investigation
Next Action: Complete condition verification


This document will be updated as conditions are identified and verified.