diff --git a/.changeset/shaggy-turkeys-end.md b/.changeset/shaggy-turkeys-end.md new file mode 100644 index 0000000..71f3492 --- /dev/null +++ b/.changeset/shaggy-turkeys-end.md @@ -0,0 +1,5 @@ +--- +"@blaze-cardano/query": patch +--- + +fix cost model encoding for plutusv3 diff --git a/packages/blaze-query/src/blockfrost.ts b/packages/blaze-query/src/blockfrost.ts index 64b5630..aa03d9c 100644 --- a/packages/blaze-query/src/blockfrost.ts +++ b/packages/blaze-query/src/blockfrost.ts @@ -83,15 +83,11 @@ export class Blockfrost extends Provider { } // Build cost models const costModels: CostModels = new Map(); - for (const cm of Object.keys( - response.cost_models, - ) as BlockfrostLanguageVersions[]) { - const costModel: number[] = []; - const keys = Object.keys(response.cost_models[cm]).sort(); - for (const key of keys) { - costModel.push(response.cost_models[cm][key]!); - } - costModels.set(fromBlockfrostLanguageVersion(cm), costModel); + for (const [key, value] of Object.entries(response.cost_models_raw)) { + costModels.set( + fromBlockfrostLanguageVersion(key as BlockfrostLanguageVersions), + value, + ); } return { @@ -737,6 +733,7 @@ export interface BlockfrostProtocolParametersResponse { min_pool_cost: number; nonce: string; cost_models: Record<BlockfrostLanguageVersions, { [key: string]: number }>; + cost_models_raw: Record<BlockfrostLanguageVersions, number[]>; price_mem: string; price_step: string; max_tx_ex_mem: number;