vzotova
7c437b37b8
Removes `WorkLock` contract/agent/deployer and cli
...
Co-authored-by: Kieran Prasch <kieranprasch@gmail.com>
2022-02-10 20:19:21 +03:00
vzotova
ecac8017ed
Removes PolicyManager and StakingInterface
2022-02-09 14:24:26 +03:00
Kieran Prasch
5014209eeb
retire multisig tools
2022-02-08 11:11:22 -08:00
derekpierre
d442375e5f
Cleanup of Porter tests to account for duration_periods no longer needed for sampling.
2022-02-08 11:04:27 -08:00
Kieran Prasch
b193465f98
adjust tests
2022-02-08 11:03:50 -08:00
Kieran Prasch
1c34045a81
Prepares economics and deployment constants for use with threshold network.
2022-02-08 11:02:17 -08:00
Kieran Prasch
0e148fbfa8
Skip tests
2022-02-08 11:02:02 -08:00
Kieran Prasch
34c79c7830
Require payment method for is_me Ursula and Alice.
2022-02-08 11:01:24 -08:00
Kieran Prasch
b36debae5c
Introduce PaymentMethod.Quote (calculate valid policy value for SubscriptionManager.createPolicy).
2022-02-08 11:01:24 -08:00
Kieran Prasch
bbc509910d
Adjust tests to accommodate swapable payment methods.
2022-02-08 11:01:24 -08:00
Kieran Prasch
ac1d4b5603
CLI supports payment method configuratiopn by Ursula and Alice.
2022-02-08 11:01:24 -08:00
Damon Ciarelli
c1f66c0ef6
ursula pre_application_agent working; contract interactions required to run ursula.
2022-02-08 11:01:24 -08:00
Kieran Prasch
8052585d2a
Removes Felix
2022-02-07 12:11:28 -08:00
Bogdan Opanchuk
01179c5df5
[temporary] Check to see how long do performance tests take now
2022-01-09 15:25:04 -08:00
Bogdan Opanchuk
a276cfec25
Disband umbral_adapter
2022-01-08 15:29:22 -08:00
Bogdan Opanchuk
8cb8f16370
Clean up Python parts moved to Rust
...
And some unused imports
2022-01-08 15:29:22 -08:00
Bogdan Opanchuk
e5620c3155
Changes to make the tests pass
2022-01-08 15:29:22 -08:00
Bogdan Opanchuk
02bb2e2f76
Import the standalone package instead of nucypher.core
2022-01-08 15:29:22 -08:00
Bogdan Opanchuk
944d3373e7
Normalize the usage of VariableLengthBytestrings
...
Allow for every Versioned type to be able to deserialize itself from the bytestring.
2021-11-01 13:31:31 -07:00
Bogdan Opanchuk
7197d853d7
Move `signer` to the first position in the parameter list in various core constructors
2021-11-01 13:31:12 -07:00
Bogdan Opanchuk
fe02c30fc7
Making names uniform throughout the codebase: policy_key -> policy_encrypting_key
...
Also change recipient_key to policy_encrypting_key in MessageKit.author(),
now that MessageKit is only used for reencryptable messages.
2021-11-01 13:31:12 -07:00
Bogdan Opanchuk
004aa312f3
Remove signing from MessageKit
...
Now it's the user's responsibility
2021-11-01 13:31:12 -07:00
Bogdan Opanchuk
af404677c7
Make a separately versioned EncryptedKeyFrag instead of using a MessageKit
2021-11-01 13:31:11 -07:00
Bogdan Opanchuk
238a2cfd2a
Remove `hrac` from `EncryptedTreasureMap`
2021-10-29 15:06:34 -07:00
Bogdan Opanchuk
4bb6c82014
Stop bundling `publisher_verifying_key` with `EncryptedTreasureMap`
...
Instead:
- Add it as a parameter to `retrieve_cfrags()`
- Add it to `ReencryptionRequest`
- Remove `EncryptedTreasureMap._public_signature` and `hrac`
2021-10-29 15:06:34 -07:00
Bogdan Opanchuk
e1c0335cdc
Sign the whole node metadata instead of just the interface
2021-10-29 15:06:34 -07:00
Kieran R. Prasch
320eaa7de9
Reference issue #2813
2021-10-29 14:37:37 -07:00
Kieran R. Prasch
25425d55e5
Skip stale federated retrieval test.
2021-10-29 07:56:24 -07:00
Kieran Prasch
9d996ab965
Remove 'arrangement' language and naming (leaves onchain models).
2021-10-29 07:56:20 -07:00
Kieran Prasch
a37e741fc8
Removes integration tests for treasure map storage.
2021-10-29 07:56:20 -07:00
Kieran Prasch
3b3ca65f9f
Removes 'handpicked ursula' language.
2021-10-29 07:56:20 -07:00
Kieran Prasch
00a6a67b9a
Deprecation of Arrangement datastore.
2021-10-29 07:56:20 -07:00
Kieran Prasch
cf667f6522
Refactor Policy without Arrangements.
2021-10-29 07:56:20 -07:00
Bogdan Opanchuk
130308fbf8
Use a mapping for `assigned_kfrags` in `TreasureMap.construct_by_publisher()`
2021-10-15 15:35:35 -07:00
Bogdan Opanchuk
12f601c949
Add `Ursula._decrypt_kfrag()` and dissolve `decrypt_internal()`
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
ca2ae89ba6
Get rid of passing a Callable to EncryptedTreasureMap.decrypt()
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
ffa72226f6
Remove the remainders of the separate Learning Loop versioning
...
All versioning is contained in the protocol objects now
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
ef0e619684
Bundle policy encrypting key with TreasureMap
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
5fa56877ab
Add MetadataRequest and MetadataResponse to core.py
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
e5e598952a
Extract NodeMetadata into the core
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
98c78efbca
Move RevocationOrder to core.py
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
01c2e9bd71
Move RetrievalKit to core.py
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
256c93db58
Move [Encrypted]TreasureMap to core.py
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
f847f9982c
Move HRAC to core.py
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
a3410cadfb
Move MessageKit to the temporary core module
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
18454c721e
Use a single InvalidSignature exception instead of three different ones
2021-10-15 15:19:19 -07:00
Bogdan Opanchuk
c0c2208826
Extend brands to 4 bytes
2021-09-30 12:13:46 -07:00
Kieran Prasch
ba6a49e13c
Implements enforced major.minor versioning scheme for serializable entities.
2021-09-24 15:29:20 -07:00
Kieran Prasch
f311d4efd3
Implement versioning for Arrangement.
2021-09-23 16:01:25 -07:00
KPrasch
44b62da35a
Update tests/integration/characters/test_specifications.py
...
Co-authored-by: Derek Pierre <derek.pierre@gmail.com>
2021-09-23 16:01:25 -07:00
Kieran Prasch
c90eaa76a1
Renames Revocation to RevocationOrder.
2021-09-23 16:01:25 -07:00
Kieran Prasch
c6b2ace28b
Correct renamed umbral signature kwarg.
2021-09-23 16:01:25 -07:00
Kieran Prasch
f136696430
Implement versioning for message and policy kits.
2021-09-23 16:01:25 -07:00
Kieran Prasch
48cd97292e
Implement versioning for treasure maps.
2021-09-23 16:01:25 -07:00
KPrasch
5582a9fd79
Merge pull request #2768 from derekpierre/porter-retrieval
...
Update Porter endpoint for retrieval
2021-09-19 14:31:47 -07:00
derekpierre
a653751d13
Document cleanup regarding retrieval results format, and improve testing for mutliple retrieval kits.
2021-09-17 11:12:48 -04:00
Bogdan Opanchuk
defa0e7c75
Fix deprecation warnings
2021-09-15 13:12:21 -07:00
derekpierre
adb8f17b99
Updated Bob's RetrieveAndDecrypt schema and associated CLI to accept a list of message kits since the respective Python API was modified to accept a list of message kits.
...
Cleaned up Bob's retrieve_and_decrypt CLI code to account for updated required options - there was code that was based on some options not being required
Adjusted associated tests.
2021-09-14 15:58:08 -04:00
derekpierre
90408c1768
Publisher verifying key is no longer an argument for RetrievalClient - remove usage from Porter.
2021-09-14 15:58:08 -04:00
derekpierre
7f20fbdc7b
Try not to use Bob python api to decrypt results of retrieve_cfrags.
2021-09-14 15:58:08 -04:00
derekpierre
b0267ee9f8
Remove unnecessary decryption of treasure map in porter retrieve_cfrags tests.
2021-09-14 15:58:08 -04:00
derekpierre
eb48e82fc3
VerifiedCapsuleFrag cannot be deserialized, so rename marshmallow field to CapsuleFrag.
...
Improve retreive_cfrags test to ensure that the cfrags are valid and can successfully be used by Bob to decrypt the data.
2021-09-14 15:58:08 -04:00
derekpierre
27fe5daf7d
Deserialization of MessageKit field now produces a MessageKit object instead of bytes.
...
Minor update to Porter docs for retrieval endpoint.
2021-09-14 15:58:08 -04:00
derekpierre
dfa65a2976
Code cleanup after rebase over retrieval protocol work in #2730 .
2021-09-14 15:58:08 -04:00
derekpierre
4568fc1f5a
Ensure that /retrieve_cfrags can be executed using url query parameters.
2021-09-14 15:58:08 -04:00
derekpierre
001dd39ac2
Improve Porter retrieve_cfrags tests to ensure that capsules match in results.
2021-09-14 15:58:08 -04:00
derekpierre
d2c3b7a1f9
Make Porter Web endpoints return error status codes instead of exceptions in tests.
2021-09-14 15:58:08 -04:00
derekpierre
ff6b1bae98
Encrypted and Decrypted treasure map fields.
2021-09-14 15:58:08 -04:00
derekpierre
72de21fb08
Initial tests for BobRetrieveCFrags schema.
2021-09-14 15:58:08 -04:00
derekpierre
602f2b6d05
Modify EncryptedTreasureMap field so that deserialize produces a TreasureMap object and not bytes.
2021-09-14 15:58:08 -04:00
derekpierre
aa1006ca16
Modify Key field so that deserialize produces a PublicKey object and not bytes.
2021-09-14 15:58:08 -04:00
derekpierre
2fec681e66
Skip Porter exec_work_order tests; they'll be reworked for the new retrieve protocol.
2021-09-14 15:58:08 -04:00
Bogdan Opanchuk
1a10ddf7e7
Remove `EncryptedTreasureMap` datastore model
2021-09-08 08:55:49 -07:00
Bogdan Opanchuk
66175a04da
Rename Bob.retrieve_cfrags()/retrieve() to avoid confusion with RetrievalClient.retrieve_cfrags()
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
39dcab3aa1
Ensure enough Ursulas are available before retrieval
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
a9cc13e825
Move retrieval machinery to network/retrieval and revocation to policy/revocation
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
1ad868bf41
Remove internal cfrag cache from Bob
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
da816586fa
Remove "enrico" as a parameter to Bob.retrieve(); make "policy_encrypting_key" mandatory.
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
0f85435ac7
Require encrypted_treasure_map in retrieve()
2021-09-08 08:21:04 -07:00
Bogdan Opanchuk
1d3642d960
Retrieval rework
2021-09-08 08:21:03 -07:00
Bogdan Opanchuk
a338ff1a69
Don't return the signature along with the MessageKit from MessageKit.author()
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
41ae6dbcca
Move message kits to policy submodule
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
161bb8f06d
Use __bytes__ instead of to_bytes() in MessageKit
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
3ef534b812
Rename PolicyMessageKit to MessageKit
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
0b697881a1
Move TLSHostingPower to powers.py
...
To avoid circular dependencies
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
3b43eac717
Remove UmbralMessageKit alias
2021-09-07 11:58:55 -07:00
Bogdan Opanchuk
9d2d36cbf3
Remove an unused parameter from TreasureMap.construct_by_publisher()
2021-09-07 11:58:55 -07:00
Kieran R. Prasch
a3f8df66fc
RFCs for PR #2780 pt. II
2021-08-25 12:08:35 -07:00
Kieran R. Prasch
18c9f849b7
Respond to RFCs in PR #2780 ; Additional map publication removals. Middleware raises detailed 400-level exceptions.
2021-08-23 20:57:18 -07:00
Kieran R. Prasch
fce6c3c31e
Newsfragment for PR #2780
2021-08-20 16:59:00 -07:00
Kieran R. Prasch
024bcb1c5f
Finish deprecation of map storage from tests.
2021-08-20 16:58:58 -07:00
Bogdan Opanchuk
6164137610
Rename m -> threshold, num_kfrags -> shares
2021-08-20 19:26:56 -04:00
Bogdan Opanchuk
c595850952
RFCs, part 2
2021-08-19 17:06:45 -04:00
Bogdan Opanchuk
caf32842b3
RFCs
2021-08-19 17:06:45 -04:00
Bogdan Opanchuk
ad2ad8e3c0
Make HRAC a class and use it as a policy ID
2021-08-19 17:06:45 -04:00
Bogdan Opanchuk
509b8c1bfc
Split treasure maps into decrypted and encrypted
2021-08-19 17:06:45 -04:00
Bogdan Opanchuk
5b5cd4bd84
Use HRAC as treasure map ID at all times instead of just in the blockchain case
2021-08-19 17:06:45 -04:00
Bogdan Opanchuk
2be3d727d5
Rename TreasureMap field and datastore model to EncryptedTreasureMap
2021-08-19 17:06:45 -04:00
KPrasch
ed67bbcd7b
Merge pull request #2777 from KPrasch/main
...
Relock Dependencies
2021-08-18 15:43:09 -07:00
Kieran R. Prasch
1f7ee94489
Update eth_account Transaction API imports.
2021-08-17 15:34:44 -07:00
Bogdan Opanchuk
279a647be0
Move ENCRYPTED_KFRAG_PAYLOAD_LENGTH into AuthorizedKeyFrag
2021-08-13 14:46:56 -07:00
Bogdan Opanchuk
8c628da9ea
Extract kfrag authorization into a class
2021-08-12 16:34:05 -07:00
Bogdan Opanchuk
e5c0bb079e
Fix the remainders of Alice/Publisher separation
2021-08-12 16:32:02 -07:00
Bogdan Opanchuk
cc156b28e3
Move retrieve() argument deserialization to `BobInterface`
2021-08-12 16:32:02 -07:00
Piotr Roslaniec
e357fe2f38
Pass Path as str to CLI in tests
2021-08-06 18:11:26 +02:00
Piotr Roslaniec
695cc10950
Detect paths during deserialization
2021-08-06 18:10:45 +02:00
Piotr Roslaniec
09e90d17fa
Remove remaining 'str' usage
2021-08-06 18:10:43 +02:00
Piotr Roslaniec
1a3a649f23
Address PR suggestions
2021-08-06 18:10:22 +02:00
Piotr Roslaniec
113a6db0ac
Fix tests after rebase
2021-08-06 18:10:22 +02:00
Piotr Roslaniec
a8975ff41d
Fix tests
2021-08-06 18:10:22 +02:00
Piotr Roslaniec
662bc34439
Use Path methods instead of os module
2021-08-06 18:10:22 +02:00
Piotr Roslaniec
6a270c1713
Use pathlib
2021-08-06 18:10:20 +02:00
derekpierre
eabe6ce325
Respond to RFCs from #2664 .
2021-07-26 15:14:43 -04:00
derekpierre
def9ef1116
Ensure that url query parameters in tests are url encoded. Added note about url encoding in docs.
...
Add unit test for Base64BytesRepresentation field.
Cleanup imports.
2021-07-26 15:14:43 -04:00
derekpierre
463078ce0d
Fix issues after TMapConKFrag rebase including how work orders are created and used for tests. exec_work_order tests now actually use /reencrypt ursulas endpoints.
2021-07-26 15:14:43 -04:00
derekpierre
1baa05ba3f
Initial implementation of Porter '/exec_work_order' functionality and tests.
...
Some code refactoring.
2021-07-26 15:14:43 -04:00
derekpierre
c9c72a29ab
Remove unnecessarly CLI commands for Porter. Some schema cleanup to group ursula schemas together.
2021-07-26 15:14:43 -04:00
derekpierre
25f3db3355
Use query parameters for GET methods; updated tests for stringlist and query parameters.
2021-07-26 15:14:43 -04:00
damon
0dfada8056
StringList field for flexible handling of GET/POST data close #2735
2021-07-26 15:14:43 -04:00
derekpierre
da0231673c
Fix lingering references to relayer_verifying_key to instead be publisher_verifying_key.
2021-07-26 15:14:43 -04:00
derekpierre
d9cbee9469
Cleanup tests that use the random treasure map data to instead use a common fixture.
2021-07-26 15:14:43 -04:00
derekpierre
d31f5938ca
Fix imports and function calls after rebasing over latest changes (TMapConKFrags and umbral_adapter).
...
Fix incompatible treasure map data used in tests.
2021-07-26 15:14:43 -04:00
derekpierre
e8f0e20400
Add Basic Authentication tests.
2021-07-26 15:14:43 -04:00
derekpierre
e83128fd91
One potential solution for contextualizing federated vs non-federated treasure maps provided as bytes in the `/publish_treasure_map` endpoint.
...
The context information is provided either at construction time of the TreasureMap field, or via the parent Schema context.
2021-07-26 15:14:42 -04:00
derekpierre
2403c27370
Code cleanup based on RFCs from #2717 .
2021-07-26 15:14:42 -04:00
derekpierre
39e5217d63
Use uri instead of ip_address for UrsulaInfo.
2021-07-26 15:14:42 -04:00
derekpierre
5b2984fd74
Improve treasuremap validation for rest api, and some code cleanup.
...
Added rpc and web control tests for porter.
2021-07-26 15:14:42 -04:00
derekpierre
34fbc058d6
Make duration_period for get_ursulas optional on the Learner object for federated mode (not changed for rest api).
2021-07-26 15:14:42 -04:00
derekpierre
dbeec7f1ae
Add integration and acceptance tests for porter functionality.
...
Remove unused 'publish_treasure_map' parameter from _enact() function.
Loosen validation on treasure map id which can be 32 bytes (federated) or 16 bytes (non-federated). Probably only care about non-federated but for ease of testing, federated really helps.
2021-07-26 15:14:42 -04:00
derekpierre
778c018593
Initial implementation of Alice.get_ursulas for Porter.
2021-07-26 15:14:42 -04:00
derekpierre
01a62eac36
Add tests for Porter Schema definitions.
2021-07-26 15:14:42 -04:00
derekpierre
589ddff4de
Initial refactoring of "character control"; abstract what is now "character control" into a general "base control" from which "character control" can sub-class.
2021-07-26 15:14:42 -04:00
Kieran R. Prasch
6192c34c3d
Renames relayer -> publisher.
2021-07-06 14:43:35 -07:00
Kieran R. Prasch
8f8b79aa08
Responding to RFCs in PR #2687 .
2021-07-06 14:43:31 -07:00
Kieran R. Prasch
3367ac5a50
Post-rebase cleanup for PR #2701
2021-07-03 19:05:24 -07:00
Kieran Prasch
c915a1b1d3
Use umbral adapter everywhere. Fixes straggler uses of umbral 0.1.x
2021-07-03 18:51:07 -07:00
Kieran Prasch
81ca745bfa
Fixes incorrect splitter in map versioning and grant test assertion.
2021-07-03 18:48:54 -07:00
Bogdan Opanchuk
7642300fe0
Rebase fixes for rebased-chili-limes ( #28 )
...
* Fix PRETask serialization
* Use a constant for encrypted kfrag length
* Fix argument order in Signature.verify()
* Remove a too brittle check in test_bob_handles_frags
What exactly are we ensuring here? If we want to check that the cfrag is fine,
we need to use it for decryption.
* Remove an unnecessary check
The result of `reencrypt()` is verified by default.
* Re-raise Umbral decryption errors as DecryptionFailed
* Fix an argument of _filter_work_orders_and_capsules()
* Fix an assertion in test_federated_grant_and_revoke
Assertion fails because now UmbralMessageKit has __len__,
so a bool() call is equivalent to len() == 0
(which it is, since there are no cfrags attached).
2021-07-03 18:48:26 -07:00
Kieran Prasch
4e7ea984f0
Post-rebase integration with PR #2612 and Umbral 0.2.x
2021-07-03 18:48:24 -07:00
Kieran Prasch
e13fae0526
Combating freefriders and evil Bobs with a KFrag writ authorization.
2021-07-03 18:46:36 -07:00
Kieran Prasch
a22b403a08
Partial tets update for modified map and order handling; Continue handling of publisher/authorizer keys.
2021-07-03 18:40:10 -07:00
Kieran Prasch
2b299cf993
Sing-along with david - use HRAC for workorders.
2021-07-03 17:50:43 -07:00
David Núñez
fed1b4aba8
Let's go for the moment with TMaps with KFrags and Arrangement IDs
2021-07-03 17:50:43 -07:00
Kieran R. Prasch
7ed52647f3
Use crypto.passwords module for handling password key derivations.
2021-06-30 16:49:31 -07:00
Kieran Prasch
8a54bd7e6d
Post rebase cleanup for PR #2612 ; Umbral 0.2.x compatibility.
2021-06-30 15:14:10 -07:00
Kieran Prasch
3253ab9694
Index node metadata by stamp instead of checksum address. Further decouples wallet address from node identity.
2021-06-28 14:33:31 -07:00
Kieran Prasch
53db75c246
Contruct TLS certificate filenames with the interface port to avoid duplicate/invalid.
2021-06-28 14:33:31 -07:00
Kieran Prasch
0d3780466b
Respond to RFCs in PR #2701
2021-06-28 14:33:31 -07:00
Kieran R. Prasch
f0080b3e2e
Minimally restore attachment of keystore
2021-06-28 14:33:31 -07:00
Kieran R. Prasch
4f7bdf5c46
tests respect the Keystore API
2021-06-28 14:33:31 -07:00