wait_and_broadcast_multiple_nodes
Documentation for eth_defi.confirmation.wait_and_broadcast_multiple_nodes function.
- wait_and_broadcast_multiple_nodes(web3, txs, confirmation_block_count=0, max_timeout=datetime.timedelta(seconds=300), poll_delay=datetime.timedelta(seconds=1), node_switch_timeout=datetime.timedelta(seconds=180), check_nonce_validity=True, mine_blocks=False)[source]
Try to broadcast transactions through multiple nodes.
Broadcast transaction through all nodes
Wait to confirm
If
node_switch_timeout
is reached, try to confirm using an alternative node
- Parameters
web3 (web3.main.Web3) – Web3 instance with
eth_defi.provider.fallback.FallbackProvider
configured as its RPC provider.txs (Collection[Union[eth_account.datastructures.SignedTransaction, eth_defi.hotwallet.SignedTransactionWithNonce]]) –
List of transaction to broadcast.
Most be pre-ordered by
(address, nonce)
.confirmation_block_count (int) – How many blocks wait for the transaction receipt to settle. Set to zero to return as soon as we see the first transaction receipt.
node_switch_timeout –
Switch to alternative fallback node provider every time we reach this limit.
Sometimes our node is malfunctioning (LlamaNodes, Ankr) and does not report transactions timely. Try with another node.
See
eth_defi.provider.fallback.FallbackProvider
for details.check_nonce_validity – Check if signed nonces match on-chain data before attempting to broadcat.
mine_blocks –
For forked mainnet RPCs (Anvil) make sure the blockchain is making blocks.
Only use with Anvil.
- Returns
Map of transaction hashes -> receipt
- Raises
ConfirmationTimedOut – If we cannot get transactions out
Starting nonce does not match what we see on chain.
When
check_nonce_validity
is set.If all nodes fail to broadcast the transaction, then raise an exception.
It’s likely that there is a problem with a transaction.
The exception is raised after we try multiple nodes multiple times, based on
node_switch_timeout
and other arguments.A reverted transaction is not an exception, but will be returned in the receipts.
In the case of multiple exceptions, the last one is raised. The exception is whatever lower stack is giving us.
OutOfGasFunds – The hot wallet account does not have enough native token to cover the tx fees.
- Return type