Henry de Valence
0a1878d9c3
chain: add docs about transaction and block hashes.
2020-09-04 17:08:41 -04:00
Henry de Valence
2a50298b2e
chain: add transaction hash test.
2020-09-04 17:08:41 -04:00
Henry de Valence
ca4a5ce30c
chain: add Transaction::hash() method.
...
This makes Transaction and Block have a consistent API.
2020-09-04 17:08:41 -04:00
Jane Lusby
96c8809348
Implement Inventory Tracking RFC ( #963 )
...
* Add .cargo to the gitignore file
* Implement Inventory Tracking RFC
* checkpoint
* wire together the inventory registry
* add comment documenting condition
* make inventory registry optional
2020-09-01 14:28:54 -07:00
Henry de Valence
3ed967bcf8
deps: use x25519-dalek's new PartialEq, Eq methods
2020-08-31 13:30:14 -07:00
dependabot[bot]
f7fe7b9053
build(deps): bump secp256k1 from 0.17.2 to 0.19.0
...
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1 ) from 0.17.2 to 0.19.0.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases )
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.17.2...secp256k1-0.19.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-08-28 17:09:39 -04:00
Deirdre Connolly
447398691a
Make SaplingNoteCommitmentTree private for now
2020-08-28 04:46:31 -04:00
Deirdre Connolly
b467a75e08
Rename tree::*NoteTreeRootHash to tree::Root
2020-08-28 04:46:31 -04:00
Deirdre Connolly
31d98248ab
Expose note types and make note modules private
2020-08-28 04:46:31 -04:00
Deirdre Connolly
d795b8bfd9
Add memo to Note, remove NotePlaintext
2020-08-28 04:46:31 -04:00
Deirdre Connolly
5258e891dc
Rename sapling::note::OutCiphertext to WrappedNoteKey
2020-08-28 04:46:31 -04:00
Deirdre Connolly
cfc60936ce
Little more detail to sapling::note::EncryptedNote docstring
2020-08-28 04:46:31 -04:00
Deirdre Connolly
d6eecbe935
Rename Sprout EncyptedCiphertext to EncryptedNote
2020-08-28 04:46:31 -04:00
Deirdre Connolly
99b4a400af
Make find_group_hash() pub(super)
2020-08-28 04:46:31 -04:00
Deirdre Connolly
7a92496244
Make RANDOMNESS_BEACON_URS pub(super)
2020-08-28 04:46:31 -04:00
Deirdre Connolly
c027cfc0d2
Rename SaplingShieldedAddress to Address, make address & commitment private, export their structs
2020-08-28 04:46:31 -04:00
Deirdre Connolly
df89a049cb
Rename EncryptedCiphertext to EncryptedNote
2020-08-28 04:46:31 -04:00
dependabot[bot]
8e9019a847
build(deps): bump jubjub from 0.3.0 to 0.4.0
...
Bumps [jubjub](https://github.com/zkcrypto/jubjub ) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/zkcrypto/jubjub/releases )
- [Changelog](https://github.com/zkcrypto/jubjub/blob/master/RELEASES.md )
- [Commits](https://github.com/zkcrypto/jubjub/commits )
Signed-off-by: dependabot[bot] <support@github.com>
2020-08-25 17:35:54 -04:00
Ramana Venkata
e90137e79b
Update sha2@0.9.1 ( #938 )
...
* Update sha2@0.9.1
Fixes #915
* Update zebra-chain/src/sprout/keys.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
* Update zebra-chain/src/sprout/note/nullifiers.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-21 16:26:14 -07:00
teor
9a8af731b1
fix: Remove redundant ConsensusBranchId constants
2020-08-20 14:52:09 -04:00
Jane Lusby
1d6183ef84
Make zebra-script wrap the C++ script implementation in zcashconsensus ( #708 )
...
* attempt to use zcashconsensus crate in zebra-script
* boop
* update verify fn to use zebra types
* a bit more cleanup
* cleanup
* more
* beep boop
* fix renamed member
* cleaning
* get a real branch id
* remove as of yet unneeded api
* Update zebra-chain/src/transaction.rs
* Update zebra-chain/src/transaction.rs
* more cleanup
* oops wrong dep section
* use a tuple to communicate arg association
* update to use published version of zcash_script
* fix new compiler error
* install llvm on windows
* fix bindgen bug????
* try to get docker file to win
* okay try everything
* fix windows build maybe
* always download choco
* fix paths for moved types
* try a different error message
* try convenience script
* try installing just llvm
* add back one more
* try installing some headers
* try a diff package
* try everything
* remove the minimum
* try newer docker builder image
* cleanup docker image
* cleanup extra ci step
2020-08-18 11:08:53 -07:00
Alfredo Garcia
4dac4d4df7
move `is_coinbase_first` from chain to consensus
2020-08-18 11:03:40 -07:00
Henry de Valence
d63562994d
deps: Update x25519-dalek, ed25519-zebra
2020-08-17 20:47:48 -07:00
Henry de Valence
8e15c16b42
chain: TransparentAddress -> transparent::Address
2020-08-17 11:46:34 -07:00
Henry de Valence
ebdceb5197
chain: rename TransactionHash to transaction::Hash
2020-08-17 11:46:34 -07:00
Henry de Valence
d49d3d2b30
chain: tweak docs for JoinSplitData, ShieldedData
2020-08-17 11:46:34 -07:00
Henry de Valence
5c176d2f96
chain: move JoinSplit to sprout
2020-08-17 11:46:34 -07:00
Henry de Valence
1fc859d0c5
chain: move Spend, Output into sapling
...
The ShieldedData container for the spend and output descriptions of a
transaction does *not* move, because it's encoding transaction
structure. A good sign that this is the right factoring is that the
transaction module now only needs to pull in sapling::{Spend, Output}
and not all the internals.
2020-08-17 11:46:34 -07:00
Henry de Valence
d945cd28e8
chain: move Transparent{Input,Output} to transparent
...
Also bring the `Script` type there too.
2020-08-17 11:46:34 -07:00
Deirdre Connolly
25f63518f4
Allow clippy::unit_arg because of derive(Arbitrary)
2020-08-17 11:46:34 -07:00
Henry de Valence
d57390d265
chain: doc tweaks (mostly block::)
2020-08-17 11:46:34 -07:00
Henry de Valence
94d6d448bb
chain: rename to block::merkle::{Root, Tree}.
2020-08-17 11:46:34 -07:00
Henry de Valence
2712c4b72a
chain: rename BlockHeader to block::Header
2020-08-17 11:46:34 -07:00
Henry de Valence
103b663c40
chain: rename BlockHeight to block::Height
2020-08-17 11:46:34 -07:00
Henry de Valence
61dea90e2f
chain: rename BlockHeaderHash to block::Hash
...
This is the first in a sequence of changes that change the block:: items
to not include Block as a prefix in their name, in accordance with the
Rust API guidelines.
2020-08-17 11:46:34 -07:00
Henry de Valence
04ba696515
chain: remove block::block
2020-08-17 11:46:34 -07:00
Henry de Valence
9766d32fa6
chain: touch up amount docs
2020-08-17 11:46:34 -07:00
Henry de Valence
d0ee7a9961
chain: amount::AmountConstraint -> amount::Constraint
2020-08-17 11:46:34 -07:00
Henry de Valence
fd548592bf
chain: remove clippy::try_error annotation
2020-08-17 11:46:34 -07:00
Henry de Valence
dcc1e19129
chain: touch up docs
2020-08-17 11:46:34 -07:00
Henry de Valence
ce1e81b274
chain: move merkle_tree to block::merkle.
...
This Merkle tree is the SHA256d one used only for including transactions
in a block, so it should be kept there in order to not be confused with
other Merkle trees (like the note commitment trees).
2020-08-17 11:46:34 -07:00
Henry de Valence
7298e7c636
chain: create a transparent module.
2020-08-17 11:46:34 -07:00
Henry de Valence
e8f923ec86
chain: move Memo into transaction
2020-08-17 11:46:34 -07:00
Henry de Valence
312c66264a
chain: extract sprout code into sprout module.
2020-08-17 11:46:34 -07:00
Henry de Valence
e06f59ee21
chain: extract sapling code to sapling module
2020-08-17 11:46:34 -07:00
Henry de Valence
c5a8cb0c91
chain: create primitives module.
...
This contains definitions of primitive types used in other structures
and re-exports of component libraries.
2020-08-17 11:46:34 -07:00
Henry de Valence
196e841cd9
chain: rename LightClientRootHash to RootHash
...
It's not accurate to call it a LightClientRootHash, because it's not
always a root has for a light client -- sometimes it's a different kind
of root hash.
2020-08-17 11:46:34 -07:00
Henry de Valence
b296d1e2a3
chain: move Block into a leaf module.
...
This might make things a little easier to rearrange. In the future it
would probably be good to change to block::Hash, block::Header, etc.
2020-08-17 11:46:34 -07:00
Henry de Valence
948b067808
chain: move Network, NetworkUpgrade to parameters
...
Also, avoid using star-imports of the enum variants, which pollutes the
namespace.
2020-08-17 11:46:34 -07:00
Henry de Valence
64d9d55992
chain: organize block tests
...
This moves the tests::generate module into the block tests. Because
this whole set of changes is just focused on reorganization, the
generate code is unchanged, but in the future, the code should be
rewritten as a collection of proptest strategies.
2020-08-17 11:46:34 -07:00