From cab43d894b85f6145689fbde9e5c96656001ed3c Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 18 Jun 2026 17:35:33 +0100 Subject: [PATCH] docs: refresh Foundry Tempo hardfork guidance --- src/pages/sdk/foundry/index.mdx | 16 ++++------------ src/pages/sdk/foundry/signature-verifier.mdx | 13 ++++++++----- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/pages/sdk/foundry/index.mdx b/src/pages/sdk/foundry/index.mdx index 093de9c2..058e6740 100644 --- a/src/pages/sdk/foundry/index.mdx +++ b/src/pages/sdk/foundry/index.mdx @@ -91,16 +91,9 @@ For most projects, the most flexible option is to enable Tempo network features tempo = true ``` -This network flag, enables Tempo-specific network behavior while still letting Foundry resolve the right semantics from the chain you are targeting. +This network flag enables Tempo-specific network behavior while still letting Foundry resolve the right semantics from the chain you are targeting. -If you need advanced testing against a specific Tempo hardfork, pin it explicitly in `foundry.toml` or via inline-config: - -```toml -[profile.default] -hardfork = "tempo:T3" -``` - -This is the advanced option when you want local simulation, tests, or scripts to run against a specific Tempo hardfork such as T3. It also infers the Tempo network in Foundry's config layer. +If you need advanced testing against historical network behavior, pin a specific Tempo hardfork explicitly in `foundry.toml` or via inline config. Most projects should avoid hardfork pinning so local tests track the current Tempo rules for the network they target. ### Verification config @@ -308,8 +301,8 @@ Access-key transactions cannot create contracts, so use a root key for deploymen Anvil supports Tempo mode for local testing and forking Tempo networks: ```bash -# Start anvil in Tempo mode with T3 rules -anvil --tempo --hardfork t3 +# Start anvil in Tempo mode +anvil --tempo # Fork a live Tempo network for local testing anvil --tempo --fork-url $TEMPO_RPC_URL @@ -444,4 +437,3 @@ cast call 0xAAAAAAAA00000000000000000000000000000000 \ \ --rpc-url $TEMPO_RPC_URL ``` - diff --git a/src/pages/sdk/foundry/signature-verifier.mdx b/src/pages/sdk/foundry/signature-verifier.mdx index 38c3af9e..c21e0e74 100644 --- a/src/pages/sdk/foundry/signature-verifier.mdx +++ b/src/pages/sdk/foundry/signature-verifier.mdx @@ -5,7 +5,7 @@ description: Verify secp256k1, P256, and WebAuthn signatures in smart contracts # Signature Verification with Foundry -The [TIP-1020](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1020.md) `SignatureVerifier` precompile lets contracts verify secp256k1, P256, and WebAuthn signatures through a single interface — no custom verifier contracts needed. This is available after the [T3 network upgrade](/protocol/upgrades/t3). +The [TIP-1020](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1020.md) `SignatureVerifier` precompile is available on Tempo. It lets contracts verify secp256k1, P256, and WebAuthn signatures through a single interface — no custom verifier contracts needed. The Foundry project template for Tempo ships with a working example that demonstrates signature verification in a relayed mail contract. Initialize it with: @@ -83,12 +83,16 @@ contract Mail { ## Testing -The template includes tests for both signature types. Set `hardfork = "tempo:T3"` in inline config or `foundry.toml` to enable the precompile locally: +The template includes tests for both signature types. Tempo support is enabled by the template's Foundry config. If you copy this pattern into an existing project, make sure `foundry.toml` enables Tempo mode: + +```toml +[profile.default] +tempo = true +``` ### secp256k1 ```solidity -/// forge-config: default.hardfork = "tempo:T3" contract MailRelayTest is MailTest { uint256 internal constant ALICE_PK = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; @@ -132,10 +136,9 @@ function test_SendMailWithP256Signature() public { forge test -vvv ``` -The secp256k1 and P256 relay tests run against the T3 hardfork automatically via the inline config directive. +The secp256k1 and P256 relay tests use Tempo mode through the template's Foundry config. ## Related - [TIP-1020: Signature Verification Precompile](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1020.md) -- [T3 Network Upgrade](/protocol/upgrades/t3) - [Foundry for Tempo](/sdk/foundry)