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>
180 lines
5.1 KiB
Markdown
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.**
|