From 80165776d09e618f06d0d3d80f8d74050b2d63a4 Mon Sep 17 00:00:00 2001 From: Collins Ikechukwu Date: Tue, 20 Oct 2026 18:57:03 +0100 Subject: [PATCH] docs: extend new code after an upgrade New code starts with the network's minimum lifetime, about 7 days on testnet, and the contracts renew it only when a call lands in its last day. Testnet's events 2.1.0 code was archived that way in October 2026. Note the backend keepalive that now renews it, and the manual command for when it is not running. --- docs/upgrade-runbook.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/upgrade-runbook.md b/docs/upgrade-runbook.md index ca1262b..7a40509 100644 --- a/docs/upgrade-runbook.md +++ b/docs/upgrade-runbook.md @@ -47,6 +47,22 @@ still go through. Neither blocks reads or any admin call, including every step in this runbook and `unpause`, so a contract can stay paused from apply through migration. +New code starts with the network's minimum lifetime: about 120 days on +mainnet, about 7 on testnet. The contracts renew their code only when a call +lands in its last day, so the backend's daily `ContractTtlKeepaliveCron` +(boundless-nestjs) extends the code each contract runs once it has under 60 +days left. Where that job is not running, extend the code by hand after +`apply_upgrade`; testnet's events 2.1.0 code was archived in October 2026 for +want of this. Any funded identity can pay: + +```sh +stellar contract extend --wasm-hash --ledgers-to-extend 3110399 \ + --network mainnet --source-account +``` + +On testnet pass `--ledgers-to-extend 1036800` (60 days): 180 days of rent for +the events code does not fit in one transaction fee. + ## 2. Before you propose 1. Tag the release commit and build it the way mainnet will run it: