Commit Graph

112 Commits

Author SHA1 Message Date
Duke
e033a2e6eb Update copyrights to 2023 2023-02-09 18:06:03 -05:00
Jonathan "Duke" Leto
5d2307a709 Update copyrights to 2022 2022-09-19 15:45:30 -07:00
Duke Leto
4a536d62dc Update copyrights 2021-04-17 13:03:22 -04:00
Duke Leto
b58c15b9fb update copyrights 2020-12-10 07:45:36 -05:00
Duke Leto
a42c063b52 Remove more remnants of JoinSplits 2020-12-08 19:49:42 -05:00
Duke Leto
8a5130713d Hush them headers 2020-12-04 09:49:56 -05:00
Duke Leto
be16f80abc Hush Full Node is now GPLv3
Any projects which want to use Hush code from now on will need to be licensed as
GPLv3 or we will send the lawyers: https://www.softwarefreedom.org/

Notably, Komodo (KMD) is licensed as GPLv2 and is no longer compatible to receive
code changes, without causing legal issues. MIT projects, such as Zcash, also cannot pull
in changes from the Hush Full Node without permission from The Hush Developers,
which may in some circumstances grant an MIT license on a case-by-case basis.
2020-10-21 07:28:10 -04:00
Duke Leto
a7f88a87aa Update copyright URL to be https 2020-09-20 13:17:38 -04:00
Duke Leto
b0ea67d5be desprout 2020-06-07 16:10:49 -04:00
Duke Leto
b32bf1f82c Revert "desprout"
This reverts commit 7c6c7150c6.
2020-06-04 21:51:21 -04:00
Duke Leto
7c6c7150c6 desprout 2020-06-03 22:20:10 -04:00
Duke Leto
89bbd48eae More libsnark removal changes to various internals 2020-01-24 12:30:58 -05:00
Duke Leto
c6de8f850c Revert "Raw transaction updates"
This reverts commit 1f1e2ebf04.
2020-01-24 07:29:49 -05:00
Duke Leto
1f1e2ebf04 Raw transaction updates 2020-01-24 07:20:06 -05:00
Duke Leto
4d965f53eb A bunch more libsnark deletions/updates 2020-01-24 06:32:13 -05:00
Duke Leto
f39cd2a473 Delete Verus junk, which breaks ARMv8/aarch64 builds 2019-11-04 08:17:27 -05:00
Mihailo Milenkovic
1f013df156 Initial PegsCC implementation (#27) 2019-07-04 11:23:55 +02:00
jl777
0ea9ae3c05 Update copyright to 2019 2018-12-31 21:41:05 -11:00
miketout
9feb4b9e08 Major updates integration from all upstreams 2018-09-18 14:33:53 -07:00
Michael Toutonghi
5034d1c134 Sync with latest Komodo changes 2018-08-06 12:52:22 -07:00
Eirik Ogilvie-Wigley
00ed92343d Add out point for sapling note data 2018-07-25 20:47:40 -07:00
Michael Toutonghi
503bd93fa8 Differentiate raw POSHash from full one adjusted by vout value 2018-07-19 01:02:54 -07:00
Michael Toutonghi
c5325a3256 PoS improvements 2018-07-18 17:42:15 -07:00
jl777
ae4dbe22bb tx.GetJoinSplitValueOut() 2018-07-12 00:58:25 -11:00
Michael Toutonghi
4dcb64c081 Radical hash rate optimization 2018-06-26 07:39:50 -07:00
Michael Toutonghi
fa733d13fa Use portable hash for staking 2018-06-17 14:58:06 -07:00
Sean Bowe
90073aeca5 Swap types in OutputDescription to use new NoteEncryption interfaces. 2018-06-14 12:08:37 -06:00
Ariel Gabizon
e1a3461cc2 Improve/Fix variable names
ZCProof was too general. pubKeyHash was actually the JoinSplit pubkey
itself.
2018-06-09 20:27:35 -07:00
Jack Grigg
a6bbb26e08 Replace boost::array with std::array 2018-05-26 00:12:57 +12:00
Michael Toutonghi
1fae37f6bf Working proof of stake with new algorithm 2018-05-15 00:54:18 -07:00
Sean Bowe
b7a6c32178 Integrate Groth16 verification and proving. 2018-05-14 16:26:23 -06:00
Michael Toutonghi
1f722359c1 Verus Proof of Stake Compete with Additional ant-fork protection on block 1 2018-05-13 18:59:06 -07:00
Jack Grigg
0fe0ca7948 Add contextual comment for GetValueOut() and GetShieldedValueIn() 2018-05-10 09:34:19 -04:00
Jack Grigg
97b46f00cc Add valueBalance to value balances, and enforce its consensus rules 2018-05-09 11:34:41 +01:00
miketout
e980a26ddd Enable time locked coin bases to be used as normal coinbase transactions with longer maturity, fix max_money 2018-05-04 16:33:34 -07:00
Scott Sadler
3c7604133e tombstone for import 2018-04-29 00:37:22 -03:00
Scott Sadler
0cb91a8d20 wip 2018-04-29 00:34:57 -03:00
Jack Grigg
b1608eed82 Add a constant for Overwinter's transaction version 2018-04-23 20:39:04 +01:00
Jack Grigg
b4f7174a88 Implement SpendDescription and OutputDescription datastructures
Co-authored-by: George Tankersley <george@z.cash>
2018-04-23 20:39:00 +01:00
Jack Grigg
72540cee4a Add Sapling v4 transactions to IsStandard 2018-04-19 16:25:04 +01:00
Jack Grigg
b7e75b17af Implement basic Sapling v4 transaction parser
Details of Sapling datatypes will be filled in later; for now, they are treated
as binary blobs.

Includes code cherry-picked from upstream commit:
    7030d9eb47254499bba14f1c00abc6bf493efd91
    BIP144: Serialization, hashes, relay (sender side)
2018-04-19 05:01:47 +01:00
Jack Grigg
987b8ee60e Adjust consensus rules to require v4 transactions from Sapling activation 2018-04-19 05:01:47 +01:00
Pieter Wuille
c7d71985c9 Add deserializing constructors to CTransaction and CMutableTransaction 2018-04-17 13:29:51 +01:00
Jack Grigg
68a1a592ca Remove nType and nVersion from Zcash-specific code 2018-04-17 13:09:47 +01:00
Pieter Wuille
242f1421db Get rid of nType and nVersion
Remove the nType and nVersion as parameters to all serialization methods
and functions. There is only one place where it's read and has an impact
(in CAddress), and even there it does not impact any of the recursively
invoked serializers.

Instead, the few places that need nType or nVersion are changed to read
it directly from the stream object, through GetType() and GetVersion()
methods which are added to all stream classes.
2018-04-17 13:09:28 +01:00
Pieter Wuille
b8a6579366 Make GetSerializeSize a wrapper on top of CSizeComputer
Given that in default GetSerializeSize implementations created by
ADD_SERIALIZE_METHODS we're already using CSizeComputer(), get rid
of the specialized GetSerializeSize methods everywhere, and just use
CSizeComputer. This removes a lot of code which isn't actually used
anywhere.

For CCompactSize and CVarInt this actually removes a more efficient
size computing algorithm, which is brought back in a later commit.
2018-04-16 07:38:38 -06:00
Pieter Wuille
29a8ade782 Prevector type 2018-04-16 07:38:36 -06:00
jl777
9000990c30 Merge remote-tracking branch 'zcash/master' into rebase2
# Conflicts:
#	.travis.yml
#	Makefile.am
#	README.md
#	configure.ac
#	depends/Makefile
#	depends/builders/darwin.mk
#	depends/funcs.mk
#	depends/hosts/darwin.mk
#	depends/packages/googlemock.mk
#	depends/packages/googletest.mk
#	depends/packages/libsnark.mk
#	depends/packages/libsodium.mk
#	depends/packages/packages.mk
#	depends/packages/rust.mk
#	src/Makefile.am
#	src/Makefile.gtest.include
#	src/chainparams.cpp
#	src/chainparams.h
#	src/checkpoints.h
#	src/clientversion.h
#	src/coins.cpp
#	src/consensus/consensus.h
#	src/gtest/test_mempool.cpp
#	src/httprpc.cpp
#	src/init.cpp
#	src/komodo-tx.cpp
#	src/main.cpp
#	src/miner.cpp
#	src/policy/fees.cpp
#	src/policy/fees.h
#	src/rpcmining.cpp
#	src/rpcrawtransaction.cpp
#	src/rpcserver.cpp
#	src/test/policyestimator_tests.cpp
#	src/test/rpc_wallet_tests.cpp
#	src/test/transaction_tests.cpp
#	src/txdb.cpp
#	src/txmempool.cpp
#	src/wallet/asyncrpcoperation_sendmany.cpp
#	src/wallet/rpcwallet.cpp
#	src/wallet/wallet.cpp
#	src/wallet/wallet.h
#	src/zcash/CreateJoinSplit.cpp
#	zcutil/build.sh
2018-03-25 18:44:38 +03:00
Jay Graber
9bb37bf0d5 Implement transaction expiry for Overwinter 2018-02-23 00:12:03 -08:00
Ariel
7245f32835 update SignatureHash according to Overwinter spec
with help from str4d
2018-02-20 04:22:21 +00:00