Go to file
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
.github Use python 3.13 instead of python 3.12 in CI workflows including code coverage. 2025-09-29 10:01:55 -04:00
deploy Install git during docker build so that any git dependencies can be installed; this is helpful for development builds eg. needing to use unreleased `nucypher-core` code. 2025-11-06 14:54:44 -05:00
examples Allow porter URL to be dynamic based on domain value. 2025-12-01 12:10:34 -05:00
newsfragments feat(signing): Add unified subIndices for ABI parameter validation 2026-01-29 14:00:42 +00:00
nucypher feat(signing): Add unified subIndices for ABI parameter validation 2026-01-29 14:00:42 +00:00
scripts Relock dependencies for python 3.13 requirements. 2025-10-01 12:49:26 -04:00
tests feat(signing): Add unified subIndices for ABI parameter validation 2026-01-29 14:00:42 +00:00
.bumpversion.cfg Bump version: 7.6.1 → 7.7.0 2025-09-25 13:54:28 -04:00
.coveragerc Update coverage configuration to allow for better categorization of coverage reporting. 2022-11-14 18:07:53 -05:00
.dockerignore cloudworkers: clean disk space more thoroughly, stop containers first 2021-03-27 12:11:57 -07:00
.flake8 removes documentation build support. 2023-10-30 23:13:12 +01:00
.gitignore Move PRE examples to their own subfolder. 2023-09-28 11:53:20 -04:00
.pre-commit-config.yaml update darker version at github workflows and enhance its output at local pre-commit 2025-09-25 13:54:35 -04:00
CODE_OF_CONDUCT.md Add "end-of-file-fixer" to pre-commit hooks 2020-05-19 14:28:29 -04:00
CONTRIBUTING.rst remove Pipenv 2024-03-25 13:32:28 -04:00
LICENSE Relicense to AGPLv3 for more freedom 2019-03-04 18:55:28 -08:00
MANIFEST.in Remove trailing slash used for acumen path in Manifest. 2024-07-31 14:14:52 -04:00
Makefile Relock python dependencies 2025-09-23 16:31:29 +02:00
README.md Update README links to docs 2025-01-29 20:00:53 +01:00
SECURITY.md Update SECURITY.md links to docs.taco.build 2025-01-29 20:01:00 +01:00
codecov.yml Fix code coverage to only focus on the `nucypher` folder. 2023-01-09 09:37:27 -05:00
dev-requirements.txt Relock dependencies after updating py-solc-x dependency requirement. 2025-12-16 11:16:10 -05:00
mypy.ini Ignore setup.py in mypy configuration. 2020-05-28 11:59:47 -07:00
nucypher.png Relocate nucypher.png and releases.rst to the project root. 2023-10-30 23:13:12 +01:00
poetry.lock Relock dependencies after updating py-solc-x dependency requirement. 2025-12-16 11:16:10 -05:00
pyproject.toml Ensure that py-solc-x version >= 2.0.5 is used since old solc binary URL was deprecated, and 2.0.5 uses an updated URL. 2025-12-16 11:16:04 -05:00
pytest.ini Run coverage directly and not through pytest-cov - there are discrepancy in reports. 2022-11-16 11:14:32 -05:00
releases.rst Update releases.rst 2025-09-24 10:06:48 -04:00
requirements.txt Relock dependencies after updating py-solc-x dependency requirement. 2025-12-16 11:16:10 -05:00
setup.cfg Reconfigure setup.py; External deps, code cleanup, post install hook, installation options. 2020-05-28 11:59:08 -07:00
setup.py Add python 3.13 as supported in setup.py. 2025-09-29 10:00:02 -04:00

README.md

Cryptographic primitives, hosted on the decentralized nodes of the Threshold network, offering accessible, intuitive, and extensible runtimes and interfaces for secrets management and dynamic access control.

pypi pyversions codecov discord license


Threshold Access Control (TACo)

TACo is end-to-end encrypted data sharing and communication, without the requirement of trusting a centralized authority, who might unilaterally deny service or even decrypt private user data. It is the only access control layer available to Web3 developers that can offer a decentralized service, through a live, well-collateralized and battle-tested network.

See more in the TACo docs.

Getting Involved

NuCypher is a community-driven project and we're very open to outside contributions.

All our development discussions happen in our Discord server, where we're happy to answer technical questions, discuss feature requests, and accept bug reports.

If you're interested in contributing code, please check out our Contribution Guide and browse our Open Issues for potential areas to contribute.

Security

If you identify vulnerabilities with any nucypher code, please email security@nucypher.com with relevant information to your findings. We will work with researchers to coordinate vulnerability disclosure between our stakers, partners, and users to ensure successful mitigation of vulnerabilities.

Throughout the reporting process, we expect researchers to honor an embargo period that may vary depending on the severity of the disclosure. This ensures that we have the opportunity to fix any issues, identify further issues (if any), and inform our users.

Sometimes vulnerabilities are of a more sensitive nature and require extra precautions. We are happy to work together to use a more secure medium, such as Signal. Email security@nucypher.com and we will coordinate a communication channel that we're both comfortable with.

A great place to begin your research is by working on our testnet. Please see our documentation to get started. We ask that you please respect testnet machines and their owners. If you find a vulnerability that you suspect has given you access to a machine against the owner's permission, stop what you're doing and immediately email security@nucypher.com.