Skip to content

Commit 7ddfa28

Browse files
committed
Add Price dataclass to types. Add StartSession() to subscription module. Rewrite SubscribeToNode() in node module
1 parent e13d076 commit 7ddfa28

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

src/sentinel_sdk/modules/node.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
import sentinel_protobuf.sentinel.node.v2.querier_pb2 as sentinel_node_v2_querier_pb2
1515
import sentinel_protobuf.sentinel.node.v2.querier_pb2_grpc as sentinel_node_v2_querier_pb2_grpc
1616
import sentinel_protobuf.sentinel.node.v2.msg_pb2 as msg_pb2
17+
import sentinel_protobuf.sentinel.node.v3.msg_pb2 as msg_pb2_3
1718

1819
from sentinel_sdk.querier.querier import Querier
1920
from sentinel_sdk.transactor.transactor import Transactor
20-
from sentinel_sdk.types import PageRequest, TxParams, NodeType
21+
from sentinel_sdk.types import PageRequest, TxParams, NodeType, Price
2122

2223
from .wireguard import WgKey
2324

@@ -129,6 +130,7 @@ def RegisterNode(self, gigabyte_prices: int, hourly_prices: int, remote_url: str
129130
)
130131
return self.transaction([msg], tx_params)
131132

133+
'''
132134
def SubscribeToNode(self, node_address: str, gigabytes: int = 0, hours: int = 0, denom: str = "udvpn", tx_params: TxParams = TxParams()):
133135
msg = msg_pb2.MsgSubscribeRequest(
134136
frm = self._account.address,
@@ -138,7 +140,17 @@ def SubscribeToNode(self, node_address: str, gigabytes: int = 0, hours: int = 0,
138140
node_address = node_address,
139141
)
140142
return self.transaction([msg], tx_params)
141-
143+
'''
144+
145+
def SubscribeToNode(self, node_address: str, gigabytes: int = 0, hours: int = 0, price: Price = Price(), tx_params: TxParams = TxParams()):
146+
msg = msg_pb2_3.MsgStartSessionRequest(
147+
frm = self._account.address,
148+
gigabytes = gigabytes,
149+
hours = hours,
150+
node_address = node_address,
151+
max_price = price,
152+
)
153+
return self.transaction([msg], tx_params)
142154
def UpdateNodeDetails(self, gigabyte_prices: int, hourly_prices: int, remote_url: str, tx_params: TxParams = TxParams()):
143155
msg = msg_pb2.MsgUpdateDetailsRequest(
144156
frm = self._account.address,

src/sentinel_sdk/modules/subscription.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import sentinel_protobuf.sentinel.subscription.v2.querier_pb2_grpc as sentinel_subscription_v2_querier_pb2_grpc
66
import sentinel_protobuf.sentinel.subscription.v2.subscription_pb2 as subscription_pb2
77
import sentinel_protobuf.sentinel.subscription.v2.msg_pb2 as msg_pb2
8+
import sentinel_protobuf.sentinel.subscription.v3.msg_pb2 as msg_pb2_3
89

910
from sentinel_sdk.querier.querier import Querier
1011
from sentinel_sdk.transactor.transactor import Transactor
@@ -168,6 +169,13 @@ def Cancel(self, id: int, tx_params: TxParams = TxParams()):
168169
)
169170
return self.transaction([msg], tx_params)
170171

172+
def StartSession(self, address: str, subscription_id: int, tx_params: TxParams = TxParams()):
173+
msg = msg_pb2_3.MsgStartSessionRequest(
174+
frm = self._account.address,
175+
id = subscription_id,
176+
address = address
177+
)
178+
return self.transaction([msg], tx_params)
171179
# Node subscriptions are returned by grpc querier in google's 'Any' type and need to be converted into desired protobuf type
172180
#
173181
#

src/sentinel_sdk/types.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ class TxParams:
2525
fee_amount: int = 31415
2626
gas: float = 0
2727
gas_multiplier: float = 1.5
28+
29+
@dataclass
30+
class Price:
31+
denom: str = "udvpn"
32+
base_value: str = "0"
33+
quote_value: str = "0"
2834

2935

3036
class PageRequest:

0 commit comments

Comments
 (0)