From fd53e8e5f353e5831a471807622080d8ae9a0ced Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jose=CC=81=20A=2EP?=
<53834183+Jossec101@users.noreply.github.com>
Date: Wed, 19 Aug 2026 09:54:19 +0200
Subject: [PATCH] Bump NBitcoin to 10.0.9 and AWS SDK to v4
- NBitcoin 7.0.25 -> 10.0.9 (parity with NodeGuard's move to 10.x)
- AWSSDK.Core 3.7.106.34 -> 4.0.101.1, AWSSDK.KeyManagementService 3.7.102.4 -> 4.0.100.9
- Amazon.Lambda.Core 2.1.0 -> 3.3.0, APIGatewayEvents 2.6.0 -> 3.0.1,
Serialization.SystemTextJson 2.3.1 -> 3.0.1, TestUtilities 2.0.0 -> 4.2.0
- AWS SDK v4 removed StoredProfileAWSCredentials: the DEBUG-only KMS client
now resolves the 'default' profile via CredentialProfileStoreChain
All tests pass in both Debug and Release (SignTest PSBT vectors included).
---
RemoteSigner.Tests/RemoteSigner.Tests.csproj | 4 ++--
RemoteSigner/Function.cs | 8 +++++---
RemoteSigner/RemoteSigner.csproj | 12 ++++++------
3 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/RemoteSigner.Tests/RemoteSigner.Tests.csproj b/RemoteSigner.Tests/RemoteSigner.Tests.csproj
index f92e3c7..35add7d 100644
--- a/RemoteSigner.Tests/RemoteSigner.Tests.csproj
+++ b/RemoteSigner.Tests/RemoteSigner.Tests.csproj
@@ -6,8 +6,8 @@
RemoteSigner.Tests
-
-
+
+
diff --git a/RemoteSigner/Function.cs b/RemoteSigner/Function.cs
index 9b4df92..4a0948e 100644
--- a/RemoteSigner/Function.cs
+++ b/RemoteSigner/Function.cs
@@ -7,7 +7,7 @@
using Amazon.Lambda.APIGatewayEvents;
using Amazon.Lambda.Core;
using Amazon.Lambda.Serialization.SystemTextJson;
-using Amazon.Runtime;
+using Amazon.Runtime.CredentialManagement;
using NBitcoin;
[assembly:
@@ -56,8 +56,10 @@ public async Task FunctionHandler(APIGatewayHt
if (requestBody == null) throw new ArgumentNullException(nameof(requestBody), "Request body not found");
#if DEBUG
- var kmsClient = new AmazonKeyManagementServiceClient(new StoredProfileAWSCredentials("default"),
- RegionEndpoint.EUCentral1);
+ //AWS SDK v4 removed StoredProfileAWSCredentials; resolve the "default" profile explicitly
+ if (!new CredentialProfileStoreChain().TryGetAWSCredentials("default", out var debugCredentials))
+ throw new InvalidOperationException("AWS profile 'default' was not found");
+ var kmsClient = new AmazonKeyManagementServiceClient(debugCredentials, RegionEndpoint.EUCentral1);
#else
var kmsClient = new AmazonKeyManagementServiceClient();
#endif
diff --git a/RemoteSigner/RemoteSigner.csproj b/RemoteSigner/RemoteSigner.csproj
index 2c10db0..e443ca2 100644
--- a/RemoteSigner/RemoteSigner.csproj
+++ b/RemoteSigner/RemoteSigner.csproj
@@ -13,11 +13,11 @@
RemoteSigner
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file