diff --git a/docker/sqkserver/Dockerfile b/docker/sqkserver/Dockerfile index 0b17a91d..67113fa8 100644 --- a/docker/sqkserver/Dockerfile +++ b/docker/sqkserver/Dockerfile @@ -19,7 +19,7 @@ RUN pip3 install -r requirements.txt # Copy the source code. COPY . /app -# Copy the source code. +# Copy the downloaded rpc files. RUN cp -r googleapis /app RUN cp rpc.proto /app diff --git a/docker/test/Dockerfile b/docker/test/Dockerfile index 4fec5c7a..e73ea72d 100644 --- a/docker/test/Dockerfile +++ b/docker/test/Dockerfile @@ -15,17 +15,19 @@ COPY requirements-itest.txt / RUN pip3 install --upgrade pip RUN pip3 install -r requirements-itest.txt -Run mkdir /app -COPY ./squeakserver/common/rpc/squeak_server.proto /app -COPY ./squeakserver/admin/rpc/squeak_admin.proto /app +# Copy the source code. +COPY . /app + +# Copy the downloaded rpc files. RUN cp -r googleapis /app -RUN cp rpc.proto /app/lnd.proto +RUN cp rpc.proto /app WORKDIR /app -RUN python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. lnd.proto -RUN python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. squeak_server.proto -RUN python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. squeak_admin.proto +# Install the gRPC files. +COPY "install-rpc.sh" . +RUN chmod +x install-rpc.sh +RUN ./install-rpc.sh # Copy the lighting client COPY "squeakserver/common/lnd_lightning_client.py" . diff --git a/install-rpc.sh b/install-rpc.sh index ba7a2f4a..ffd11937 100755 --- a/install-rpc.sh +++ b/install-rpc.sh @@ -9,14 +9,10 @@ if [ ! -f "rpc.proto" ]; then fi # Move this to squeakserver/common/lnd/rpc.proto instead. -cp rpc.proto squeakserver/common/rpc/lnd.proto +cp rpc.proto proto/lnd.proto echo "Installing RPC protocol files" -# install lnd protocol -python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. squeakserver/common/rpc/lnd.proto - -# install squeak server protocol -python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. squeakserver/common/rpc/squeak_server.proto - -# install squeak admin server protocol -python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. squeakserver/admin/rpc/squeak_admin.proto +python3 -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. \ + proto/lnd.proto \ + proto/squeak_server.proto \ + proto/squeak_admin.proto diff --git a/itests/test.py b/itests/test.py index 8386d6a6..071433db 100644 --- a/itests/test.py +++ b/itests/test.py @@ -4,6 +4,8 @@ import logging import random import time +import grpc + from bitcoin.core import lx, x from squeak.params import SelectParams from squeak.core import CSqueak @@ -15,14 +17,12 @@ from squeak.core.encryption import generate_data_key from squeak.core.signing import CSigningKey from squeak.core.signing import CSqueakAddress -import lnd_pb2 as ln -import lnd_pb2_grpc as lnrpc - -import grpc -import squeak_server_pb2 -import squeak_server_pb2_grpc -import squeak_admin_pb2 -import squeak_admin_pb2_grpc +from proto import lnd_pb2 as ln +from proto import lnd_pb2_grpc as lnrpc +from proto import squeak_server_pb2 +from proto import squeak_server_pb2_grpc +from proto import squeak_admin_pb2 +from proto import squeak_admin_pb2_grpc from lnd_lightning_client import LNDLightningClient diff --git a/proto/__init__.py b/proto/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/squeakserver/admin/rpc/squeak_admin.proto b/proto/squeak_admin.proto similarity index 98% rename from squeakserver/admin/rpc/squeak_admin.proto rename to proto/squeak_admin.proto index 72a358ea..37bdb647 100644 --- a/squeakserver/admin/rpc/squeak_admin.proto +++ b/proto/squeak_admin.proto @@ -7,6 +7,8 @@ option objc_class_prefix = "SQK"; package squeakserver; +// import "lnd.proto"; + // Interface exported by the server. service SqueakAdmin { diff --git a/squeakserver/common/rpc/squeak_server.proto b/proto/squeak_server.proto similarity index 100% rename from squeakserver/common/rpc/squeak_server.proto rename to proto/squeak_server.proto diff --git a/squeakserver/admin/rpc/__init__.py b/squeakserver/admin/rpc/__init__.py deleted file mode 100644 index b794fd40..00000000 --- a/squeakserver/admin/rpc/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = '0.1.0' diff --git a/squeakserver/admin/squeak_admin_server_servicer.py b/squeakserver/admin/squeak_admin_server_servicer.py index 536389d1..35a8eb62 100644 --- a/squeakserver/admin/squeak_admin_server_servicer.py +++ b/squeakserver/admin/squeak_admin_server_servicer.py @@ -5,8 +5,9 @@ import grpc from squeak.core import CSqueak -from squeakserver.admin.rpc import squeak_admin_pb2 -from squeakserver.admin.rpc import squeak_admin_pb2_grpc +from proto import squeak_admin_pb2 +from proto import squeak_admin_pb2_grpc + from squeakserver.server.util import get_hash diff --git a/squeakserver/common/rpc/__init__.py b/squeakserver/common/rpc/__init__.py deleted file mode 100644 index b794fd40..00000000 --- a/squeakserver/common/rpc/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = '0.1.0' diff --git a/squeakserver/server/main.py b/squeakserver/server/main.py index fe89c650..de660a40 100644 --- a/squeakserver/server/main.py +++ b/squeakserver/server/main.py @@ -11,8 +11,8 @@ from configparser import ConfigParser from squeak.params import SelectParams from squeak.core.signing import CSigningKey -import squeakserver.common.rpc.lnd_pb2 as ln -import squeakserver.common.rpc.lnd_pb2_grpc as lnrpc +import proto.lnd_pb2 as ln +import proto.lnd_pb2_grpc as lnrpc from squeakserver.admin.squeak_admin_server_servicer import SqueakAdminServerServicer from squeakserver.admin.squeak_admin_server_handler import SqueakAdminServerHandler diff --git a/squeakserver/server/squeak_server_servicer.py b/squeakserver/server/squeak_server_servicer.py index 040b7f99..21f9f75d 100644 --- a/squeakserver/server/squeak_server_servicer.py +++ b/squeakserver/server/squeak_server_servicer.py @@ -7,8 +7,9 @@ import grpc from squeak.core import CSqueak -from squeakserver.common.rpc import squeak_server_pb2 -from squeakserver.common.rpc import squeak_server_pb2_grpc +from proto import squeak_server_pb2 +from proto import squeak_server_pb2_grpc + from squeakserver.server.util import get_hash