tempo_primitives/transaction/
mod.rs1pub mod envelope;
2pub mod key_authorization;
3pub mod tempo_transaction;
4pub mod tt_authorization;
5pub mod tt_signature;
6pub mod tt_signed;
7
8pub use tt_authorization::{MAGIC, RecoveredTempoAuthorization, TempoSignedAuthorization};
9pub use tt_signature::{
11 KeychainSignature, KeychainVersion, KeychainVersionError, PrimitiveSignature, TempoSignature,
12 derive_p256_address,
13};
14
15pub use alloy_eips::eip7702::Authorization;
16pub use envelope::{TIP20_PAYMENT_PREFIX, TempoTxEnvelope, TempoTxType, TempoTypedTransaction};
17pub use key_authorization::{
18 KeyAuthorization, KeyAuthorizationChainIdError, SignedKeyAuthorization, TokenLimit,
19};
20pub use tempo_transaction::{
21 Call, MAX_WEBAUTHN_SIGNATURE_LENGTH, P256_SIGNATURE_LENGTH, SECP256K1_SIGNATURE_LENGTH,
22 SignatureType, TEMPO_EXPIRING_NONCE_KEY, TEMPO_EXPIRING_NONCE_MAX_EXPIRY_SECS,
23 TEMPO_TX_TYPE_ID, TempoTransaction, validate_calls,
24};
25pub use tt_signed::AASigned;
26
27use alloy_primitives::{U256, uint};
28
29pub const TEMPO_GAS_PRICE_SCALING_FACTOR: U256 = uint!(1_000_000_000_000_U256);
36
37pub fn calc_gas_balance_spending(gas_limit: u64, gas_price: u128) -> U256 {
42 U256::from(gas_limit)
43 .saturating_mul(U256::from(gas_price))
44 .div_ceil(TEMPO_GAS_PRICE_SCALING_FACTOR)
45}