Skip to main content

Module session

Module session 

Source

Re-exportsยง

use alloy_primitives::Address; ๐Ÿ”’
use alloy_primitives::B256; ๐Ÿ”’
use alloy_primitives::U256; ๐Ÿ”’
use alloy_provider::Provider; ๐Ÿ”’
use alloy_signer::Signer; ๐Ÿ”’
use alloy_sol_types::SolCall; ๐Ÿ”’
use clap::Args; ๐Ÿ”’
use clap::Parser; ๐Ÿ”’
use eyre::Context; ๐Ÿ”’
use eyre::Result; ๐Ÿ”’
use foundry_cli::opts::TEMPO_SESSION_ID_ENV; ๐Ÿ”’
use foundry_cli::opts::TransactionOpts; ๐Ÿ”’
use foundry_cli::utils::LoadConfig; ๐Ÿ”’
use foundry_cli::utils::now; ๐Ÿ”’
use foundry_cli::utils::parse_fee_token_address; ๐Ÿ”’
use foundry_common::provider::ProviderBuilder; ๐Ÿ”’
use foundry_common::sh_println; ๐Ÿ”’
use foundry_common::shell; ๐Ÿ”’
use foundry_common::tempo::GeneratedSessionKey; ๐Ÿ”’
use foundry_common::tempo::SessionAuthorizationRequest; ๐Ÿ”’
use foundry_common::tempo::SessionEntry; ๐Ÿ”’
use foundry_common::tempo::SessionSpendLimit; ๐Ÿ”’
use foundry_common::tempo::read_session_entry; ๐Ÿ”’
use foundry_common::tempo::retire_session_entry; ๐Ÿ”’
use foundry_common::tempo::upsert_session_entry; ๐Ÿ”’
use foundry_wallets::WalletOpts; ๐Ÿ”’
use foundry_wallets::WalletSigner; ๐Ÿ”’
use serde_json::json; ๐Ÿ”’
use std::num::NonZeroU64; ๐Ÿ”’
use std::process::Command; ๐Ÿ”’
use std::process::ExitStatus; ๐Ÿ”’
use tempo_alloy::TempoNetwork; ๐Ÿ”’
use tempo_alloy::provider::TempoProviderExt; ๐Ÿ”’
use tempo_contracts::precompiles::IAccountKeychain; ๐Ÿ”’
use tempo_primitives::transaction::CallScope; ๐Ÿ”’
use tempo_primitives::transaction::PrimitiveSignature; ๐Ÿ”’
use tempo_primitives::transaction::SelectorRule; ๐Ÿ”’
use tokio::signal; ๐Ÿ”’
use crate::cmd::keychain::KeychainTxOutcome; ๐Ÿ”’
use crate::cmd::keychain::resolve_keychain_root_signer; ๐Ÿ”’
use crate::cmd::keychain::send_keychain_tx_with_root_signer; ๐Ÿ”’
use crate::cmd::print_json_or; ๐Ÿ”’
use crate::cmd::tempo_policy_args::parse_period; ๐Ÿ”’
use crate::cmd::tempo_policy_args::parse_scope as parse_policy_scope; ๐Ÿ”’
use crate::cmd::tempo_policy_args::parse_selector_bytes; ๐Ÿ”’
use crate::tempo; ๐Ÿ”’
use crate::tx::SendTxOpts; ๐Ÿ”’
use super::process_tree::ManagedChild; ๐Ÿ”’

Structsยง

InnerCommand ๐Ÿ”’
SessionArgs
Arguments for cast wallet session.
SessionInterrupt ๐Ÿ”’ Unix

Enumsยง

SessionRevokeStatus ๐Ÿ”’
SessionSubcommands
Tempo wallet session lifecycle commands.
UnprovisionedKeyPolicy ๐Ÿ”’
How to treat a session key that was never provisioned on-chain when revoking it.

Constantsยง

PRINT_SPONSOR_HASH_REVOKE_ERROR ๐Ÿ”’
SESSION_CHILD_SIGNER_ENV ๐Ÿ”’
Signer-related environment variables that foundry_wallets resolves signers from. They are removed from the --for child so it can only sign with the injected session key.

Functionsยง

build_session_entry ๐Ÿ”’
Builds an active session entry from CLI policy inputs and a root signature.
create ๐Ÿ”’
Creates a signed temporary access key in the Tempo Accounts store.
parse_scope ๐Ÿ”’
Adapts shared keychain scope parsing into the session authorization type.
parse_spend_limit ๐Ÿ”’
Parses a session spend limit into the session policy model.
print_revoke_status ๐Ÿ”’
resolve_root_signer ๐Ÿ”’
resolve_session_chain_id ๐Ÿ”’
revoke ๐Ÿ”’
Revokes a session entry locally and on-chain when the key has been provisioned.
session_scope ๐Ÿ”’
split_for_command ๐Ÿ”’