From dcd35b25e3285efc6341d5d81e817dce0bc27074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Le=C3=B3n?= <58715544+JavierLeon9966@users.noreply.github.com> Date: Sat, 3 Jan 2026 06:21:17 -0300 Subject: [PATCH] Forgor separate block runtime IDs --- legacyver/block_translator.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/legacyver/block_translator.go b/legacyver/block_translator.go index af93fa6..fd54782 100644 --- a/legacyver/block_translator.go +++ b/legacyver/block_translator.go @@ -275,6 +275,13 @@ func (t *DefaultBlockTranslator) DowngradeBlockRuntimeID(input uint32) uint32 { if t.latest == t.mapping { return input } + if t.UseBlockNetworkIDHashes { + var ok bool + input, ok = t.latest.HashToRuntimeID(input) + if !ok { + return t.mapping.InfoUpdate() + } + } state, ok := t.latest.RuntimeIDToState(input) if !ok { return t.mapping.InfoUpdate() @@ -283,6 +290,12 @@ func (t *DefaultBlockTranslator) DowngradeBlockRuntimeID(input uint32) uint32 { if !ok { return t.mapping.InfoUpdate() } + if t.UseBlockNetworkIDHashes { + runtimeID, ok = t.mapping.RuntimeIDToHash(runtimeID) + if !ok { + return t.mapping.InfoUpdate() + } + } return runtimeID } @@ -343,6 +356,13 @@ func (t *DefaultBlockTranslator) UpgradeBlockRuntimeID(input uint32) uint32 { if t.latest == t.mapping { return input } + if t.UseBlockNetworkIDHashes { + var ok bool + input, ok = t.mapping.HashToRuntimeID(input) + if !ok { + return t.latest.InfoUpdate() + } + } state, ok := t.mapping.RuntimeIDToState(input) if !ok { return t.latest.InfoUpdate() @@ -351,6 +371,12 @@ func (t *DefaultBlockTranslator) UpgradeBlockRuntimeID(input uint32) uint32 { if !ok { return t.latest.InfoUpdate() } + if t.UseBlockNetworkIDHashes { + runtimeID, ok = t.latest.RuntimeIDToHash(runtimeID) + if !ok { + return t.latest.InfoUpdate() + } + } return runtimeID }