mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-13 12:33:25 +02:00
Use bytes for server proto (#626)
* Use bytes for squeak_hash in getsqueak method * Use bytes for squeak hash in get offer rpc * Use bytes for hash field in squeak message in proto * Use bytes for hashes in lookup response * Remove old commented code * Use bytes for squeak hash in peer client post * Remove old comments
This commit is contained in:
parent
eed3e744f4
commit
5572ee07d0
6 changed files with 32 additions and 33 deletions
|
|
@ -80,7 +80,7 @@ def test_post_squeak(server_stub, admin_stub, lightning_client, following_signin
|
|||
|
||||
# Get the same squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(hash=bytes.fromhex(squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -122,7 +122,7 @@ def test_lookup_squeaks(server_stub, admin_stub, signing_profile_id, saved_squea
|
|||
)
|
||||
)
|
||||
assert len(lookup_response.hashes) == 1
|
||||
assert saved_squeak_hash in set(lookup_response.hashes)
|
||||
assert bytes.fromhex(saved_squeak_hash) in set(lookup_response.hashes)
|
||||
|
||||
|
||||
def test_lookup_squeaks_empty_result_addresses(server_stub, admin_stub):
|
||||
|
|
@ -172,7 +172,8 @@ def test_sell_squeak(server_stub, admin_stub, lightning_client, saved_squeak_has
|
|||
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=saved_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -180,7 +181,7 @@ def test_sell_squeak(server_stub, admin_stub, lightning_client, saved_squeak_has
|
|||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
hash=saved_squeak_hash,
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
assert buy_response.offer.payment_request.startswith("ln")
|
||||
|
|
@ -238,7 +239,8 @@ def test_make_squeak(server_stub, admin_stub, signing_profile_id):
|
|||
|
||||
# Get the new squeak from the server
|
||||
get_squeak_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=make_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(make_squeak_hash))
|
||||
)
|
||||
get_squeak_response_squeak = squeak_from_msg(get_squeak_response.squeak)
|
||||
CheckSqueak(get_squeak_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -511,7 +513,8 @@ def test_delete_squeak(server_stub, admin_stub, saved_squeak_hash):
|
|||
# Try to get the squeak and fail
|
||||
with pytest.raises(Exception) as excinfo:
|
||||
server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=saved_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
assert "Squeak not found." in str(excinfo.value)
|
||||
|
||||
|
|
@ -616,7 +619,8 @@ def test_delete_peer(server_stub, admin_stub, peer_id):
|
|||
def test_list_channels(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=saved_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -624,7 +628,7 @@ def test_list_channels(server_stub, admin_stub, lightning_client, saved_squeak_h
|
|||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
hash=saved_squeak_hash,
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
assert buy_response.offer.payment_request.startswith("ln")
|
||||
|
|
@ -677,7 +681,8 @@ def test_send_coins(server_stub, admin_stub, lightning_client):
|
|||
def test_list_peers(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=saved_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -685,7 +690,7 @@ def test_list_peers(server_stub, admin_stub, lightning_client, saved_squeak_hash
|
|||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
hash=saved_squeak_hash,
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
assert buy_response.offer.payment_request.startswith("ln")
|
||||
|
|
@ -728,7 +733,8 @@ def test_list_peers(server_stub, admin_stub, lightning_client, saved_squeak_hash
|
|||
def test_open_channel(server_stub, admin_stub, lightning_client, saved_squeak_hash):
|
||||
# Get the squeak from the server
|
||||
get_response = server_stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(hash=saved_squeak_hash)
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=bytes.fromhex(saved_squeak_hash))
|
||||
)
|
||||
get_response_squeak = squeak_from_msg(get_response.squeak)
|
||||
CheckSqueak(get_response_squeak, skipDecryptionCheck=True)
|
||||
|
|
@ -736,7 +742,7 @@ def test_open_channel(server_stub, admin_stub, lightning_client, saved_squeak_ha
|
|||
# Buy the squeak data key
|
||||
buy_response = server_stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
hash=saved_squeak_hash,
|
||||
hash=bytes.fromhex(saved_squeak_hash),
|
||||
)
|
||||
)
|
||||
assert buy_response.offer.payment_request.startswith("ln")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ from proto import squeak_server_pb2
|
|||
|
||||
def build_squeak_msg(squeak):
|
||||
return squeak_server_pb2.Squeak(
|
||||
hash=get_hash(squeak),
|
||||
hash=bytes.fromhex(get_hash(squeak)),
|
||||
serialized_squeak=squeak.serialize(),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ message PostSqueakRequest {
|
|||
|
||||
message GetSqueakRequest {
|
||||
/// Hash of the squeak to get.
|
||||
string hash = 1;
|
||||
bytes hash = 1;
|
||||
}
|
||||
|
||||
message LookupSqueaksRequest {
|
||||
|
|
@ -49,7 +49,7 @@ message LookupSqueaksRequest {
|
|||
|
||||
message GetOfferRequest {
|
||||
/// Hash of the squeak to buy.
|
||||
string hash = 1;
|
||||
bytes hash = 1;
|
||||
}
|
||||
|
||||
message PostSqueakReply {
|
||||
|
|
@ -62,7 +62,7 @@ message GetSqueakReply {
|
|||
|
||||
message LookupSqueaksReply {
|
||||
/// Hash of the squeak to get.
|
||||
repeated string hashes = 1;
|
||||
repeated bytes hashes = 1;
|
||||
|
||||
/// Hash of the squeak to get.
|
||||
repeated string allowed_addresses = 2;
|
||||
|
|
@ -75,7 +75,7 @@ message GetOfferReply {
|
|||
|
||||
message Squeak {
|
||||
/// Hash of the squeak.
|
||||
string hash = 1;
|
||||
bytes hash = 1;
|
||||
|
||||
/// Serialized squeak.
|
||||
bytes serialized_squeak = 2;
|
||||
|
|
|
|||
|
|
@ -35,9 +35,7 @@ class PeerClient:
|
|||
)
|
||||
)
|
||||
return LookupResponse(
|
||||
hashes=[
|
||||
bytes.fromhex(hash)
|
||||
for hash in lookup_response.hashes],
|
||||
hashes=lookup_response.hashes,
|
||||
allowed_addresses=lookup_response.allowed_addresses,
|
||||
)
|
||||
|
||||
|
|
@ -54,7 +52,7 @@ class PeerClient:
|
|||
with self.get_stub() as stub:
|
||||
get_response = stub.GetSqueak(
|
||||
squeak_server_pb2.GetSqueakRequest(
|
||||
hash=squeak_hash.hex(),
|
||||
hash=squeak_hash,
|
||||
)
|
||||
)
|
||||
get_response_squeak = self._squeak_from_msg(get_response.squeak)
|
||||
|
|
@ -65,7 +63,7 @@ class PeerClient:
|
|||
with self.get_stub() as stub:
|
||||
buy_response = stub.GetOffer(
|
||||
squeak_server_pb2.GetOfferRequest(
|
||||
hash=squeak_hash.hex(),
|
||||
hash=squeak_hash,
|
||||
)
|
||||
)
|
||||
offer_msg = buy_response.offer
|
||||
|
|
@ -73,7 +71,7 @@ class PeerClient:
|
|||
|
||||
def _build_squeak_msg(self, squeak: CSqueak):
|
||||
return squeak_server_pb2.Squeak(
|
||||
hash=get_hash(squeak).hex(),
|
||||
hash=get_hash(squeak),
|
||||
serialized_squeak=squeak.serialize(),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,9 +44,7 @@ class SqueakServerHandler(object):
|
|||
len(allowed_addresses))
|
||||
)
|
||||
return squeak_server_pb2.LookupSqueaksReply(
|
||||
hashes=[
|
||||
hash.hex()
|
||||
for hash in hashes],
|
||||
hashes=hashes,
|
||||
allowed_addresses=allowed_addresses,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
return squeak_server_pb2.PostSqueakReply()
|
||||
|
||||
# Check if squeak hash is correct
|
||||
if get_hash(squeak).hex() != squeak_hash:
|
||||
if get_hash(squeak) != squeak_hash:
|
||||
context.set_code(grpc.StatusCode.INVALID_ARGUMENT)
|
||||
return squeak_server_pb2.PostSqueakReply()
|
||||
|
||||
|
|
@ -45,9 +45,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
return squeak_server_pb2.PostSqueakReply()
|
||||
|
||||
def GetSqueak(self, request: squeak_server_pb2.GetSqueakRequest, context):
|
||||
# squeak_hash = request.hash
|
||||
squeak_hash_str = request.hash
|
||||
squeak_hash = bytes.fromhex(squeak_hash_str)
|
||||
squeak_hash = request.hash
|
||||
# TODO: check if hash is valid
|
||||
|
||||
squeak = self.handler.handle_get_squeak(squeak_hash)
|
||||
|
|
@ -60,7 +58,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
|
||||
return squeak_server_pb2.GetSqueakReply(
|
||||
squeak=squeak_server_pb2.Squeak(
|
||||
hash=get_hash(squeak).hex(),
|
||||
hash=get_hash(squeak),
|
||||
serialized_squeak=squeak.serialize(),
|
||||
)
|
||||
)
|
||||
|
|
@ -69,8 +67,7 @@ class SqueakServerServicer(squeak_server_pb2_grpc.SqueakServerServicer):
|
|||
return self.handler.handle_lookup_squeaks(request)
|
||||
|
||||
def GetOffer(self, request, context):
|
||||
squeak_hash_str = request.hash
|
||||
squeak_hash = bytes.fromhex(squeak_hash_str)
|
||||
squeak_hash = request.hash
|
||||
# TODO: check if hash is valid
|
||||
client_addr = context.peer()
|
||||
ip_addr = parse_ip_address(client_addr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue