From 3c421599a82f1833b097db01ee91d69a3d772122 Mon Sep 17 00:00:00 2001 From: Bernd Date: Thu, 12 Mar 2026 09:04:40 +0100 Subject: [PATCH 1/2] fix: disable ICP query signature verification to resolve TrustError The @dfinity/agent v3.4.3 fails on Azure with "Query response did not contain any node signatures" because fetchSubnetKeys returns empty responses from IC boundary nodes. This blocks all ICP operations (balances, tx confirmations, payment links). Setting verifyQuerySignatures: false skips the subnet key verification for query calls while update calls (transfers) remain unaffected as they use consensus verification. --- src/integration/blockchain/icp/icp-wallet.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/integration/blockchain/icp/icp-wallet.ts b/src/integration/blockchain/icp/icp-wallet.ts index 81e3e12651..71380766e7 100644 --- a/src/integration/blockchain/icp/icp-wallet.ts +++ b/src/integration/blockchain/icp/icp-wallet.ts @@ -41,6 +41,6 @@ export class InternetComputerWallet { } getAgent(host: string): HttpAgent { - return HttpAgent.createSync({ identity: this.identity, host }); + return HttpAgent.createSync({ identity: this.identity, host, verifyQuerySignatures: false }); } } From 8f3e2382de28985d0f7685cc3fb71d710fabb122 Mon Sep 17 00:00:00 2001 From: Bernd Date: Thu, 12 Mar 2026 09:56:01 +0100 Subject: [PATCH 2/2] fix: harden ICP HttpAgent against query verification and expiry failures The @dfinity/agent v3.4.3 on Azure fails with "TrustError: Query response did not contain any node signatures". The fetchSubnetKeys() read_state call is rejected with "Invalid request expiry", preventing all ICP query operations (balances, tx confirmations, payment links). - verifyQuerySignatures: false skips the failing fetchSubnetKeys() call entirely. Only affects query (read) calls; update calls (transfers) remain consensus-verified. - shouldSyncTime: true lets the agent sync its internal clock with the IC network to prevent ingress expiry rejections. --- src/integration/blockchain/icp/icp-wallet.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/integration/blockchain/icp/icp-wallet.ts b/src/integration/blockchain/icp/icp-wallet.ts index 71380766e7..1875612411 100644 --- a/src/integration/blockchain/icp/icp-wallet.ts +++ b/src/integration/blockchain/icp/icp-wallet.ts @@ -41,6 +41,11 @@ export class InternetComputerWallet { } getAgent(host: string): HttpAgent { - return HttpAgent.createSync({ identity: this.identity, host, verifyQuerySignatures: false }); + return HttpAgent.createSync({ + identity: this.identity, + host, + verifyQuerySignatures: false, + shouldSyncTime: true, + }); } }