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

180 lines
5.1 KiB
Markdown

# 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
```bash
# 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
```bash
# Check broadcast cache
jq '.transactions[0].transaction.gasPrice' \
smom-dbis-138/broadcast/DeployCCIPWETH9Bridge.s.sol/138/run-latest.json
```
### Step 3: Check Account Permissioning
```bash
# 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
```bash
# Try to access transaction pool
cast rpc txpool_content --rpc-url http://192.168.11.211:8545
```
### Step 5: Verify Account Balance
```bash
# Check deployer balance
cast balance <DEPLOYER> --rpc-url http://192.168.11.211:8545
```
---
## Recommended Actions
### 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.**