diff --git a/src/pages/docs/guide/node/network-upgrades.mdx b/src/pages/docs/guide/node/network-upgrades.mdx index 9e4c84d8..36edc3ac 100644 --- a/src/pages/docs/guide/node/network-upgrades.mdx +++ b/src/pages/docs/guide/node/network-upgrades.mdx @@ -15,6 +15,7 @@ For detailed release notes and binaries, see the [Changelog](/docs/changelog). | Release | Date | Network | Description | Priority | |---------|------|---------|-------------|----------| +| TBD | TBD | Testnet + Mainnet | Required for T9; adds TIP-403 registry support for TIP-20 token policy bindings and targeted migration for existing tokens. Release details and activation timing are TBD. | Required | | [v1.11.0](https://github.com/tempoxyz/tempo/releases/tag/v1.11.0) | Jul 22, 2026 | Testnet + Mainnet | Required for T8; active on testnet and scheduled for mainnet activation on July 30. Includes current committee state, FeeAMM policy changes, versioned Stablecoin DEX order storage, DEX V2Order support, and final TIP-20 rewards deprecation. | Required | | [v1.10.1](https://github.com/tempoxyz/tempo/releases/tag/v1.10.1) | Jun 29, 2026 | Testnet + Mainnet | Required for T7; includes storage credits for DEX order storage and TIP-20 channel storage, dynamic base fee behavior, and TIP-20 rewards deprecation. | Required | | [v1.9.1](https://github.com/tempoxyz/tempo/releases/tag/v1.9.1) | Jun 19, 2026 | Testnet + Mainnet | Patch release with follow-mode stability fixes, payload-builder latency fixes, Reth/Rust dependency updates, and transaction-pool/RPC improvements. | Recommended | @@ -36,6 +37,22 @@ For detailed release notes and binaries, see the [Changelog](/docs/changelog). | [v1.3.1](https://github.com/tempoxyz/tempo/releases/tag/v1.3.1) | Feb 22, 2026 | Testnet + Mainnet | Fixes high-load issues and finalizes T1A/T1B hardening for expiring nonce replay protection and keychain precompile gas handling | Required | | [v1.2.0](https://github.com/tempoxyz/tempo/releases/tag/v1.2.0) | Feb 13, 2026 | Mainnet only | Fixes validation bug rejecting transactions with gas limits above ~16.7M, blocking large contract deployments | Required | +## T9 + +| | | +|---|---| +| **Scope** | TIP-20 policy IDs in TIP-403 and targeted migration for existing tokens that need a registry-backed policy binding | +| **TIPs** | [TIP-20 Policy IDs in TIP-403](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1092.md) | +| **Details** | [T9 network upgrade](/docs/protocol/upgrades/t9) | +| **Release** | TBD | +| **Testnet** | TBD | +| **Mainnet** | TBD | +| **Priority** | Required | + +T9 is not scheduled yet. The T9-compatible release, testnet activation time, and mainnet activation time are TBD. Node operators should run the T9-compatible release before activation once it is published. + +--- + ## T8 | | | diff --git a/src/pages/docs/protocol/upgrades/t9.mdx b/src/pages/docs/protocol/upgrades/t9.mdx new file mode 100644 index 00000000..de78b66e --- /dev/null +++ b/src/pages/docs/protocol/upgrades/t9.mdx @@ -0,0 +1,84 @@ +--- +title: T9 Network Upgrade +description: T9 adds TIP-403 registry support for TIP-20 token policy bindings and targeted migration for existing tokens. +--- + +# T9 Network Upgrade + +T9 updates how Tempo records the transfer policy used by TIP-20 tokens. It lets TIP-403 store the active policy for a token, so policy-aware tooling can read that answer from the registry when it needs to. + +For ecosystem partners, T9 matters most if you issue TIP-20 tokens, maintain wallets or indexers that read token policy state, or build flows that need a registry-backed answer for token policy checks. + +:::info[T9 status] +T9 is not scheduled yet. The T9-compatible release, testnet activation time, and mainnet activation time are TBD. +::: + +## Timeline + +| Milestone | Date | Timestamp | +|-----------|------|-----------| +| Testnet activation | TBD | TBD | +| Mainnet activation | TBD | TBD | + +Node operators should run the T9-compatible release before the activation timestamp on each network. Nodes that are not updated before activation will fall out of sync. + +## Overview + +T9 focuses on one protocol change: + +- **TIP-20 policy IDs in TIP-403.** TIP-403 can store which transfer policy a TIP-20 token is currently using. + +This keeps token policy information in one registry when a flow needs that stronger guarantee. Existing tokens keep working even if they have not been migrated yet. + +## Features + +### Token policy lookup in TIP-403 + +TIP-403 already stores transfer policy data. T9 also lets TIP-403 store the active transfer policy ID for a TIP-20 token. + +In plain terms, this gives contracts and offchain tools a registry-backed way to ask: "Which transfer policy is this token using?" + +New TIP-20 tokens write this TIP-403 binding when they are created. After T9, token policy changes also update the TIP-403 binding. + +Read the specification [here](https://github.com/tempoxyz/tempo/blob/main/tips/tip-1092.md). + +### Existing tokens keep working + +Existing TIP-20 tokens do not all need to move at activation. If a token has not been migrated, normal token behavior can still use the token's existing local policy ID. + +The difference is for flows that specifically need the policy answer to come from TIP-403. Those flows should require the TIP-403 binding to exist before using that token. + +### Targeted migration + +T9 adds a targeted migration path for existing TIP-20 tokens that need a TIP-403 binding. + +The migration copies the token's current local policy ID into TIP-403. It does not choose a new policy or change the token's rules; it only registers the policy the token is already using. + +This means teams can migrate the tokens they need instead of forcing every historical token into the registry at once. + +## Compatible releases + +The T9-compatible release is not published yet. + +| Ecosystem | T9-compatible releases | +|-----------|------------------------| +| Node operators | TBD | +| Rust SDK crates | TBD | + +Release notes and binaries will be linked here when the T9-compatible release is published. + +## Integration impact + +### For TIP-20 issuers and token admins + +- New TIP-20 tokens write their TIP-403 policy binding during creation. +- Existing tokens keep working if they are not migrated. +- Existing tokens should be migrated when a flow needs their policy ID to be available from TIP-403. +- After activation, policy changes update the active policy in TIP-403. + +### For SDKs, indexers, and low-level tooling + +- Existing token policy reads can keep using the current TIP-20 API when they only need the effective policy ID. +- Tooling that needs a registry-backed token-to-policy answer should read TIP-403. +- Migration tooling should migrate only the tokens that need a TIP-403 binding. +- Apps that do not read or enforce TIP-20 policy state do not need an immediate integration change for T9. diff --git a/vocs.config.ts b/vocs.config.ts index 822784e1..be20feff 100644 --- a/vocs.config.ts +++ b/vocs.config.ts @@ -882,6 +882,11 @@ export default defineConfig({ text: 'Network Upgrades', collapsed: false, items: [ + { + text: 'T9', + badge: { text: 'Planned', variant: 'note' as const }, + link: '/docs/protocol/upgrades/t9', + }, { text: 'T8', badge: { text: 'Planned', variant: 'note' as const },