From 312b026156aa6634463828e35346a409c62d4b77 Mon Sep 17 00:00:00 2001 From: VickyXAI <115643921+VickyXAI@users.noreply.github.com> Date: Sun, 11 Oct 2026 20:05:41 -0500 Subject: [PATCH] =?UTF-8?q?0.54.4=20=E2=80=94=20a=20Solana=20video=20settl?= =?UTF-8?q?e=20whose=20outcome=20is=20unknown=20is=20waited=20out,=20never?= =?UTF-8?q?=20"no=20charge"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 20 ++++++++++++++++++++ VERSION | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c30787d..3cd8c14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 0.54.4 + +### Fixed — a Solana video settle whose outcome is unknown is waited out, never "no charge" (#177) + +When a finished video's payment settle times out, sol.blockrun.ai answers 402 +`Payment settlement outcome unknown` with `Retry-After` and holds the job; +other polls get `settlement in progress on a concurrent poll`. The client +ignored `Retry-After`, spent its three re-signs about 15s into a 90s hold, and +reported "no charge was made" while that payment could still land. + +- Held answers honour `Retry-After` and re-sign with a fresh blockhash without + spending the re-sign budget; the call deadline still bounds them. +- Once a payment's outcome is open, every exit (deadline, a 500 poll answer, + an unreadable challenge, a refused fresh settle) books the quote and says + the job MAY have been charged, instead of booking nothing. +- A completion 402 whose challenge cannot be read falls back to + payment-signed polling instead of aborting the finished job. +- Music and image (paid at submit), the Base rail and the account rail are + unchanged. + ## 0.54.3 ### Changed — Solana media polls prove the wallet instead of paying (#176) diff --git a/VERSION b/VERSION index 772361a..34dc66c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.54.3 +0.54.4 diff --git a/package-lock.json b/package-lock.json index fcf4922..d267674 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@blockrun/mcp", - "version": "0.54.3", + "version": "0.54.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@blockrun/mcp", - "version": "0.54.3", + "version": "0.54.4", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.123.0", diff --git a/package.json b/package.json index 113f73b..dbcbc6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@blockrun/mcp", - "version": "0.54.3", + "version": "0.54.4", "mcpName": "io.github.BlockRunAI/blockrun-mcp", "description": "BlockRun MCP Server - Give your AI agent web search, deep research, prediction markets, and crypto data. Pay per call from a USDC wallet (Solana or Base) or a BlockRun API key.", "type": "module",