Commit Graph

11795 Commits (fafff095db1a4a99f9a2f93935a7ff993a41388b)

Author SHA1 Message Date
derekpierre fafff095db
Use a proper console logger from twisted that properly formats messages. 2024-04-19 11:11:30 -04:00
derekpierre 9d012c4fc0
Logger should limit logging by underlying observers based on log level. 2024-04-19 11:11:25 -04:00
Derek Pierre c313ea790d
Merge pull request #3484 from derekpierre/docker-login
GH Action Docker login
2024-04-19 08:46:26 -04:00
derekpierre 888f95ac57
Add dev newsfragment for #3484. 2024-04-19 08:14:38 -04:00
derekpierre 1ec641d801
Update version of docker/login-action job to v3. 2024-04-19 08:12:17 -04:00
Derek Pierre 83a77133a5
Merge pull request #3479 from derekpierre/compatibility
Node/Contract Compatibility
2024-04-19 08:01:07 -04:00
derekpierre 2053e7cb4a
Minor update to README - update discord link and TACo section title. 2024-04-18 13:37:33 -04:00
derekpierre 23dd34aece
Add a test to reassure us that contract conditions work correctly even with overloaded functions once the relevant ABI is specified in the condition. 2024-04-18 13:37:32 -04:00
derekpierre 9db8d6c8ab
Add newsfragment for #3479. 2024-04-18 13:37:31 -04:00
derekpierre be76467192
Update embedded lynx contract registry based on latest lynx upgrade and updated registry from `nucypher-contracts`. 2024-04-18 13:37:30 -04:00
derekpierre 59a8901ed5
Agents need to better handle overloaded functions. Web3py does not resolve the function based on the number of args provided, so we need to resolve the function ourselves.
In some cases we've been lucky that the function we wanted to use was first to be returned instead of the other one, in which case the call will fail. This change makes the method to use more explicit by using the signature. Eventually the old function that was overloaded will be removed from the contract and is therefore no longer a problem - until then we need to properly/deterministically handle the overload case.
2024-04-18 13:37:29 -04:00
derekpierre 46b858d876
Update embedded mainnet contract registry based on updated registry from `nucypher-contracts`. This was missed from the last mainnet update but the nodes were fine because it pulls the registry from github as a priority over the embedded registry. 2024-04-18 13:37:27 -04:00
derekpierre 6064ee01b1
Remove old and no longer used code associated with operator information. 2024-04-18 13:37:26 -04:00
derekpierre ccb5a7631a
Only retrieve struct values from contract based on number of expected fields in associated python struct. This better maintains compatibility whenever the struct in the contract adds fields. 2024-04-18 13:37:25 -04:00
Derek Pierre 7d87ff9171
Merge pull request #3476 from derekpierre/atxm-updates
DKG Fault Tolerance Improvements
2024-04-18 13:36:27 -04:00
derekpierre 238c4cb5aa
Add TODO for usages of the stdout emitter, should these just be log messages. 2024-04-17 13:20:26 -04:00
derekpierre 1673a7e7a4
Fix incorrect typehint for return value of method for executing synchronous transactions. 2024-04-17 13:20:25 -04:00
derekpierre ba8f519d08
Check ritual status before resubmitting a tx to prevent infinite loops due to DKG ritual failures for other reasons eg. mismatch aggregated transcript from other node, timeout etc. 2024-04-17 13:20:02 -04:00
derekpierre 62b7a62faf
Relock dependency to use latest released version of ATxM - v0.3.0. 2024-04-16 09:27:19 -04:00
derekpierre b6140df08c
Update tests now that a default on_broadcast callback is used if not provided. 2024-04-15 13:31:02 -04:00
derekpierre 59bc9f8bf4
Add a default on_broadcast callback implementation that simply prints broadcast tx information, if one is not provided.
The default behaviour is to print tx info that is basically the equivalent of want a synchronous tx would print - same reason that the StdoutEmitter is used instead of the logger.
Use common utility for determining cost of broadcasted tx.
2024-04-15 13:30:58 -04:00
derekpierre 1b1f314629
Add acceptance tests for failures during dkg rounds; ensure that failures are handled appropriately including with resubmitted txs in some cases. 2024-04-15 13:30:57 -04:00
derekpierre c46c1a3775
Remove unnecessary/redundany wait for tx receipt. 2024-04-15 13:30:55 -04:00
derekpierre e8f7c862c9
Rename test module so that other aspects of operator functionality can be tested in separate modules. 2024-04-15 13:30:54 -04:00
derekpierre c032809a1e
Add unit tests for async tx hooks used for phases 1 and 2 of rituals. 2024-04-15 13:30:53 -04:00
derekpierre 5514f57d43
Add typehint for return of _setup_async_tx_hooks method for Operator. 2024-04-15 13:30:52 -04:00
derekpierre fd4b209f9e
Fix KeyError bug when clearing cached async tx if it doesn't already exist. 2024-04-15 13:30:51 -04:00
derekpierre 43c9d92c63
Clear async tx once transaction is successfully finalized; no need to store it since data already updated on blockchain because tx was finalized. 2024-04-15 13:30:50 -04:00
derekpierre 1f4199f35b
Make data member for DKGStorage private for safety. 2024-04-15 13:30:49 -04:00
derekpierre dcb93abed8
Don't store async_txs on the ActiveRitualTracker since it only cares about events; utilize existing DKG storage for operator. This will also allow for easier logic for clearing when no longer needed by the Operator.
Modify DKGStorage to store async txs.
Update tests accordingly.
2024-04-15 13:30:47 -04:00
derekpierre 2be52480c9
Add tests for callbacks during post_transcript/post_aggregation stages. 2024-04-15 13:30:46 -04:00
derekpierre 1132b28550
Add newsfragment for #3476. 2024-04-15 13:30:45 -04:00
derekpierre 27515da1f6
Mock async tx behaviour with callbacks for MockCoordinatorAgent. 2024-04-15 13:30:44 -04:00
derekpierre 550c59ccb1
Add mock_async_hooks fixture for use in tests that mimic the use of async txs. 2024-04-15 13:30:43 -04:00
derekpierre c5adbfde98
Update Operator to handle the various callbacks used by async transactions for improved fault tolerance when publishing a transcript or aggregated transcript.
Implementations of the callbacks for error cases may resubmit a tx to execute for fault tolerance.
2024-04-15 13:30:42 -04:00
derekpierre 4c6b8afcc0
Add speedup strategy to the ATxM object being used since it is no longer a default strategy used by the underlying library. 2024-04-15 13:30:41 -04:00
derekpierre 14c9d49d8e
Add AsyncTxHooks helper class for defining async tx callbacks when using send_async_transaction and the atxm library.
Allow AsyncTxHooks to be specified when executing an async transaction.
2024-04-15 13:30:40 -04:00
derekpierre 26637f87e6
Relock dependencies based on latest changes in ATxM dev branch. 2024-04-15 13:30:31 -04:00
Manuel Montenegro af7d778b22
Merge pull request #3478 from manumonti/metrics-listen-address
Add --metrics-listen-address CLI Prometheus option
2024-04-15 18:02:24 +02:00
Manuel Montenegro 0ad33b8baa
Simplify code
Co-authored-by: Derek Pierre <derek.pierre@gmail.com>
2024-04-15 17:03:29 +02:00
Manuel Montenegro c0c39c5e20
Fix typo in help
Co-authored-by: Derek Pierre <derek.pierre@gmail.com>
2024-04-15 16:59:23 +02:00
Manuel Montenegro 67e0937661
Add newsfragment file 2024-04-15 14:16:55 +02:00
Manuel Montenegro dbce8cf09d
Add --metrics-listen-address CLI Prometheus option
This option was accidentally removed during the return of Prometheus
exporter.
2024-04-15 14:14:59 +02:00
Derek Pierre 0ae85461ec
Merge pull request #3477 from derekpierre/fix-codecov
Use latest version of codecov GH action
2024-04-12 10:20:49 -04:00
derekpierre 9131ce46ca
Add dev newsfragment for #3477. 2024-04-12 09:06:55 -04:00
derekpierre 55440023ae
Use latest version of codecov action for github workflow. 2024-04-12 09:04:18 -04:00
Derek Pierre 6d94680d88
Merge pull request #3475 from xiaoxianBoy/fix-typos
chore: fix typos
2024-04-11 14:53:25 -04:00
snoppy 6a7a3bb921 chore: fix typos 2024-04-11 12:03:38 -04:00
Derek Pierre 4090a342af
Merge pull request #3473 from derekpierre/ape-refresh
Ape refresh to potentially fix CI builds
2024-04-10 13:32:39 -04:00
derekpierre a66f5b2c1b
Add dev newsfragment for #3473. 2024-04-10 13:16:25 -04:00