Skip to main content

Module broadcast

Module broadcast 

Source

Re-exportsΒ§

use std::cmp::Ordering; πŸ”’
use std::num::NonZeroU64; πŸ”’
use std::sync::Arc; πŸ”’
use std::time::Duration; πŸ”’
use crate::ScriptArgs; πŸ”’
use crate::ScriptConfig; πŸ”’
use crate::build::LinkedBuildData; πŸ”’
use crate::progress::ScriptProgress; πŸ”’
use crate::receipts::is_mined_receipt_for; πŸ”’
use crate::recovery::AttemptKind; πŸ”’
use crate::recovery::DelegatedStatus; πŸ”’
use crate::sequence::ScriptSequenceKind; πŸ”’
use crate::sequence::blocked_pending; πŸ”’
use crate::sequence::completed_transaction_prefix; πŸ”’
use crate::sequence::operation_ordinal; πŸ”’
use crate::session::SignerScope; πŸ”’
use crate::session::insert_session_access_key_for_remaining_transactions; πŸ”’
use crate::session::script_session_expected_sender_if_configured; πŸ”’
use crate::verify::BroadcastedState; πŸ”’
use alloy_chains::Chain; πŸ”’
use alloy_chains::NamedChain; πŸ”’
use alloy_consensus::SignableTransaction; πŸ”’
use alloy_consensus::Signed; πŸ”’
use alloy_consensus::transaction::SignerRecoverable; πŸ”’
use alloy_eips::eip2718::Decodable2718; πŸ”’
use alloy_eips::eip2718::Encodable2718; πŸ”’
use alloy_network::EthereumWallet; πŸ”’
use alloy_network::Network; πŸ”’
use alloy_network::NetworkTransactionBuilder; πŸ”’
use alloy_network::ReceiptResponse; πŸ”’
use alloy_network::TransactionBuilder; πŸ”’
use alloy_network::TransactionResponse; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::Bytes; πŸ”’
use alloy_primitives::TxHash; πŸ”’
use alloy_primitives::TxKind; πŸ”’
use alloy_primitives::U256; πŸ”’
use alloy_primitives::keccak256; πŸ”’
use alloy_primitives::map::HashMap; πŸ”’
use alloy_primitives::map::HashSet; πŸ”’
use alloy_primitives::utils::format_units; πŸ”’
use alloy_provider::Provider; πŸ”’
use alloy_provider::RootProvider; πŸ”’
use alloy_provider::transport::RpcError; πŸ”’
use alloy_provider::transport::TransportError; πŸ”’
use alloy_provider::utils::Eip1559Estimation; πŸ”’
use alloy_rpc_types::TransactionRequest; πŸ”’
use alloy_signer::Signature; πŸ”’
use eyre::Context; πŸ”’
use eyre::ContextCompat; πŸ”’
use eyre::Result; πŸ”’
use eyre::bail; πŸ”’
use forge_script_sequence::ScriptSequence; πŸ”’
use forge_script_sequence::TransactionWithMetadata; πŸ”’
use foundry_cheatcodes::Wallets; πŸ”’
use foundry_cli::utils::has_batch_support; πŸ”’
use foundry_cli::utils::has_different_gas_calc; πŸ”’
use foundry_common::FoundryTransactionBuilder; πŸ”’
use foundry_common::TransactionMaybeSigned; πŸ”’
use foundry_common::provider::ProviderBuilder; πŸ”’
use foundry_common::provider::fee::estimate_eip1559_fees; πŸ”’
use foundry_common::provider::fee::resolve_broadcast_eip1559_fees; πŸ”’
use foundry_common::shell; πŸ”’
use foundry_common::tempo::TempoSponsor; πŸ”’
use foundry_common::tempo::active_tempo_hardfork; πŸ”’
use foundry_common::tempo::maybe_print_fee_token; πŸ”’
use foundry_common::tempo::resolve_and_set_fee_token; πŸ”’
use foundry_config::Config; πŸ”’
use foundry_evm::core::constants::DEFAULT_CREATE2_DEPLOYER_CODEHASH; πŸ”’
use foundry_evm::core::evm::FoundryEvmNetwork; πŸ”’
use foundry_evm::core::evm::TempoEvmNetwork; πŸ”’
use foundry_evm::hardfork::TempoHardfork; πŸ”’
use foundry_evm::traces::CallKind; πŸ”’
use foundry_wallets::TempoAccountsWallet; πŸ”’
use foundry_wallets::wallet_browser::error::BrowserWalletError; πŸ”’
use foundry_wallets::wallet_browser::signer::BrowserSigner; πŸ”’
use futures::FutureExt; πŸ”’
use futures::StreamExt; πŸ”’
use futures::future::join_all; πŸ”’
use futures::stream::FuturesUnordered; πŸ”’
use itertools::Itertools; πŸ”’
use tempo_alloy::TempoNetwork; πŸ”’
use tempo_alloy::rpc::TempoTransactionReceipt; πŸ”’
use tempo_alloy::rpc::TempoTransactionRequest; πŸ”’
use tempo_primitives::transaction::Call; πŸ”’
use tempo_primitives::transaction::TEMPO_EXPIRING_NONCE_KEY; πŸ”’
use tempo_primitives::transaction::TempoTxEnvelope; πŸ”’

StructsΒ§

BundledState
State after we have bundled all TransactionWithMetadata objects into a single ScriptSequenceKind object containing one or more script sequences.

EnumsΒ§

PreparedTransaction πŸ”’
A prepared submission, with local signatures fixed before checkpointing and sending.
SendTransactionKind
Represents how to send a single transaction.
SendTransactionsKind
Represents how to send all transactions

FunctionsΒ§

convert_tempo_aa_create πŸ”’
ensure_recorded_sponsor πŸ”’
Rejects preparing new transactions without the Tempo sponsor recorded when the deployment was created, so that resume never changes who pays.
estimate_gas
fee_totals πŸ”’
Returns the total gas used, the average gas price and the total fee paid in wei for the given (gas_used, effective_gas_price) receipt pairs.
is_definite_browser_non_submission πŸ”’
is_definite_unlocked_non_submission πŸ”’
is_operation_completed πŸ”’
Returns true if the operation has a receipt or a recorded revert for its own hash.
is_unlocked_non_submission πŸ”’
reject_access_key_create πŸ”’
reject_expiring_call_before_create πŸ”’
Collection increments the sender’s protocol nonce for CALLs, but expiring CALLs do not. Reject a subsequent CREATE before submitting anything, since its simulated address is stale. Called only when expiring nonce mode is enabled.
remaining_operation_indices πŸ”’
remaining_sender_addresses πŸ”’
remaining_unsigned_transactions_for_recovery πŸ”’
resume_script_failure πŸ”’
Describes the failed script run that --resume performed to collect missing signers.
send_tempo_batch_payload πŸ”’
should_broadcast_sequentially πŸ”’
tempo_batch_calls πŸ”’
validate_tempo_batch_envelope πŸ”’
validate_tempo_batch_payload πŸ”’
validate_tempo_batch_request πŸ”’
wait_for_batch_receipt πŸ”’