Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.15.1-dev.1
current_version = 0.15.1-dev.2
commit = True
tag = True
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<stage>[^.]*)\.(?P<devnum>\d+))?
Expand Down
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Expose `UserOperation`, `PackedUserOperation`, `UserOperationSigningRequest`, `PackedUserOperationSigningRequest`, `SignatureResponse` common objects and bindings for TACo Action Control. ([#113])
- Added `UserOperation`, `PackedUserOperation`, `UserOperationSigningRequest`, `PackedUserOperationSigningRequest`, `SignatureResponse` types and bindings for TACo Action Control. ([#113])
- Added `EncryptedThresholdSignatureRequest`/`EncryptedThresholdSignatureRequest` types and bindings to facilitate end-to-end encrypted requests/responses for TACo Action Control. ([#116])


[#123]: https://github.com/nucypher/nucypher-core/pull/123
[#113]: https://github.com/nucypher/nucypher-core/pull/113
[#116]: https://github.com/nucypher/nucypher-core/pull/116


## [0.15.0] - 2025-08-15

Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion nucypher-core-python/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "nucypher-core-python"
authors = ["Bogdan Opanchuk <bogdan@opanchuk.net>"]
version = "0.15.1-dev.1"
version = "0.15.1-dev.2"
edition = "2018"

[lib]
Expand Down
2 changes: 2 additions & 0 deletions nucypher-core-python/nucypher_core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
PackedUserOperation,
PackedUserOperationSignatureRequest,
SignatureResponse,
EncryptedThresholdSignatureRequest,
EncryptedThresholdSignatureResponse,
deserialize_signature_request,
)

Expand Down
60 changes: 58 additions & 2 deletions nucypher-core-python/nucypher_core/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,7 @@ class SessionSecretFactory:
@final
class SignatureRequestType:
USER_OP: int = 0
PACKED_USER_OP: int = 1
PACKED_USER_OP: int = 1


@final
Expand Down Expand Up @@ -857,6 +857,13 @@ class UserOperationSignatureRequest:
def signature_type(self) -> int:
...

def encrypt(
self,
shared_secret: SessionSharedSecret,
requester_public_key: SessionStaticKey
) -> EncryptedThresholdSignatureRequest:
...

@staticmethod
def from_bytes(data: bytes) -> UserOperationSignatureRequest:
...
Expand Down Expand Up @@ -979,6 +986,13 @@ class PackedUserOperationSignatureRequest:
def signature_type(self) -> int:
...

def encrypt(
self,
shared_secret: SessionSharedSecret,
requester_public_key: SessionStaticKey
) -> EncryptedThresholdSignatureRequest:
...

@staticmethod
def from_bytes(data: bytes) -> PackedUserOperationSignatureRequest:
...
Expand Down Expand Up @@ -1016,7 +1030,13 @@ class SignatureResponse:
def signature_type(self) -> int:
"""Get the signature type as integer."""
...


def encrypt(
self,
shared_secret: SessionSharedSecret
) -> EncryptedThresholdSignatureResponse:
...

@staticmethod
def from_bytes(data: bytes) -> SignatureResponse:
"""Deserialize from bytes."""
Expand All @@ -1035,3 +1055,39 @@ def deserialize_signature_request(
from bytes and return the specific type directly.
"""
...


@final
class EncryptedThresholdSignatureRequest:
requester_public_key: SessionStaticKey

cohort_id: int

def decrypt(
self,
shared_secret: SessionSharedSecret
) -> Union[UserOperationSignatureRequest, PackedUserOperationSignatureRequest]:
...

@staticmethod
def from_bytes(data: bytes) -> EncryptedThresholdSignatureRequest:
...

def __bytes__(self) -> bytes:
...


@final
class EncryptedThresholdSignatureResponse:
def decrypt(
self,
shared_secret: SessionSharedSecret
) -> SignatureResponse:
...

@staticmethod
def from_bytes(data: bytes) -> EncryptedThresholdSignatureResponse:
...

def __bytes__(self) -> bytes:
...
2 changes: 1 addition & 1 deletion nucypher-core-python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
description="Protocol structures of Nucypher network",
long_description=long_description,
long_description_content_type="text/markdown",
version="0.15.1-dev.1",
version="0.15.1-dev.2",
author="Bogdan Opanchuk",
author_email="bogdan@opanchuk.net",
url="https://github.com/nucypher/nucypher-core/tree/main/nucypher-core-python",
Expand Down
Loading
Loading