---
id: TIP-1116
title: T12 Hardfork Meta TIP
description: Meta TIP collecting changes proposed for the T12 hardfork.
authors: Jennifer (@jenpaff)
status: Draft
related: TIP-1105
protocolVersion: T12
---

# TIP-1116: T12 Hardfork Meta TIP

## Abstract

The proposed T12 hardfork allows extra bytes after valid precompile arguments,
enforces the EVM's gas-stipend check before precompile storage writes, and makes
state-changing precompile calls halt in read-only contexts. It also updates how
validators calculate share-reveal limits during joint key generation and hashes
randomness before selecting the next consensus leader.

## Motivation

This meta TIP collects the T12 upgrade scope and implementation links for review.

---

# Changes

These changes activate at T12; pre-T12 behavior is unchanged.

## 1. Allow trailing ABI bytes in precompile calls

**PRs**: [#7598](https://github.com/tempoxyz/tempo/pull/7598) · **Author**: @klkvr

Allows unused bytes after otherwise valid ABI arguments. The remaining strict
validation checks from [TIP-1105](./tip-1105.md) and the 16 MiB decoder memory limit
remain unchanged.

## 2. Enforce the EIP-2200 stipend check for precompile storage writes

**PRs**: [#7647](https://github.com/tempoxyz/tempo/pull/7647) · **Author**: @0xrusowsky

Halts native-precompile storage writes with an out-of-gas error when remaining
gas is at or below the call stipend, as required by
[EIP-2200](https://eips.ethereum.org/EIPS/eip-2200).

## 3. Halt mutating precompile calls during static execution

**PRs**: [#7643](https://github.com/tempoxyz/tempo/pull/7643) · **Author**: @0xrusowsky

Changes mutating precompile calls in a static context from an ABI revert to a
frame-local exceptional halt, matching
[EIP-214](https://eips.ethereum.org/EIPS/eip-214).

## 4. Update DKG reveal rules

**PRs**: [#7790](https://github.com/tempoxyz/tempo/pull/7790) · **Author**: @hamdiallam

Updates distributed key generation (DKG) to calculate share-reveal limits from
the contributing validator set. Commonware's V1 reveal rules apply to ceremonies
whose starting boundary has T12 active.

## 5. Update random leader selection

**PRs**: [#7810](https://github.com/tempoxyz/tempo/pull/7810) · **Author**: @hamdiallam

Hashes the randomness input before selecting a consensus leader. Commonware's
V1 leader election applies to epochs whose starting boundary has T12 active.
