This pull request includes changes to the Nerdbank.Zcash.Cli and Nerdbank.Zcash namespaces, primarily focusing on the restructuring of command building in the CLI, introducing the IUnifiedPoolReceiver interface, and improving error handling. The most important changes include the addition of the TestNetOption and LightServerUriOption as static properties in WalletUserCommandBase, changes to command names and options in various BuildCommand() methods, and the introduction of the IUnifiedPoolReceiver interface.
src/Nerdbank.Zcash.Cli/NewAccountCommand.cs: Changed the command name from "NewAccount" to "new", removed testNetOption and lightServerUriOption, and replaced them with WalletUserCommandBase.TestNetOption and WalletUserCommandBase.LightServerUriOption in BuildCommand(). [1][2]
src/Nerdbank.Zcash/LightWalletException.cs: Updated Wrap() method to return different exceptions based on the type of LightWalletException, including a OperationCanceledException for cancellations.
src/Nerdbank.Zcash/Strings.es.resx and src/Nerdbank.Zcash/Strings.fr.resx: Removed "ErrorFromNativeSide" and added "InvalidUri" in the resource files. [1][2][3]
This pull request includes changes to the
Nerdbank.Zcash.Cli
andNerdbank.Zcash
namespaces, primarily focusing on the restructuring of command building in the CLI, introducing theIUnifiedPoolReceiver
interface, and improving error handling. The most important changes include the addition of theTestNetOption
andLightServerUriOption
as static properties inWalletUserCommandBase
, changes to command names and options in variousBuildCommand()
methods, and the introduction of theIUnifiedPoolReceiver
interface.Command building in the CLI:
src/Nerdbank.Zcash.Cli/AccountsCommand.cs
: AddedTestNetOption
to the command and its execution inBuildCommand()
. [1] [2]src/Nerdbank.Zcash.Cli/ImportAccountCommand.cs
: Changed the command name from "ImportAccount" to "import" inBuildCommand()
.src/Nerdbank.Zcash.Cli/NewAccountCommand.cs
: Changed the command name from "NewAccount" to "new", removedtestNetOption
andlightServerUriOption
, and replaced them withWalletUserCommandBase.TestNetOption
andWalletUserCommandBase.LightServerUriOption
inBuildCommand()
. [1] [2]src/Nerdbank.Zcash.Cli/RequestPaymentCommand.cs
: Changed the command name from "RequestPayment" to "invoice" inBuildCommand()
.Introduction of
IUnifiedPoolReceiver
interface:src/Nerdbank.Zcash/IPoolReceiver.cs
: RemovedUnifiedReceiverTypeCode
property fromIPoolReceiver
interface.src/Nerdbank.Zcash/IUnifiedPoolReceiver.cs
: Added newIUnifiedPoolReceiver
interface withUnifiedReceiverTypeCode
property.src/Nerdbank.Zcash/OrchardReceiver.cs
: ChangedOrchardReceiver
to implementIUnifiedPoolReceiver
instead ofIPoolReceiver
. [1] [2]src/Nerdbank.Zcash/SaplingReceiver.cs
: ChangedSaplingReceiver
to implementIUnifiedPoolReceiver
instead ofIPoolReceiver
. [1] [2]src/Nerdbank.Zcash/SproutReceiver.cs
: Removed unsupportedUnifiedReceiverTypeCode
property fromSproutReceiver
.Error handling improvements:
src/Nerdbank.Zcash/LightWalletClient.cs
: Simplified error handling inInvokeInterop()
andReadAccountsFromDatabase()
by usingLightWalletException.Wrap()
. [1] [2] [3]src/Nerdbank.Zcash/LightWalletException.cs
: UpdatedWrap()
method to return different exceptions based on the type ofLightWalletException
, including aOperationCanceledException
for cancellations.Other changes:
src/Nerdbank.Zcash.Cli/WalletUserCommandBase.cs
: AddedTestNetOption
andLightServerUriOption
as static properties, replacing the previous instance properties. [1] [2]src/Nerdbank.Zcash.Cli/SendCommand.cs
: Changedtxid
totxids
and added a loop to print all transmitted transaction IDs inExecuteAsync()
. [1] [2]src/Nerdbank.Zcash/PublicAPI.Unshipped.txt
: Updated public API changes to reflect the changes in the interfaces and classes. (F0e58c35L120R120, src/Nerdbank.Zcash/PublicAPI.Unshipped.txtL887)src/Nerdbank.Zcash/Strings.es.resx
andsrc/Nerdbank.Zcash/Strings.fr.resx
: Removed "ErrorFromNativeSide" and added "InvalidUri" in the resource files. [1] [2] [3]