From 3d58e2a16fb8d005d2d35f9bae3d979535da3cdf Mon Sep 17 00:00:00 2001 From: freqnik Date: Thu, 9 Jul 2026 12:43:03 -0400 Subject: [PATCH 1/4] Add Query stubs to leases module --- pyproject.toml | 2 +- src/sentinel_sdk/modules/lease.py | 45 ++++++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 89a3885..c32dcee 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "sentinel_sdk" -version = "0.1.3" +version = "0.1.4" description = "A Sentinel SDK Written in Python" authors = [ { name = "NAST0R" }, diff --git a/src/sentinel_sdk/modules/lease.py b/src/sentinel_sdk/modules/lease.py index a3dfb16..c12f42b 100644 --- a/src/sentinel_sdk/modules/lease.py +++ b/src/sentinel_sdk/modules/lease.py @@ -1,9 +1,8 @@ import grpc import sentinel_protobuf.sentinel.lease.v1.lease_pb2 as lease_pb2 -import sentinel_protobuf.sentinel.lease.v1.querier_pb2 as sentinel_subscription_v2_querier_pb2 -import sentinel_protobuf.sentinel.lease.v1.querier_pb2_grpc as sentinel_subscription_v2_querier_pb2_grpc -import sentinel_protobuf.sentinel.subscription.v2.subscription_pb2 as subscription_pb2 +import sentinel_protobuf.sentinel.lease.v1.querier_pb2 as sentinel_lease_v1_querier_pb2 +import sentinel_protobuf.sentinel.lease.v1.querier_pb2_grpc as sentinel_lease_v1_querier_pb2_grpc import sentinel_protobuf.sentinel.lease.v1.msg_pb2 as msg_pb2 from sentinel_protobuf.sentinel.types.v1.price_pb2 import Price from sentinel_protobuf.sentinel.types.v1.renewal_pb2 import RenewalPricePolicy @@ -14,13 +13,51 @@ class LeaseModule(Querier, Transactor): def __init__(self, channel: grpc.Channel, account, provider_account, client): - self.__stub = sentinel_subscription_v2_querier_pb2_grpc.QueryServiceStub( + self.__stub = sentinel_lease_v1_querier_pb2_grpc.QueryServiceStub( channel ) self._account = account self._client = client self._provider_account = provider_account + def QueryLease(self, lease_id: int) -> Any: + try: + r = self.__stub.QuerySession( + sentinel_lease_v1_querier_pb2.QueryLeaseRequest(id=lease_id) + ) + except grpc._channel._InactiveRpcError as e: + print(e) + return None + + return r.session + + def QueryLeases(self, pagination: PageRequest = None) -> list: + return self.QueryAll( + query=self.__stub.QueryLeases, + request=sentinel_lease_v1_querier_pb2.QueryLeasesRequest, + attribute="leases", + pagination=pagination, + ) + + def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> List: + return self.QueryAll( + query=self.__stub.QueryLeasesForNode, + request=sentinel_lease_v1_querier_pb2.QueryLeasesForNodeRequest, + attribute="leases", + address=address, + pagination=pagination, + ) + + def QueryProviderLeases(self, str: address, pagination: PageRequest = None) -> List: + return self.QueryAll( + query=self.__stub.QueryLeasesForProvider, + request=sentinel_lease_v1_querier_pb2.QueryLeasesForProviderRequest, + attribute="leases", + address=address, + pagination=pagination, + ) + + def EndLease(self, subscription_id: int, tx_params: TxParams = TxParams()): msg = msg_pb2.MsgEndLeaseRequest( frm = self._provider_account.address, From 7f9b28fc7cb997ba4bb6ee1383c2ca361c7f177e Mon Sep 17 00:00:00 2001 From: freqnik Date: Thu, 9 Jul 2026 12:59:20 -0400 Subject: [PATCH 2/4] Add Any declaration --- pyproject.toml | 2 +- src/sentinel_sdk/modules/lease.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c32dcee..e8cc131 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "sentinel_sdk" -version = "0.1.4" +version = "0.1.5" description = "A Sentinel SDK Written in Python" authors = [ { name = "NAST0R" }, diff --git a/src/sentinel_sdk/modules/lease.py b/src/sentinel_sdk/modules/lease.py index c12f42b..51a6158 100644 --- a/src/sentinel_sdk/modules/lease.py +++ b/src/sentinel_sdk/modules/lease.py @@ -1,3 +1,4 @@ +from typing import Any import grpc import sentinel_protobuf.sentinel.lease.v1.lease_pb2 as lease_pb2 From 4c1d38efd7f1c343febca83f23194d6dbc82ee1b Mon Sep 17 00:00:00 2001 From: freqnik Date: Thu, 9 Jul 2026 13:01:14 -0400 Subject: [PATCH 3/4] Fix typo --- pyproject.toml | 2 +- src/sentinel_sdk/modules/lease.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e8cc131..50e207a 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "sentinel_sdk" -version = "0.1.5" +version = "0.1.6" description = "A Sentinel SDK Written in Python" authors = [ { name = "NAST0R" }, diff --git a/src/sentinel_sdk/modules/lease.py b/src/sentinel_sdk/modules/lease.py index 51a6158..0c0456b 100644 --- a/src/sentinel_sdk/modules/lease.py +++ b/src/sentinel_sdk/modules/lease.py @@ -40,7 +40,7 @@ def QueryLeases(self, pagination: PageRequest = None) -> list: pagination=pagination, ) - def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> List: + def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> list: return self.QueryAll( query=self.__stub.QueryLeasesForNode, request=sentinel_lease_v1_querier_pb2.QueryLeasesForNodeRequest, @@ -49,7 +49,7 @@ def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> List: pagination=pagination, ) - def QueryProviderLeases(self, str: address, pagination: PageRequest = None) -> List: + def QueryProviderLeases(self, str: address, pagination: PageRequest = None) -> list: return self.QueryAll( query=self.__stub.QueryLeasesForProvider, request=sentinel_lease_v1_querier_pb2.QueryLeasesForProviderRequest, From ee5d3cff810de68fee058d715f0be5b5d3ae668c Mon Sep 17 00:00:00 2001 From: freqnik Date: Thu, 9 Jul 2026 13:03:52 -0400 Subject: [PATCH 4/4] Fix typo --- pyproject.toml | 2 +- src/sentinel_sdk/modules/lease.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 50e207a..6760e48 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "sentinel_sdk" -version = "0.1.6" +version = "0.1.7" description = "A Sentinel SDK Written in Python" authors = [ { name = "NAST0R" }, diff --git a/src/sentinel_sdk/modules/lease.py b/src/sentinel_sdk/modules/lease.py index 0c0456b..ef0e4b1 100644 --- a/src/sentinel_sdk/modules/lease.py +++ b/src/sentinel_sdk/modules/lease.py @@ -40,7 +40,7 @@ def QueryLeases(self, pagination: PageRequest = None) -> list: pagination=pagination, ) - def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> list: + def QueryNodeLeases(self, address: str, pagination: PageRequest = None) -> list: return self.QueryAll( query=self.__stub.QueryLeasesForNode, request=sentinel_lease_v1_querier_pb2.QueryLeasesForNodeRequest, @@ -49,7 +49,7 @@ def QueryNodeLeases(self, str: address, pagination: PageRequest = None) -> list: pagination=pagination, ) - def QueryProviderLeases(self, str: address, pagination: PageRequest = None) -> list: + def QueryProviderLeases(self, address: str, pagination: PageRequest = None) -> list: return self.QueryAll( query=self.__stub.QueryLeasesForProvider, request=sentinel_lease_v1_querier_pb2.QueryLeasesForProviderRequest,