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