From 0e39df89a5e874acdd44b4c65b5e1b82cb8426a7 Mon Sep 17 00:00:00 2001 From: solidsnakedev Date: Mon, 16 Mar 2026 06:59:00 -0300 Subject: [PATCH 1/2] fix(koios): explicitly order epoch_params to get current epoch Koios preview load-balances across backend nodes with different DB row orderings. Without an explicit sort, epoch_params?limit=1 randomly returns a stale epoch (e.g. 646 with 251 PlutusV3 cost model entries) instead of the current one (297 entries), causing PPViewHashesDontMatch when submitting transactions with Plutus scripts. --- packages/evolution/src/sdk/provider/internal/KoiosEffect.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts b/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts index 03f9242d..21a51494 100644 --- a/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts +++ b/packages/evolution/src/sdk/provider/internal/KoiosEffect.ts @@ -24,7 +24,7 @@ import * as _Ogmios from "./Ogmios.js" export const getProtocolParameters = (baseUrl: string, token?: string) => Effect.gen(function* () { - const url = `${baseUrl}/epoch_params?limit=1` + const url = `${baseUrl}/epoch_params?limit=1&order=epoch_no.desc` const schema = Schema.Array(_Koios.ProtocolParametersSchema) const bearerToken = token ? { Authorization: `Bearer ${token}` } : undefined const [result] = yield* pipe( From 76bbaa2d1cebb40a52a037b23cd80f1fef20388d Mon Sep 17 00:00:00 2001 From: solidsnakedev Date: Mon, 16 Mar 2026 07:00:00 -0300 Subject: [PATCH 2/2] release(evolution): fix koios epoch_params ordering --- .changeset/fix-koios-epoch-params-ordering.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-koios-epoch-params-ordering.md diff --git a/.changeset/fix-koios-epoch-params-ordering.md b/.changeset/fix-koios-epoch-params-ordering.md new file mode 100644 index 00000000..a1fb80ec --- /dev/null +++ b/.changeset/fix-koios-epoch-params-ordering.md @@ -0,0 +1,5 @@ +--- +"@evolution-sdk/evolution": patch +--- + +Fix Koios `getProtocolParameters` returning stale epoch data on preview by explicitly ordering `epoch_params` descending