## Summary
`openchannel_push_asset_amount` in Python UniFFI e2e fails in CI after `openchannel()` returns successfully.
The API returns a `temporary_channel_id`, but `wait_for_channel_funding_tx()` never sees the channel in `node_a.list_channels()`. After 120 seconds it fails with `last_channels=no channels`.
This is different from the later reverse-keysend liquidity issue found locally.
## Actual Result
CI failure:
RuntimeError: No funding tx after 120s for asset_id=...; last_channels=no channels
The failure happens at:
```text
test/python-e2e/openchannel.py:285
funding_txid = wait_for_channel_funding_tx(node_a, node_b, asset_id, 120)
test/python-e2e/harness.py:241
raise RuntimeError(...)
Expected Result
After openchannel() returns a temporary_channel_id, the channel should appear in node_a.list_channels() and eventually expose a funding tx.
Notes
- Reproduces in CI.
- Locally the same scenario reached funding and completed with an added liquidity wait.
- Kotlin binding scenario passes in CI.
- Needs extra diagnostics in Python CI: dump node A/B
list_channels(), list_peers(), .ldk/logs/logs.txt, and rgb-lib wallet logs on failure.
RuntimeError: No funding tx after 120s for asset_id=...; last_channels=no channels
Expected Result
After
openchannel()returns atemporary_channel_id, the channel should appear innode_a.list_channels()and eventually expose a funding tx.Notes
list_channels(),list_peers(),.ldk/logs/logs.txt, and rgb-lib wallet logs on failure.