Skip to content

Latest commit

 

History

History
106 lines (80 loc) · 6.99 KB

File metadata and controls

106 lines (80 loc) · 6.99 KB


tempo combomark



Tempo Standard Library

Tempo Standard Library is a collection of helpful Tempo specific contracts and libraries for use with Foundry.

Installation

forge install tempoxyz/tempo-std

Standard Precompiles

src
├── interfaces
│   ├── IAccountKeychain.sol: Account Keychain | Docs | Implementation
│   ├── IFeeAMM.sol: Fee AMM | Docs | Implementation
│   ├── IFeeManager.sol: Fee AMM Management | Docs | Implementation
│   ├── INonce.sol: 2D Nonce Management for Tempo Transactions | Implementation
│   ├── IStablecoinDEX.sol: Stablecoin DEX | Docs | Implementation
│   ├── ITempoStreamChannel.sol: Streaming payment channel escrow (concept) | Implementation
│   ├── ITIP20Factory.sol: TIP-20: Factory Contract | Docs | Implementation
│   ├── ITIP20RewardsRegistry.sol: TIP-20: Reward Distribution | 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

Standard Contracts

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

Standard Tokens

src
└── StdTokens.sol: Collection of tokens and their interfaces on Tempo

Standard Vm

src
└── StdVm.sol: Minimal Vm interfaces for RLP encoding and transaction execution

Transaction Builders

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

Support

The current minimum supported Solidity version is 0.8.20.

Contributing

Our contributor guidelines can be found in CONTRIBUTING.md.

Security

See SECURITY.md.

License

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.