Skip to content
Closed
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
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "device-protocol"]
path = device-protocol
url = https://github.com/keepkey/device-protocol.git
branch = master
url = https://github.com/BitHighlander/device-protocol.git
branch = feature/solana-proto
[submodule "keepkeylib/eth/ethereum-lists"]
path = keepkeylib/eth/ethereum-lists
url = https://github.com/keepkey/ethereum-lists.git
Expand Down
2 changes: 1 addition & 1 deletion build_pb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ CURDIR=$(pwd)
cd "device-protocol"

echo "Building with protoc version: $(protoc --version)"
for i in messages messages-ethereum messages-eos messages-nano messages-cosmos messages-ripple messages-binance messages-tendermint messages-thorchain messages-osmosis messages-mayachain types ; do
for i in messages messages-ethereum messages-eos messages-nano messages-cosmos messages-ripple messages-binance messages-tendermint messages-thorchain messages-osmosis messages-mayachain messages-solana types ; do
protoc --python_out=$CURDIR/keepkeylib/ -I/usr/include -I. $i.proto
i=${i/-/_}
sed -i -Ee 's/^import ([^.]+_pb2)/from . import \1/' $CURDIR/keepkeylib/"$i"_pb2.py
Expand Down
29 changes: 29 additions & 0 deletions keepkeylib/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
from . import messages_tendermint_pb2 as tendermint_proto
from . import messages_thorchain_pb2 as thorchain_proto
from . import messages_mayachain_pb2 as mayachain_proto
from . import messages_solana_pb2 as solana_proto
from . import types_pb2 as types
from . import eos
from . import nano
Expand Down Expand Up @@ -823,6 +824,34 @@ def nano_sign_tx(
)
return self.call(msg)

@expect(solana_proto.SolanaAddress)
def solana_get_address(self, address_n, show_display=False, coin_name='Solana'):
msg = solana_proto.SolanaGetAddress(
coin_name=coin_name,
address_n=address_n,
show_display=show_display)
return self.call(msg)

@expect(solana_proto.SolanaSignedTx)
def solana_sign_tx(self, address_n, raw_tx, token_info=None, coin_name='Solana'):
msg = solana_proto.SolanaSignTx(
coin_name=coin_name,
address_n=address_n,
raw_tx=raw_tx,
token_info=token_info or [],
)
return self.call(msg)

@expect(solana_proto.SolanaMessageSignature)
def solana_sign_message(self, address_n, message, show_display=False, coin_name='Solana'):
msg = solana_proto.SolanaSignMessage(
coin_name=coin_name,
address_n=address_n,
message=message,
show_display=show_display,
)
return self.call(msg)



@field('address')
Expand Down
3 changes: 3 additions & 0 deletions keepkeylib/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from . import messages_tendermint_pb2 as tendermint_proto
from . import messages_thorchain_pb2 as thorchain_proto
from . import messages_mayachain_pb2 as mayachain_proto
from . import messages_solana_pb2 as solana_proto

map_type_to_class = {}
map_class_to_type = {}
Expand Down Expand Up @@ -36,6 +37,8 @@ def build_map():
msg_class = getattr(thorchain_proto, msg_name)
elif msg_type.startswith('MessageType_Mayachain'):
msg_class = getattr(mayachain_proto, msg_name)
elif msg_type.startswith('MessageType_Solana'):
msg_class = getattr(solana_proto, msg_name)
else:
msg_class = getattr(proto, msg_name)

Expand Down
188 changes: 94 additions & 94 deletions keepkeylib/messages_pb2.py

Large diffs are not rendered by default.

Loading