nucypher/tests/unit
James Campbell 5733c3069b
feat(signing): Add unified subIndices for ABI parameter validation
Replace separate index_within_tuple and index_within_array fields with
a single subIndices list that handles arbitrary nesting of arrays and
tuples. This resolves the ambiguity of operation ordering when both
array and tuple indexing are needed (e.g., tuple containing arrays vs
array of tuples).

The subIndices approach:
- Interprets each index based on the current ABI type at that position
- Arrays (type[]) consume an index and strip the []
- Tuples ((a,b,c)) consume an index and extract the field type
- Supports any depth of nesting

Backward compatibility for indexWithinTuple was intentionally removed
since AbiParameterValidation has not been officially released (only in
pending v7.7.x branch) and the sole user (Collab.Land) will need new
conditions for their fee collection work anyway.
2026-01-29 14:00:42 +00:00
..
conditions feat(signing): Add unified subIndices for ABI parameter validation 2026-01-29 14:00:42 +00:00
crypto Add unit tests for Signing/Decryping request powers. 2025-11-06 14:54:40 -05:00
registry No need to skip test anymore since `nucypher-contracts` for tapir were updated to use Polygon Amoy. 2024-04-10 09:09:39 -04:00
conftest.py Further integration with recent nucypher-core changes 2025-07-31 19:46:30 +02:00
test_abi_utils.py feat(signing): Add unified subIndices for ABI parameter validation 2026-01-29 14:00:42 +00:00
test_block_confirmations.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00
test_blockchain_events.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00
test_blockchain_interface.py Remove is_connected in favour of is_initialized for clarity. 2024-09-05 08:47:08 -04:00
test_bytestring_types.py DKG encryption functionality for Enrico 2023-05-02 10:23:00 -07:00
test_character_serialization.py Restores unit tests to not compile solidity. 2022-12-07 11:29:26 +00:00
test_character_sign_and_verify.py use domain lookups sparingly and cache the lookups results 2023-10-31 14:30:15 +01:00
test_cli_help.py Clean up cli help test to simplify exit code check and sub-command entry point printing in help output. 2025-09-24 08:24:01 -04:00
test_cli_utils.py Add custom strtobool implementation now that distutils has been removed in python 3.12. 2025-12-16 11:16:12 -05:00
test_concurrency.py Add tests for BatchValueFactory, and fix issues. 2023-05-11 10:44:05 -04:00
test_coordinator.py Update tests accordingly to accommodate fee model architecture where appropriate. 2024-09-12 15:53:02 -04:00
test_datafeeds.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00
test_decorators.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00
test_erc4337_utils.py Update constant name. 2025-11-18 11:11:36 -05:00
test_ethereum_client.py Fix ordering in failing tests - chain id needs to be set before creating EthereumClient. 2024-07-26 13:11:12 -04:00
test_event_scanner.py Additional plumbing for refactoring ritual tracker. Potentially the common superclass could be used for signing cohort events. 2025-09-25 14:28:25 -04:00
test_external_ip_utilities.py linting 2024-02-13 10:53:03 -05:00
test_gas_strategies.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00
test_keystore_signer.py Introduces UserOp EIP-712 structures. 2025-09-25 14:59:14 -04:00
test_logging.py Add tests for observer wrapper functionality and its use with global observers. 2024-04-22 21:23:24 -04:00
test_memory_certs.py Apply suggestions from code review 2024-03-25 13:32:16 -04:00
test_memory_signer.py exposing eip 712 encoding on power internals 2025-09-25 14:59:14 -04:00
test_node_latency_collector.py Use math.isclose for floating point comparisons in unit tests. 2024-11-06 09:00:35 -05:00
test_operator_bonded_tracker.py repsond to RFCs in PR #3437: 2024-03-25 13:32:26 -04:00
test_ping_requests.py utilize the flask test client on Ursula to integration test ipv4 resolution from flask request headers. 2024-01-23 19:21:26 +01:00
test_ping_utils.py respond to RFCs in PR #3398 2024-01-23 19:21:26 +01:00
test_prometheus.py Make enabling prometheus optional. 2024-01-23 13:27:35 +01:00
test_prometheus_metrics_tracker.py integrate atxm (see original history in https://github.com/nucypher/nucypher/pull/3424, https://github.com/nucypher/atxm) 2024-03-25 13:32:19 -04:00
test_reserved_test_account_manager.py Rename stake_provider(s)_account(s) -> staking_provider(s)_account(s). 2024-04-29 10:34:22 -04:00
test_ritual_storage.py Add more tests for DkgStorage specific functionality. 2025-09-25 15:05:24 -04:00
test_ritualist.py Add unit tests for post signature phase of signing and associated async tx hooks. 2025-09-25 15:05:24 -04:00
test_rpc_healthcheck.py Use `functools.cache` instead of memoize and update tests accordingly 2024-12-12 13:58:40 +01:00
test_signing_request.py Use ThresholdSigningPower subclass instead of TransactingPower when signing signature requests. 2025-10-30 09:16:53 -04:00
test_staking_providers_reservoir.py Add unit tests for testing MergedReservoir and PrefetchStrategy. 2024-01-19 11:04:31 +01:00
test_taco_domains.py Remove condition chains concept from domains and related tests 2024-12-10 11:47:32 +01:00
test_teacher_nodes.py Expands domains data model to include condition chains 2023-10-31 17:23:43 +01:00
test_ttl_cache.py TTL Cache utility. 2023-07-21 13:42:33 -04:00
test_web3_clients.py 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
test_web3_middleware.py repairs a p2p validity test that implements /ping. Linting. 2024-01-23 19:21:26 +01:00