Merge pull request #5945 from zcash/version-5.0.0
Merge 5.0.0 release branch back to master.
This commit is contained in:
commit
8764f636e5
|
@ -4,30 +4,5 @@ linker = "aarch64-linux-gnu-gcc"
|
|||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/zcash/halo2.git"]
|
||||
git = "https://github.com/zcash/halo2.git"
|
||||
rev = "0c33fa4e6e41464884765c8fb4cefebafd300ca2"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/zcash/incrementalmerkletree.git"]
|
||||
git = "https://github.com/zcash/incrementalmerkletree.git"
|
||||
rev = "f23e3d89507849a24543121839eea6f40b141aff"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/zcash/librustzcash.git"]
|
||||
git = "https://github.com/zcash/librustzcash.git"
|
||||
rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/zcash/orchard.git"]
|
||||
git = "https://github.com/zcash/orchard.git"
|
||||
rev = "a30caec124aa6c6e7818b5100293204425c49de3"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/nuttycom/hdwallet.git"]
|
||||
git = "https://github.com/nuttycom/hdwallet.git"
|
||||
rev = "9b4c1bdbe0517e3a7a8f285d6048a37d472ba3bc"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
# The directory for this source is set to RUST_VENDORED_SOURCES by src/Makefile.am
|
||||
|
|
|
@ -135,12 +135,12 @@ checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b"
|
|||
|
||||
[[package]]
|
||||
name = "bellman"
|
||||
version = "0.11.1"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0944d18a9a37691b87733b39c9360c9950af9aa5f97e2455bc108d8eb64fc1c1"
|
||||
checksum = "0d96d7f4f3dc9a699bdef1d19648f6f20ef966b51892d224582a4475be669cb5"
|
||||
dependencies = [
|
||||
"bitvec 0.22.3",
|
||||
"blake2s_simd 0.5.11",
|
||||
"bitvec",
|
||||
"blake2s_simd",
|
||||
"byteorder",
|
||||
"crossbeam-channel",
|
||||
"ff",
|
||||
|
@ -174,28 +174,27 @@ version = "1.3.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitvec"
|
||||
version = "0.22.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5237f00a8c86130a0cc317830e558b966dd7850d48a953d998c813f01a41b527"
|
||||
dependencies = [
|
||||
"funty 1.2.0",
|
||||
"radium 0.6.2",
|
||||
"tap",
|
||||
"wyz 0.4.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitvec"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b"
|
||||
dependencies = [
|
||||
"funty 2.0.0",
|
||||
"radium 0.7.0",
|
||||
"funty",
|
||||
"radium",
|
||||
"tap",
|
||||
"wyz 0.5.0",
|
||||
"wyz",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "blake2b_simd"
|
||||
version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"arrayvec 0.5.2",
|
||||
"constant_time_eq",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -209,17 +208,6 @@ dependencies = [
|
|||
"constant_time_eq",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "blake2s_simd"
|
||||
version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"arrayvec 0.5.2",
|
||||
"constant_time_eq",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "blake2s_simd"
|
||||
version = "1.0.0"
|
||||
|
@ -267,9 +255,9 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
|
|||
|
||||
[[package]]
|
||||
name = "bls12_381"
|
||||
version = "0.6.0"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d28daeeded7949f1c7c72693377c98473b00be0aa0023760a84a300e4e7c74b"
|
||||
checksum = "62250ece575fa9b22068b3a8d59586f01d426dd7785522efd97632959e71c986"
|
||||
dependencies = [
|
||||
"ff",
|
||||
"group",
|
||||
|
@ -564,27 +552,29 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
|
|||
[[package]]
|
||||
name = "equihash"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4127688f6177e3f57521881cb1cfd90d1228214f9dc43b8efe6f6c6948cd8280"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 0.5.11",
|
||||
"byteorder",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "f4jumble"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a83e8d7fd0c526af4aad893b7c9fe41e2699ed8a776a6c74aecdeafe05afc75"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ff"
|
||||
version = "0.11.0"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e"
|
||||
checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e"
|
||||
dependencies = [
|
||||
"bitvec 0.22.3",
|
||||
"bitvec",
|
||||
"rand_core 0.6.3",
|
||||
"subtle",
|
||||
]
|
||||
|
@ -621,12 +611,6 @@ dependencies = [
|
|||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "funty"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1847abb9cb65d566acd5942e94aea9c8f547ad02c98e1649326fc0e8910b8b1e"
|
||||
|
||||
[[package]]
|
||||
name = "funty"
|
||||
version = "2.0.0"
|
||||
|
@ -706,9 +690,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
|
|||
|
||||
[[package]]
|
||||
name = "group"
|
||||
version = "0.11.0"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89"
|
||||
checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"ff",
|
||||
|
@ -738,11 +722,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "halo2_gadgets"
|
||||
version = "0.1.0-beta.3"
|
||||
source = "git+https://github.com/zcash/halo2.git?rev=0c33fa4e6e41464884765c8fb4cefebafd300ca2#0c33fa4e6e41464884765c8fb4cefebafd300ca2"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13f3914f58cc4af5e4fe83d48b02d582be18976bc7e96c3151aa2bf1c98e9f60"
|
||||
dependencies = [
|
||||
"arrayvec 0.7.2",
|
||||
"bitvec 0.22.3",
|
||||
"bitvec",
|
||||
"ff",
|
||||
"group",
|
||||
"halo2_proofs",
|
||||
|
@ -755,10 +740,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "halo2_proofs"
|
||||
version = "0.1.0-beta.4"
|
||||
source = "git+https://github.com/zcash/halo2.git?rev=0c33fa4e6e41464884765c8fb4cefebafd300ca2#0c33fa4e6e41464884765c8fb4cefebafd300ca2"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
"ff",
|
||||
"group",
|
||||
"pasta_curves",
|
||||
|
@ -777,8 +763,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "hdwallet"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/nuttycom/hdwallet.git?rev=9b4c1bdbe0517e3a7a8f285d6048a37d472ba3bc#9b4c1bdbe0517e3a7a8f285d6048a37d472ba3bc"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9cd89bf343be18dbe1e505100e48168bbd084760e842a8fed0317d2361470193"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"rand_core 0.6.3",
|
||||
|
@ -890,8 +877,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "incrementalmerkletree"
|
||||
version = "0.3.0-beta.2"
|
||||
source = "git+https://github.com/zcash/incrementalmerkletree.git?rev=f23e3d89507849a24543121839eea6f40b141aff#f23e3d89507849a24543121839eea6f40b141aff"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "068c5bdd31006d55536655cf1eb0d22d84d28de7c725b419480fd5d005c83216"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
@ -938,11 +926,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "jubjub"
|
||||
version = "0.8.0"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2e7baec19d4e83f9145d4891178101a604565edff9645770fc979804138b04c"
|
||||
checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f"
|
||||
dependencies = [
|
||||
"bitvec 0.22.3",
|
||||
"bitvec",
|
||||
"bls12_381",
|
||||
"ff",
|
||||
"group",
|
||||
|
@ -975,8 +963,8 @@ dependencies = [
|
|||
"anyhow",
|
||||
"backtrace",
|
||||
"bellman",
|
||||
"blake2b_simd",
|
||||
"blake2s_simd 1.0.0",
|
||||
"blake2b_simd 1.0.0",
|
||||
"blake2s_simd",
|
||||
"bls12_381",
|
||||
"byteorder",
|
||||
"clearscreen",
|
||||
|
@ -1287,12 +1275,13 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
|||
|
||||
[[package]]
|
||||
name = "orchard"
|
||||
version = "0.1.0-beta.3"
|
||||
source = "git+https://github.com/zcash/orchard.git?rev=a30caec124aa6c6e7818b5100293204425c49de3#a30caec124aa6c6e7818b5100293204425c49de3"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f918076e191a68d55c5517a16e075ecfe58fc63ed112408263f3d6194597bfcf"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"bitvec 0.22.3",
|
||||
"blake2b_simd",
|
||||
"bitvec",
|
||||
"blake2b_simd 1.0.0",
|
||||
"ff",
|
||||
"fpe",
|
||||
"group",
|
||||
|
@ -1322,9 +1311,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pairing"
|
||||
version = "0.21.0"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2e415e349a3006dd7d9482cdab1c980a845bed1377777d768cb693a44540b42"
|
||||
checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b"
|
||||
dependencies = [
|
||||
"group",
|
||||
]
|
||||
|
@ -1336,7 +1325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066"
|
||||
dependencies = [
|
||||
"arrayvec 0.7.2",
|
||||
"bitvec 1.0.0",
|
||||
"bitvec",
|
||||
"byte-slice-cast",
|
||||
"impl-trait-for-tuples",
|
||||
"parity-scale-codec-derive",
|
||||
|
@ -1393,11 +1382,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pasta_curves"
|
||||
version = "0.3.0"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "82b6fc4f73033f6aa52fdde0c38f1f570e7f2c244f22e441f62a144556891b8c"
|
||||
checksum = "369d7785168ad7ff0cbe467d968ca3e19a927d8536b11ef9c21b4e454b15ba42"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
"ff",
|
||||
"group",
|
||||
"lazy_static",
|
||||
|
@ -1538,12 +1527,6 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "radium"
|
||||
version = "0.6.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
|
||||
|
||||
[[package]]
|
||||
name = "radium"
|
||||
version = "0.7.0"
|
||||
|
@ -1677,11 +1660,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "reddsa"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a2efaed2ccc184ca4f82ed083ec0afe700c6254acae3d7732fc50ef79d5cbe9"
|
||||
checksum = "4cc8038c8b7e481bdf688d0585d4897ed0e9e0cee10aa365dde51238c20e4182"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
"byteorder",
|
||||
"group",
|
||||
"jubjub",
|
||||
|
@ -2292,15 +2275,6 @@ version = "0.4.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "wyz"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "129e027ad65ce1453680623c3fb5163cbf7107bfe1aa32257e7d0e63f9ced188"
|
||||
dependencies = [
|
||||
"tap",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wyz"
|
||||
version = "0.5.0"
|
||||
|
@ -2312,8 +2286,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zcash_address"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d1322a31b757f0087f110cc4a85dc5c6ccf83d0533bac04c4d3d1ce9112cc602"
|
||||
dependencies = [
|
||||
"bech32",
|
||||
"bs58",
|
||||
|
@ -2323,8 +2298,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zcash_encoding"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fb61ea88eb539bc0ac2068e5da99411dd4978595b3d7ff6a4b1562ddc8e8710"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"nonempty",
|
||||
|
@ -2332,10 +2308,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zcash_history"
|
||||
version = "0.2.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eb611a28a4e13ac715ee712f4344d6b279b767daf6345dafefb2c4bf582b6679"
|
||||
dependencies = [
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
"byteorder",
|
||||
"primitive-types",
|
||||
]
|
||||
|
@ -2343,7 +2320,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "zcash_note_encryption"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33f84ae538f05a8ac74c82527f06b77045ed9553a0871d9db036166a4c344e3a"
|
||||
dependencies = [
|
||||
"chacha20",
|
||||
"chacha20poly1305",
|
||||
|
@ -2353,14 +2331,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zcash_primitives"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcb1ef5719fb24b42450dcd6b10e6155793be5668f0d962ad8132b6e4d108635"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"bip0039",
|
||||
"bitvec 0.22.3",
|
||||
"blake2b_simd",
|
||||
"blake2s_simd 1.0.0",
|
||||
"bitvec",
|
||||
"blake2b_simd 1.0.0",
|
||||
"blake2s_simd",
|
||||
"bls12_381",
|
||||
"bs58",
|
||||
"byteorder",
|
||||
|
@ -2389,11 +2368,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zcash_proofs"
|
||||
version = "0.5.0"
|
||||
source = "git+https://github.com/zcash/librustzcash.git?rev=68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b#68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e67054525b4897a97386ce562240f08ac9bcad07183130fe8d797224d712112d"
|
||||
dependencies = [
|
||||
"bellman",
|
||||
"blake2b_simd",
|
||||
"blake2b_simd 1.0.0",
|
||||
"bls12_381",
|
||||
"byteorder",
|
||||
"directories",
|
||||
|
|
35
Cargo.toml
35
Cargo.toml
|
@ -30,30 +30,30 @@ name = "zcashd-wallet-tool"
|
|||
path = "src/rust/bin/wallet_tool.rs"
|
||||
|
||||
[dependencies]
|
||||
bellman = "0.11"
|
||||
bellman = "0.13"
|
||||
blake2b_simd = "1"
|
||||
blake2s_simd = "1"
|
||||
bls12_381 = "0.6"
|
||||
bls12_381 = "0.7"
|
||||
byteorder = "1"
|
||||
group = "0.11"
|
||||
incrementalmerkletree = "=0.3.0-beta.2"
|
||||
group = "0.12"
|
||||
incrementalmerkletree = "0.3"
|
||||
libc = "0.2"
|
||||
jubjub = "0.8"
|
||||
jubjub = "0.9"
|
||||
memuse = "0.2"
|
||||
nonempty = "0.7"
|
||||
orchard = "=0.1.0-beta.3"
|
||||
orchard = "0.1"
|
||||
secp256k1 = "0.21"
|
||||
subtle = "2.2"
|
||||
rand_core = "0.6"
|
||||
tracing = "0.1"
|
||||
tracing-core = "0.1"
|
||||
tracing-appender = "0.2"
|
||||
zcash_address = "0.0"
|
||||
zcash_encoding = "0.0"
|
||||
zcash_history = "0.2"
|
||||
zcash_address = "0.1"
|
||||
zcash_encoding = "0.1"
|
||||
zcash_history = "0.3"
|
||||
zcash_note_encryption = "0.1"
|
||||
zcash_primitives = { version = "0.5", features = ["transparent-inputs"] }
|
||||
zcash_proofs = "0.5"
|
||||
zcash_primitives = { version = "0.6", features = ["transparent-inputs"] }
|
||||
zcash_proofs = "0.6"
|
||||
ed25519-zebra = "3"
|
||||
zeroize = "1.4.2"
|
||||
|
||||
|
@ -82,16 +82,3 @@ features = ["ansi", "env-filter", "fmt", "time"]
|
|||
lto = true
|
||||
panic = 'abort'
|
||||
codegen-units = 1
|
||||
|
||||
[patch.crates-io]
|
||||
halo2_gadgets = { git = "https://github.com/zcash/halo2.git", rev = "0c33fa4e6e41464884765c8fb4cefebafd300ca2" }
|
||||
halo2_proofs = { git = "https://github.com/zcash/halo2.git", rev = "0c33fa4e6e41464884765c8fb4cefebafd300ca2" }
|
||||
hdwallet = { git = "https://github.com/nuttycom/hdwallet.git", rev = "9b4c1bdbe0517e3a7a8f285d6048a37d472ba3bc" }
|
||||
incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree.git", rev = "f23e3d89507849a24543121839eea6f40b141aff" }
|
||||
orchard = { git = "https://github.com/zcash/orchard.git", rev = "a30caec124aa6c6e7818b5100293204425c49de3" }
|
||||
zcash_address = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
zcash_encoding = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
zcash_proofs = { git = "https://github.com/zcash/librustzcash.git", rev = "68cbc2bb17b8967c7fb2f6034ac3d6174fc8f19b" }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Zcash 4.7.0
|
||||
Zcash 5.0.0
|
||||
<img align="right" width="120" height="80" src="doc/imgs/logo.png">
|
||||
===========
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
|
||||
AC_PREREQ([2.60])
|
||||
define(_CLIENT_VERSION_MAJOR, 4)
|
||||
define(_CLIENT_VERSION_MINOR, 7)
|
||||
define(_CLIENT_VERSION_MAJOR, 5)
|
||||
define(_CLIENT_VERSION_MINOR, 0)
|
||||
define(_CLIENT_VERSION_REVISION, 0)
|
||||
define(_CLIENT_VERSION_BUILD, 50)
|
||||
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
zcash (5.0.0) stable; urgency=medium
|
||||
|
||||
* 5.0.0 release.
|
||||
|
||||
-- Electric Coin Company <team@electriccoin.co> Tue, 10 May 2022 19:52:28 -0600
|
||||
|
||||
zcash (5.0.0~rc1) stable; urgency=medium
|
||||
|
||||
* 5.0.0-rc1 release.
|
||||
|
||||
-- Electric Coin Company <team@electriccoin.co> Mon, 09 May 2022 15:35:33 +0000
|
||||
|
||||
zcash (4.7.0) stable; urgency=medium
|
||||
|
||||
* 4.7.0 release.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
name: "zcash-4.7.0"
|
||||
name: "zcash-5.0.0"
|
||||
enable_cache: true
|
||||
distro: "debian"
|
||||
suites:
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
Zcash Contributors
|
||||
==================
|
||||
|
||||
Jack Grigg (1137)
|
||||
Kris Nuttycombe (484)
|
||||
Jack Grigg (1142)
|
||||
Kris Nuttycombe (524)
|
||||
Simon Liu (460)
|
||||
Sean Bowe (379)
|
||||
Daira Hopwood (316)
|
||||
Daira Hopwood (325)
|
||||
Eirik Ogilvie-Wigley (216)
|
||||
Wladimir J. van der Laan (150)
|
||||
Alfredo Garcia (119)
|
||||
Taylor Hornby (117)
|
||||
Taylor Hornby (118)
|
||||
Marshall Gaucher (112)
|
||||
Pieter Wuille (106)
|
||||
Jonas Schnelli (90)
|
||||
Jay Graber (89)
|
||||
Larry Ruane (88)
|
||||
Ying Tong Lai (87)
|
||||
Larry Ruane (86)
|
||||
Marco Falke (82)
|
||||
Cory Fields (75)
|
||||
Nathan Wilcox (56)
|
||||
Matt Corallo (52)
|
||||
sasha (51)
|
||||
practicalswift (38)
|
||||
Kevin Gallagher (38)
|
||||
Dimitris Apostolou (37)
|
||||
Dimitris Apostolou (38)
|
||||
fanquake (36)
|
||||
Carl Dong (26)
|
||||
sasha (23)
|
||||
Gregory Maxwell (23)
|
||||
Jorge Timón (22)
|
||||
John Newbery (22)
|
||||
|
@ -34,10 +34,11 @@ Jonathan "Duke" Leto (18)
|
|||
syd (16)
|
||||
Patick Strateman (16)
|
||||
furszy (15)
|
||||
Charlie O'Keefe (15)
|
||||
avnish (14)
|
||||
Per Grön (14)
|
||||
Charlie O'Keefe (14)
|
||||
Benjamin Winston (13)
|
||||
Steven Smith (12)
|
||||
Pavel Janík (12)
|
||||
Patrick Strateman (12)
|
||||
Ariel Gabizon (12)
|
||||
|
@ -45,14 +46,13 @@ Suhas Daftuar (11)
|
|||
Paige Peterson (11)
|
||||
Kaz Wesley (11)
|
||||
Alex Morcos (11)
|
||||
Steven Smith (10)
|
||||
Philip Kaufmann (10)
|
||||
Peter Todd (10)
|
||||
Marius Kjærstad (10)
|
||||
João Barbosa (10)
|
||||
ying tong (9)
|
||||
teor (9)
|
||||
nomnombtc (9)
|
||||
teor (8)
|
||||
kozyilmaz (8)
|
||||
Zancas Wilcox (8)
|
||||
Jeremy Rubin (8)
|
||||
|
@ -73,13 +73,13 @@ Johnathan Corgan (5)
|
|||
George Tankersley (5)
|
||||
Gavin Andresen (5)
|
||||
Gareth Davies (5)
|
||||
Alex Wied (5)
|
||||
sandakersmann (4)
|
||||
gladcow (4)
|
||||
WO (4)
|
||||
Sjors Provoost (4)
|
||||
Russell Yanofsky (4)
|
||||
Nate Wilcox (4)
|
||||
Alex Wied (4)
|
||||
mruddy (3)
|
||||
lpescher (3)
|
||||
isle2983 (3)
|
||||
|
@ -119,6 +119,7 @@ Pavel Vasin (2)
|
|||
Mustafa (2)
|
||||
Matthew King (2)
|
||||
Mary Moore-Simmons (2)
|
||||
Marek (2)
|
||||
Joe Turgeon (2)
|
||||
Jeffrey Czyz (2)
|
||||
Jack Gavigan (2)
|
||||
|
@ -153,6 +154,7 @@ glowang (1)
|
|||
ewillbefull@gmail.com (1)
|
||||
emilrus (1)
|
||||
dexX7 (1)
|
||||
dependabot[bot] (1)
|
||||
daniel (1)
|
||||
codetriage-readme-bot (1)
|
||||
calebogden (1)
|
||||
|
|
|
@ -45,7 +45,11 @@ default as of release 5.3.0.
|
|||
conform to the `FullPrivacy` directive in all cases instead of just for
|
||||
transactions involving unified addresses.
|
||||
- `getnewaddress` - The `getnewaddress` RPC method is deprecated.
|
||||
- `getrawchangeaddress` - The `getrawchangeaddress` RPC method is deprecated.
|
||||
- `z_getbalance` - The `z_getbalance` RPC method is deprecated.
|
||||
- `z_gettotalbalance` - The `z_gettotalbalance` RPC method is deprecated.
|
||||
- `z_getnewaddress` - The `z_getnewaddress` RPC method is deprecated.
|
||||
- `z_listaddresses` - The `z_listaddresses` RPC method is deprecated.
|
||||
- `addrtype` - The `type` attribute is deprecated in the results of RPC
|
||||
methods that return address metadata. It is recommended that applications
|
||||
using this metadata be updated to use the `pool` or `address_type`
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
|
||||
.TH ZCASH-CLI "1" "April 2022" "zcash-cli v4.7.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
|
||||
.TH ZCASH-CLI "1" "May 2022" "zcash-cli v5.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcash-cli \- manual page for zcash-cli v4.7.0
|
||||
zcash-cli \- manual page for zcash-cli v5.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash RPC client version v4.7.0
|
||||
Zcash RPC client version v5.0.0
|
||||
.PP
|
||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||
please see <https://z.cash/support/security/>.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
|
||||
.TH ZCASH-TX "1" "April 2022" "zcash-tx v4.7.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
|
||||
.TH ZCASH-TX "1" "May 2022" "zcash-tx v5.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcash-tx \- manual page for zcash-tx v4.7.0
|
||||
zcash-tx \- manual page for zcash-tx v5.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash zcash\-tx utility version v4.7.0
|
||||
Zcash zcash\-tx utility version v5.0.0
|
||||
.SS "Usage:"
|
||||
.TP
|
||||
zcash\-tx [options] <hex\-tx> [commands]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
|
||||
.TH ZCASHD-WALLET-TOOL "1" "April 2022" "zcashd-wallet-tool v4.7.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
|
||||
.TH ZCASHD-WALLET-TOOL "1" "May 2022" "zcashd-wallet-tool v5.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcashd-wallet-tool \- manual page for zcashd-wallet-tool v4.7.0
|
||||
zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.0.0
|
||||
.SH SYNOPSIS
|
||||
.B zcashd-wallet-tool
|
||||
[\fI\,OPTIONS\/\fR]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
|
||||
.TH ZCASHD "1" "April 2022" "zcashd v4.7.0" "User Commands"
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
|
||||
.TH ZCASHD "1" "May 2022" "zcashd v5.0.0" "User Commands"
|
||||
.SH NAME
|
||||
zcashd \- manual page for zcashd v4.7.0
|
||||
zcashd \- manual page for zcashd v5.0.0
|
||||
.SH DESCRIPTION
|
||||
Zcash Daemon version v4.7.0
|
||||
Zcash Daemon version v5.0.0
|
||||
.PP
|
||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||
please see <https://z.cash/support/security/>.
|
||||
|
@ -26,6 +26,15 @@ Receive and display P2P network alerts (default: 1)
|
|||
Execute command when a relevant alert is received or we see a really
|
||||
long fork (%s in cmd is replaced by message)
|
||||
.HP
|
||||
\fB\-allowdeprecated=\fR<feature>
|
||||
.IP
|
||||
Explicitly allow the use of the specified deprecated feature. Multiple
|
||||
instances of this parameter are permitted; values for <feature> must be
|
||||
selected from among {"none", "addrtype", "getnewaddress",
|
||||
"getrawchangeaddress", "legacy_privacy", "z_getbalance",
|
||||
"z_getnewaddress", "z_gettotalbalance", "z_listaddresses",
|
||||
"zcrawjoinsplit", "zcrawkeygen", "zcrawreceive"}
|
||||
.HP
|
||||
\fB\-blocknotify=\fR<cmd>
|
||||
.IP
|
||||
Execute command when the best block changes (%s in cmd is replaced by
|
||||
|
@ -101,11 +110,14 @@ for block files)
|
|||
.HP
|
||||
\fB\-reindex\-chainstate\fR
|
||||
.IP
|
||||
Rebuild chain state from the currently indexed blocks
|
||||
Rebuild chain state from the currently indexed blocks (implies \fB\-rescan\fR
|
||||
unless pruning or unless \fB\-rescan\fR=\fI\,0\/\fR is explicitly specified)
|
||||
.HP
|
||||
\fB\-reindex\fR
|
||||
.IP
|
||||
Rebuild chain state and block index from the blk*.dat files on disk
|
||||
(implies \fB\-rescan\fR unless pruning or unless \fB\-rescan\fR=\fI\,0\/\fR is explicitly
|
||||
specified)
|
||||
.HP
|
||||
\fB\-sysperms\fR
|
||||
.IP
|
||||
|
@ -298,6 +310,11 @@ Set the Sapling migration address
|
|||
Fees (in ZEC/kB) smaller than this are considered zero fee for
|
||||
transaction creation (default: 0.00001)
|
||||
.HP
|
||||
\fB\-orchardactionlimit=\fR<n>
|
||||
.IP
|
||||
Set the maximum number of Orchard actions permitted in a transaction
|
||||
(default 50)
|
||||
.HP
|
||||
\fB\-paytxfee=\fR<amt>
|
||||
.IP
|
||||
Fee (in ZEC/kB) to add to transactions you send (default: 0.00)
|
||||
|
@ -309,6 +326,7 @@ Rescan the block chain for missing wallet transactions on startup
|
|||
\fB\-salvagewallet\fR
|
||||
.IP
|
||||
Attempt to recover private keys from a corrupt wallet on startup
|
||||
(implies \fB\-rescan\fR)
|
||||
.HP
|
||||
\fB\-sendfreetransactions\fR
|
||||
.IP
|
||||
|
|
|
@ -4,103 +4,3 @@ release-notes at release time)
|
|||
Notable changes
|
||||
===============
|
||||
|
||||
Feature Deprecation and removal
|
||||
-------------------------------
|
||||
|
||||
`zcashd` now has a [process](https://zcash.github.io/zcash/user/deprecation.html)
|
||||
for how features of the public API may be deprecated and removed. Feature
|
||||
deprecation follows a series of steps whereby, over a series of releases,
|
||||
features first remain enabled by default (but may be explicitly disabled), then
|
||||
switch to being disabled by default, and eventually are removed entirely.
|
||||
|
||||
A new string-valued option, `-allowdeprecated` has been introduced to allow a
|
||||
user to explicitly manage the availability of deprecated `zcashd` features. This
|
||||
flag makes it possible for users to reenable deprecated methods and features
|
||||
api that are currently disabled by default, or alternately to explicitly
|
||||
disable all deprecated features if they so choose. Multiple instances of this
|
||||
argument may be provided. A user may disable deprecated features entirely
|
||||
by providing the string `none` as the argument to this parameter. In the case
|
||||
that `none` is specified, multiple invocations of `-allowdeprecated` are not
|
||||
permitted.
|
||||
|
||||
Deprecated
|
||||
----------
|
||||
|
||||
As of this release, the following features are deprecated, but remain
|
||||
available by default. These features may be disabled by setting
|
||||
`-allowdeprecated=none`. After release 5.3.0, these features will be
|
||||
disabled by default and the following flags to `-allowdeprecated` will
|
||||
be required to permit their continued use:
|
||||
|
||||
- `legacy_privacy` - the default "legacy" privacy policy for z_sendmany
|
||||
is deprecated. When disabled, the default behavior of z_sendmany will
|
||||
conform to the `FullPrivacy` directive (introduced in 4.7.0) in all cases
|
||||
instead of just for transactions involving unified addresses.
|
||||
- `getnewaddress` - controls availability of the `getnewaddress` RPC method.
|
||||
- `z_getnewaddress` - controls availability of the `z_getnewaddress` RPC method.
|
||||
- `addrtype` - controls availability of the deprecated `type` attribute
|
||||
returned by RPC methods that return address metadata.
|
||||
|
||||
As of this release, the following previously deprecated features are disabled
|
||||
by default, but may be be reenabled using `-allowdeprecated=<feature>`.
|
||||
|
||||
- The `zcrawreceive` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawreceive`
|
||||
- The `zcrawjoinsplit` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawjoinsplit`
|
||||
- The `zcrawkeygen` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawkeygen`
|
||||
|
||||
Option handling
|
||||
---------------
|
||||
|
||||
- The `-reindex` and `-reindex-chainstate` options now imply `-rescan`
|
||||
(provided that the wallet is enabled and pruning is disabled, and unless
|
||||
`-rescan=0` is specified explicitly).
|
||||
- A new `-anchorconfirmations` argument has been added to allow the user
|
||||
to specify the number of blocks back from the chain tip that anchors will be
|
||||
selected from when spending notes. By default, anchors will now be selected
|
||||
to have 3 confirmations. Values greater than 100 are not supported.
|
||||
- A new `-orchardactionlimit` option has been added to allow the user to
|
||||
override the default maximum of 50 Orchard actions per transaction.
|
||||
Transactions that contain large numbers of Orchard actions can use
|
||||
large amounts of memory for proving, so the 50-action default limit is
|
||||
imposed to guard against memory exhaustion. Systems with more than 16G
|
||||
of memory can safely set this parameter to allow 200 actions or more.
|
||||
|
||||
RPC Interface
|
||||
-------------
|
||||
|
||||
- The default `minconf` value for `z_sendmany` is now 10 confirmations instead
|
||||
of 1. If `minconf` and specifies a value less than that provided for
|
||||
`-anchorconfirmations`, it will also override that value as it is not
|
||||
possible to spend notes that are more recent than the anchor. Selecting
|
||||
`minconf` values less than 3 is not recommended, as it allows the transaction
|
||||
to be distinguished from transactions using the default for
|
||||
`-anchorconfirmations`.
|
||||
|
||||
RPC Changes
|
||||
-----------
|
||||
|
||||
- The deprecated `zcrawkeygen`, `zcrawreceive`, and `zcrawjoinsplit` RPC
|
||||
methods are now disabled by default. Use `-allowdeprecated=<feature>`
|
||||
to select individual features if you wish to continue using these APIs.
|
||||
|
||||
Build system
|
||||
------------
|
||||
|
||||
- `zcutil/build.sh` now automatically runs `zcutil/clean.sh` to remove
|
||||
files created by previous builds. We previously recommended to do this
|
||||
manually.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
- The `boost` and `native_b2` dependencies have been updated to version 1.79.0
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
- The environment variable that allows users of the rpc (Python) tests to
|
||||
override the default path to the `zcashd` executable has been changed
|
||||
from `BITCOIND` to `ZCASHD`.
|
||||
|
|
|
@ -0,0 +1,215 @@
|
|||
Notable changes
|
||||
===============
|
||||
|
||||
Feature Deprecation and removal
|
||||
-------------------------------
|
||||
|
||||
`zcashd` now has a [process](https://zcash.github.io/zcash/user/deprecation.html)
|
||||
for how features of the public API may be deprecated and removed. Feature
|
||||
deprecation follows a series of steps whereby, over a series of releases,
|
||||
features first remain enabled by default (but may be explicitly disabled), then
|
||||
switch to being disabled by default, and eventually are removed entirely.
|
||||
|
||||
A new string-valued option, `-allowdeprecated` has been introduced to allow a
|
||||
user to explicitly manage the availability of deprecated `zcashd` features. This
|
||||
flag makes it possible for users to reenable deprecated methods and features
|
||||
api that are currently disabled by default, or alternately to explicitly
|
||||
disable all deprecated features if they so choose. Multiple instances of this
|
||||
argument may be provided. A user may disable deprecated features entirely
|
||||
by providing the string `none` as the argument to this parameter. In the case
|
||||
that `none` is specified, multiple invocations of `-allowdeprecated` are not
|
||||
permitted.
|
||||
|
||||
Deprecated
|
||||
----------
|
||||
|
||||
As of this release, the following features are deprecated, but remain
|
||||
available by default. These features may be disabled by setting
|
||||
`-allowdeprecated=none`. After release 5.3.0, these features will be
|
||||
disabled by default and the following flags to `-allowdeprecated` will
|
||||
be required to permit their continued use:
|
||||
|
||||
- `legacy_privacy` - the default "legacy" privacy policy for z_sendmany
|
||||
is deprecated. When disabled, the default behavior of z_sendmany will
|
||||
conform to the `FullPrivacy` directive (introduced in 4.7.0) in all cases
|
||||
instead of just for transactions involving unified addresses.
|
||||
- `getnewaddress` - controls availability of the `getnewaddress` RPC method.
|
||||
- `z_getnewaddress` - controls availability of the `z_getnewaddress` RPC method.
|
||||
- `addrtype` - controls availability of the deprecated `type` attribute
|
||||
returned by RPC methods that return address metadata.
|
||||
|
||||
As of this release, the following previously deprecated features are disabled
|
||||
by default, but may be be reenabled using `-allowdeprecated=<feature>`.
|
||||
|
||||
- The `zcrawreceive` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawreceive`
|
||||
- The `zcrawjoinsplit` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawjoinsplit`
|
||||
- The `zcrawkeygen` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawkeygen`
|
||||
|
||||
Option handling
|
||||
---------------
|
||||
|
||||
- The `-reindex` and `-reindex-chainstate` options now imply `-rescan`
|
||||
(provided that the wallet is enabled and pruning is disabled, and unless
|
||||
`-rescan=0` is specified explicitly).
|
||||
- A new `-anchorconfirmations` argument has been added to allow the user
|
||||
to specify the number of blocks back from the chain tip that anchors will be
|
||||
selected from when spending notes. By default, anchors will now be selected
|
||||
to have 3 confirmations. Values greater than 100 are not supported.
|
||||
- A new `-orchardactionlimit` option has been added to allow the user to
|
||||
override the default maximum of 50 Orchard actions per transaction.
|
||||
Transactions that contain large numbers of Orchard actions can use
|
||||
large amounts of memory for proving, so the 50-action default limit is
|
||||
imposed to guard against memory exhaustion. Systems with more than 16G
|
||||
of memory can safely set this parameter to allow 200 actions or more.
|
||||
|
||||
RPC Interface
|
||||
-------------
|
||||
|
||||
- The default `minconf` value for `z_sendmany` is now 10 confirmations instead
|
||||
of 1. If `minconf` and specifies a value less than that provided for
|
||||
`-anchorconfirmations`, it will also override that value as it is not
|
||||
possible to spend notes that are more recent than the anchor. Selecting
|
||||
`minconf` values less than 3 is not recommended, as it allows the transaction
|
||||
to be distinguished from transactions using the default for
|
||||
`-anchorconfirmations`.
|
||||
|
||||
RPC Changes
|
||||
-----------
|
||||
|
||||
- The deprecated `zcrawkeygen`, `zcrawreceive`, and `zcrawjoinsplit` RPC
|
||||
methods are now disabled by default. Use `-allowdeprecated=<feature>`
|
||||
to select individual features if you wish to continue using these APIs.
|
||||
|
||||
Build system
|
||||
------------
|
||||
|
||||
- `zcutil/build.sh` now automatically runs `zcutil/clean.sh` to remove
|
||||
files created by previous builds. We previously recommended to do this
|
||||
manually.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
- The `boost` and `native_b2` dependencies have been updated to version 1.79.0
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
- The environment variable that allows users of the rpc (Python) tests to
|
||||
override the default path to the `zcashd` executable has been changed
|
||||
from `BITCOIND` to `ZCASHD`.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Alex Wied (1):
|
||||
Cargo.toml: Rename hdwallet source
|
||||
|
||||
Charlie O'Keefe (1):
|
||||
Use bullseye apt source in Dockerfile to match debian:11 base image
|
||||
|
||||
Daira Hopwood (9):
|
||||
Fix to 4.7.0 release notes: testnet nodes that upgrade prior to height 1,842,420 actually still need to run with -reindex and -rescan.
|
||||
zcutil/build.sh: Run zcutil/clean.sh before building. fixes #3625
|
||||
Make `-reindex` and `-reindex-chainstate` imply `-rescan` (provided that the wallet is enabled and pruning is disabled, and unless `-rescan=0` is specified explicitly).
|
||||
zcutil/build-debian-package.sh: copy executable and man page for zcashd-wallet-tool.
|
||||
zcashd-wallet-tool: improve the error message for an invalid logging filter directive.
|
||||
Change the numbering convention for hotfixes to increment the patch number, not the hyphen number. fixes #4364
|
||||
Rename nOrchardAnchorConfirmations -> nAnchorConfirmations
|
||||
Select an anchor and notes that have 10 confirmations.
|
||||
Fix WalletTests.CachedWitnessesEmptyChain for new anchor selection.
|
||||
|
||||
Dimitris Apostolou (1):
|
||||
Fix typo
|
||||
|
||||
Jack Grigg (3):
|
||||
Update minimum chain work and set NU5 activation block hash for testnet
|
||||
make-release.py: Versioning changes for 5.0.0-rc1.
|
||||
make-release.py: Updated manpages for 5.0.0-rc1.
|
||||
|
||||
Kris Nuttycombe (30):
|
||||
Update boost dependencies to version 1.79.0
|
||||
Default to error logging if we can't parse the log filter.
|
||||
Fix boolean initialization in Orchard transaction builder.
|
||||
Use fallible version parsing for tags.
|
||||
Allow deprecated wallet features to be preemptively disabled.
|
||||
Remove zcrawreceive, zcrawjoinsplit, zcrawkeygen from default-allowed deprecated methods.
|
||||
Add deprecation policy to the zcashd book.
|
||||
Use ERROR level logging for fatal errors in main/init
|
||||
Remove `-allowdeprecated=all`
|
||||
Clarify documentation of the deprecation process.
|
||||
Select Orchard anchors at `-orchardanchorconfirmations` depth.
|
||||
Add anchor depth parameter to Get*NoteWitnesses
|
||||
Disallow -anchorconfirmations values > 100
|
||||
Add -anchorconfirmations to the release notes
|
||||
Fix RPC tests that depend upon -anchorconfirmations=1
|
||||
Apply suggestions from code review
|
||||
Gracefully handle Get(Sprout/Sapling)NoteWitnesses failure.
|
||||
Add parity-scale-codec licenses to contrib/debian/copyright
|
||||
Ensure transaction integer fields are zero-initialized.
|
||||
Build releases from a commit hash, rather than a named branch.
|
||||
Apply suggestions from code review
|
||||
Update release process documentation to clarify the use of release stabilization branches.
|
||||
Fix missing handling for imported transparent multisig addresses.
|
||||
Change default anchor depth from 10 confirmations to 3
|
||||
Use default anchor confirmations for minconf in z_mergetoaddress.
|
||||
Add -orchardactionlimit parameter to guard against memory exhaustion.
|
||||
Add -orchardactionlimit help text.
|
||||
Postpone dependency updates prior to v5.0.0-rc1
|
||||
Set RELEASE_TO_DEPRECATION_WEEKS to 2 weeks to provide RC EOS halt.
|
||||
Fix a typo in the release script.
|
||||
|
||||
Larry Ruane (2):
|
||||
Allow rpc python tests to be run standalone
|
||||
ThreadStartWalletNotifier: wait until !IBD, rather than !reindex
|
||||
|
||||
Marek (2):
|
||||
Document the block time in the `z_gettreestate` RPC response
|
||||
Specify the format and epoch
|
||||
|
||||
Steven Smith (2):
|
||||
Add orchard pool metrics
|
||||
Require wallet recovery phrase to be backed up for z_getnewaccount and z_getaddressforaccount
|
||||
|
||||
Taylor Hornby (1):
|
||||
Reproduce an assertion failure in the listaddresses RPC
|
||||
|
||||
dependabot[bot] (1):
|
||||
Bump actions/checkout from 2 to 3
|
||||
|
||||
sasha (28):
|
||||
Move LoadProofParameters to gtest/utils.cpp
|
||||
add tx-orchard-duplicate-nullifiers.h to Makefile.gtest.include
|
||||
Closing #1539 simplifies gtest Makefile.
|
||||
remove JoinSplitTestingSetup from sighash_tests -- it doesn't need it
|
||||
Make a LoadGlobalWallet and UnloadGlobalWallet for gtests
|
||||
Remove proof parameter loading from btests
|
||||
Separate test suite from tests, inspired by upstream's #12926
|
||||
Allow parallel btest runs using make as the parallelization tool.
|
||||
btest parallelization work: tag #if'd out test suites
|
||||
Port btest test_basic_joinsplit_verification to gtest suite Joinsplit
|
||||
Create a new gtest group WalletRPCTests
|
||||
Port btest rpc_z_shieldcoinbase_internals to gtest suite WalletRPCTests
|
||||
Port btest rpc_z_mergetoaddress_internals to gtest suite WalletRPCTests
|
||||
Port btest rpc_z_sendmany_taddr_to_sapling to gtest suite WalletRPCTests
|
||||
Downgrade btest suite coins_test to BasicTestingSetup
|
||||
Make [seed_]insecure_rand available to the gtests
|
||||
Create a new gtest suite CoinsTests
|
||||
Port CCoinsViewTest to gtest suite CoinsTests
|
||||
Port nullifier_regression_test to gtest suite CoinsTests
|
||||
Port anchor_pop_regression_test to gtest suite CoinsTests
|
||||
Port anchor_regression_test to gtest suite CoinsTests
|
||||
Port nullifiers_test to gtest suite CoinsTests
|
||||
Port anchors_flush_test to gtest suite CoinsTests
|
||||
Port anchors_test to gtest suite CoinsTests
|
||||
Update copyright header
|
||||
Update comments in newly-ported gtests to be more consistent with current codebase
|
||||
Tidy up spacing in newly-ported gtests
|
||||
Remove -developersapling since it hasn't been implemented for a long time
|
||||
|
||||
teor (1):
|
||||
Fix typo in getaddressbalance RPC help
|
||||
|
|
@ -0,0 +1,253 @@
|
|||
Notable changes
|
||||
===============
|
||||
|
||||
The mainnet activation of the NU5 network upgrade is supported by the 5.0.0
|
||||
release, with an activation height of 1687104, which should occur on
|
||||
approximately May 31, 2022. Please upgrade to this release, or any subsequent
|
||||
release, in order to follow the NU5 network upgrade.
|
||||
|
||||
The following ZIPs are being deployed, or have been updated, as part of this upgrade:
|
||||
|
||||
* [ZIP 32 : Shielded Hierarchical Deterministic Wallets (updated)](https://zips.z.cash/zip_0032)
|
||||
* [ZIP 203: Transaction Expiry (updated)](https://zips.z.cash/zip_0203)
|
||||
* [ZIP 209: Prohibit Negative Shielded Chain Value Pool Balances (updated)](https://zips.z.cash/zip_0209)
|
||||
* [ZIP 212: Allow Recipient to Derive Ephemeral Secret from Note Plaintext (updated)](https://zips.z.cash/zip_0212)
|
||||
* [ZIP 213: Shielded Coinbase (updated)](https://zips.z.cash/zip_0213)
|
||||
* [ZIP 216: Require Canonical Jubjub Point Encodings](https://zips.z.cash/zip_0216)
|
||||
* [ZIP 221: FlyClient - Consensus-Layer Changes (updated)](https://zips.z.cash/zip_0221)
|
||||
* [ZIP 224: Orchard Shielded Protocol](https://zips.z.cash/zip_0224)
|
||||
* [ZIP 225: Version 5 Transaction Format](https://zips.z.cash/zip_0225)
|
||||
* [ZIP 239: Relay of Version 5 Transactions](https://zips.z.cash/zip_0239)
|
||||
* [ZIP 244: Transaction Identifier Non-Malleability](https://zips.z.cash/zip_0244)
|
||||
* [ZIP 252: Deployment of the NU5 Network Upgrade](https://zips.z.cash/zip_0252)
|
||||
* [ZIP 316: Unified Addresses and Unified Viewing Keys](https://zips.z.cash/zip_0316)
|
||||
* [ZIP 401: Addressing Mempool Denial-of-Service (clarified)](https://zips.z.cash/zip_0401)
|
||||
|
||||
Feature Deprecation and removal
|
||||
-------------------------------
|
||||
|
||||
`zcashd` now has a [process](https://zcash.github.io/zcash/user/deprecation.html)
|
||||
for how features of the public API may be deprecated and removed. Feature
|
||||
deprecation follows a series of steps whereby, over a series of releases,
|
||||
features first remain enabled by default (but may be explicitly disabled), then
|
||||
switch to being disabled by default, and eventually are removed entirely.
|
||||
|
||||
A new string-valued option, `-allowdeprecated` has been introduced to allow a
|
||||
user to explicitly manage the availability of deprecated `zcashd` features. This
|
||||
flag makes it possible for users to reenable deprecated methods and features
|
||||
api that are currently disabled by default, or alternately to explicitly
|
||||
disable all deprecated features if they so choose. Multiple instances of this
|
||||
argument may be provided. A user may disable deprecated features entirely
|
||||
by providing the string `none` as the argument to this parameter. In the case
|
||||
that `none` is specified, multiple invocations of `-allowdeprecated` are not
|
||||
permitted.
|
||||
|
||||
Deprecated
|
||||
----------
|
||||
|
||||
As of this release, the following features are deprecated, but remain
|
||||
available by default. These features may be disabled by setting
|
||||
`-allowdeprecated=none`. After release 5.3.0, these features will be
|
||||
disabled by default and the following flags to `-allowdeprecated` will
|
||||
be required to permit their continued use:
|
||||
|
||||
- `legacy_privacy` - the default "legacy" privacy policy for z_sendmany
|
||||
is deprecated. When disabled, the default behavior of z_sendmany will
|
||||
conform to the `FullPrivacy` directive (introduced in 4.7.0) in all cases
|
||||
instead of just for transactions involving unified addresses.
|
||||
- `getnewaddress` - controls availability of the `getnewaddress` RPC method.
|
||||
- `getrawchangeaddress` - controls availability of the `getrawchangeaddress` RPC method.
|
||||
- `z_getbalance` - controls availability of the `z_getbalance` RPC method.
|
||||
- `z_gettotalbalance` - controls availability of the `z_gettotalbalance` RPC method.
|
||||
- `z_getnewaddress` - controls availability of the `z_getnewaddress` RPC method.
|
||||
- `z_listaddresses` - controls availability of the `z_listaddresses` RPC method.
|
||||
- `addrtype` - controls availability of the deprecated `type` attribute
|
||||
returned by RPC methods that return address metadata.
|
||||
|
||||
As of this release, the following previously deprecated features are disabled
|
||||
by default, but may be be reenabled using `-allowdeprecated=<feature>`.
|
||||
|
||||
- The `zcrawreceive` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawreceive`
|
||||
- The `zcrawjoinsplit` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawjoinsplit`
|
||||
- The `zcrawkeygen` RPC method is disabled. It may be reenabled with
|
||||
`allowdeprecated=zcrawkeygen`
|
||||
|
||||
Option handling
|
||||
---------------
|
||||
|
||||
- The `-reindex` and `-reindex-chainstate` options now imply `-rescan`
|
||||
(provided that the wallet is enabled and pruning is disabled, and unless
|
||||
`-rescan=0` is specified explicitly).
|
||||
- A new `-anchorconfirmations` argument has been added to allow the user
|
||||
to specify the number of blocks back from the chain tip that anchors will be
|
||||
selected from when spending notes. By default, anchors will now be selected
|
||||
to have 3 confirmations. Values greater than 100 are not supported.
|
||||
- A new `-orchardactionlimit` option has been added to allow the user to
|
||||
override the default maximum of 50 Orchard actions per transaction.
|
||||
Transactions that contain large numbers of Orchard actions can use
|
||||
large amounts of memory for proving, so the 50-action default limit is
|
||||
imposed to guard against memory exhaustion. Systems with more than 16G
|
||||
of memory can safely set this parameter to allow 200 actions or more.
|
||||
|
||||
RPC Interface
|
||||
-------------
|
||||
|
||||
- The default `minconf` value for `z_sendmany` is now 10 confirmations instead
|
||||
of 1. If `minconf` specifies a value less than that provided for
|
||||
`-anchorconfirmations`, it will also override that value as it is not
|
||||
possible to spend notes that are more recent than the anchor. Selecting
|
||||
`minconf` values less than 3 is not recommended, as it allows the transaction
|
||||
to be distinguished from transactions using the default for
|
||||
`-anchorconfirmations`.
|
||||
|
||||
RPC Changes
|
||||
-----------
|
||||
|
||||
- The deprecated `zcrawkeygen`, `zcrawreceive`, and `zcrawjoinsplit` RPC
|
||||
methods are now disabled by default. Use `-allowdeprecated=<feature>`
|
||||
to select individual features if you wish to continue using these APIs.
|
||||
|
||||
Build system
|
||||
------------
|
||||
|
||||
- `zcutil/build.sh` now automatically runs `zcutil/clean.sh` to remove
|
||||
files created by previous builds. We previously recommended to do this
|
||||
manually.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
- The `boost` and `native_b2` dependencies have been updated to version 1.79.0
|
||||
|
||||
Tests
|
||||
-----
|
||||
|
||||
- The environment variable that allows users of the rpc (Python) tests to
|
||||
override the default path to the `zcashd` executable has been changed
|
||||
from `BITCOIND` to `ZCASHD`.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
Alex Wied (1):
|
||||
Cargo.toml: Rename hdwallet source
|
||||
|
||||
Charlie O'Keefe (1):
|
||||
Use bullseye apt source in Dockerfile to match debian:11 base image
|
||||
|
||||
Daira Hopwood (9):
|
||||
Fix to 4.7.0 release notes: testnet nodes that upgrade prior to height 1,842,420 actually still need to run with -reindex and -rescan.
|
||||
zcutil/build.sh: Run zcutil/clean.sh before building. fixes #3625
|
||||
Make `-reindex` and `-reindex-chainstate` imply `-rescan` (provided that the wallet is enabled and pruning is disabled, and unless `-rescan=0` is specified explicitly).
|
||||
zcutil/build-debian-package.sh: copy executable and man page for zcashd-wallet-tool.
|
||||
zcashd-wallet-tool: improve the error message for an invalid logging filter directive.
|
||||
Change the numbering convention for hotfixes to increment the patch number, not the hyphen number. fixes #4364
|
||||
Rename nOrchardAnchorConfirmations -> nAnchorConfirmations
|
||||
Select an anchor and notes that have 10 confirmations.
|
||||
Fix WalletTests.CachedWitnessesEmptyChain for new anchor selection.
|
||||
|
||||
Dimitris Apostolou (1):
|
||||
Fix typo
|
||||
|
||||
Jack Grigg (5):
|
||||
Update minimum chain work and set NU5 activation block hash for testnet
|
||||
make-release.py: Versioning changes for 5.0.0-rc1.
|
||||
make-release.py: Updated manpages for 5.0.0-rc1.
|
||||
make-release.py: Updated release notes and changelog for 5.0.0-rc1.
|
||||
Migrate to `zcash_primitives 0.6` et al
|
||||
|
||||
Kris Nuttycombe (40):
|
||||
Update boost dependencies to version 1.79.0
|
||||
Default to error logging if we can't parse the log filter.
|
||||
Fix boolean initialization in Orchard transaction builder.
|
||||
Use fallible version parsing for tags.
|
||||
Allow deprecated wallet features to be preemptively disabled.
|
||||
Remove zcrawreceive, zcrawjoinsplit, zcrawkeygen from default-allowed deprecated methods.
|
||||
Add deprecation policy to the zcashd book.
|
||||
Use ERROR level logging for fatal errors in main/init
|
||||
Remove `-allowdeprecated=all`
|
||||
Clarify documentation of the deprecation process.
|
||||
Select Orchard anchors at `-orchardanchorconfirmations` depth.
|
||||
Add anchor depth parameter to Get*NoteWitnesses
|
||||
Disallow -anchorconfirmations values > 100
|
||||
Add -anchorconfirmations to the release notes
|
||||
Fix RPC tests that depend upon -anchorconfirmations=1
|
||||
Add z_get(total)balance to deprecation flags.
|
||||
Apply suggestions from code review
|
||||
Gracefully handle Get(Sprout/Sapling)NoteWitnesses failure.
|
||||
Add parity-scale-codec licenses to contrib/debian/copyright
|
||||
Ensure transaction integer fields are zero-initialized.
|
||||
Build releases from a commit hash, rather than a named branch.
|
||||
Apply suggestions from code review
|
||||
Update release process documentation to clarify the use of release stabilization branches.
|
||||
Fix missing handling for imported transparent multisig addresses.
|
||||
Change default anchor depth from 10 confirmations to 3
|
||||
Use default anchor confirmations for minconf in z_mergetoaddress.
|
||||
Add -orchardactionlimit parameter to guard against memory exhaustion.
|
||||
Add -orchardactionlimit help text.
|
||||
Postpone dependency updates prior to v5.0.0-rc1
|
||||
Set RELEASE_TO_DEPRECATION_WEEKS to 2 weeks to provide RC EOS halt.
|
||||
Fix a typo in the release script.
|
||||
Fix typos in release notes & Orchard wallet internal API doc.
|
||||
Add missing parenthesis to -reindex help.
|
||||
Include getbalance in recommendations for z_getbalance and z_gettotalbalance replacements.
|
||||
Add tests to check auth data commitments committing to Orchard actions.
|
||||
Deprecate `getrawchangeaddress` and `z_listaddresses`
|
||||
Update rpcwallet help to better distinguish transparent-only APIs.
|
||||
Revert "Set RELEASE_TO_DEPRECATION_WEEKS to 2 weeks to provide RC EOS halt."
|
||||
make-release.py: Versioning changes for 5.0.0.
|
||||
make-release.py: Updated manpages for 5.0.0.
|
||||
|
||||
Larry Ruane (2):
|
||||
Allow rpc python tests to be run standalone
|
||||
ThreadStartWalletNotifier: wait until !IBD, rather than !reindex
|
||||
|
||||
Marek (2):
|
||||
Document the block time in the `z_gettreestate` RPC response
|
||||
Specify the format and epoch
|
||||
|
||||
Steven Smith (2):
|
||||
Add orchard pool metrics
|
||||
Require wallet recovery phrase to be backed up for z_getnewaccount and z_getaddressforaccount
|
||||
|
||||
Taylor Hornby (1):
|
||||
Reproduce an assertion failure in the listaddresses RPC
|
||||
|
||||
dependabot[bot] (1):
|
||||
Bump actions/checkout from 2 to 3
|
||||
|
||||
sasha (28):
|
||||
Move LoadProofParameters to gtest/utils.cpp
|
||||
add tx-orchard-duplicate-nullifiers.h to Makefile.gtest.include
|
||||
Closing #1539 simplifies gtest Makefile.
|
||||
remove JoinSplitTestingSetup from sighash_tests -- it doesn't need it
|
||||
Make a LoadGlobalWallet and UnloadGlobalWallet for gtests
|
||||
Remove proof parameter loading from btests
|
||||
Separate test suite from tests, inspired by upstream's #12926
|
||||
Allow parallel btest runs using make as the parallelization tool.
|
||||
btest parallelization work: tag #if'd out test suites
|
||||
Port btest test_basic_joinsplit_verification to gtest suite Joinsplit
|
||||
Create a new gtest group WalletRPCTests
|
||||
Port btest rpc_z_shieldcoinbase_internals to gtest suite WalletRPCTests
|
||||
Port btest rpc_z_mergetoaddress_internals to gtest suite WalletRPCTests
|
||||
Port btest rpc_z_sendmany_taddr_to_sapling to gtest suite WalletRPCTests
|
||||
Downgrade btest suite coins_test to BasicTestingSetup
|
||||
Make [seed_]insecure_rand available to the gtests
|
||||
Create a new gtest suite CoinsTests
|
||||
Port CCoinsViewTest to gtest suite CoinsTests
|
||||
Port nullifier_regression_test to gtest suite CoinsTests
|
||||
Port anchor_pop_regression_test to gtest suite CoinsTests
|
||||
Port anchor_regression_test to gtest suite CoinsTests
|
||||
Port nullifiers_test to gtest suite CoinsTests
|
||||
Port anchors_flush_test to gtest suite CoinsTests
|
||||
Port anchors_test to gtest suite CoinsTests
|
||||
Update copyright header
|
||||
Update comments in newly-ported gtests to be more consistent with current codebase
|
||||
Tidy up spacing in newly-ported gtests
|
||||
Remove -developersapling since it hasn't been implemented for a long time
|
||||
|
||||
teor (1):
|
||||
Fix typo in getaddressbalance RPC help
|
||||
|
|
@ -97,7 +97,7 @@ Having identified the commit from which the release will be made, the release
|
|||
manager constructs the release stabilization branch as follows:
|
||||
|
||||
$ git checkout -b version-X.Y.0 <COMMIT_ID>
|
||||
$ git push 'git@github.com:zcash/zcash' $(git rev-parse --abrev-ref HEAD)
|
||||
$ git push 'git@github.com:zcash/zcash' $(git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
### Create the release candidate branch
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ from test_framework.util import (
|
|||
assert_equal,
|
||||
CANOPY_BRANCH_ID,
|
||||
NU5_BRANCH_ID,
|
||||
get_coinbase_address,
|
||||
hex_str_to_bytes,
|
||||
nuparams,
|
||||
nustr,
|
||||
|
@ -18,7 +19,6 @@ from test_framework.util import (
|
|||
)
|
||||
from test_framework.mininode import (
|
||||
CTransaction,
|
||||
uint256_from_str,
|
||||
)
|
||||
from test_framework.blocktools import (
|
||||
create_block
|
||||
|
@ -49,7 +49,13 @@ class GetBlockTemplateTest(BitcoinTestFramework):
|
|||
node = self.node
|
||||
# sprout to transparent (v4)
|
||||
recipients = [{"address": self.transparent_addr, "amount": Decimal('0.1')}]
|
||||
myopid = node.z_sendmany(self.sprout_addr, recipients)
|
||||
myopid = node.z_sendmany(self.sprout_addr, recipients, 1)
|
||||
wait_and_assert_operationid_status(node, myopid)
|
||||
|
||||
def add_nu5_v5_tx_to_mempool(self):
|
||||
node = self.node
|
||||
recipients = [{"address": self.unified_addr, "amount": Decimal('9.99999')}]
|
||||
myopid = node.z_sendmany(get_coinbase_address(node), recipients, 1, Decimal('0.00001'), 'AllowRevealedSenders')
|
||||
wait_and_assert_operationid_status(node, myopid)
|
||||
|
||||
def add_transparent_tx_to_mempool(self):
|
||||
|
@ -97,6 +103,7 @@ class GetBlockTemplateTest(BitcoinTestFramework):
|
|||
tx = CTransaction()
|
||||
tx.deserialize(f)
|
||||
tx.calc_sha256()
|
||||
assert_equal(tx.hash, gbt_tx['hash'])
|
||||
assert_equal(tx.auth_digest_hex, node.getrawtransaction(tx.hash, 1)['authdigest'])
|
||||
block.vtx.append(tx)
|
||||
block.hashMerkleRoot = int(gbt['defaultroots']['merkleroot'], 16)
|
||||
|
@ -104,7 +111,8 @@ class GetBlockTemplateTest(BitcoinTestFramework):
|
|||
assert_equal(len(block.vtx), len(gbt['transactions']) + 1, "number of transactions")
|
||||
assert_equal(block.hashPrevBlock, int(gbt['previousblockhash'], 16), "prevhash")
|
||||
if nu5_active:
|
||||
assert_equal(uint256_from_str(block.calc_auth_data_root()), int(gbt['defaultroots']['authdataroot'], 16))
|
||||
block.hashAuthDataRoot = int(gbt['defaultroots']['authdataroot'], 16)
|
||||
assert_equal(block.hashAuthDataRoot, block.calc_auth_data_root(), "authdataroot")
|
||||
else:
|
||||
assert 'authdataroot' not in gbt['defaultroots']
|
||||
block.solve()
|
||||
|
@ -131,6 +139,8 @@ class GetBlockTemplateTest(BitcoinTestFramework):
|
|||
wait_and_assert_operationid_status(node, myopid)
|
||||
|
||||
self.transparent_addr = node.getnewaddress()
|
||||
account = node.z_getnewaccount()['account']
|
||||
self.unified_addr = node.z_getaddressforaccount(account)['address']
|
||||
node.generate(15)
|
||||
|
||||
# at height 120, NU5 is not active
|
||||
|
@ -176,13 +186,29 @@ class GetBlockTemplateTest(BitcoinTestFramework):
|
|||
self.add_transparent_tx_to_mempool()
|
||||
self.gbt_submitblock(True)
|
||||
|
||||
# Adding both v4 and v5 to cover legacy auth digest.
|
||||
# Adding both v4 and v5 to cover legacy auth digest (without full auth digest subtree).
|
||||
print("- both v4 and v5 transactions (plus coinbase)")
|
||||
self.add_nu5_v4_tx_to_mempool()
|
||||
self.add_transparent_tx_to_mempool()
|
||||
self.gbt_submitblock(True)
|
||||
|
||||
# Adding both v4 and v5 to cover legacy auth digest (with full auth digest subtree).
|
||||
print("- both v4 and v5 transactions (plus coinbase)")
|
||||
self.add_nu5_v4_tx_to_mempool()
|
||||
self.add_transparent_tx_to_mempool()
|
||||
self.add_transparent_tx_to_mempool()
|
||||
self.gbt_submitblock(True)
|
||||
|
||||
print("- block with 6 Orchard transactions (plus coinbase)")
|
||||
for i in range(0, 6):
|
||||
print(str(node.z_getbalance(self.transparent_addr)))
|
||||
self.add_nu5_v5_tx_to_mempool()
|
||||
self.gbt_submitblock(True)
|
||||
|
||||
print("- block with 7 Orchard transactions (plus coinbase)")
|
||||
for i in range(0, 7):
|
||||
self.add_nu5_v5_tx_to_mempool()
|
||||
self.gbt_submitblock(True)
|
||||
|
||||
if __name__ == '__main__':
|
||||
GetBlockTemplateTest().main()
|
||||
|
|
|
@ -28,6 +28,7 @@ def create_block(hashprev, coinbase, nTime=None, nBits=None, hashFinalSaplingRoo
|
|||
block.nBits = nBits
|
||||
block.vtx.append(coinbase)
|
||||
block.hashMerkleRoot = block.calc_merkle_root()
|
||||
block.hashAuthDataRoot = block.calc_auth_data_root()
|
||||
block.calc_sha256()
|
||||
return block
|
||||
|
||||
|
|
|
@ -174,21 +174,25 @@ def deser_vector(f, c):
|
|||
return r
|
||||
|
||||
|
||||
def ser_vector(l):
|
||||
def ser_vector(elems):
|
||||
r = b""
|
||||
if len(l) < 253:
|
||||
r = struct.pack("B", len(l))
|
||||
elif len(l) < 0x10000:
|
||||
r = struct.pack("<BH", 253, len(l))
|
||||
elif len(l) < 0x100000000:
|
||||
r = struct.pack("<BI", 254, len(l))
|
||||
else:
|
||||
r = struct.pack("<BQ", 255, len(l))
|
||||
for i in l:
|
||||
r += i.serialize()
|
||||
r += ser_compact_size(len(elems))
|
||||
for elem in elems:
|
||||
r += elem.serialize()
|
||||
return r
|
||||
|
||||
|
||||
def ser_compact_size(l):
|
||||
if l < 253:
|
||||
return struct.pack("B", l)
|
||||
elif l < 0x10000:
|
||||
return struct.pack("<BH", 253, l)
|
||||
elif l < 0x100000000:
|
||||
return struct.pack("<BI", 254, l)
|
||||
else:
|
||||
return struct.pack("<BQ", 255, l)
|
||||
|
||||
|
||||
def deser_uint256_vector(f):
|
||||
nit = struct.unpack("<B", f.read(1))[0]
|
||||
if nit == 253:
|
||||
|
@ -473,7 +477,7 @@ class OrchardBundle(object):
|
|||
def deserialize(self, f):
|
||||
self.actions = deser_vector(f, OrchardAction)
|
||||
if len(self.actions) > 0:
|
||||
flags = f.read(1)
|
||||
flags = struct.unpack("B", f.read(1))[0]
|
||||
self.enableSpends = (flags & ORCHARD_FLAGS_ENABLE_SPENDS) != 0
|
||||
self.enableOutputs = (flags & ORCHARD_FLAGS_ENABLE_OUTPUTS) != 0
|
||||
self.valueBalance = struct.unpack("<q", f.read(8))[0]
|
||||
|
@ -489,20 +493,23 @@ class OrchardBundle(object):
|
|||
r = b""
|
||||
r += ser_vector(self.actions)
|
||||
if len(self.actions) > 0:
|
||||
flags = 0 ^ (
|
||||
ORCHARD_FLAGS_ENABLE_SPENDS if self.enableSpends else 0
|
||||
) ^ (
|
||||
ORCHARD_FLAGS_ENABLE_OUTPUTS if self.enableOutputs else 0
|
||||
)
|
||||
r += struct.pack("B", flags)
|
||||
r += struct.pack("B", self.flags())
|
||||
r += struct.pack("<q", self.valueBalance)
|
||||
r += ser_uint256(self.anchor)
|
||||
r += ser_vector(self.proofs)
|
||||
r += ser_compact_size(len(self.proofs))
|
||||
r += bytes(self.proofs)
|
||||
for i in range(len(self.actions)):
|
||||
r += self.actions[i].spendAuthSig.serialize()
|
||||
r += self.bindingSig.serialize()
|
||||
return r
|
||||
|
||||
def flags(self):
|
||||
return 0 ^ (
|
||||
ORCHARD_FLAGS_ENABLE_SPENDS if self.enableSpends else 0
|
||||
) ^ (
|
||||
ORCHARD_FLAGS_ENABLE_OUTPUTS if self.enableOutputs else 0
|
||||
)
|
||||
|
||||
def __repr__(self):
|
||||
return "OrchardBundle(actions=%r, enableSpends=%s, enableOutputs=%s, valueBalance=%i, proofs=%r, spendAuthSigs=%r, bindingSig=%r)" \
|
||||
% (
|
||||
|
@ -1285,7 +1292,7 @@ class CBlock(CBlockHeader):
|
|||
digest.update(hashes[i+1])
|
||||
newhashes.append(digest.digest())
|
||||
hashes = newhashes
|
||||
return hashes[0]
|
||||
return uint256_from_str(hashes[0])
|
||||
|
||||
def is_valid(self, n=48, k=5):
|
||||
# H(I||...
|
||||
|
|
|
@ -138,9 +138,9 @@ def orchard_digest(orchardBundle):
|
|||
digest.update(orchard_actions_compact_digest(orchardBundle))
|
||||
digest.update(orchard_actions_memos_digest(orchardBundle))
|
||||
digest.update(orchard_actions_noncompact_digest(orchardBundle))
|
||||
digest.update(struct.pack('<B', orchardBundle.flags()))
|
||||
digest.update(struct.pack('B', orchardBundle.flags()))
|
||||
digest.update(struct.pack('<q', orchardBundle.valueBalance))
|
||||
digest.update(bytes(orchardBundle.anchor))
|
||||
digest.update(ser_uint256(orchardBundle.anchor))
|
||||
|
||||
return digest.digest()
|
||||
|
||||
|
@ -148,7 +148,7 @@ def orchard_auth_digest(orchardBundle):
|
|||
digest = blake2b(digest_size=32, person=b'ZTxAuthOrchaHash')
|
||||
|
||||
if len(orchardBundle.actions) > 0:
|
||||
digest.update(orchardBundle.proofs)
|
||||
digest.update(bytes(orchardBundle.proofs))
|
||||
for desc in orchardBundle.actions:
|
||||
digest.update(desc.spendAuthSig.serialize())
|
||||
digest.update(orchardBundle.bindingSig.serialize())
|
||||
|
|
|
@ -5,28 +5,32 @@
|
|||
#
|
||||
|
||||
# Ccache 4.0 requires adding CMake to the depends system.
|
||||
native_ccache 4.0 2022-05-01
|
||||
native_ccache 4.1 2022-05-01
|
||||
native_ccache 4.2 2022-05-01
|
||||
native_ccache 4.2.1 2022-05-01
|
||||
native_ccache 4.3 2022-05-01
|
||||
native_ccache 4.4 2022-05-01
|
||||
native_ccache 4.4.1 2022-05-01
|
||||
native_ccache 4.4.2 2022-05-01
|
||||
native_ccache 4.5 2022-05-01
|
||||
native_ccache 4.5.1 2022-05-01
|
||||
native_ccache 4.6 2022-05-01
|
||||
native_ccache 4.0 2022-06-01
|
||||
native_ccache 4.1 2022-06-01
|
||||
native_ccache 4.2 2022-06-01
|
||||
native_ccache 4.2.1 2022-06-01
|
||||
native_ccache 4.3 2022-06-01
|
||||
native_ccache 4.4 2022-06-01
|
||||
native_ccache 4.4.1 2022-06-01
|
||||
native_ccache 4.4.2 2022-06-01
|
||||
native_ccache 4.5 2022-06-01
|
||||
native_ccache 4.5.1 2022-06-01
|
||||
native_ccache 4.6 2022-06-01
|
||||
|
||||
# Clang and Rust are currently pinned to LLVM 13
|
||||
native_clang 14.0.0 2022-05-01
|
||||
native_clang 14.0.1 2022-05-01
|
||||
libcxx 14.0.0 2022-05-01
|
||||
libcxx 14.0.1 2022-05-01
|
||||
native_rust 1.60.0 2022-05-01
|
||||
native_clang 14.0.0 2022-06-01
|
||||
native_clang 14.0.1 2022-06-01
|
||||
native_clang 14.0.2 2022-06-01
|
||||
native_clang 14.0.3 2022-06-01
|
||||
libcxx 14.0.0 2022-06-01
|
||||
libcxx 14.0.1 2022-06-01
|
||||
libcxx 14.0.2 2022-06-01
|
||||
libcxx 14.0.3 2022-06-01
|
||||
native_rust 1.60.0 2022-06-01
|
||||
|
||||
# We're never updating to this version
|
||||
bdb 18.1.40 2024-02-01
|
||||
|
||||
# Google Test 1.10.0 requires adding CMake to the depends system.
|
||||
googletest 1.10.0 2022-05-01
|
||||
googletest 1.11.0 2022-05-01
|
||||
googletest 1.10.0 2022-06-01
|
||||
googletest 1.11.0 2022-06-01
|
||||
|
|
|
@ -134,8 +134,8 @@ public:
|
|||
consensus.vUpgrades[Consensus::UPGRADE_CANOPY].hashActivationBlock =
|
||||
uint256S("00000000002038016f976744c369dce7419fca30e7171dfac703af5e5f7ad1d4");
|
||||
consensus.vUpgrades[Consensus::UPGRADE_NU5].nProtocolVersion = 170100;
|
||||
consensus.vUpgrades[Consensus::UPGRADE_NU5].nActivationHeight =
|
||||
Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT;
|
||||
consensus.vUpgrades[Consensus::UPGRADE_NU5].nActivationHeight = 1687104;
|
||||
|
||||
consensus.vUpgrades[Consensus::UPGRADE_ZFUTURE].nProtocolVersion = 0x7FFFFFFF;
|
||||
consensus.vUpgrades[Consensus::UPGRADE_ZFUTURE].nActivationHeight =
|
||||
Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT;
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
*/
|
||||
|
||||
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
|
||||
#define CLIENT_VERSION_MAJOR 4
|
||||
#define CLIENT_VERSION_MINOR 7
|
||||
#define CLIENT_VERSION_MAJOR 5
|
||||
#define CLIENT_VERSION_MINOR 0
|
||||
#define CLIENT_VERSION_REVISION 0
|
||||
#define CLIENT_VERSION_BUILD 50
|
||||
|
||||
|
|
|
@ -14,7 +14,11 @@
|
|||
// Flags that enable deprecated functionality.
|
||||
#ifdef ENABLE_WALLET
|
||||
bool fEnableGetNewAddress = true;
|
||||
bool fEnableGetRawChangeAddress = true;
|
||||
bool fEnableZGetNewAddress = true;
|
||||
bool fEnableZGetBalance = true;
|
||||
bool fEnableZGetTotalBalance = true;
|
||||
bool fEnableZListAddresses = true;
|
||||
bool fEnableLegacyPrivacyStrategy = true;
|
||||
bool fEnableZCRawReceive = true;
|
||||
bool fEnableZCRawJoinSplit = true;
|
||||
|
@ -92,7 +96,11 @@ std::optional<std::string> SetAllowedDeprecatedFeaturesFromCLIArgs() {
|
|||
#ifdef ENABLE_WALLET
|
||||
fEnableLegacyPrivacyStrategy = allowdeprecated.count("legacy_privacy") > 0;
|
||||
fEnableGetNewAddress = allowdeprecated.count("getnewaddress") > 0;
|
||||
fEnableGetRawChangeAddress = allowdeprecated.count("getrawchangeaddress") > 0;
|
||||
fEnableZGetNewAddress = allowdeprecated.count("z_getnewaddress") > 0;
|
||||
fEnableZGetBalance = allowdeprecated.count("z_getbalance") > 0;
|
||||
fEnableZGetTotalBalance = allowdeprecated.count("z_gettotalbalance") > 0;
|
||||
fEnableZListAddresses = allowdeprecated.count("z_listaddresses") > 0;
|
||||
fEnableZCRawReceive = allowdeprecated.count("zcrawreceive") > 0;
|
||||
fEnableZCRawJoinSplit = allowdeprecated.count("zcrawjoinsplit") > 0;
|
||||
fEnableZCRawKeygen = allowdeprecated.count("zcrawkeygen") > 0;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
// Per https://zips.z.cash/zip-0200
|
||||
// Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated
|
||||
// release block height. A warning is shown during the 14 days' worth of blocks prior to shut down.
|
||||
static const int APPROX_RELEASE_HEIGHT = 1540976;
|
||||
static const int APPROX_RELEASE_HEIGHT = 1663550;
|
||||
static const int RELEASE_TO_DEPRECATION_WEEKS = 16;
|
||||
static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING;
|
||||
static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds.");
|
||||
|
@ -28,7 +28,11 @@ static const std::set<std::string> DEFAULT_ALLOW_DEPRECATED{{
|
|||
#ifdef ENABLE_WALLET
|
||||
"legacy_privacy",
|
||||
"getnewaddress",
|
||||
"getrawchangeaddress",
|
||||
"z_getnewaddress",
|
||||
"z_getbalance",
|
||||
"z_gettotalbalance",
|
||||
"z_listaddresses",
|
||||
"addrtype"
|
||||
#endif
|
||||
}};
|
||||
|
@ -43,7 +47,11 @@ static const std::set<std::string> DEFAULT_DENY_DEPRECATED{{
|
|||
// Flags that enable deprecated functionality.
|
||||
#ifdef ENABLE_WALLET
|
||||
extern bool fEnableGetNewAddress;
|
||||
extern bool fEnableGetRawChangeAddress;
|
||||
extern bool fEnableZGetNewAddress;
|
||||
extern bool fEnableZGetBalance;
|
||||
extern bool fEnableZGetTotalBalance;
|
||||
extern bool fEnableZListAddresses;
|
||||
extern bool fEnableLegacyPrivacyStrategy;
|
||||
extern bool fEnableZCRawReceive;
|
||||
extern bool fEnableZCRawJoinSplit;
|
||||
|
|
|
@ -363,7 +363,7 @@ std::string HelpMessage(HelpMessageMode mode)
|
|||
"Warning: Reverting this setting requires re-downloading the entire blockchain. "
|
||||
"(default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)"), MIN_DISK_SPACE_FOR_BLOCK_FILES / 1024 / 1024));
|
||||
#ifdef ENABLE_WALLET
|
||||
strUsage += HelpMessageOpt("-reindex-chainstate", _("Rebuild chain state from the currently indexed blocks (implies -rescan unless pruning or unless -rescan=0 is explicitly specified"));
|
||||
strUsage += HelpMessageOpt("-reindex-chainstate", _("Rebuild chain state from the currently indexed blocks (implies -rescan unless pruning or unless -rescan=0 is explicitly specified)"));
|
||||
strUsage += HelpMessageOpt("-reindex", _("Rebuild chain state and block index from the blk*.dat files on disk (implies -rescan unless pruning or unless -rescan=0 is explicitly specified)"));
|
||||
#else
|
||||
strUsage += HelpMessageOpt("-reindex-chainstate", _("Rebuild chain state from the currently indexed blocks"));
|
||||
|
|
|
@ -688,7 +688,7 @@ impl Wallet {
|
|||
.collect()
|
||||
}
|
||||
|
||||
/// Returns the note of the Orchard note commitment tree, as of the specified checkpoint
|
||||
/// Returns the root of the Orchard note commitment tree, as of the specified checkpoint
|
||||
/// depth. A depth of 0 corresponds to the chain tip.
|
||||
pub fn note_commitment_tree_root(&self, checkpoint_depth: usize) -> Option<MerkleHashOrchard> {
|
||||
self.witness_tree.root(checkpoint_depth)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* network protocol versioning
|
||||
*/
|
||||
|
||||
static const int PROTOCOL_VERSION = 170050;
|
||||
static const int PROTOCOL_VERSION = 170100;
|
||||
|
||||
//! initial proto version, to be increased after version/verack negotiation
|
||||
static const int INIT_PROTO_VERSION = 209;
|
||||
|
|
|
@ -168,14 +168,17 @@ UniValue getnewaddress(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"getnewaddress ( \"\" )\n"
|
||||
"\nDEPRECATED\n"
|
||||
"\nReturns a new Zcash address for receiving payments.\n"
|
||||
"\nDEPRECATED. Use z_getnewaccount and z_getaddressforaccount instead.\n"
|
||||
"\nReturns a new transparent Zcash address.\n"
|
||||
"Payments received by this API are visible on-chain and do not otherwise\n"
|
||||
"provide privacy protections; they should only be used in circumstances \n"
|
||||
"where it is necessary to interoperate with legacy Bitcoin infrastructure.\n"
|
||||
|
||||
"\nArguments:\n"
|
||||
"1. (dummy) (string, optional) DEPRECATED. If provided, it MUST be set to the empty string \"\". Passing any other string will result in an error.\n"
|
||||
|
||||
"\nResult:\n"
|
||||
"\"zcashaddress\" (string) The new Zcash address\n"
|
||||
"\"zcashaddress\" (string) The new transparent Zcash address\n"
|
||||
|
||||
"\nExamples:\n"
|
||||
+ HelpExampleCli("getnewaddress", "")
|
||||
|
@ -210,13 +213,25 @@ UniValue getrawchangeaddress(const UniValue& params, bool fHelp)
|
|||
if (!EnsureWalletIsAvailable(fHelp))
|
||||
return NullUniValue;
|
||||
|
||||
if (!fEnableGetRawChangeAddress)
|
||||
throw runtime_error(
|
||||
"getrawchangeaddress is DEPRECATED and will be removed in a future release\n"
|
||||
"\nChange addresses are a wallet-internal feature. Use a unified address for\n"
|
||||
"a dedicated change account instead, or restart with `-allowdeprecated=getrawchangeaddress` \n"
|
||||
"if you require backward compatibility.\n"
|
||||
"See https://zcash.github.io/zcash/user/deprecation.html for more information.");
|
||||
|
||||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"getrawchangeaddress\n"
|
||||
"\nReturns a new Zcash address, for receiving change.\n"
|
||||
"This is for use with raw transactions, NOT normal use.\n"
|
||||
"\nDEPRECATED. Change addresses are a wallet-internal feature. Use a unified"
|
||||
"\naddress for a dedicated change account instead.\n"
|
||||
"\nReturns a new transparent Zcash address for receiving change.\n"
|
||||
"This is for use with raw transactions, NOT normal use. Additionally,\n"
|
||||
"the resulting address does not correspond to the \"change\" HD derivation\n"
|
||||
"path.\n"
|
||||
"\nResult:\n"
|
||||
"\"address\" (string) The address\n"
|
||||
"\"address\" (string) The transparent address\n"
|
||||
"\nExamples:\n"
|
||||
+ HelpExampleCli("getrawchangeaddress", "")
|
||||
+ HelpExampleRpc("getrawchangeaddress", "")
|
||||
|
@ -282,10 +297,14 @@ UniValue sendtoaddress(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() < 2 || params.size() > 5)
|
||||
throw runtime_error(
|
||||
"sendtoaddress \"zcashaddress\" amount ( \"comment\" \"comment-to\" subtractfeefromamount )\n"
|
||||
"\nSend an amount to a given address. The amount is a real and is rounded to the nearest 0.00000001\n"
|
||||
"\nSend an amount to a given transparent address. The amount is interpreted as a real number\n"
|
||||
"and is rounded to the nearest 0.00000001. This API will only select funds from the transparent\n"
|
||||
"pool, and all the details of the transaction, including sender, recipient, and amount will be\n"
|
||||
"permanently visible on the public chain. THIS API PROVIDES NO PRIVACY, and should only be\n"
|
||||
"used when interoperability with legacy Bitcoin infrastructure is required.\n"
|
||||
+ HelpRequiringPassphrase() +
|
||||
"\nArguments:\n"
|
||||
"1. \"zcashaddress\" (string, required) The Zcash address to send to.\n"
|
||||
"1. \"zcashaddress\" (string, required) The transparent Zcash address to send to.\n"
|
||||
"2. \"amount\" (numeric, required) The amount in " + CURRENCY_UNIT + " to send. eg 0.1\n"
|
||||
"3. \"comment\" (string, optional) A comment used to store what the transaction is for. \n"
|
||||
" This is not part of the transaction, just kept in your wallet.\n"
|
||||
|
@ -350,7 +369,9 @@ UniValue listaddresses(const UniValue& params, bool fHelp)
|
|||
"and addresses derived from the wallet's mnemonic seed for releases \n"
|
||||
"version 4.7.0 and above. \n"
|
||||
"\nREMINDER: It is recommended that you back up your wallet.dat file \n"
|
||||
"regularly!\n"
|
||||
"regularly. If your wallet was created using zcashd version 4.7.0 \n"
|
||||
"or later and you have not imported externally produced keys, it only \n"
|
||||
"necessary to have backed up the wallet's emergency recovery phrase.\n"
|
||||
"\nResult:\n"
|
||||
"[\n"
|
||||
" {\n"
|
||||
|
@ -816,9 +837,8 @@ UniValue listaddressgroupings(const UniValue& params, bool fHelp)
|
|||
if (fHelp)
|
||||
throw runtime_error(
|
||||
"listaddressgroupings\n"
|
||||
"\nLists groups of addresses which have had their common ownership\n"
|
||||
"made public by common use as inputs or as the resulting change\n"
|
||||
"in past transactions\n"
|
||||
"\nLists groups of transparent addresses which have had their common ownership\n"
|
||||
"made public by common use as inputs or as the resulting change in past transactions.\n"
|
||||
"\nResult:\n"
|
||||
"[\n"
|
||||
" [\n"
|
||||
|
@ -870,10 +890,11 @@ UniValue signmessage(const UniValue& params, bool fHelp)
|
|||
"\nSign a message with the private key of a t-addr"
|
||||
+ HelpRequiringPassphrase() + "\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"t-addr\" (string, required) The transparent address to use for the private key.\n"
|
||||
"2. \"message\" (string, required) The message to create a signature of.\n"
|
||||
"1. \"t-addr\" (string, required) The transparent address to use to look up the private key.\n"
|
||||
" that will be used to sign the message.\n"
|
||||
"2. \"message\" (string, required) The message to create a signature of.\n"
|
||||
"\nResult:\n"
|
||||
"\"signature\" (string) The signature of the message encoded in base 64\n"
|
||||
"\"signature\" (string) The signature of the message encoded in base 64\n"
|
||||
"\nExamples:\n"
|
||||
"\nUnlock the wallet for 30 seconds\n"
|
||||
+ HelpExampleCli("walletpassphrase", "\"mypassphrase\" 30") +
|
||||
|
@ -927,7 +948,7 @@ UniValue getreceivedbyaddress(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() < 1 || params.size() > 3)
|
||||
throw runtime_error(
|
||||
"getreceivedbyaddress \"zcashaddress\" ( minconf ) ( inZat )\n"
|
||||
"\nReturns the total amount received by the given Zcash address in transactions with at least minconf confirmations.\n"
|
||||
"\nReturns the total amount received by the given transparent Zcash address in transactions with at least minconf confirmations.\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"zcashaddress\" (string, required) The Zcash address for transactions.\n"
|
||||
"2. minconf (numeric, optional, default=1) Only include transactions confirmed at least this many times.\n"
|
||||
|
@ -994,7 +1015,9 @@ UniValue getbalance(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 4)
|
||||
throw runtime_error(
|
||||
"getbalance ( \"(dummy)\" minconf includeWatchonly inZat )\n"
|
||||
"\nReturns the server's total available balance.\n"
|
||||
"\nReturns the wallet's available transparent balance. This total\n"
|
||||
"currently includes transparent balances associated with unified\n"
|
||||
"accounts. Prefer to use `z_getbalanceforaccount` instead.\n"
|
||||
"\nArguments:\n"
|
||||
"1. (dummy) (string, optional) Remains for backward compatibility. Must be excluded or set to \"*\" or \"\".\n"
|
||||
"2. minconf (numeric, optional, default=1) Only include transactions confirmed at least this many times.\n"
|
||||
|
@ -1044,7 +1067,7 @@ UniValue getunconfirmedbalance(const UniValue ¶ms, bool fHelp)
|
|||
if (fHelp || params.size() > 0)
|
||||
throw runtime_error(
|
||||
"getunconfirmedbalance\n"
|
||||
"Returns the server's total unconfirmed balance\n");
|
||||
"Returns the server's total unconfirmed transparent balance\n");
|
||||
|
||||
LOCK2(cs_main, pwalletMain->cs_wallet);
|
||||
|
||||
|
@ -1060,7 +1083,12 @@ UniValue sendmany(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() < 2 || params.size() > 5)
|
||||
throw runtime_error(
|
||||
"sendmany \"\" {\"address\":amount,...} ( minconf \"comment\" [\"address\",...] )\n"
|
||||
"\nSend multiple times. Amounts are decimal numbers with at most 8 digits of precision."
|
||||
"\nSend to multiple transparent recipients, using funds from the legacy transparent\n"
|
||||
"value pool. Amounts are decimal numbers with at most 8 digits of precision.\n"
|
||||
"Payments sent using this API are visible on-chain and do not otherwise\n"
|
||||
"provide privacy protections; it should only be used in circumstances \n"
|
||||
"where it is necessary to interoperate with legacy Bitcoin infrastructure.\n"
|
||||
"Prefer to use `z_sendmany` instead.\n"
|
||||
+ HelpRequiringPassphrase() + "\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"dummy\" (string, required) Must be set to \"\" for backwards compatibility.\n"
|
||||
|
@ -1177,8 +1205,8 @@ UniValue addmultisigaddress(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() < 2 || params.size() > 3)
|
||||
{
|
||||
string msg = "addmultisigaddress nrequired [\"key\",...] ( \"\" )\n"
|
||||
"\nAdd a nrequired-to-sign multisignature address to the wallet.\n"
|
||||
"Each key is a Zcash address or hex-encoded public key.\n"
|
||||
"\nAdd a nrequired-to-sign transparent multisignature address to the wallet.\n"
|
||||
"Each key is a transparent Zcash address or hex-encoded secp256k1 public key.\n"
|
||||
|
||||
"\nArguments:\n"
|
||||
"1. nrequired (numeric, required) The number of required signatures out of the n keys or addresses.\n"
|
||||
|
@ -1332,7 +1360,10 @@ UniValue listreceivedbyaddress(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 3)
|
||||
throw runtime_error(
|
||||
"listreceivedbyaddress ( minconf includeempty includeWatchonly)\n"
|
||||
"\nList balances by receiving address.\n"
|
||||
"\nList balances by transparent receiving address. This API does not provide\n"
|
||||
"any information for associated with shielded addresses and should only be used\n"
|
||||
"in circumstances where it is necessary to interoperate with legacy Bitcoin\n"
|
||||
"infrastructure.\n"
|
||||
"\nArguments:\n"
|
||||
"1. minconf (numeric, optional, default=1) The minimum number of confirmations before payments are included.\n"
|
||||
"2. includeempty (numeric, optional, default=false) Whether to include addresses that haven't received any payments.\n"
|
||||
|
@ -1342,7 +1373,7 @@ UniValue listreceivedbyaddress(const UniValue& params, bool fHelp)
|
|||
"[\n"
|
||||
" {\n"
|
||||
" \"involvesWatchonly\" : true, (bool) Only returned if imported addresses were involved in transaction\n"
|
||||
" \"address\" : \"receivingaddress\", (string) The receiving address\n"
|
||||
" \"address\" : \"receivingaddress\", (string) The receiving transparent address\n"
|
||||
" \"amount\" : x.xxx, (numeric) The total amount in " + CURRENCY_UNIT + " received by the address\n"
|
||||
" \"amountZat\" : xxxx (numeric) The amount in " + MINOR_CURRENCY_UNIT + "\n"
|
||||
" \"confirmations\" : n (numeric) The number of confirmations of the most recent transaction included\n"
|
||||
|
@ -1456,7 +1487,12 @@ UniValue listtransactions(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 4)
|
||||
throw runtime_error(
|
||||
"listtransactions ( \"dummy\" count from includeWatchonly)\n"
|
||||
"\nReturns up to 'count' most recent transactions skipping the first 'from' transactions.\n"
|
||||
"\nReturns up to 'count' of the most recent transactions associated with legacy transparent\n"
|
||||
"addresses of this wallet, skipping the first 'from' transactions.\n"
|
||||
"\nThis API does not provide any information about transactions containing shielded inputs\n"
|
||||
"or outputs, and should only be used in circumstances where it is necessary to interoperate\n"
|
||||
"with legacy Bitcoin infrastructure. Use z_listreceivedbyaddress to obtain information about\n"
|
||||
"the wallet's shielded transactions.\n"
|
||||
"\nArguments:\n"
|
||||
"1. (dummy) (string, optional) If set, should be \"*\" for backwards compatibility.\n"
|
||||
"2. count (numeric, optional, default=10) The number of transactions to return\n"
|
||||
|
@ -1664,7 +1700,7 @@ UniValue gettransaction(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() < 1 || params.size() > 2)
|
||||
throw runtime_error(
|
||||
"gettransaction \"txid\" ( includeWatchonly )\n"
|
||||
"\nGet detailed information about in-wallet transaction <txid>\n"
|
||||
"\nReturns detailed information about in-wallet transaction <txid>.\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"txid\" (string, required) The transaction id\n"
|
||||
"2. \"includeWatchonly\" (bool, optional, default=false) Whether to include watchonly addresses in balance calculation and details[]\n"
|
||||
|
@ -1799,7 +1835,8 @@ UniValue keypoolrefill(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"keypoolrefill ( newsize )\n"
|
||||
"\nFills the keypool."
|
||||
"\nFills the keypool associated with the legacy transparent value pool. This should only be\n"
|
||||
"used when interoperability with legacy Bitcoin infrastructure is required.\n"
|
||||
+ HelpRequiringPassphrase() + "\n"
|
||||
"\nArguments\n"
|
||||
"1. newsize (numeric, optional, default=100) The new keypool size\n"
|
||||
|
@ -1846,11 +1883,13 @@ UniValue walletpassphrase(const UniValue& params, bool fHelp)
|
|||
throw runtime_error(
|
||||
"walletpassphrase \"passphrase\" timeout\n"
|
||||
"\nStores the wallet decryption key in memory for 'timeout' seconds.\n"
|
||||
"This is needed prior to performing transactions related to private keys such as sending Zcash\n"
|
||||
"If the wallet is locked, this API must be invoked prior to performing operations\n"
|
||||
"that require the availability of private keys, such as sending Zcash.\n"
|
||||
"zcashd wallet encryption is experimental, and should be used with caution.\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"passphrase\" (string, required) The wallet passphrase\n"
|
||||
"2. timeout (numeric, required) The time to keep the decryption key in seconds.\n"
|
||||
"\nNote:\n"
|
||||
"\nNotes:\n"
|
||||
"Issuing the walletpassphrase command while the wallet is already unlocked will set a new unlock\n"
|
||||
"time that overrides the old one.\n"
|
||||
"\nExamples:\n"
|
||||
|
@ -2043,6 +2082,7 @@ UniValue encryptwallet(const UniValue& params, bool fHelp)
|
|||
"Use the walletpassphrase call for this, and then walletlock call.\n"
|
||||
"If the wallet is already encrypted, use the walletpassphrasechange call.\n"
|
||||
"Note that this will shutdown the server.\n"
|
||||
"Wallet encryption is experimental, and this API should be used with caution.\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"passphrase\" (string) The pass phrase to encrypt the wallet with. It must be at least 1 character, but should be long.\n"
|
||||
"\nExamples:\n"
|
||||
|
@ -2098,7 +2138,7 @@ UniValue lockunspent(const UniValue& params, bool fHelp)
|
|||
throw runtime_error(
|
||||
"lockunspent unlock [{\"txid\":\"txid\",\"vout\":n},...]\n"
|
||||
"\nUpdates list of temporarily unspendable outputs.\n"
|
||||
"Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs.\n"
|
||||
"Temporarily lock (unlock=false) or unlock (unlock=true) specified transparent transaction outputs.\n"
|
||||
"A locked transaction output will not be chosen by automatic coin selection, when spending Zcash.\n"
|
||||
"Locks are stored in memory only. Nodes start with zero locked outputs, and the locked output list\n"
|
||||
"is always cleared (by virtue of process exit) when a node stops or fails.\n"
|
||||
|
@ -2181,7 +2221,7 @@ UniValue listlockunspent(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 0)
|
||||
throw runtime_error(
|
||||
"listlockunspent\n"
|
||||
"\nReturns list of temporarily unspendable outputs.\n"
|
||||
"\nReturns list of temporarily unspendable transparent outputs.\n"
|
||||
"See the lockunspent call to lock and unlock transactions for spending.\n"
|
||||
"\nResult:\n"
|
||||
"[\n"
|
||||
|
@ -2259,7 +2299,7 @@ UniValue getwalletinfo(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() != 0)
|
||||
throw runtime_error(
|
||||
"getwalletinfo\n"
|
||||
"Returns an object containing various wallet state info.\n"
|
||||
"Returns wallet state information.\n"
|
||||
"\nResult:\n"
|
||||
"{\n"
|
||||
" \"walletversion\": xxxxx, (numeric) the wallet version\n"
|
||||
|
@ -2343,11 +2383,10 @@ UniValue listunspent(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 3)
|
||||
throw runtime_error(
|
||||
"listunspent ( minconf maxconf [\"address\",...] )\n"
|
||||
"\nReturns array of unspent transaction outputs\n"
|
||||
"with between minconf and maxconf (inclusive) confirmations.\n"
|
||||
"Optionally filter to only include txouts paid to specified addresses.\n"
|
||||
"Results are an array of Objects, each of which has:\n"
|
||||
"{txid, vout, scriptPubKey, amount, confirmations}\n"
|
||||
"\nReturns array of unspent transparent transaction outputs with between minconf and\n"
|
||||
"maxconf (inclusive) confirmations. Use `z_listunspent` instead to see information\n"
|
||||
"related to unspent shielded notes. Results may be optionally filtered to only include\n"
|
||||
"txouts paid to specified addresses.\n"
|
||||
"\nArguments:\n"
|
||||
"1. minconf (numeric, optional, default=1) The minimum confirmations to filter\n"
|
||||
"2. maxconf (numeric, optional, default=9999999) The maximum confirmations to filter\n"
|
||||
|
@ -2456,9 +2495,11 @@ UniValue z_listunspent(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 4)
|
||||
throw runtime_error(
|
||||
"z_listunspent ( minconf maxconf includeWatchonly [\"zaddr\",...] )\n"
|
||||
"\nReturns array of unspent shielded notes with between minconf and maxconf (inclusive) confirmations.\n"
|
||||
"Optionally filter to only include notes sent to specified addresses.\n"
|
||||
"When minconf is 0, unspent notes with zero confirmations are returned, even though they are not immediately spendable.\n"
|
||||
"\nReturns an array of unspent shielded notes with between minconf and maxconf (inclusive)\n"
|
||||
"confirmations. Results may be optionally filtered to only include notes sent to specified\n"
|
||||
"addresses.\n"
|
||||
"When minconf is 0, unspent notes with zero confirmations are returned, even though they are\n"
|
||||
"not immediately spendable.\n"
|
||||
"\nArguments:\n"
|
||||
"1. minconf (numeric, optional, default=1) The minimum confirmations to filter\n"
|
||||
"2. maxconf (numeric, optional, default=9999999) The maximum confirmations to filter\n"
|
||||
|
@ -2663,35 +2704,35 @@ UniValue fundrawtransaction(const UniValue& params, bool fHelp)
|
|||
|
||||
if (fHelp || params.size() < 1 || params.size() > 2)
|
||||
throw runtime_error(
|
||||
"fundrawtransaction \"hexstring\" includeWatching\n"
|
||||
"\nAdd inputs to a transaction until it has enough in value to meet its out value.\n"
|
||||
"This will not modify existing inputs, and will add one change output to the outputs.\n"
|
||||
"Note that inputs which were signed may need to be resigned after completion since in/outputs have been added.\n"
|
||||
"The inputs added will not be signed, use signrawtransaction for that.\n"
|
||||
"Note that all existing inputs must have their previous output transaction be in the wallet.\n"
|
||||
"Note that all inputs selected must be of standard form and P2SH scripts must be"
|
||||
"in the wallet using importaddress or addmultisigaddress (to calculate fees).\n"
|
||||
"Only pay-to-pubkey, multisig, and P2SH versions thereof are currently supported for watch-only\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"hexstring\" (string, required) The hex string of the raw transaction\n"
|
||||
"2. includeWatching (boolean, optional, default false) Also select inputs which are watch only\n"
|
||||
"\nResult:\n"
|
||||
"{\n"
|
||||
" \"hex\": \"value\", (string) The resulting raw transaction (hex-encoded string)\n"
|
||||
" \"fee\": n, (numeric) The fee added to the transaction\n"
|
||||
" \"changepos\": n (numeric) The position of the added change output, or -1\n"
|
||||
"}\n"
|
||||
"\"hex\" \n"
|
||||
"\nExamples:\n"
|
||||
"\nCreate a transaction with no inputs\n"
|
||||
+ HelpExampleCli("createrawtransaction", "\"[]\" \"{\\\"myaddress\\\":0.01}\"") +
|
||||
"\nAdd sufficient unsigned inputs to meet the output value\n"
|
||||
+ HelpExampleCli("fundrawtransaction", "\"rawtransactionhex\"") +
|
||||
"\nSign the transaction\n"
|
||||
+ HelpExampleCli("signrawtransaction", "\"fundedtransactionhex\"") +
|
||||
"\nSend the transaction\n"
|
||||
+ HelpExampleCli("sendrawtransaction", "\"signedtransactionhex\"")
|
||||
);
|
||||
"fundrawtransaction \"hexstring\" includeWatching\n"
|
||||
"\nAdd transparent inputs to a transaction until it has enough in value to meet its out value.\n"
|
||||
"This will not modify existing inputs, and will add one change output to the outputs.\n"
|
||||
"Note that inputs which were signed may need to be resigned after completion since in/outputs have been added.\n"
|
||||
"The inputs added will not be signed, use signrawtransaction for that.\n"
|
||||
"Note that all existing inputs must have their previous output transaction be in the wallet.\n"
|
||||
"Note that all inputs selected must be of standard form and P2SH scripts must be"
|
||||
"in the wallet using importaddress or addmultisigaddress (to calculate fees).\n"
|
||||
"Only pay-to-pubkey, multisig, and P2SH versions thereof are currently supported for watch-only\n"
|
||||
"\nArguments:\n"
|
||||
"1. \"hexstring\" (string, required) The hex string of the raw transaction\n"
|
||||
"2. includeWatching (boolean, optional, default false) Also select inputs which are watch only\n"
|
||||
"\nResult:\n"
|
||||
"{\n"
|
||||
" \"hex\": \"value\", (string) The resulting raw transaction (hex-encoded string)\n"
|
||||
" \"fee\": n, (numeric) The fee added to the transaction\n"
|
||||
" \"changepos\": n (numeric) The position of the added change output, or -1\n"
|
||||
"}\n"
|
||||
"\"hex\" \n"
|
||||
"\nExamples:\n"
|
||||
"\nCreate a transaction with no inputs\n"
|
||||
+ HelpExampleCli("createrawtransaction", "\"[]\" \"{\\\"myaddress\\\":0.01}\"") +
|
||||
"\nAdd sufficient unsigned inputs to meet the output value\n"
|
||||
+ HelpExampleCli("fundrawtransaction", "\"rawtransactionhex\"") +
|
||||
"\nSign the transaction\n"
|
||||
+ HelpExampleCli("signrawtransaction", "\"fundedtransactionhex\"") +
|
||||
"\nSend the transaction\n"
|
||||
+ HelpExampleCli("sendrawtransaction", "\"signedtransactionhex\"")
|
||||
);
|
||||
|
||||
RPCTypeCheck(params, boost::assign::list_of(UniValue::VSTR)(UniValue::VBOOL));
|
||||
|
||||
|
@ -3510,7 +3551,7 @@ UniValue z_listaccounts(const UniValue& params, bool fHelp)
|
|||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"z_listaccounts\n"
|
||||
"\nReturns the list of accounts created through z_getnewaccount.\n"
|
||||
"\nReturns the list of accounts created with z_getnewaccount.\n"
|
||||
"\nResult:\n"
|
||||
"[\n"
|
||||
" {\n"
|
||||
|
@ -3573,10 +3614,17 @@ UniValue z_listaddresses(const UniValue& params, bool fHelp)
|
|||
if (!EnsureWalletIsAvailable(fHelp))
|
||||
return NullUniValue;
|
||||
|
||||
if (!fEnableZListAddresses)
|
||||
throw runtime_error(
|
||||
"z_listaddresses is DEPRECATED and will be removed in a future release\n"
|
||||
"\nUse listaddresses or restart with `-allowdeprecated=z_listaddresses`\n"
|
||||
"if you require backward compatibility.\n"
|
||||
"See https://zcash.github.io/zcash/user/deprecation.html for more information.");
|
||||
|
||||
if (fHelp || params.size() > 1)
|
||||
throw runtime_error(
|
||||
"z_listaddresses ( includeWatchonly )\n"
|
||||
"\nDEPRECATED\n"
|
||||
"\nDEPRECATED. Use `listaddresses` instead.\n"
|
||||
"\nReturns the list of shielded addresses belonging to the wallet.\n"
|
||||
"\nThis never returns Unified Addresses; see 'listaddresses' for them.\n"
|
||||
"\nArguments:\n"
|
||||
|
@ -4010,10 +4058,19 @@ UniValue z_getbalance(const UniValue& params, bool fHelp)
|
|||
if (!EnsureWalletIsAvailable(fHelp))
|
||||
return NullUniValue;
|
||||
|
||||
if (!fEnableZGetBalance)
|
||||
throw runtime_error(
|
||||
"z_getbalance is DEPRECATED and will be removed in a future release\n\n"
|
||||
"Use z_getbalanceforaccount, z_getbalanceforviewingkey, or getbalance (for\n"
|
||||
"legacy transparent balance) instead, or restart with `-allowdeprecated=z_getbalance`\n"
|
||||
"if you require backward compatibility.\n"
|
||||
"See https://zcash.github.io/zcash/user/deprecation.html for more information.");
|
||||
|
||||
if (fHelp || params.size() == 0 || params.size() > 3)
|
||||
throw runtime_error(
|
||||
"z_getbalance \"address\" ( minconf inZat )\n"
|
||||
"\nDEPRECATED; please use z_getbalanceforviewingkey instead.`\n"
|
||||
"\nDEPRECATED; please use z_getbalanceforaccount, z_getbalanceforviewingkey,\n"
|
||||
"or getbalance (for legacy transparent balance) instead.\n"
|
||||
"\nReturns the balance of a taddr or zaddr belonging to the node's wallet.\n"
|
||||
"\nCAUTION: If the wallet has only an incoming viewing key for this address, then spends cannot be"
|
||||
"\ndetected, and so the returned balance may be larger than the actual balance."
|
||||
|
@ -4312,10 +4369,17 @@ UniValue z_gettotalbalance(const UniValue& params, bool fHelp)
|
|||
if (!EnsureWalletIsAvailable(fHelp))
|
||||
return NullUniValue;
|
||||
|
||||
if (!fEnableZGetTotalBalance)
|
||||
throw runtime_error(
|
||||
"z_gettotalbalance is DEPRECATED and will be removed in a future release\n\n"
|
||||
"Use z_getbalanceforaccount, or getbalance (for legacy transparent balance) instead, or\n"
|
||||
"restart with `-allowdeprecated=z_gettotalbalance if you require backward compatibility.\n"
|
||||
"See https://zcash.github.io/zcash/user/deprecation.html for more information.");
|
||||
|
||||
if (fHelp || params.size() > 2)
|
||||
throw runtime_error(
|
||||
"z_gettotalbalance ( minconf includeWatchonly )\n"
|
||||
"\nDEPRECATED. Please use the z_getbalanceforaccount RPC instead.\n"
|
||||
"\nDEPRECATED. Please use z_getbalanceforaccount or getbalance (for legacy transparent balance) instead.\n"
|
||||
"\nReturn the total value of funds stored in the node's wallet.\n"
|
||||
"\nCAUTION: If the wallet contains any addresses for which it only has incoming viewing keys,"
|
||||
"\nthe returned private balance may be larger than the actual balance, because spends cannot"
|
||||
|
|
Loading…
Reference in New Issue