The relevant licenses are:
* bdb: BDB (variant of Gnu Affero GPL)
* libevent: BSD-3-clause
* libsodium: ISC
* tl_expected: CC0-1.0
* zeromq: LGPL-3+ with ZeroMQ exception
In the case of zeromq, this is an explicit condition of the license --
specifically its static linking exception, which we rely on:
"If you modify this library, you must extend this exception to your
version of the library."
In all cases, patches are necessarily derived (even if only trivially)
from the code they are patching. We technically could relicense to MIT
in some cases, but using the original license for patches we've written
is a courtesy that makes it easier for upstream to adopt the patch, even
if we don't specifically file a PR.
native_cctools is also patched, but Debian copyright policy does not
require `contrib/debian/copyright` to mention this dependency, because
it is only part of the build process and its contents do not get compiled
into the resulting build:
https://www.debian.org/doc/debian-policy/ch-archive.html#s-pkgcopyright
In all cases I checked that we have the right to distribute the patch
under the relevant license (i.e. it doesn't depend on any incompatible
third-party contributions). Reviewers should satisfy themselves of this.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
for operator->, operator*, and error(). Make these into assertion failures
(this still conforms to the proposal).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Leverages the VA_OPT macro library, which is a polyfill for __VA_OPT__
on non-C++20 platforms, to enable TracingSpan to support optional fields.
Source: https://github.com/willwray/VA_OPT
License: Boost Software License, Version 1.0
Add support for logging fields in spans and events
Field values must be pointers to C strings, which in practice means that they
cannot be formatted inline (as the pointer must remain valid across the FFI).
This might be improved by future iterations of the macros.
`LogPrint()` is also moved to the DEBUG level, leaving `LogPrintf()` at INFO.
The X11 license specifically mentions the X Consortium as the party that the no-advertising clause applies to.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
z_viewtransaction
This RPC method returns all decryptable information for any transaction in the wallet.
Several values are conditionally included in the output for convenience:
- `recovered`: True if an output is not for a Sapling address in the wallet.
- `memoStr`: The text form of an output's memo, if it is valid UTF-8.
- Values are provided both in decimal currency units, and integer zatoshis.