Kris Nuttycombe
3eec6f8faa
Add get_balance, get_verified_balance to data api.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
70de11dd32
Add address retrieval.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
b72251ee28
Add accounts table initialization.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
724fbac33a
Add database initialization implementation.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
f3f3512068
Move get_target_and_anchor_heights to data_api.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
9874abfd6c
Implement chain validation & fix doctests.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
a437df191e
Initial skeleton of low-level database access API.
2020-12-02 09:46:17 -07:00
Jack Grigg
0bbcd8c408
Remove unnecessary imports
2020-10-30 13:22:46 +00:00
Kris Nuttycombe
b1c3f9d3f0
ZIP 321 Reference Implementation ( #294 )
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-10-15 14:03:40 +01:00
Kris Nuttycombe
a0a36eddfd
Merge remote-tracking branch 'upstream/master' into zip-tzes
...
Fix benchmark build issues.
2020-09-21 16:43:33 -06:00
Kris Nuttycombe
ab2d5bf603
Merge remote-tracking branch 'upstream/master' into zip-tzes
2020-09-21 10:08:05 -06:00
str4d
e0587e752b
Merge pull request #290 from str4d/273-remove-decryption-epk-subgroup-check
...
Take epk as a jubjub::ExtendedPoint for note decryption
2020-09-22 03:05:35 +12:00
Kris Nuttycombe
c7c39964ec
Use block.height() method instead of .into()
2020-09-18 10:55:29 -06:00
Kris Nuttycombe
90d8980162
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2020-09-18 10:39:37 -06:00
Kris Nuttycombe
1ad9294933
Remove static determination of network state.
...
In the interest of making the library usable for both
testnet and mainnet without recompilation, static resolution
of network parameters has been replaced with a parameter passed
to the relevant functions. This also moves addres prefix constants
into the network parameters.
2020-09-17 10:34:42 -06:00
Kris Nuttycombe
efaba87681
Add newtype for block height.
2020-09-17 10:26:41 -06:00
Kris Nuttycombe
4bf6309c54
Update to non-yanked version of subtle crate.
2020-09-10 14:52:47 -06:00
Jack Grigg
192db29a25
Take epk as a jubjub::ExtendedPoint for note decryption
...
We don't need to check if epk is in the prime-order subgroup before we
trial-decrypt, which saves a third of the cost of trial-decrypting
outputs that are not ours.
2020-09-10 00:39:21 +01:00
Sean Bowe
d4cba74402
Version bump 0.4.0 for crates
...
Bumps zcash_proofs, zcash_primitives, zcash_client_backend to 0.4.0
Also bumps zcash_client_sqlite to 0.2.0
2020-09-09 14:41:19 -06:00
ebfull
c7e9523dce
Merge pull request #284 from str4d/259-ovk-none
...
zcash_primitives: Support ovk = ⊥ in note encryption
2020-09-09 14:32:57 -06:00
Jack Grigg
59e26a0c0f
bls12_381 0.3.1 and jubjub 0.5.1
2020-09-09 16:51:53 +01:00
Jack Grigg
46f17bd624
Bump protobuf dependencies
...
MSRV is now 1.44.1.
2020-09-09 00:32:16 +01:00
Jack Grigg
96bd59b942
Migrate to ff 0.8 and bellman 0.8
...
bellman 0.8 includes fixes for several performance regressions.
MSRV is now 1.44.0, matching the ff crate.
2020-09-09 00:27:51 +01:00
Jack Grigg
40e135783c
zcash_primitives: Support ovk = ⊥ in note encryption
...
Closes zcash/librustzcash#259 .
2020-08-28 21:17:16 +01:00
Jack Grigg
3f06d92eec
Depend on published versions of subtree crates
2020-08-27 23:25:20 +01:00
Jack Grigg
0a3752c088
zcash_client_backend 0.3.0
2020-08-23 16:23:53 +01:00
Jack Grigg
e25a7dacdf
zcash_primitives 0.3.0
2020-08-23 16:23:53 +01:00
Jack Grigg
d112add8a3
jubjub 0.4.0
2020-08-23 16:23:53 +01:00
Jack Grigg
5f99c52143
bls12_381 0.2.0
2020-08-23 16:23:53 +01:00
Jack Grigg
bdb42bcbc8
pairing 0.17.0
2020-08-23 15:31:09 +01:00
Jack Grigg
ee3e8fbfbb
group 0.7.0
2020-08-23 15:31:09 +01:00
Jack Grigg
55fa366730
ff 0.7.0
2020-08-23 15:31:09 +01:00
Jack Grigg
d15acf8acc
zcash_primitives: Rename Note::cm to Note::cmu
2020-08-21 18:35:04 +01:00
Jack Grigg
fdf06032e3
s/{pairing::bls12_381, zcash_primitives::jubjub}/{bls12_381, jubjub}
...
FINALLY.
2020-08-19 23:08:19 +01:00
Jack Grigg
bc8a839c61
Migrate to hex 0.4
2020-08-14 17:44:17 +01:00
therealyingtong
c3d89644e2
Revert SaplingNoteEncryption::new() API to take rng instead of esk
2020-08-06 12:47:35 +08:00
therealyingtong
4f22077cf6
Remove const activation heights from consensus.rs
2020-08-06 12:30:48 +08:00
therealyingtong
9970a8aefd
Hard-code NetworkUpgrade::Canopy in generate_random_rseed
2020-08-06 12:27:20 +08:00
therealyingtong
88072d64ec
Remove network cfg from zcash_client_backend and zcash_primitives
2020-08-06 11:35:05 +08:00
therealyingtong
2ed9b6f881
Refactor contextual random rseed generation into util method in zcash_primitives
2020-08-05 15:21:42 +08:00
therealyingtong
a25348dfba
Revert passing Parameters to methods
2020-08-05 12:47:29 +08:00
therealyingtong
74b2f0a79e
Pass height to decrypt_transaction()
2020-08-04 21:05:29 +08:00
therealyingtong
895e251793
Fix tests
2020-07-31 22:40:48 +08:00
therealyingtong
b537f0f712
Pass height to methods which encrypt or decrypt Sapling outputs
2020-07-31 12:39:39 +08:00
Jack Grigg
b1a2e8172d
zcash_client_backend: Add account to DecryptedOutput
2020-06-25 18:54:41 +12:00
Jack Grigg
5ff81049b4
Pin protobuf 2.14 until our MSRV passes 1.44.1
2020-06-24 19:45:27 +12:00
str4d
121231199c
Merge pull request #205 from str4d/taddr-encoding
...
Implement TransparentAddress encoding and decoding
2020-05-23 12:22:01 +12:00
Jack Grigg
2892cf94c1
Migrate to protobuf-codegen-pure 2.14
2020-05-22 18:55:46 +12:00
Jack Grigg
c597db59a6
ff: Rename PrimeField::into_repr -> PrimeField::to_repr
2020-05-02 18:55:13 +12:00
Jack Grigg
49f119fb03
ff: Remove PrimeFieldRepr trait
...
The ff::PrimeField::Repr associated type now has the minimal necessary
bounds, which can be satisfied by a newtype around a byte array.
2020-04-23 18:15:14 +12:00
Jack Grigg
932f1c9737
Implement TransparentAddress encoding and decoding
2020-03-26 08:55:54 +13:00
Sean Bowe
100878cd14
Version bump of all crates (except librustzcash)
2020-03-12 15:59:19 -06:00
François Garillot
865275e2a2
Correcting some trivial Rust option/iterator warts
2020-01-29 13:53:05 -08:00
Jack Grigg
d5ed684701
zcash_client_backend::decrypt_transaction
2019-11-27 15:45:13 +00:00
str4d
88e02329eb
Merge pull request #129 from adityapk00/regtest_constants
...
Add regtest constants
2019-11-13 13:54:55 +00:00
Jack Grigg
7fda177da8
Doc link fixes
2019-11-07 17:33:22 +00:00
Jack Grigg
bc35a62e10
Remove rand_os dependency
2019-10-31 18:57:52 +00:00
Jack Grigg
ac4acfa26e
Fix rand_os warning in tests
2019-10-31 16:36:54 +00:00
Aditya Kulkarni
4d290e7a32
Add regtest constants
2019-10-14 22:20:58 -07:00
Jack Grigg
e9f94119bc
Store witness inside WalletShieldedOutput
2019-10-09 14:12:30 +13:00
Jack Grigg
b44653e686
Move cmu and epk parsing onto CompactOutput struct
2019-10-09 14:12:30 +13:00
Jack Grigg
1e2bc7f65c
Test nullifiers in constant time
...
Checking for spent notes in a block is still not completely constant
time, due to filtering out negative results of the constant-time
comparison.
Part of #84 .
2019-10-09 14:12:27 +13:00
Jack Grigg
2bbd25b36b
Add prevHash field to CompactBlock
...
This enables basic verification of chain validity when CompactBlocks are
received without the full header.
2019-10-09 14:11:14 +13:00
Jack Grigg
b66ac11775
Update new witnesses with subsequent transactions in the same block
2019-10-09 14:11:14 +13:00
Jack Grigg
e746f7b6f9
Add tx index within block to WalletTx struct
2019-10-09 14:11:14 +13:00
Jack Grigg
3b9dfc1e0b
Detect change notes while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
fb9e9bb12f
Check for spent notes while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
2b71121681
Return the entire note and recipient address when scanning an output
2019-10-09 14:11:14 +13:00
Jack Grigg
f899ecfce5
Increment the commitment tree and witnesses while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
591b1fc28f
Parse compact blocks to find wallet transactions
2019-10-09 14:11:12 +13:00
Jack Grigg
af7e263bcc
Build protobufs for compact formats
2019-10-09 14:09:41 +13:00
Jack Grigg
b0ba7fe4d2
zcash_client_backend 0.1.0
2019-10-08 17:43:33 +13:00
str4d
39971891d5
Merge pull request #131 from str4d/119-key-encoding-tests
...
Unit tests for key encodings
2019-10-08 13:48:05 +13:00
Jack Grigg
e7b5329e95
Unit tests for key encodings
...
Closes #119 .
2019-09-24 17:47:10 +01:00
Jack Grigg
4ad3988e43
Crate docs
2019-09-24 14:23:59 +01:00
Jack Grigg
7f3036d2c8
Update READMEs
2019-09-24 14:23:55 +01:00
Jack Grigg
1fbf38280e
Fix intra-doc links
2019-09-24 10:42:49 +01:00
Jack Grigg
d9a0b9c83f
CI: Check intra-doc links
...
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01:00
Jack Grigg
1d02363752
Add READMEs to Cargo.toml files
...
This will cause crates.io to render each crate's README as its
information page.
2019-09-23 14:42:38 +01:00
Jack Grigg
450087e280
Add test for spending_key panic on short seed
2019-09-17 23:58:14 +01:00
Jack Grigg
9377b78b35
Panic if spending_key is given a seed shorter than 32 bytes
...
This enforces the MUST requirement in ZIP 32. A panic is used instead of
an error because this should be considered an implementation error.
Ideally the type system would prevent this from occurring at all.
Closes #125 .
2019-09-17 21:28:23 +01:00
Jack Grigg
abbd43ff57
Make pk_d validity an invariant of PaymentAddress
...
Introduces a PaymentAddress::from_parts constructor, and getters for
the diversifier and pk_d fields (which are now private).
2019-09-04 19:48:35 -04:00
Jack Grigg
86142d044c
PaymentAddress::to_bytes
2019-09-04 19:46:46 -04:00
Jack Grigg
73ee19239c
Replace manual address decoding with PaymentAddress::from_bytes
2019-09-04 19:46:46 -04:00
Eirik Ogilvie-Wigley
a7c5993597
cargo fmt
2019-08-15 10:41:48 -06:00
Jack Grigg
5fb9b86ba0
Move Jubjub, Pedersen hash and primitives into zcash_primitives
2019-08-14 10:47:22 +01:00
Jack Grigg
ec321382e1
Upgrade to bech32 0.7
2019-08-14 01:12:25 +01:00
Jack Grigg
6f9083b5ab
Migrate to rand 0.7
2019-07-19 00:47:40 +02:00
Jack Grigg
b0913afdd7
Migrate remaining crates to rand_core 0.4
2019-07-19 00:46:37 +02:00
Jack Grigg
ccf75c39c1
Migrate remaining crates to rand 0.5
2019-07-19 00:35:06 +02:00
Jack Grigg
a3a9ee2682
Validate PaymentAddress diversifier when decoding
2019-07-02 00:07:48 +01:00
Jack Grigg
dd9c9ffa3f
Add encodings for ExtendedSpendingKey and ExtendedFullViewingKey
2019-06-27 16:21:32 +01:00
Jack Grigg
17f60a0354
Implement PaymentAddress encoding and decoding
2019-06-27 16:21:00 +01:00
Jack Grigg
81b2b1b554
Wallet spending key derivation path
2019-06-27 16:19:33 +01:00
Jack Grigg
fae919ec1c
Rename zcash_wallet to zcash_client_backend, set to 2018 edition
2019-06-27 16:02:12 +01:00