Skip to content

Commit bd559e5

Browse files
Merge pull request #88 from btcpay-monero/change-password
Add ChangePasswordRequest class and update ChangePassword
2 parents 263bd2c + 9d7f352 commit bd559e5

3 files changed

Lines changed: 33 additions & 4 deletions

File tree

Monero.IntegrationTests/MoneroWalletRpcIntegrationTest.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,24 @@ public async Task TestSaveAndClose()
786786
await CloseWallet(moneroWallet);
787787
}
788788

789+
//Can change password
790+
[Test]
791+
public async Task TestChangePassword()
792+
{
793+
const string oldPassword = "oldPassword";
794+
const string newPassword = "newPassword";
795+
796+
IMoneroWallet moneroWallet = await CreateWallet(new MoneroWalletConfig().SetPassword(oldPassword));
797+
string path = await moneroWallet.GetPath();
798+
799+
await moneroWallet.ChangePassword(oldPassword, newPassword);
800+
await CloseWallet(moneroWallet, true);
801+
802+
moneroWallet = await OpenWallet(new MoneroWalletConfig().SetPath(path).SetPassword(newPassword));
803+
Assert.That(await moneroWallet.GetPath(), Is.EqualTo(path));
804+
await CloseWallet(moneroWallet);
805+
}
806+
789807
// Can validate address
790808
[Test]
791809
public async Task TestValidateAddress()

Monero/Wallet/MoneroWalletRpc.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,10 +1378,12 @@ public async Task<List<string>> SubmitMultisigTxHex(string signedMultisigTxHex)
13781378

13791379
public async Task ChangePassword(string oldPassword, string newPassword)
13801380
{
1381-
MoneroJsonRpcParams parameters = [];
1382-
parameters.Add("old_password", oldPassword);
1383-
parameters.Add("new_password", newPassword);
1384-
await _rpc.SendCommandAsync<MoneroJsonRpcParams, MoneroRpcResponse>("change_wallet_password", parameters);
1381+
ChangePasswordRequest parameters = new()
1382+
{
1383+
OldPassword = oldPassword,
1384+
NewPassword = newPassword
1385+
};
1386+
await _rpc.SendCommandAsync<ChangePasswordRequest, MoneroRpcResponse>("change_wallet_password", parameters);
13851387
}
13861388

13871389
public async Task Save()
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace Monero.Wallet.Rpc;
4+
5+
public class ChangePasswordRequest
6+
{
7+
[JsonPropertyName("old_password")] public required string OldPassword { get; set; }
8+
[JsonPropertyName("new_password")] public required string NewPassword { get; set; }
9+
}

0 commit comments

Comments
 (0)