From 40f4f45c6e59c8a7fed1f985a48a3db416741490 Mon Sep 17 00:00:00 2001 From: dtfiedler Date: Fri, 1 Mar 2024 13:14:21 -0700 Subject: [PATCH] fix(viewState): fetch block data for sortKey on viewState evaluation --- package.json | 2 +- src/contract/HandlerBasedContract.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b66a4b..7f9f7d8 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "homepage": "https://github.com/warp-contracts/warp#readme", "dependencies": { "archiver": "^5.3.0", - "arweave": "1.13.7", + "arweave": "1.14.4", "async-mutex": "^0.4.0", "bignumber.js": "9.1.1", "events": "3.3.0", diff --git a/src/contract/HandlerBasedContract.ts b/src/contract/HandlerBasedContract.ts index ed2c294..5625fff 100644 --- a/src/contract/HandlerBasedContract.ts +++ b/src/contract/HandlerBasedContract.ts @@ -849,9 +849,12 @@ export class HandlerBasedContract implements Contract { // create execution context let executionContext = await this.createExecutionContext(this._contractTxId, sortKey, true, undefined, signal); + const blockHeight = sortKey ? await this._sorter.extractBlockHeight(sortKey) : undefined; const currentBlockData = this.warp.environment == 'mainnet' && !(this.warp.interactionsLoader.type() === 'arweave') ? await this._arweaveWrapper.warpGwBlock() + : blockHeight + ? await arweave.blocks.getByHeight(blockHeight) : await arweave.blocks.getCurrent(); // add caller info to execution context