Tempo Standard Library is a collection of helpful Tempo specific contracts and libraries for use with Foundry.
forge install tempoxyz/tempo-stdsrc ├── interfaces │ ├── IAccountKeychain.sol: Account Keychain (T3: call scopes, periodic limits) | Docs | Implementation │ ├── IAddressRegistry.sol: TIP-1022 Virtual Address Registry (T3+) | Implementation │ ├── IFeeAMM.sol: Fee AMM | Docs | Implementation │ ├── IFeeManager.sol: Fee AMM Management | Docs | Implementation │ ├── INonce.sol: 2D Nonce Management for Tempo Transactions | Implementation │ ├── ISignatureVerifier.sol: TIP-1020 Signature Verification Precompile (T3+) | Implementation │ ├── IStablecoinDEX.sol: Stablecoin DEX | Docs | Implementation │ ├── ITempoStreamChannel.sol: Streaming payment channel escrow (concept) | Implementation │ ├── ITIP20Factory.sol: TIP-20: Factory Contract | Docs | Implementation │ ├── ITIP20RolesAuth.sol: TIP-20: Roles & Permissions | Docs | Implementation │ ├── ITIP20.sol: TIP-20: Core Token Standard | Docs | Implementation │ ├── ITIP403Registry.sol: TIP-403: Policy Registry System | Docs | Implementation │ ├── IValidatorConfig.sol: Manage consensus validators | Implementation │ └── IValidatorConfigV2.sol: Validator Config V2 (append-only) | Implementation └── StdPrecompiles.sol: Collection of precompiles and their interfaces on Tempo
src ├── interfaces │ ├── ICreateX.sol: @pcaversaccio/createx │ ├── IMulticall3.sol: @mds1/multicall3 │ └── IPermit2.sol: @uniswap/permit2 └── StdContracts.sol: Collection of predeployed contracts and their interfaces on Tempo
src └── StdTokens.sol: Collection of tokens and their interfaces on Tempo
src └── StdVm.sol: Minimal Vm interfaces for RLP encoding, transaction execution, and signing cheatcodes
Solidity helpers for building, encoding, and signing the byte-packed signature blobs consumed by the TIP-1020 SignatureVerifier precompile. Useful for testing AA flows with Foundry without re-implementing low-S normalization, WebAuthn assertion construction, base64url, or P-256 address derivation.
src
└── sig
└── SignatureLib.sol: Encoders, low-S normalization, WebAuthn data builder, and Vm-based signers for secp256k1 / P-256 / WebAuthn signatures
Solidity libraries for building and RLP-encoding Ethereum and Tempo transactions, useful for testing with Foundry.
src
└── tx
├── AccessListTypes.sol: EIP-2930 access list types
├── Eip1559TransactionLib.sol: EIP-1559 (type 2) transaction builder
├── Eip7702TransactionLib.sol: EIP-7702 (type 4) transaction builder with authorization support
├── LegacyTransactionLib.sol: Legacy (type 0) transaction builder
├── TempoTransactionLib.sol: Tempo (type 0x76) transaction builder with batch calls, 2D nonces, and fee payer support
└── TxRlp.sol: RLP encoding helpers for transaction builders
The current minimum supported Solidity version is 0.8.20.
Our contributor guidelines can be found in CONTRIBUTING.md.
See SECURITY.md.
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these packages by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.