Commit Graph

127 Commits (7098933a4751bcf8feb8eca061dda80befb51a14)

Author SHA1 Message Date
derekpierre 681e3b1061 Add get_ritual_initiation_cost to MockCoordinatorAgent - although not needed for integration tests. 2023-09-14 16:26:05 -04:00
Kieran Prasch 570e3574b3 utility mock for is_provider_public_key_set 2023-09-12 18:03:03 +02:00
derekpierre ba002cc4e7 Use isEncryptionAuthorized() function on Coordinator agent itself via Coordinator agent, instead of trying to call access controller for ritual directly.
Pass ciphertext_header to is_encryption_authorized() function and not the hash of it.
2023-09-12 10:11:37 -04:00
Kieran Prasch 783f2dcd76 Enrico uses a web3 wallet to encrypt-then-sign. 2023-09-11 19:06:24 +02:00
derekpierre 243448d015 Bob no longer needs ritual id as a parameter for decrypting the threshold message kit since the Coordinator contract can be used for obtaining the ritual id from the dkg public key which is already stored in the threshold message kit. 2023-09-11 11:50:54 -04:00
derekpierre 3a98c38b6a Add required arguments for tests using MockCoordinator given the new values stored by the Ritual struct. 2023-09-07 18:35:00 -04:00
Kieran Prasch 0c69c142b6 handle fees, authority, and access controller in several tests 2023-09-07 18:35:00 -04:00
Kieran Prasch 56486f74df assorted 'initiator' -> 'authority' 2023-09-07 18:35:00 -04:00
derekpierre 81121bc4c5 Accomodate obtaining dkg threshold from Coordinator contract/Ritual object.
MockCoordinatorAgent simply uses a class method to determine threshold (allows for both simple/precomputed) to still be tested in integration tests.
2023-09-07 18:35:00 -04:00
derekpierre f0e64f23e7 Fix MockCoordinatorAgent to properly handle setting/getting provider public keys.
Move G2Point out of Ritual in CoordinatorAgent.
2023-09-07 18:35:00 -04:00
derekpierre 98cbe16be3 Add the ability for Ursula to use the ACP, obtained from the modified ThresholdDecryptionRequest, to check whether the data is encrypted by an authorized party.
Stub method added to CoordinatorAgent for now.
2023-08-27 03:19:16 +02:00
Kieran Prasch 4c3394c309 Updates testing mocks to handle multiple RPC providers per blockchain 2023-08-20 16:02:39 +02:00
derekpierre 0e2c1db2c0 Use fire_and_forget for ritual transactions for publishing transcripts/aggregated transcripts. 2023-07-13 09:08:05 -04:00
Owen Campbell a4de8a882e
Make the use of string literal type hints compatible with PEP 484
Because:
- Not doing so causes F821 linting errors

