Commit Graph

44 Commits

Author SHA1 Message Date
Henry de Valence 22c3bdeb61 Prefix workspace crates with zebra- (#70)
* Update license and author metadata in workspace crates.

- ensure that the license field is set to GPL-3 for all GPL-3 licensed crates;
- ensure that the author field is set to "Zcash Foundation", responsible for maintenance;
- preserve the original authorship info in AUTHORS.md for human-readable history.

Updating the author field ensures that all of the machine systems that read
crate metadata list the ZF organization, not any single individual, as the
maintainer of the crate.

* Prefix all internal crate names with zebra-.

This does not move the directories containing these crates to also have zebra-
prefixes (for instance, zebra-chain instead of chain).  I think that this would
be preferable, but because it's a `git mv`, it will be simple to do later and
leaving it out of this change makes it easier to see the renaming of all of the
internal modules.

* Remove git dependency from eth-secp256k1

* Avoid an error seemingly related to Deref coercions.

This code caused an overflow while evaluating type constraints.  As best as I
can determine, the cause of the problem was something like so: the Rust
implementation of the Bitcoin-specific hash function used in the Bloom filter
doesn't operate on byte slices, but only on a `&mut R where R: Read`, so to
hash a byte slice, you need to create a mutable copy of the input slice which
can be consumed as a `Read` implementation by the hash function; the previous
version of this code created a slice copy using a `Deref` coercion instead of
`.clone()`, and when a tokio update added new trait impls, the type inference
for the `Deref` coercion exploded (somehow -- I'm not sure about the last
part?).

This commit avoids the problem by manually cloning the input slice.
2019-07-02 15:07:06 -04:00
Henry de Valence 891226069a Run cargo fmt 2019-06-28 15:26:18 -07:00
Svyatoslav Nikolsky eb43e22cd3 explicint Indexed*::from_raw calls 2019-03-20 12:29:04 +03:00
Svyatoslav Nikolsky 095e8ec21a removed bitcoin-cash specific opcodes 2019-03-12 13:35:10 +03:00
Svyatoslav Nikolsky 0680e9835b read sapling commitment tree in getblocktemplate RPC 2019-03-05 15:12:51 +03:00
Svyatoslav Nikolsky 1faf44eef7 fix grumbles 2019-03-05 10:43:29 +03:00
Svyatoslav Nikolsky 2a80149e1a prepare for Sapling note commitment tree 2019-03-04 14:53:36 +03:00
Dimitris Apostolou cbf4c99d8b
Fix typos 2019-02-03 00:35:00 +02:00
Svyatoslav Nikolsky 66c2356d61 added block_assembler_miner_fee test 2019-01-16 15:02:35 +03:00
Svyatoslav Nikolsky 34d921fbb0 proper calculation of miner fee in memory pool 2019-01-16 14:14:48 +03:00
Svyatoslav Nikolsky 700ba96726 updated getblocktemplate RPC 2019-01-15 12:36:14 +03:00
Svyatoslav Nikolsky 565157e799 fixed work calculation on testnet 2018-12-26 15:03:25 +03:00
Svyatoslav Nikolsky 105a1ab892 fixed miner reward check 2018-12-25 11:18:10 +03:00
Svyatoslav Nikolsky 07069cab14 cleaning up 2018-11-14 10:37:27 +03:00
Svyatoslav Nikolsky 1eb6cbe622 cleaning 2018-11-13 15:21:56 +03:00
Svyatoslav Nikolsky ad4f51ac07 BCH Nov2018 HF: OP_CHECKDATASIG + OP_CHECKDATASIGVERIFY 2018-10-16 15:45:27 +03:00
Svyatoslav Nikolsky eb55b2ae84 BCH Nov2018 HF: canonical transaction ordering 2018-10-16 11:28:32 +03:00
Aleksey Sidorov f120076cab Make parity-bitcoin usable for spv validation
- In this PR I extract from the crate `db` to the new `storage` crate all traits that is not specifically related to the concrete implementation of database. So I now can use `verification` crate without `rocksdb` dependency.

- Also I modify the `HeaderAcceptor` so that can be constructed without the private `BlockDeployments`.
2018-03-09 15:45:07 +03:00
Svyatoslav Nikolsky bcdc1e6813 uahf: REQ-7 difficulty adjustment 2017-08-08 18:33:55 +03:00
Svyatoslav Nikolsky 7eccf8b888 per-fork min && max block size check 2017-08-08 11:23:21 +03:00
Svyatoslav Nikolsky 045603c84a fixed warnings 2017-08-02 11:50:08 +03:00
debris 0155c6e4ef revert is_double_spent -> is_spent 2017-04-09 14:10:40 +08:00
debris 21fdfabb0e consolidated TransactionOutputProvider and TransactionOutputObserver 2017-04-07 12:54:40 +07:00
debris 2074076c41 simplify verification code 2017-04-07 11:46:20 +07:00
Marek Kotewicz 77cfd9e8f7 db refactor (#385)
* db refactor in progress, refactored kvdb

* kvdb refactor

* removed unused RwLock

* removed unused RwLock

* BlockChainDatabase

* db refactor in progress

* implemented BlockProvider for newdb

* fixed compiling

* newdb TransactionMeta

* newdb tests

* reopen tests for newdb

* replaced old db with new db

* chain_verifier uses new db

* sync module uses refactored db

* check double spends in verification layer

* added Forkable trait to satisfy resolving recursive types by compiler

* new db regtests in progress

* fixed verification and sync unit tests

* fixed miner and rpc unit tests

* implemented fmt::Debug for few structs

* removed commented out code

* fixed bencher target

* removing commented out code, polishing db_refactor pr
2017-04-05 16:37:58 +07:00
debris a87ddbc2fc erge branch 'master' of github.com:ethcore/parity-bitcoin into docs 2016-12-15 16:07:51 +01:00
debris 721a31577b cleanup docs 2016-12-15 16:03:59 +01:00
debris f1f68f497b P2shCoinbaseTransactionBuilder && Magic::Unitest && removed skip_pow from chain_verification 2016-12-15 14:27:36 +01:00
Svyatoslav Nikolsky f54b7691c4 Merge branch 'master' into fix_319 2016-12-14 00:17:47 +03:00
Svyatoslav Nikolsky 945c19a8eb replace non-final transactions in mempool 2016-12-14 00:14:07 +03:00
debris 7baaa47b8c import is hashing blocks when reading, added --skip-verification flag 2016-12-13 20:49:41 +01:00
debris d0c480565d applying suggestions from review and adding comments 2016-12-13 10:50:56 +01:00
debris 64a3d4d080 verification refactor almost done 2016-12-12 12:04:19 +01:00
debris 0df90a85bd use rayon for parallel verification 2016-12-11 17:42:26 +01:00
debris 06971497ee Merge branch 'master' into block_assembler_tests 2016-12-10 23:05:14 +01:00
debris bfd236a632 fixed block assembler iterator when one of previous transactions was ignored, iterator is also generic over entries 2016-12-10 12:24:46 +01:00
debris ee07970e19 BlockAssembler uses FittingTransactionsIterator 2016-12-10 11:57:34 +01:00
debris df65e29658 refactor indexed_block, avoid unnecessery copying 2016-12-09 15:44:34 +01:00
debris 033d423686 verification share some constants with miner module, block assemlber takes into account size of block header 2016-12-09 12:38:18 +01:00
debris cc0ff97ba5 configurable BlockAssembler 2016-12-09 11:41:11 +01:00
debris 3ca513d88f finished block assembler 2016-12-09 11:40:42 +01:00
debris 5a1041f72a change nbits: u32 -> bits: Compact, miner uses verification 2016-12-08 21:17:28 +01:00
debris fc41aba63d fixed a couple of TODOs in block assembler 2016-12-08 20:33:10 +01:00
debris f5b1d95d2d block assembler in progress 2016-12-08 16:45:37 +01:00