Commit Graph

638 Commits

Author SHA1 Message Date
Andreas Fackler a331982fa6
Fix minimal NetworkDimension in tests, and Subset bug. (#303)
* Fix minimal NetworkDimension in tests.

* Fix: Subset must try output on broadcast results, too.
2018-10-28 15:05:26 +01:00
Logan Collins e3a168a96c
Merge branch 'master' into optional_threshold_encryption_209 2018-10-27 18:11:19 -05:00
Logan Collins a91e38e3c5 fmt change + don't skip InProgress for NodeChange 2018-10-27 17:44:08 -05:00
Vladimir Komendantskiy 45ce045922 allow the observer on a TestNetwork to send messages 2018-10-27 10:42:49 +02:00
Logan Collins 3ffb1ba48a merge changed step mutability requirements 2018-10-25 14:11:44 -05:00
Logan Collins 00985edc46
Merge branch 'master' into optional_threshold_encryption_209 2018-10-25 13:41:56 -05:00
Logan Collins f88c50f970 forgot to run cargo fmt first. 2018-10-25 13:39:00 -05:00
Logan Collins 6b101ca3be skip InProgress state for non-KG changes, revert change to comment, push serialization inside epoch_state, skip threshold_decryption Step, use getter instead of pub(crate) for honey_badger.encryption_schedule 2018-10-25 13:38:16 -05:00
Andreas Fackler f27af31ac7 Improve SyncKeyGen error handling. 2018-10-25 17:22:16 +02:00
Andreas Fackler dda2f54a06
Minor improvements to the Step API. (#292)
* Minor improvements to the Step API.

* Make use of DistAlgorithm::our_id.

* Rename Step::and to join.
2018-10-25 14:44:28 +02:00
Andreas Fackler c6e0406596 Fix abbreviations from the paper: ABA. 2018-10-25 13:15:52 +02:00
Vladimir Komendantskiy 7aad658511 fixed early output from Subset 2018-10-25 11:33:56 +02:00
Logan Collins 92a32d827d merge from upstream 2018-10-24 15:55:44 -05:00
Logan Collins 982619327b formatting, address pr review concerns, move encryption into epoch_state, turn off borrowed box lint 2018-10-24 15:46:44 -05:00
Andreas Fackler 3981b37fa3 Minor API and documentation improvements. 2018-10-24 17:38:41 +02:00
Andreas Fackler 26ef33e4d1 Return fault on duplicate broadcast values. Remove obsolete TODOs. 2018-10-24 16:20:02 +02:00
Andreas Fackler 493b946a4a Use DeserializeOwned where applicable. 2018-10-24 15:03:56 +02:00
Andreas Fackler 6375decbc0 Use derivative for configurable Debug impls. (#283) 2018-10-24 13:01:52 +02:00
Logan Collins 877903aeac apparently nightly and stable cargo fmt have different opinions 2018-10-24 00:23:09 -05:00
Logan Collins 212d9b57b8 run cargo fmt 2018-10-24 00:18:18 -05:00
Logan Collins ca56668547 Address lints 2018-10-24 00:12:12 -05:00
Logan Collins 40e611c824 merge from upstream 2018-10-23 23:54:54 -05:00
Logan Collins 0de5d12525 move import to avoid warning 2018-10-23 23:25:23 -05:00
Logan Collins 85910d8d43 refactor change and make it possible for encryption to be optional 2018-10-23 23:21:59 -05:00
Andreas Fackler bc6a67dc01 Extend API to work without DistAlgorithm.
Extends all APIs so that the user doesn't need to import the
`DistAlgorithm` trait.

Also, removes the error on inputting too late into `BinaryAgreement`:
whether the input still matters is an implementation detail.
2018-10-23 22:10:28 +02:00
Andreas Fackler 6bcd6bc499 Replace Coin with ThresholdSign. (#280)
* Avoid redundant hashing in Coin.

* Return the full signature from Coin.

* Rename Coin to ThresholdSign.
2018-10-23 10:49:19 +01:00
Vladimir Komendantskiy 13308906aa
Merge pull request #279 from poanetwork/afck-no-dkg-fault
Log more DKG-related faults, check faults in tests.
2018-10-23 10:27:26 +01:00
Andreas Fackler ff8fe493d2 Limit the number of buffered key gen messages. 2018-10-23 11:13:55 +02:00
Andreas Fackler 36583de455 Add fault checks to the tests.
The `network` test module now verifies that correct nodes are never
reported as faulty.

The `DuplicateAck` fault is removed for now, because the same ack is
usually handled multiple times in DHB.
2018-10-22 17:23:03 +02:00
Andreas Fackler d49350ecd9 Log more DKG-related faults. 2018-10-22 16:09:00 +02:00
Logan Collins e65a470720 WIP 2018-10-21 15:48:01 -05:00
Logan Collins fabd725851 semi sure of these changes, also a bit WIP 2018-10-21 15:47:44 -05:00
Andreas Fackler b3e858a079
Use published threshold_crypto 0.2. (#278)
Also: Follow the soon-to-be-official formatting guidelines:
https://github.com/nrc/rfcs/blob/style-guide/style-guide/cargo.md
2018-10-20 13:42:41 +02:00
Marc Brinkmann ba2390191f Changed the defaults for tracing to `false`. (#277)
* Changed the defaults for tracing to `false`.

* Cleanup envvar handling.

* Update `README.md`.
2018-10-18 16:13:02 +02:00
Vladimir Komendantskiy c5ebdb5347
Merge pull request #276 from poanetwork/afck-perf
Avoid BTreeMap in EpochState.
2018-10-18 11:52:59 +01:00
Andreas Fackler 06515407fc Avoid BTreeMap in EpochState.
Profiling the simulation example (with mock crypto) identified this as a hot
spot, and using a `Vec` instead and returning early where possible
speeds it up.
2018-10-18 12:22:10 +02:00
Logan Collins 813a76bb5f add configuration options for optional/periodic encryption scheduling 2018-10-17 12:27:00 -05:00
Vladimir Komendantskiy f8bf552165
Allowed building a HB with a non-0 starting epoch (#237)
* include the starting epoch in the HB builder

* added DHB starting epoch
2018-10-17 13:28:19 +01:00
Andreas Fackler 8a84109c88 Use threshold_crypto 0.2.0-beta2 to fix overflow. (#273)
* Use threshold_crypto 0.2.0-beta1 to fix overflow.

* Upgrade to hex_fmt 0.2.

* Depend on threshold_crypto 0.2.0-beta2.

This avoids depending on two different versions of hex_fmt.
2018-10-17 12:04:13 +02:00
Marc Brinkmann 26e659079a Added `cargo audit` to CI. 2018-10-16 11:50:46 +02:00
Marc Brinkmann df1471f86d Factored out CI execution into `ci.sh`. 2018-10-16 11:02:05 +02:00
Andreas Fackler 6df72d86cc Reorder: public imports come last. 2018-10-15 13:55:04 +02:00
Andreas Fackler 13b0b04943 Update crypto, add mock crypto for testing. 2018-10-15 13:55:04 +02:00
Vladimir Komendantskiy 3af821dc88
Merge pull request #267 from poanetwork/afck-contributions
Add missing Batch::contributions getter.
2018-10-15 11:41:47 +01:00
Andreas Fackler c5b1b8bc08 Add missing Batch::contributions getter. 2018-10-15 11:44:44 +02:00
Andreas Fackler 00e1674349 Move Message out of broadcast::broadcast. 2018-10-11 22:24:13 +02:00
Andreas Fackler 7345132066 Replace HexBytes with the hex_fmt crate. 2018-10-11 22:24:13 +02:00
Vladimir Komendantskiy b5acac439c
Merge pull request #265 from poanetwork/mbr-remove-push-from-queue
Remove push from queue
2018-10-11 16:11:34 +01:00
Marc Brinkmann bcb151e78d Added some `#[inline]` statements on `TransactionQueue` impl of `Vec`. 2018-10-11 15:44:44 +02:00
Marc Brinkmann 78dd3db474 Remove `push` from `TransactionQueue` trait. 2018-10-11 15:44:10 +02:00