Commit Graph

10938 Commits (7098933a4751bcf8feb8eca061dda80befb51a14)

Author SHA1 Message Date
Piotr Roslaniec d8772b1667 fix after rebase 2023-08-01 10:25:15 +02:00
Piotr Roslaniec 748ee2ae55 update pre-released nucypher-core version 2023-08-01 10:25:12 +02:00
Piotr Roslaniec fde3ffd001 add a newsfragment 2023-08-01 10:22:55 +02:00
Piotr Roslaniec b608ae705d nucypher-core#69 2023-08-01 10:22:55 +02:00
David Núñez 57267c7019
Merge pull request #3193 from derekpierre/no-exposed-variant
Don't expose Ferveo variant in python Bob public API
2023-07-25 17:02:23 +02:00
derekpierre e00abf9f59 Raise ValueError for unrecognized variant value instead of Exception. 2023-07-24 08:35:02 -04:00
derekpierre 3198e2248d Add newsfragment for #3193. 2023-07-24 08:35:02 -04:00
derekpierre 90837df0f0 DKG params are no longer exposed/applicable; remove redundant test and commented out code which have now gone stale. 2023-07-24 08:33:34 -04:00
derekpierre f3871396ac Use FerveoVariant enum value instead of constant for test. 2023-07-24 08:33:34 -04:00
derekpierre 09b13faafd Modify test so that the different ferveo variants can still be tested. 2023-07-24 08:33:34 -04:00
derekpierre 4ff9d65d5e Make some methods internal so that variant isn't exposed. 2023-07-24 08:33:34 -04:00
derekpierre 468c70cb0d Make public Bob.threshold_decrypt() API no longer take variant as a parameter and instead internally use the default variant value (simple). 2023-07-24 08:33:34 -04:00
derekpierre 90f027bf5d Enrico should not be producing decryption requests and should not care about dkg variants. 2023-07-24 08:33:34 -04:00
LunarBytes b0e057423f
Merge pull request #3191 from derekpierre/ttl-cache
Use a time-to-live cache for participation states to remove stale ritual participation state information
2023-07-22 06:42:27 -07:00
derekpierre a7b481e0b6 Add newsfragment for #3191. 2023-07-21 13:42:33 -04:00
derekpierre e252e78467 Add test for ActiveRitualTracker now using TTLCache for participation states and purging of stale state performed. 2023-07-21 13:42:33 -04:00
derekpierre 5d99455f80 Change buffer for ritual timeout to 10 minutes.
Make the buffer value a class variable, for easy definition and testing.
2023-07-21 13:42:33 -04:00
derekpierre 84f85b2049 Update ActiveRitualTracker to use TTLCache for tracking participation states; periodically purge the cache of expired entries no longer needed to be tracked. 2023-07-21 13:42:33 -04:00
derekpierre a8f2e49c76 TTL Cache utility. 2023-07-21 13:42:33 -04:00
Derek Pierre c65fdb53b1
Merge pull request #3183 from derekpierre/round-robustness
Node DKG Ritual event handling robustness
2023-07-21 13:42:04 -04:00
derekpierre 6b9296244e Ensure that DkgStorage get_transcripts returns None if entry not present.
Fix DkgStorage get_aggregated_transcript which did not return AggregatedTranscript object; it returned bytes (unrelated to this PR).
2023-07-20 12:08:45 -04:00
derekpierre ed0a884e67 Code cleanup for testing. 2023-07-19 11:49:19 -04:00
derekpierre 18527588ba Add integration tests for refactored out methods, used for clean-up, in ActiveRitualTracker
Minor code clean-up.
2023-07-19 08:31:39 -04:00
derekpierre 518994301d Further simplify `_get_participation_state()` to reduce function lines and if-elif-else nesting. 2023-07-18 15:22:23 -04:00
derekpierre 2ece35c575 Provide context message if test fails - this check can fail if the relevant Coordinator contract events change without also updating this test. 2023-07-18 15:20:53 -04:00
derekpierre 451667f5aa Clean up logic for `_action_required()` method. 2023-07-18 15:11:59 -04:00
derekpierre 13bade646f Fix type hint for ritualist actions; code cleanup. 2023-07-18 15:05:22 -04:00
derekpierre ff3cba7bd8 Update tests to reflect changes made to `_action_required` and `_get_participation_state` methods on ActiveRitualTracker. 2023-07-17 14:25:22 -04:00
derekpierre 29a9580eec Include determination of participation state within `_action_required` method; it made the logic much more coherent.
Don't remove state information when EndRitual event is received - keep it in case of duplicate events due to event scanner behaviour of scanning some blocks in the past before continuing.
Code cleanup.
2023-07-17 14:24:32 -04:00
derekpierre 0b6cabf7c1 Move when ritual object is obtained from contract to be more efficient. 2023-07-17 14:24:32 -04:00
derekpierre 83b874afd1 Add tests for checking pending tx before performing ritual duties. 2023-07-17 14:24:32 -04:00
derekpierre 20b5158972 Check whether ritualist has a pending tx for posting transcript/aggregated transcript, if so skip execution. 2023-07-17 14:13:03 -04:00
derekpierre d944c0bbe6 Allow DKGStorage to return Option object/value or None. 2023-07-17 14:10:53 -04:00
derekpierre 3d81a4e132 Fix linter issues. 2023-07-16 14:31:00 -04:00
derekpierre 9621dc1a19 Simplification of participation logic - it was probably over-engineered previously. 2023-07-16 14:30:44 -04:00
derekpierre 1c81865275 Add newsfragment for #3183. 2023-07-14 12:06:54 -04:00
derekpierre c8c9875429 Resolve darker complaints. 2023-07-14 12:06:31 -04:00
derekpierre 5ccfc234ec Rename ActiveRitualTracker participation_states variable to indicate internal use. 2023-07-14 11:51:44 -04:00
derekpierre 628bd2cbba Modify concurrent ritual test to instead test _handle_ritual_event which is a more complete test: tests the entire flow when an event is received i.e. participation and executing actions if necessary. 2023-07-14 11:47:15 -04:00
derekpierre 4c17f570de Improve participation state logic to be cleaner and more efficient (don't get participant info more than once). 2023-07-14 11:15:29 -04:00
derekpierre 1cebcfca46 Better link "event linked to this ursula" function (_get_participation_state) and the check for "actionable event"
Improve participation state logic, and EndRitual processing.
Additional tests.
2023-07-13 19:16:41 -04:00
derekpierre a27187f061 Add test for ritual tracker when receiving unexpected events when checking for relevance that it doesn't have processing logic for. 2023-07-13 12:46:54 -04:00
derekpierre 66c0a2c16c Remove unnecessary and unused state tracking for rituals.
Minor code cleanup.
2023-07-13 12:46:40 -04:00
derekpierre 85d061cdb1 Additional tests (and fixes) for StartAggregationRound and EndRitual - special events for which we can't determine participation in ritual from event input args. 2023-07-13 09:12:06 -04:00
derekpierre e56af754d0 Add tests for updated code in Ritualist and ActiveRitualTracker - make relevant code changes for tests to pass. 2023-07-13 09:12:03 -04:00
derekpierre 76dfb3082a Now that fire_and_forget is used tx receipts no longer apply, just tx hash. Update type-hints and parameters accordingly. 2023-07-13 09:10:47 -04:00
derekpierre b0b99b24cf Allow dkg actions for the ritual rounds to check contract ritual state, before acting on an event, with respect to potentially previously already processed events. 2023-07-13 09:10:06 -04:00
derekpierre 7429b0ad00 Remove unused get_ritual() method in Ritualist. 2023-07-13 09:08:05 -04:00
derekpierre 0e2c1db2c0 Use fire_and_forget for ritual transactions for publishing transcripts/aggregated transcripts. 2023-07-13 09:08:05 -04:00
derekpierre cc0d207f31 Fix incorrect typehint for publishing aggregated transcript. 2023-07-13 09:07:06 -04:00