derekpierre
89e1530655
Adjust `nucypher ursula recover` so that when keystore filepath is provided we properly use it, and don't try to recover using a mnemonic.
2024-09-12 15:53:30 -04:00
derekpierre
cb89bdaac8
Ensure that we raise click.Abort().
2024-09-12 15:53:29 -04:00
KPrasch
1e08388565
Support for complete node reinitialization/relocation using an existing mnemonic
2024-09-12 15:53:29 -04:00
derekpierre
019569c36e
Use 2-space indents.
...
Truncate the file so that any additional data after the overwrite gets removed.
2024-09-12 15:53:27 -04:00
KPrasch
b6738b4ac0
fixes missing return statement
2024-09-12 15:53:27 -04:00
KPrasch
67c88697e3
Expands Keystore API to include audit and recovery features
2024-09-12 15:53:26 -04:00
KPrasch
9c345a97df
expands recovery CLI into three commands for keystore identification and auditing
2024-09-12 15:53:25 -04:00
KPrasch
98e3b37365
Expands public-keys CLI command to use default keystore filepath from config
2024-09-12 15:53:24 -04:00
KPrasch
8b4bc22499
Expand recovery CLI to include password and mnemonic verification features
2024-09-12 15:53:24 -04:00
derekpierre
c5b2204e84
Open file for reading, and then for writing to prevent dangling data at the end if updated data is shorter than existing data.
2024-09-12 15:53:23 -04:00
derekpierre
321ffd4a98
Remove additional unnecessary CLI options for the "ursula recover" command.
2024-09-12 15:53:23 -04:00
derekpierre
c64e5c8643
Added "nucypher ursula public-keys" for printing ferveo key based on current keystore.
...
Co-authored-by: KPrasch <kieranprasch@gmail.com>
2024-09-12 15:53:22 -04:00
derekpierre
8ff2c9e6b3
Update ursula recover to update keystore path entry in existing ursula configuration file.
...
Co-authored-by: KPrasch <kieranprasch@gmail.com>
2024-09-12 15:53:21 -04:00
Derek Pierre
66c362060f
Apply RFC for #3535
...
Co-authored-by: KPrasch <kieranprasch@gmail.com>
2024-09-12 15:53:10 -04:00
derekpierre
13510ecaa9
It's possible (for now) for a Ritual to not have a fee model address associated with it (legacy lynx for example).
2024-09-12 15:53:08 -04:00
derekpierre
acc1615529
Re-organize code to make testing easier for now - this should probably be made cleaner, but in the interim it allows the tests to pass.
2024-09-12 15:53:06 -04:00
derekpierre
ad04e6efa1
Finish renaming from derive_decryption_share to produce_decryption_share.
2024-09-12 15:53:05 -04:00
David Núñez
7f746bf022
Draft of how to query IEncryptionAuthorized directly, instead of via Coordinator
2024-09-12 15:53:05 -04:00
David Núñez
211ede8936
Add deprecation note for Coordinator.is_encryption_authorized. See #3349
2024-09-12 15:53:04 -04:00
David Núñez
df1b0daaa8
Rename some TDec methods
2024-09-12 15:53:03 -04:00
derekpierre
a30d976463
Update python Ritual struct to store fee model contract address included in updated contract Ritual struct.
2024-09-12 15:53:02 -04:00
derekpierre
7f636613f1
Update CoordinatorAgent and MockCoordinatorAgent initiateRitual calls to include fee model contract.
2024-09-12 15:53:01 -04:00
KPrasch
68306d9b5e
handle multiple json path query results as ambiguous
2024-09-12 15:52:57 -04:00
KPrasch
8878c10613
relocates JsonApiCondition timeout to a classvar
2024-09-12 15:52:56 -04:00
KPrasch
10c37d873a
Implements second layer of condition inout validation for use with python-only consunption
2024-09-12 15:52:56 -04:00
KPrasch
c8e7d5eac3
support primitive responses for JsonApiCondition
2024-09-12 15:52:55 -04:00
KPrasch
3f2e3df059
Use Marshmallow's URL field for HTTPS enforcement of JsonApiCondition endpoint parsing
2024-09-12 15:52:55 -04:00
KPrasch
e727f95744
fixes json path field error rendering
2024-09-12 15:52:54 -04:00
KPrasch
40b7b65508
Implement a redundant validation of JsonApiCondition scheme (RFC)
2024-09-12 15:52:53 -04:00
KPrasch
06af880616
restrictive design: unexpose custom request headers and require https
2024-09-12 15:52:53 -04:00
KPrasch
f2c7337483
respond to RFCs in PR #3511
2024-09-12 15:52:52 -04:00
KPrasch
679f20e154
Demonstrates offchain condition lingo expression deserialization and class resolution
2024-09-12 15:52:51 -04:00
KPrasch
98597d9d27
fix: handle non-JSON responses correctly
2024-09-12 15:52:51 -04:00
KPrasch
ecc8b16602
error handling and logging for offchain condition evaluations
2024-09-12 15:52:50 -04:00
KPrasch
95b81bf6f9
exposes request headers for offchain condition GET requests
2024-09-12 15:52:49 -04:00
KPrasch
ed34186255
includes offchain condition class resolution in top level validator
2024-09-12 15:52:47 -04:00
KPrasch
0d9489762f
reword docstrings
2024-09-12 15:52:46 -04:00
KPrasch
36bf6a93f3
mocked ETH price condition from 3rd party party API
2024-09-12 15:52:45 -04:00
KPrasch
9313203353
Establish an OffchainCondition type
2024-09-12 15:52:44 -04:00
KPrasch
4dee63706d
Bump version: 7.4.1 → 7.5.0
2024-09-12 15:52:34 -04:00
derekpierre
5892b67d23
Modify order of adding middlewares, poa first (layer 0), then retry, then simple cache.
2024-09-05 08:47:10 -04:00
derekpierre
b22fd0fcb5
Messages for logging addition of middleware now logged at info level so that we can always observe them in the logs.
2024-09-05 08:47:09 -04:00
derekpierre
646e2f5b11
Remove is_connected in favour of is_initialized for clarity.
2024-09-05 08:47:08 -04:00
derekpierre
258ebef8ef
Remove poa error redundancy middleware now that we understand the underlying cause of the problem. It was always a stop gap measure until we could determine the exact cause of the poa error; Now that we know the error it is no longer needed.
2024-09-05 08:47:04 -04:00
derekpierre
2158136c6f
BlockchainInterface.connect() should only ever be called once if successful; blips in connectivity should not cause it to be called again.
...
Blips in connectivity can cause resetting of underlying w3, client instances, and missing poa middleware if chain_id cannot be determined.
Co-authored-by: KPrasch <kieranprasch@gmail.com>
2024-09-05 08:47:03 -04:00
derekpierre
43e0dcb941
Make a call to eth.get_block after establishing an EthereumClient with middlewares to ensure that poa middleware, if needed, works correctly.
2024-09-05 08:47:01 -04:00
derekpierre
2ec5680a1f
Always name the middlewares we add to web3 middleware onion.
2024-09-05 08:46:59 -04:00
derekpierre
f692b0650f
Always inject poa middleware for Web3 instances used for evaluating RPCConditions (and sub-classes).
2024-09-05 08:46:58 -04:00
derekpierre
930eaf9b23
Fix linter errors.
2024-09-05 08:46:57 -04:00
derekpierre
8be1f2590a
Always inject the poa middleware irrespective of chain.
2024-09-05 08:46:57 -04:00
derekpierre
a0c0431969
Modify how poa error redundancy middleware is created for clarity and better cohesion with providing the name of the original poa middleware used.
2024-09-05 08:46:55 -04:00
derekpierre
45dcc317fe
Add redundancy POA error middleware that adds/replaces geth poa middleware if ExtraDataLengthError is encountered at any time.
2024-09-05 08:46:54 -04:00
derekpierre
f834cfc5af
Bump version: 7.4.0 → 7.4.1
2024-09-05 08:46:49 -04:00
KPrasch
779724e7bf
Merge pull request #3533 from KPrasch/dkg-init-cli
...
Improves comms and key mismatch prevention while using the `init` CLI
2024-08-02 14:38:36 +07:00
KPrasch
ccb1428557
Improves testing/mocking of ursula startup prevention due to ferveo key mismatch
2024-08-01 16:52:19 +07:00
KPrasch
0880e48dc8
handle test cases where operator address is untentionally unset in key mismatch prevention.
2024-08-01 01:21:41 +07:00
KPrasch
6e100a6371
handle unbonded operators when evaluating ferveo key publication at init-time
2024-08-01 00:06:19 +07:00
KPrasch
e65d9a9c73
Prevent nucypher ursula init from executing by looking up operator address in the Coordinator contract.
2024-07-31 23:21:51 +07:00
derekpierre
6ba7cebb65
Fix linter errors.
2024-07-31 11:08:53 -04:00
KPrasch
b88439536c
ensure that the production default config root is not used in tests to accmodate init-time checks for existing private keys
2024-07-31 21:28:28 +07:00
KPrasch
f451a259e2
inspect the contents of the keystore directory when checking for init-time existing private keys
2024-07-31 21:26:57 +07:00
KPrasch
3e37a106b3
Increases correctness, accuracy and density of information provided to CLI users running initialization commands.
2024-07-31 17:45:01 +07:00
KPrasch
1d7597fa46
nudge poa investigation
2024-07-31 15:37:32 +07:00
derekpierre
463e1e2d16
Log POA middleware message at info level instead of debug.
2024-07-31 15:37:32 +07:00
derekpierre
81fb62dc07
Include stack trace in critical error message during ritual ceremony.
2024-07-29 16:38:34 -04:00
KPrasch
79a45b9935
do not retry dkg rounds from unrecoverable cryptographic failure
2024-07-29 16:38:34 -04:00
KPrasch
3354213ff8
Apply suggestions from code review
...
Co-authored-by: Derek Pierre <derek.pierre@gmail.com>
2024-07-29 23:01:52 +07:00
KPrasch
98fb407e77
more graceful handling of intentional node crashing
2024-07-29 22:58:42 +07:00
KPrasch
270d6b9f40
extract ferveo key mismatch detection on startup to a method for improved mocking capability
2024-07-29 22:23:50 +07:00
KPrasch
7263001db6
formalizes FerveoKeyMismatch includes acceptance test for mismatch conditions; updates mocks to handle key mismatch
2024-07-29 21:05:00 +07:00
KPrasch
a5f876bc48
exposes current ferveo public key in ursula json status
2024-07-29 21:05:00 +07:00
KPrasch
7bf5de22dd
revises ferveo key mismatch warning text
2024-07-29 21:05:00 +07:00
KPrasch
fd4812c54e
includes warning message for ferveo key mismatch
2024-07-29 21:05:00 +07:00
KPrasch
1ca813b27b
deliberately crash nodes with mismatched local vs. onchain ferveo public keys. This is a in-depth redundancy to compliment the startup check in case of bypassing the automated process.
2024-07-29 21:05:00 +07:00
KPrasch
d8207bda99
prevent ursula startup if there is a local vs. onchain ferveo public key mismatch.
2024-07-29 21:05:00 +07:00
KPrasch
f258496bae
Merge pull request #3522 from derekpierre/2-hour
...
EIP4361 freshness check ignores `not-before` value in SIWE message for freshness check; only `issued-at` is used
2024-07-29 19:53:55 +07:00
derekpierre
1af336f65d
Ensure that connect() is not called more than once unless issue with connection.
2024-07-27 17:04:58 -04:00
derekpierre
d71f259b01
Removing int wrapping for call to property since unnecessary.
2024-07-26 13:12:02 -04:00
derekpierre
772ce39acd
Don't set w3 instance directly on ATxM object - the strategies use the instance provided at construction time. Therefore, only create ATxM instance once the web3 instance is fully configured during connect().
...
Now that EthereumClient handles middleware configuration, the BlockchainInterface no longer has to.
Co-authored-by: David Núñez <david@nucypher.com>
2024-07-26 11:39:04 -04:00
derekpierre
3780a2394c
Have the EthereumClient be the centralized spot for configuring all required middleware.
...
Co-authored-by: David Núñez <david@nucypher.com>
2024-07-26 11:36:55 -04:00
derekpierre
392506648d
Ensure that issued-at value is not in the future.
...
Add respective test.
2024-07-24 11:20:12 -04:00
derekpierre
aa00d3aeb8
Use clearer message when address returned by signature for EIP712 does not match expected address.
2024-07-24 10:54:36 -04:00
derekpierre
b7c9822be0
Enforce 2-hour freshness check for EIP4361 by always using issued_at - we no longer care whether `not_before` is present or not.
2024-07-24 10:53:54 -04:00
derekpierre
fe02e51c41
Migration of Adapter use based on deprecation done for requests v2.32.2 via https://github.com/psf/requests/pull/6710 .
2024-07-16 10:12:31 -04:00
derekpierre
796c29377d
Update use of SiweMessage object given breaking changes in updated siwe library.
...
Update tests accordingly including testing did URIs.
2024-07-16 09:38:15 -04:00
derekpierre
22bf9df1ad
Removal of unnecessary/no longer needed special context variables for EVM wallet authentication. These were never released publicly (local to v7.4.x branch) so no compatibility concerns removing them.
2024-07-04 13:53:22 -04:00
derekpierre
28df8b851f
Respond to RFCs for #3513 .
2024-06-24 08:10:36 -04:00
derekpierre
184de55bfc
Handle context variable for EIP4361 auth signature, where the SIWE message and signature were passed through from the 3rd party app, and not created by TACo itself.
2024-06-21 12:17:00 -04:00
derekpierre
59d42b7b2e
Some code reorg that leaves space for additional authentication types other than EVM.
2024-06-06 15:48:45 -04:00
KPrasch
3b3263a57d
Merge pull request #3496 from KPrasch/rpc
...
Default RPC endpoints for Condition Evaluation
2024-06-05 15:52:19 +02:00
derekpierre
61544cca3d
Check for duplicate entries between user supplied endpoints and fallback endpoints. All endpoints for a specific chain should be unique.
2024-06-05 11:29:06 +02:00
KPrasch
31bf91650c
de-duplicate conditions URIs while preserving order
2024-06-04 15:29:35 +02:00
KPrasch
f511ea37f6
Update nucypher/blockchain/eth/actors.py
...
Co-authored-by: Derek Pierre <derek.pierre@gmail.com>
2024-06-04 15:20:07 +02:00
KPrasch
d7aaf43f8c
respond to RFCs in PR #3496
2024-05-30 15:17:53 +02:00
KPrasch
2d8a5baf1b
linting
2024-05-30 11:01:50 +02:00
KPrasch
bdd66f2289
Improves fallback RPC endpoint logging; perform startup health check for operator-supplied RPC endpoints.
2024-05-30 10:45:47 +02:00
derekpierre
0214471462
Allow any valid user authentication scheme for `:userAddress` context variable processing.
2024-05-29 09:46:37 -04:00
derekpierre
7998074c0f
Rename auth scheme from SIWE to EIP4361.
2024-05-28 14:31:18 -04:00
derekpierre
5fb87792fe
Add directives for EIP712 and SIWE specific userAddress context variables, to force the use of a specific authentication scheme.
2024-05-28 14:30:54 -04:00
derekpierre
f89cffd328
Adjust freshness check to occur after message verification, and skip if "not-before" is specified in the message.
2024-05-28 10:49:36 -04:00
KPrasch
fb4ed7c008
condition providers set -> list
2024-05-28 15:48:23 +02:00
KPrasch
97d10b951a
detailed utility logging for default RPC endpoints
2024-05-28 15:48:23 +02:00
KPrasch
faba9a10b9
Expands RPC health check logical branching to handle detailed failure cases; prepare for logging integration.
2024-05-28 15:48:23 +02:00
KPrasch
6509b2b3d7
Compares system time with block time for each default RPC provider.
2024-05-28 15:48:23 +02:00
KPrasch
be515e26be
Relocate default RPC endpoint list to a standalone repository controlled by nucypher.
2024-05-28 15:48:23 +02:00
Kieran
48a8bf1e0f
lint
2024-05-28 15:48:23 +02:00
Kieran
bd1962a58c
introduces default RPC endpoint health check utilities, and plant an initial entrypoint at node startup.
2024-05-28 15:48:23 +02:00
Kieran
2ac0aba53f
Introduce hardcoded default RPC endpoint; localize chain IDs, blockchain names to constants.py
2024-05-28 15:48:23 +02:00
derekpierre
06e56bbc72
Properly sort imports in relevant files causing the ruff CI check to fail.
2024-05-28 08:55:48 -04:00
derekpierre
0e83c1c158
Add a default freshness check for SIWE messages - this prevents perpetual reuse of the same SIWE message.
...
Improve auth exception messages and update tests to check for relevant messages.
Add tests for stale SIWE messages.
2024-05-16 19:46:42 -04:00
derekpierre
bced969340
Update exception message to include underlying exception.
2024-05-16 18:38:35 -04:00
derekpierre
d699c93bf9
Make auth tests more maintainable by improving fixture parameter usage.
2024-05-15 16:52:06 -04:00
derekpierre
00235c0dff
Check that address matches expected address for SIWE authentication.
2024-05-15 11:06:12 -04:00
derekpierre
c023e924f1
Fix resolution of scheme using string and not enum.
2024-05-15 11:05:12 -04:00
derekpierre
f10f9e463f
Minor cleanup.
2024-05-14 17:16:19 -04:00
derekpierre
e6d1534d1f
Initial plumbing for authenticating :userAddress context variable information provided using SIWE instead of EIP712 which we've traditionally used.
...
Leave some room for other possibilities.
2024-05-14 16:55:14 -04:00
derekpierre
f4080f6f86
Stop using deprecated method for :userAddress verification - use alternative API method.
2024-05-13 09:26:35 -04:00
KPrasch
f8b2bbba9a
Bump version: 7.3.0 → 7.4.0
2024-05-13 09:25:49 -04:00
KPrasch
df3b0b2666
Merge pull request #3409 from KPrasch/revoke
...
removes the `/revoke` endpoint
2024-05-07 09:24:45 -04:00
Kieran
c529d71b35
Removal of auxilliary revocation usage.
2024-05-07 09:24:45 -04:00
KPrasch
4a413c25fc
Removes the /revoke REST endpoint.
2024-05-07 09:24:36 -04:00
derekpierre
24b548f192
Adjust logic for creating blockchain provider based on endpoint provided.
2024-04-30 09:30:15 -04:00
derekpierre
031f484b85
Remove sign_transaction and sign_message from EthereumClient - clients shouldn't do any account management/signing.
...
Raise exceptions from Web3Signer if used for signing - an explicit signer should be used instead of this fallback.
Remove EthereumTesterClient since no longer needed and therefore from_w3() is no longer needed either; actual signer objects are used for signing transactions/messages in tests.
2024-04-29 16:33:18 -04:00
derekpierre
60b0ad9155
Remove account management functions from Web3Signer since external blockchain clients can't actually do signing, other than in tests; better mimic real world functionality.
2024-04-29 10:34:23 -04:00
derekpierre
2b4b0ad9f5
Modify Vladimir to use InMemorySigner.
2024-04-29 10:34:18 -04:00
derekpierre
5baac93058
InMemorySigner should implement _get_signer() like other Signers and not __get_signer().
2024-04-29 10:34:11 -04:00
derekpierre
b0991441c5
Removes customized RPC clients/shims; with standardization of providers there is less need for such specialized clients.
...
Limit providers to only http/https.
Based on some work previously done by Kieran, but was abandoned due it becoming stale and diverging from git history.
Co-authored-by: Kieran Prasch <kieranprasch@gmail.com>
2024-04-29 10:34:10 -04:00
derekpierre
40037f22a6
Prune public chains to only the ones currently being used.
2024-04-29 10:34:00 -04:00
derekpierre
f2f7c24bba
Allow duration as a parameter to make_staking_provider_reservoir function call. This call is used by Porter.
2024-04-25 10:15:56 -04:00
derekpierre
45f05e3134
Update other calls to get active providers based on duration.
2024-04-25 09:12:23 -04:00
derekpierre
74cc426cb1
Update get_active_staking_providers call for TACoApplicationAgent/TACoChildApplicationAgent to accept an optional duration parameter, with the default value being 0.
2024-04-25 09:12:18 -04:00
derekpierre
394dc6018e
Resubmit tx within `on_broadcast_failure` callback; removes the queued tx and resubmits a new tx. This prevents other queued txs for other rituals from being starved by one failing tx for a specific ritual.
2024-04-24 18:57:53 -04:00
Derek Pierre
6089db5fa8
Merge pull request #3487 from derekpierre/logging-one-more-thing
...
One more thing: Individual logging observers need to adhere to log levels
2024-04-24 17:12:49 -04:00
derekpierre
49e295e0e7
Log message about verified operator to debug instead of info.
2024-04-24 16:08:57 -04:00
derekpierre
27fe4c7f10
Observers themselves should adhere to log levels since other Loggers may be used which don't check log level before passing to observers.
2024-04-22 20:39:39 -04:00
derekpierre
2500fe1507
Fix inconsistent return from `sign_transaction`; either a SignedTransaction is returned or HexBytes. Reverting to lowest common denominator which is HexBytes (bytes). This issue was noticed while running the nucypher_dkg script which failed - it uses a keystore signer.
2024-04-22 14:15:28 -04:00
derekpierre
83e0ea153a
Clean up StdoutEmitter and log to the logging system where appropriate.
2024-04-19 14:59:59 -04:00
derekpierre
121bbbc4f4
Add tests for management of global observers for logging.
...
No-ops whenever trying to start/stop an already started/stopped global observer
Properly save and restore state within context manager for pausing logging.
2024-04-19 14:59:57 -04:00
derekpierre
47944092bd
Separate text file logs from json file logs. JSON logs are overly verbose and should only be enabled if explicitly indicated (probably for monitoring/scraping of logs), and should not be enabled by default. It's setting should be kept separate from text file logging.
2024-04-19 14:59:47 -04:00
derekpierre
ba9e5c4240
Properly track observers so that the correct instances can be used for removal if necessary.
2024-04-19 11:11:31 -04:00
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
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
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
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
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
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
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
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
snoppy
6a7a3bb921
chore: fix typos
2024-04-11 12:03:38 -04:00
derekpierre
f4c5623653
Fix incorrect rebase change. Revert line to what it was before.
2024-04-10 09:31:01 -04:00
derekpierre
f2e7e2d63d
Update tapir registry based on latest deployment to polygon amoy.
2024-04-10 09:09:23 -04:00
derekpierre
3086e7d942
Don't use ETH in text about tx cost since it could be MATIC.
2024-04-10 09:07:11 -04:00
derekpierre
eae9992158
Update Lynx contract registry with latest Lynx deployment on Polygon Amoy as part of migration from Polygon Mumbai.
2024-04-10 09:04:13 -04:00
derekpierre
9dcfdf0458
Update chain information to include polygon amoy as a valid chain.
2024-04-10 09:04:09 -04:00
derekpierre
8a5aec5ca6
Rename Polygon Mumbai enum to Polygon Amoy.
2024-04-10 09:04:00 -04:00
derekpierre
b771d0d198
Migrate configuration file when provided.
2024-03-25 13:43:01 -04:00
derekpierre
6f7779def3
Update embedded tapir contract registry.
2024-03-25 13:32:47 -04:00
derekpierre
a4a4988ca1
Adjust call to TACoApplication.getActiveStakingProviders. Needs to be properly addressed by #3458 to take a duration value.
2024-03-25 13:32:43 -04:00
derekpierre
fd08570b2f
Add additional values belonging to StakingProviderInfo for TACoChildApplicationAgent.
2024-03-25 13:32:42 -04:00
KPrasch
783664a173
handles importing of test packages in production builds
2024-03-25 13:32:36 -04:00
KPrasch
edbead6791
repsond to RFCs in PR #3437 :
...
- removes stale newsfrag
- do not return Deferred from SimpleTask.start and SimpleTask.stop
- removes eager atxm startup with ursula startup.
- remove unused token agent methods
- add spaces after periods in select logs
- more...
2024-03-25 13:32:26 -04:00
KPrasch
b1fef5d6b1
removes interval parapeter from subclass constructors of SimpleTask
2024-03-25 13:32:25 -04:00
KPrasch
69bd09bfe3
crash ursula on invalid event dispatch.
2024-03-25 13:32:24 -04:00
KPrasch
c16f93707a
promotes phase id to a NamedTuple.
2024-03-25 13:32:23 -04:00
KPrasch
bf2dbbc2c0
respond to RFCs in PR #3437
2024-03-25 13:32:22 -04:00
KPrasch
8b4e6bf09a
unit/integration test demonstrating async tx tracking by ursula.
2024-03-25 13:32:20 -04:00
KPrasch
416164a846
integrate atxm (see original history in https://github.com/nucypher/nucypher/pull/3424 , https://github.com/nucypher/atxm )
...
- atx integration test
- eliminate 'fire and forget'
- warp space-time
2024-03-25 13:32:19 -04:00
KPrasch
a31bda8c9e
updates import for newer version of cryptography
2024-03-25 13:32:10 -04:00
KPrasch
4ae72f94ab
update local signer integration to support newer version of eth_account.
2024-03-25 13:32:09 -04:00
KPrasch
57b9ffe7ee
Bump version: 7.2.0 → 7.3.0
2024-03-25 13:31:52 -04:00
Derek Pierre
04a2b66672
Apply RFCs from #3444
...
Co-authored-by: David Núñez <david@nucypher.com>
2024-02-13 10:53:03 -05:00
derekpierre
9f8dfffd11
Allow EventScanner to obtain different events as part of the same call to reduce overall rpc calls. Multiple events can be obtained by one call, instead of making one getLogs call per event.
...
EventScanner will no longer take specified filters since more than one event type can be obtained at a time. We don't utilize event specific filters currently anyway - and we probably won't need to.
2024-02-13 10:53:03 -05:00
derekpierre
0a01fb900b
Use the correct Logger class.
...
Use f-strings for event scanning logging.
2024-02-13 10:53:03 -05:00
derekpierre
919e5007ed
Update mainnet contract registry with latest changes deployed to mainnet - getParticipants that allows for paging results.
2024-02-13 10:53:03 -05:00
derekpierre
755cbd1511
Don't reuse the same SSL context. Use a new SSL context per connection so that the ca data can be updated accordingly.
2024-02-13 10:53:03 -05:00
derekpierre
d6d2f8d80c
Simplify netloc replacement of request url.
2024-02-13 10:53:03 -05:00
derekpierre
29ccc48310
Use built-in ssl function for obtaining ssl certs.
2024-02-13 10:53:03 -05:00
derekpierre
efd39bdc1c
Don't raise when a new teacher cannot be selected from the list of known_nodes.
2024-02-13 10:53:03 -05:00
David Núñez
6b2effe664
The return of simple_cache_middleware
2024-02-13 10:53:03 -05:00
derekpierre
6545dc3e88
Make start chunk size optional and default to min chunk size unless specified otherwise. Having 20 as the default negates the initial use of min chunk size which seems like a waste. I can see a potential usage for not wanting to use the min chunk size for a specific case of scanning a large number of blocks but seems unnecessary otherwise.
2024-02-13 10:53:03 -05:00
derekpierre
19caae9a2d
Fix SimpleTask to actually use class INTERVAL value instead of its own - caused EventScannerTask to use 60s instead of the 120s it had defined.
2024-02-13 10:53:03 -05:00
derekpierre
7257d4df7e
Move chunk, reorg window settings to ActiveRitualTracker - more applicable there since it has context for the chain being scanned etc.
...
Increase reorg window to 20 since we've noticed that Polygon block reorgs can be that large (sometimes larger).
Increase min chunk size to 60. Using 10 was seemingly too small give Polygon's shorter block time.
2024-02-13 10:53:03 -05:00
derekpierre
c89a5668b6
Allow caller of select_config_file to specify whether to auto-migrate config files with older versions.
...
By default auto migration does not happen, and the user is prompted.
During ursula run auto migration is set to true so that there are no user prompts for migration.
2024-02-13 10:53:03 -05:00
derekpierre
0b2999421b
Automatically migrate configuration files to latest version.
...
Modify OldVersion exception to include old version number.
2024-02-13 10:53:03 -05:00
derekpierre
b59978e815
Reuse response headers variable instead of using two different variables with the same value for response headers.
2024-02-13 10:53:03 -05:00
derekpierre
98b4c9db34
Clear all ritual data instead of just Ritual object when node observes that ritual is not active.
2024-02-13 10:53:03 -05:00