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>
5.1 KiB
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
- Gas price must meet minimum: Transactions below minimum gas price are rejected
- EIP-1559 compatibility: If London fork is enabled, transactions need proper fee structure
- Priority fee: Must be sufficient for transaction inclusion
2. Transaction Pool Conditions
Validator Requirements
- Validator transaction pool: Validators must see the transaction in their pool
- Pool synchronization: All validators must have access to the same transaction pool
- Pool size limits: Pool may reject transactions if full
RPC Requirements
- RPC API access: Transaction pool APIs must be enabled
- Transaction broadcasting: Transactions must reach validators
- Network connectivity: All nodes must be connected
3. Account Permissioning
Account Allowlist
- Account permissioning: If enabled, deployer must be in allowlist
- Permissioning status: Must verify if account permissioning is active
- Allowlist configuration: Deployer address must be permitted
4. Transaction Validity
Transaction Structure
- Valid signature: Transaction must be properly signed
- Correct nonce: Must use correct nonce (or higher if skipping)
- Sufficient balance: Account must have enough balance for gas
- 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
- ✅ Block production is active
- ✅ All validators are running
- ✅ Network connectivity is good
- ✅ Transactions are in broadcast cache
⏳ Conditions to Verify
- ⏳ Gas price meets minimum requirement
- ⏳ Transaction pool is accessible to validators
- ⏳ Account permissioning status
- ⏳ Transaction validity (signature, nonce, balance)
- ⏳ 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
Recommended Actions
Immediate Actions
- Verify gas price: Ensure transactions use sufficient gas price
- Check minimum gas price: Verify network minimum from config
- Review validator logs: Check for transaction rejection reasons
- Verify account permissioning: Ensure deployer is allowed
If Gas Price is Issue
- Increase gas price: Resend with higher gas price
- Use dynamic calculation: Ensure using proper gas price calculation
- Check EIP-1559: Verify proper fee structure if enabled
If Permissioning is Issue
- Disable permissioning: Temporarily disable for deployment
- Add to allowlist: Add deployer to account allowlist
- Verify config: Check permissioning configuration files
Next Steps
- ✅ Complete investigation of conditions
- ⏳ Identify specific blocking condition
- ⏳ Implement fix
- ⏳ Retry deployments with correct conditions
- ⏳ 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.