Skip to main content

Module tempo

Module tempo 

Source
Expand description

Tempo network utilities.

Re-exportsΒ§

use crate::FoundryTransactionBuilder; πŸ”’
use alloy_network::Network; πŸ”’
use alloy_network::TransactionBuilder; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::B256; πŸ”’
use alloy_primitives::Signature; πŸ”’
use alloy_primitives::TxKind; πŸ”’
use alloy_primitives::address; πŸ”’
use alloy_provider::Provider; πŸ”’
use alloy_signer::Signer; πŸ”’
use alloy_sol_types::SolCall; πŸ”’
use eyre::Context; πŸ”’
use eyre::Result; πŸ”’
use foundry_wallets::RawWalletOpts; πŸ”’
use foundry_wallets::WalletOpts; πŸ”’
use foundry_wallets::WalletSigner; πŸ”’
use std::sync::Arc; πŸ”’
use tempo_alloy::contracts::precompiles::IFeeManager; πŸ”’
use tempo_alloy::contracts::precompiles::IStablecoinDEX; πŸ”’
use tempo_alloy::contracts::precompiles::ITIP20; πŸ”’
use tempo_alloy::contracts::precompiles::STABLECOIN_DEX_ADDRESS; πŸ”’
use tempo_alloy::contracts::precompiles::TIP_FEE_MANAGER_ADDRESS; πŸ”’
use tempo_primitives::TempoAddressExt; πŸ”’
pub use auth::AccessKeyOutcome;
pub use auth::EnsureAccessKeyConfig;
pub use auth::ensure_access_key;

ModulesΒ§

auth
Tempo wallet device-code authorization flow.
hardfork πŸ”’
Tempo hardfork activation queries.
keystore πŸ”’
Tempo Accounts store discovery and local key metadata.
lane πŸ”’
Tempo T5 payment-lane classification shared by anvil and cast.
session πŸ”’
Tempo temporary access-key lifecycle backed by the canonical Accounts store.
session_policy πŸ”’
Pure Tempo session policy construction.
tip20 πŸ”’
Shared TIP-20 helpers.

StructsΒ§

AccountsStoreView
Snapshot used by the existing keychain list/show/doctor commands.
CanonicalCallScope
CanonicalSelectorRule
CanonicalTokenLimit
GeneratedSessionKey
Locally generated secp256k1 session key material.
KeyEntry
Non-secret view of one access key in the Tempo Accounts store.
PaymentLaneClassification
Structured T5 payment-lane classification for Foundry-facing APIs.
PreparedSessionAuthorization
Prepared local session metadata plus the Tempo authorization that the root must sign.
ResolvedSessionSigner
A live managed key pinned into an Accounts wallet.
SessionAuthorizationRequest
Typed inputs needed to authorize a temporary session access key.
SessionCallScope
SessionEntry
Foundry’s command-facing view of one Accounts access key.
SessionKeyMaterial
Transient key material used while adding an access key to the Accounts store.
SessionSelectorRule
SessionSpendLimit
Typed spending limit for a temporary session access key.
SessionTokenLimit
Spending limit attached to a managed access key.
StoredTokenLimit
Per-token spending limit exposed by the local keychain commands.
TempoSponsor
Gas sponsor configuration for Tempo fee-payer signatures.
TempoSponsorPreview
User-visible sponsor digest metadata for a single outgoing Tempo transaction.

EnumsΒ§

KeyType
Cryptographic key type used by Tempo Accounts access keys.
PaymentLane
Payment-lane classifier output lane.
PaymentLaneReason
Stable Foundry-facing reasons for general-lane classification.
SessionStatus
Status derived from a managed access key’s Accounts record.
Tip20LogoUriValidationError

ConstantsΒ§

ALPHA_USD_ADDRESS
Reserved Tempo TIP20 fee-token addresses created during Foundry genesis.
BETA_USD_ADDRESS
OUSD_ADDRESS
PATH_USD_ADDRESS
Protocol pathUSD token address.
TEMPO_HOME_ENV
Environment variable to override the Tempo home directory.
THETA_USD_ADDRESS
TIP20_ALLOWED_LOGO_URI_SCHEMES
TIP20_MAX_LOGO_URI_BYTES

FunctionsΒ§

active_tempo_hardfork
Returns the Tempo hardfork active on the RPC, falling back to anvil_nodeInfo for nodes that do not serve the fork schedule.
canonical_authorization_limits
canonical_authorization_scope
canonical_authorization_selector_rules
canonical_session_limits
canonical_session_scope
canonical_session_selector_rules
classify_payment_lane
Classifies a raw EIP-2718 encoded transaction with Tempo’s T5 payment-lane classifier.
common_call_target πŸ”’
decode_key_authorization
Decode an RLP key authorization stored by Tempo Accounts.
decode_stablecoin_dex_fee_token πŸ”’
ensure_expiring_nonce_discriminator_active
Fails when tx carries a non-zero expiring nonce and the chain is known to predate T12.
infer_fee_token_from_set_user_token_call πŸ”’
infer_fee_token_from_stablecoin_dex_calls πŸ”’
infer_fee_token_from_tip20_calls πŸ”’
is_known_tempo_endpoint πŸ”’
Returns true if url’s host is tempo.xyz or a subdomain of it.
is_tempo_hardfork_active
Returns whether hardfork is active at the head of the chain behind provider.
is_tip20_fee_token_call πŸ”’
known_fee_token_symbol
Returns the known symbol for a Tempo fee token without making an RPC call.
mark_expired_session_entries
Retire expired managed access keys and return the number changed.
maybe_print_fee_token
Prints the fee token selected for display.
parse_limit
read_session_entries
read_session_entry
read_tempo_accounts_store
Read non-secret metadata from the canonical Tempo Accounts store.
redacted_debug πŸ”’
Placeholder rendered by Debug impls in place of secret key material.
resolve_and_set_fee_token
Resolves and applies the Tempo fee token selected by the network.
resolve_fee_token_symbol πŸ”’
resolve_live_session_signer
Resolve a live managed key from the Accounts store and pin it for signing.
resolve_tempo_sponsor_signer
Resolves a --tempo.sponsor-signer URI into a Foundry wallet signer.
retire_session_entry
Retire local signing material in store.json for the selected managed key.
stored_user_fee_token πŸ”’
tempo_accounts_store_path
Return the canonical Tempo Accounts store.json path.
upsert_session_entry
Add a generated access key to the canonical Accounts store.
validate_session_authorization_policy
validate_signed_session_authorization
Validate that a signed authorization describes the command-facing managed key.
validate_tip20_logo_uri