QubicTypeScript

getAbiHistory

Returns all ABI versions for a contract sorted oldest-first, useful for migration audits.

Signature

getAbiHistory(registry: ContractRegistry, contractIndex: number): ContractAbiVersion[]

Purpose

Returns all ABI versions for a contract, sorted from oldest to newest. Useful for migration audits or inspecting when a contract's interface changed.

import { getAbiHistory } from "@qubic.org/registry"
import registry from "@qubic.org/registry/registry.json"
import type { ContractRegistry } from "@qubic.org/registry"

const reg = registry as ContractRegistry

const history = getAbiHistory(reg, 9)
// history[0] — oldest version
// history[history.length - 1] — newest version

for (const v of history) {
  console.log(`Epoch ${v.effectiveFromEpoch}–${v.effectiveToEpoch ?? "current"}`)
}

Parameters

NameTypeDescription
registryContractRegistryThe imported registry JSON
contractIndexnumberContract index (e.g. 9 for Qearn) — or use CONTRACT_INDEX from @qubic.org/types

Returns

ContractAbiVersion[] — all versions sorted by effectiveFromEpoch ascending.

On this page