https://peps.python.org/pep-0484/#forward-references
https://www.flake8rules.com/rules/F821.html
2023-06-27 12:41:53 +01:00
Kieran Prasch fdb28dd21e Improves multichain provider internal routing correctness. 2023-06-26 20:42:51 +02:00
derekpierre c2edb1ceb1 Update code to use newly named Session key objects in `nucypher-core`.
Modify ape-config to use `nucypher-contracts:main` now that associated PR was merged.
2023-06-07 08:07:18 -04:00
derekpierre d3bab657f3 Make updates based on latest Coordinator contract changes. 2023-06-07 08:07:18 -04:00
derekpierre 71604f251f Use new request keys in `nucypher-core` that use curve 25519 instead of Umbral for decryption request/response encryption.
E2EThresholdDecryptionRequest object is no longer needed as an intermediary since a DH shared secret key is created/used.
2023-06-07 08:07:18 -04:00
Piotr Roslaniec d8b51b6c07 replace ferveo package usage with nucypher core module export 2023-06-01 19:18:05 +02:00
derekpierre b9f0f0838a Obtain request encrypting keys from Ritual object; don't convert object to bytes (transcript, agg transcript) before passing to Coordinator agent.
Update tests.
2023-05-23 14:59:42 -04:00
derekpierre 787d7d3e56 Update code to handle E2EE changes to Coordinator contract, and use ThresholdRequestDecryptingPower to perform E2EE decryption requests. 2023-05-23 14:59:42 -04:00
derekpierre de926000b4 Update code to handle DkgPublicKey now being 48 bytes. 2023-05-06 13:15:48 -04:00
derekpierre 048a8ea3fc Link to ferveo issue due to incorrect public key bytes length. 2023-05-05 14:41:15 -04:00
derekpierre 20fadaa0d8 Cleanup of tests. 2023-05-04 17:35:52 -04:00
derekpierre 88046fc3bc Updated use of ferveo 0.1.8. Note: public key bytes are still not 48 bytes. 2023-05-04 17:34:27 -04:00
derekpierre eda1fc1a50 Initial changes to conform to latest changes to Coordinator contract in nucypher-contracts. 2023-05-04 17:34:27 -04:00
Kieran Prasch cfba9be307 simple in-memory test regitry for unit tests, mock out middleware for mock clients. 2023-05-02 10:23:24 -07:00
Kieran Prasch a19c50ec69 ape checkpoint 1 2023-05-02 10:23:24 -07:00
derekpierre ba766100b0 bugfix: sync coordinator mocks, use StartRitual event instead of StartTranscriptRound for signalling posting of transcripts. 2023-05-02 10:23:24 -07:00
derekpierre a4798e3a6a bugfixes: ensure poiive start block number, MockCoordinatorAgent to be in line with latest logic in Coordinator contract. 2023-05-02 10:23:24 -07:00
Kieran Prasch 4a9c59a055 bugfixes: pertaining to tdec request/response cycle 2023-05-02 10:23:24 -07:00
Kieran Prasch 08be039e42 start the event scanner from a block estimation based on on-chain ritual timeout 2023-05-02 10:23:24 -07:00
derekpierre 3b990e38b4 Make DKG failing tests pass. 2023-05-02 10:23:24 -07:00
derekpierre a3f039e13c Nodes post the dkg public key when posting their aggregated transcripts. 2023-05-02 10:23:24 -07:00
Kieran Prasch e20cc7f96f public exposure of per-request ferveo variant, ferveo==0.1.7 and nucypher-core integration of ThresholdDecryptionRequest and Response 2023-05-02 10:23:24 -07:00
derekpierre b4673ac39f Got some dkg unit and integration tests passing. There are more tests to make pass. 2023-05-02 10:23:24 -07:00
Kieran Prasch c654e45367 updates for web3.py 6+ 2023-05-02 10:23:24 -07:00
Kieran Prasch 35baaad87c fervero/node integration test with mocked blockchain 2023-05-02 10:23:00 -07:00
Kieran Prasch fff6728a32 three-layered testing of DKG rituals 2023-04-20 07:10:45 -07:00
Kieran Prasch 6da5bac954 ferveo DKG module and mocks 2023-04-20 07:10:45 -07:00
Kieran Prasch bc77489e94 CoordinatorV3 adaptation and integration with ferveo-server crate draft. 2023-04-20 07:10:45 -07:00
Kieran Prasch 59e14cc2e2 dkg node protocol early prototype v1. 2023-04-20 07:10:45 -07:00
Bogdan Opanchuk aa779c6557 Fixes for the new nucypher-core/umbral-pre API 2023-02-18 13:32:19 -08:00
jMyles ff2b98c30c The 'big_testerchain' concept didn't work out; cleaning it up. Leaving it in the history for research purposes. 2022-12-07 11:29:26 +00:00
jMyles 52dcd13a53 The first idea - a bad one - in response to the need for a large fleet of Ursulas for performance tests. It's way too slow to try to make them all on a testerchain. 2022-12-07 11:29:26 +00:00
Kieran Prasch 7b7f2f071f Atomically unfederate (most of) the tests; Restores "federated" functionality by way of mocking. Takes advantage of fixture overriding to intercept testerchain. 2022-12-07 11:28:40 +00:00
Kieran Prasch 6ca73c2849 remove lisence header from tests 2022-11-16 13:27:47 +00:00
Kieran Prasch 4e2bede69d Promote tests/mock and tests/utils to imporatable packages 2022-10-31 20:16:35 +00:00
Kieran Prasch febc6093c1 Removes lmdb datastore usage 2022-10-27 10:12:17 +01:00
Kieran Prasch 646246ae3f delete datastore modules 2022-10-27 10:12:17 +01:00