From becf5dcc53a82e57c0c820e614a8e8f12d3cdb38 Mon Sep 17 00:00:00 2001 From: matejcik Date: Wed, 18 Aug 2021 12:08:39 +0200 Subject: [PATCH] chore(legacy): remove Lisk --- legacy/firmware/.changelog.d/1765.removed | 1 + legacy/firmware/Makefile | 2 - legacy/firmware/fsm.c | 2 - legacy/firmware/fsm.h | 9 - legacy/firmware/fsm_msg_common.h | 9 +- legacy/firmware/fsm_msg_lisk.h | 143 -------- legacy/firmware/lisk.c | 349 ------------------- legacy/firmware/lisk.h | 46 --- legacy/firmware/protob/Makefile | 4 +- legacy/firmware/protob/messages-lisk.options | 30 -- legacy/firmware/protob/messages-lisk.proto | 1 - 11 files changed, 7 insertions(+), 589 deletions(-) create mode 100644 legacy/firmware/.changelog.d/1765.removed delete mode 100644 legacy/firmware/fsm_msg_lisk.h delete mode 100644 legacy/firmware/lisk.c delete mode 100644 legacy/firmware/lisk.h delete mode 100644 legacy/firmware/protob/messages-lisk.options delete mode 120000 legacy/firmware/protob/messages-lisk.proto diff --git a/legacy/firmware/.changelog.d/1765.removed b/legacy/firmware/.changelog.d/1765.removed new file mode 100644 index 000000000..a82056b27 --- /dev/null +++ b/legacy/firmware/.changelog.d/1765.removed @@ -0,0 +1 @@ +Removed support for Lisk diff --git a/legacy/firmware/Makefile b/legacy/firmware/Makefile index 1e94db790..fcc2aaf27 100644 --- a/legacy/firmware/Makefile +++ b/legacy/firmware/Makefile @@ -30,7 +30,6 @@ ifneq ($(BITCOIN_ONLY),1) OBJS += u2f.o OBJS += ethereum.o OBJS += ethereum_tokens.o -OBJS += lisk.o OBJS += nem2.o OBJS += nem_mosaics.o OBJS += stellar.o @@ -106,7 +105,6 @@ OBJS += protob/messages-debug.pb.o OBJS += protob/messages-management.pb.o ifneq ($(BITCOIN_ONLY),1) OBJS += protob/messages-ethereum.pb.o -OBJS += protob/messages-lisk.pb.o OBJS += protob/messages-nem.pb.o OBJS += protob/messages-stellar.pb.o endif diff --git a/legacy/firmware/fsm.c b/legacy/firmware/fsm.c index bd136de55..aa6d1cb30 100644 --- a/legacy/firmware/fsm.c +++ b/legacy/firmware/fsm.c @@ -55,7 +55,6 @@ #if !BITCOIN_ONLY #include "ethereum.h" -#include "lisk.h" #include "nem.h" #include "nem2.h" #include "stellar.h" @@ -335,7 +334,6 @@ void fsm_msgRebootToBootloader(void) { #if !BITCOIN_ONLY #include "fsm_msg_ethereum.h" -#include "fsm_msg_lisk.h" #include "fsm_msg_nem.h" #include "fsm_msg_stellar.h" diff --git a/legacy/firmware/fsm.h b/legacy/firmware/fsm.h index 88c547a72..45d865ab2 100644 --- a/legacy/firmware/fsm.h +++ b/legacy/firmware/fsm.h @@ -24,7 +24,6 @@ #include "messages-crypto.pb.h" #include "messages-debug.pb.h" #include "messages-ethereum.pb.h" -#include "messages-lisk.pb.h" #include "messages-management.pb.h" #include "messages-nem.pb.h" #include "messages-stellar.pb.h" @@ -108,14 +107,6 @@ void fsm_msgEthereumTxAck(const EthereumTxAck *msg); void fsm_msgEthereumSignMessage(const EthereumSignMessage *msg); void fsm_msgEthereumVerifyMessage(const EthereumVerifyMessage *msg); -// lisk -void fsm_msgLiskGetAddress(const LiskGetAddress *msg); -void fsm_msgLiskGetPublicKey(const LiskGetPublicKey *msg); -void fsm_msgLiskSignMessage(const LiskSignMessage *msg); -void fsm_msgLiskVerifyMessage(const LiskVerifyMessage *msg); -void fsm_msgLiskSignTx(LiskSignTx *msg); // not const because we mutate - // transaction during validation - // nem void fsm_msgNEMGetAddress( NEMGetAddress *msg); // not const because we mutate msg->network diff --git a/legacy/firmware/fsm_msg_common.h b/legacy/firmware/fsm_msg_common.h index a5aeaf16d..e9195a964 100644 --- a/legacy/firmware/fsm_msg_common.h +++ b/legacy/firmware/fsm_msg_common.h @@ -70,15 +70,14 @@ bool get_features(Features *resp) { resp->capabilities[0] = Capability_Capability_Bitcoin; resp->capabilities[1] = Capability_Capability_Crypto; #else - resp->capabilities_count = 8; + resp->capabilities_count = 7; resp->capabilities[0] = Capability_Capability_Bitcoin; resp->capabilities[1] = Capability_Capability_Bitcoin_like; resp->capabilities[2] = Capability_Capability_Crypto; resp->capabilities[3] = Capability_Capability_Ethereum; - resp->capabilities[4] = Capability_Capability_Lisk; - resp->capabilities[5] = Capability_Capability_NEM; - resp->capabilities[6] = Capability_Capability_Stellar; - resp->capabilities[7] = Capability_Capability_U2F; + resp->capabilities[4] = Capability_Capability_NEM; + resp->capabilities[5] = Capability_Capability_Stellar; + resp->capabilities[6] = Capability_Capability_U2F; #endif return resp; } diff --git a/legacy/firmware/fsm_msg_lisk.h b/legacy/firmware/fsm_msg_lisk.h deleted file mode 100644 index 40bfe488b..000000000 --- a/legacy/firmware/fsm_msg_lisk.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * This file is part of the Trezor project, https://trezor.io/ - * - * Copyright (C) 2018 alepop - * - * This library is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - */ - -void fsm_msgLiskGetAddress(const LiskGetAddress *msg) { - CHECK_INITIALIZED - - CHECK_PIN - - RESP_INIT(LiskAddress); - - HDNode *node = fsm_getDerivedNode(ED25519_NAME, msg->address_n, - msg->address_n_count, NULL); - if (!node) return; - - hdnode_fill_public_key(node); - lisk_get_address_from_public_key(&node->public_key[1], resp->address); - - if (msg->has_show_display && msg->show_display) { - if (!fsm_layoutAddress(resp->address, _("Address:"), true, 0, - msg->address_n, msg->address_n_count, false, NULL, 0, - 0, NULL)) { - return; - } - } - - msg_write(MessageType_MessageType_LiskAddress, resp); - - layoutHome(); -} - -void fsm_msgLiskGetPublicKey(const LiskGetPublicKey *msg) { - CHECK_INITIALIZED - - CHECK_PIN - - RESP_INIT(LiskPublicKey); - - HDNode *node = fsm_getDerivedNode(ED25519_NAME, msg->address_n, - msg->address_n_count, NULL); - if (!node) return; - - hdnode_fill_public_key(node); - - resp->public_key.size = 32; - - if (msg->has_show_display && msg->show_display) { - layoutLiskPublicKey(&node->public_key[1]); - if (!protectButton(ButtonRequestType_ButtonRequest_PublicKey, true)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, NULL); - layoutHome(); - return; - } - } - - memcpy(&resp->public_key.bytes, &node->public_key[1], - sizeof(resp->public_key.bytes)); - - msg_write(MessageType_MessageType_LiskPublicKey, resp); - - layoutHome(); -} - -void fsm_msgLiskSignMessage(const LiskSignMessage *msg) { - CHECK_INITIALIZED - - CHECK_PIN - - RESP_INIT(LiskMessageSignature); - - HDNode *node = fsm_getDerivedNode(ED25519_NAME, msg->address_n, - msg->address_n_count, NULL); - if (!node) return; - - hdnode_fill_public_key(node); - - lisk_sign_message(node, msg, resp); - - msg_write(MessageType_MessageType_LiskMessageSignature, resp); - - layoutHome(); -} - -void fsm_msgLiskVerifyMessage(const LiskVerifyMessage *msg) { - if (lisk_verify_message(msg)) { - char address[MAX_LISK_ADDRESS_SIZE]; - lisk_get_address_from_public_key((const uint8_t *)&msg->public_key, - address); - - layoutLiskVerifyAddress(address); - if (!protectButton(ButtonRequestType_ButtonRequest_Other, false)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, NULL); - layoutHome(); - return; - } - layoutVerifyMessage(msg->message.bytes, msg->message.size); - if (!protectButton(ButtonRequestType_ButtonRequest_Other, false)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, NULL); - layoutHome(); - return; - } - fsm_sendSuccess(_("Message verified")); - } else { - fsm_sendFailure(FailureType_Failure_DataError, _("Invalid signature")); - } - - layoutHome(); -} - -void fsm_msgLiskSignTx(LiskSignTx *msg) { - CHECK_INITIALIZED - - CHECK_PIN - - RESP_INIT(LiskSignedTx); - - HDNode *node = fsm_getDerivedNode(ED25519_NAME, msg->address_n, - msg->address_n_count, NULL); - if (!node) return; - - hdnode_fill_public_key(node); - - lisk_sign_tx(node, msg, resp); - - msg_write(MessageType_MessageType_LiskSignedTx, resp); - - layoutHome(); -} diff --git a/legacy/firmware/lisk.c b/legacy/firmware/lisk.c deleted file mode 100644 index 8e1f6ba81..000000000 --- a/legacy/firmware/lisk.c +++ /dev/null @@ -1,349 +0,0 @@ -/* - * This file is part of the Trezor project, https://trezor.io/ - * - * Copyright (C) 2018 alepop - * - * This library is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - */ - -#include "lisk.h" -#include "bitmaps.h" -#include "crypto.h" -#include "curves.h" -#include "fsm.h" -#include "gettext.h" -#include "layout2.h" -#include "messages.pb.h" -#include "protect.h" -#include "util.h" - -void lisk_get_address_from_public_key(const uint8_t *public_key, - char *address) { - uint64_t digest[4] = {0}; - sha256_Raw(public_key, 32, (uint8_t *)digest); - bn_format_uint64(digest[0], NULL, "L", 0, 0, false, address, - MAX_LISK_ADDRESS_SIZE); -} - -void lisk_message_hash(const uint8_t *message, size_t message_len, - uint8_t hash[32]) { - SHA256_CTX ctx = {0}; - sha256_Init(&ctx); - sha256_Update(&ctx, (const uint8_t *)"\x15" "Lisk Signed Message:\n", 22); - uint8_t varint[5] = {0}; - uint32_t l = ser_length(message_len, varint); - sha256_Update(&ctx, varint, l); - sha256_Update(&ctx, message, message_len); - sha256_Final(&ctx, hash); - sha256_Raw(hash, 32, hash); -} - -void lisk_sign_message(const HDNode *node, const LiskSignMessage *msg, - LiskMessageSignature *resp) { - layoutSignMessage(msg->message.bytes, msg->message.size); - if (!protectButton(ButtonRequestType_ButtonRequest_ProtectCall, false)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, NULL); - layoutHome(); - return; - } - - layoutProgressSwipe(_("Signing"), 0); - - uint8_t signature[64] = {0}; - uint8_t hash[32] = {0}; - lisk_message_hash(msg->message.bytes, msg->message.size, hash); - - ed25519_sign(hash, 32, node->private_key, &node->public_key[1], signature); - - memcpy(resp->signature.bytes, signature, sizeof(signature)); - memcpy(resp->public_key.bytes, &node->public_key[1], 32); - - resp->signature.size = 64; - resp->public_key.size = 32; -} - -bool lisk_verify_message(const LiskVerifyMessage *msg) { - uint8_t hash[32] = {0}; - lisk_message_hash(msg->message.bytes, msg->message.size, hash); - return 0 == ed25519_sign_open(hash, 32, msg->public_key.bytes, - msg->signature.bytes); -} - -static void lisk_update_raw_tx(const HDNode *node, LiskSignTx *msg) { - if (!msg->transaction.has_sender_public_key) { - memcpy(msg->transaction.sender_public_key.bytes, &node->public_key[1], 32); - } - - // For CastVotes transactions, recipientId should be equal to transaction - // creator address. - if (msg->transaction.type == LiskTransactionType_CastVotes && - !msg->transaction.has_recipient_id) { - msg->transaction.has_recipient_id = true; - lisk_get_address_from_public_key(&node->public_key[1], - msg->transaction.recipient_id); - } -} - -static void lisk_hashupdate_uint32(SHA256_CTX *ctx, uint32_t value) { - uint8_t data[4] = {0}; - write_le(data, value); - sha256_Update(ctx, data, sizeof(data)); -} - -static void lisk_hashupdate_uint64_le(SHA256_CTX *ctx, uint64_t value) { - sha256_Update(ctx, (uint8_t *)&value, sizeof(uint64_t)); -} - -static void lisk_hashupdate_uint64_be(SHA256_CTX *ctx, uint64_t value) { - uint8_t data[8] = {0}; - data[0] = value >> 56; - data[1] = value >> 48; - data[2] = value >> 40; - data[3] = value >> 32; - data[4] = value >> 24; - data[5] = value >> 16; - data[6] = value >> 8; - data[7] = value; - sha256_Update(ctx, data, sizeof(data)); -} - -static void lisk_hashupdate_asset(SHA256_CTX *ctx, LiskTransactionType type, - LiskTransactionAsset *asset) { - switch (type) { - case LiskTransactionType_Transfer: - if (asset->has_data) { - sha256_Update(ctx, (const uint8_t *)asset->data, strlen(asset->data)); - } - break; - case LiskTransactionType_RegisterDelegate: - if (asset->has_delegate && asset->delegate.has_username) { - sha256_Update(ctx, (const uint8_t *)asset->delegate.username, - strlen(asset->delegate.username)); - } - break; - case LiskTransactionType_CastVotes: { - for (int i = 0; i < asset->votes_count; i++) { - sha256_Update(ctx, (uint8_t *)asset->votes[i], strlen(asset->votes[i])); - } - break; - } - case LiskTransactionType_RegisterSecondPassphrase: - if (asset->has_signature && asset->signature.has_public_key) { - sha256_Update(ctx, asset->signature.public_key.bytes, - asset->signature.public_key.size); - } - break; - case LiskTransactionType_RegisterMultisignatureAccount: - if (asset->has_multisignature) { - sha256_Update(ctx, (uint8_t *)&(asset->multisignature.min), 1); - sha256_Update(ctx, (uint8_t *)&(asset->multisignature.life_time), 1); - for (int i = 0; i < asset->multisignature.keys_group_count; i++) { - sha256_Update(ctx, (uint8_t *)asset->multisignature.keys_group[i], - strlen(asset->multisignature.keys_group[i])); - }; - } - break; - default: - fsm_sendFailure(FailureType_Failure_DataError, - _("Invalid transaction type")); - break; - } -} - -#define MAX_LISK_VALUE_SIZE 20 - -static void lisk_format_value(uint64_t value, char *formated_value) { - bn_format_uint64(value, NULL, " LSK", 8, 0, false, formated_value, - MAX_LISK_VALUE_SIZE); -} - -void lisk_sign_tx(const HDNode *node, LiskSignTx *msg, LiskSignedTx *resp) { - lisk_update_raw_tx(node, msg); - - SHA256_CTX ctx = {0}; - sha256_Init(&ctx); - - switch (msg->transaction.type) { - case LiskTransactionType_Transfer: - layoutRequireConfirmTx(msg->transaction.recipient_id, - msg->transaction.amount); - break; - case LiskTransactionType_RegisterDelegate: - layoutRequireConfirmDelegateRegistration(&msg->transaction.asset); - break; - case LiskTransactionType_CastVotes: - layoutRequireConfirmCastVotes(&msg->transaction.asset); - break; - case LiskTransactionType_RegisterSecondPassphrase: - layoutLiskPublicKey(msg->transaction.asset.signature.public_key.bytes); - break; - case LiskTransactionType_RegisterMultisignatureAccount: - layoutRequireConfirmMultisig(&msg->transaction.asset); - break; - default: - fsm_sendFailure(FailureType_Failure_DataError, - _("Invalid transaction type")); - layoutHome(); - break; - } - if (!protectButton( - (msg->transaction.type == LiskTransactionType_RegisterSecondPassphrase - ? ButtonRequestType_ButtonRequest_PublicKey - : ButtonRequestType_ButtonRequest_SignTx), - false)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, "Signing cancelled"); - layoutHome(); - return; - } - - layoutRequireConfirmFee(msg->transaction.fee, msg->transaction.amount); - if (!protectButton(ButtonRequestType_ButtonRequest_ConfirmOutput, false)) { - fsm_sendFailure(FailureType_Failure_ActionCancelled, "Signing cancelled"); - layoutHome(); - return; - } - layoutProgressSwipe(_("Signing transaction"), 0); - - sha256_Update(&ctx, (const uint8_t *)&msg->transaction.type, 1); - - lisk_hashupdate_uint32(&ctx, msg->transaction.timestamp); - - sha256_Update(&ctx, msg->transaction.sender_public_key.bytes, 32); - - if (msg->transaction.has_requester_public_key) { - sha256_Update(&ctx, msg->transaction.requester_public_key.bytes, - msg->transaction.requester_public_key.size); - } - - uint64_t recipient_id = 0; - if (msg->transaction.has_recipient_id && - msg->transaction.recipient_id[0] != 0) { - // parse integer from lisk address ("123L" -> 123) - for (size_t i = 0; i < strlen(msg->transaction.recipient_id) - 1; i++) { - if (msg->transaction.recipient_id[i] < '0' || - msg->transaction.recipient_id[i] > '9') { - fsm_sendFailure(FailureType_Failure_DataError, - _("Invalid recipient_id")); - layoutHome(); - return; - } - recipient_id *= 10; - recipient_id += (msg->transaction.recipient_id[i] - '0'); - } - } - lisk_hashupdate_uint64_be(&ctx, recipient_id); - lisk_hashupdate_uint64_le(&ctx, msg->transaction.amount); - - lisk_hashupdate_asset(&ctx, msg->transaction.type, &msg->transaction.asset); - - // if signature exist calculate second signature - if (msg->transaction.has_signature) { - sha256_Update(&ctx, msg->transaction.signature.bytes, - msg->transaction.signature.size); - } - - uint8_t hash[32] = {0}; - sha256_Final(&ctx, hash); - ed25519_sign(hash, 32, node->private_key, &node->public_key[1], - resp->signature.bytes); - - resp->signature.size = 64; -} - -// Layouts -void layoutLiskPublicKey(const uint8_t *pubkey) { - const char **str = split_message_hex(pubkey, 32); - layoutDialogSwipe(&bmp_icon_question, NULL, _("Continue"), NULL, - _("Public Key:"), str[0], str[1], str[2], str[3], NULL); -} - -void layoutLiskVerifyAddress(const char *address) { - const char **str = - split_message((const uint8_t *)address, strlen(address), 10); - layoutDialogSwipe(&bmp_icon_info, _("Cancel"), _("Confirm"), - _("Confirm address?"), _("Message signed by:"), str[0], - str[1], NULL, NULL, NULL); -} - -void layoutRequireConfirmTx(char *recipient_id, uint64_t amount) { - char formated_amount[MAX_LISK_VALUE_SIZE] = {0}; - const char **str = - split_message((const uint8_t *)recipient_id, strlen(recipient_id), 16); - lisk_format_value(amount, formated_amount); - layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL, - _("Confirm sending"), formated_amount, _("to:"), str[0], - str[1], NULL); -} - -void layoutRequireConfirmFee(uint64_t fee, uint64_t amount) { - char formated_amount[MAX_LISK_VALUE_SIZE] = {0}; - char formated_fee[MAX_LISK_VALUE_SIZE] = {0}; - lisk_format_value(amount, formated_amount); - lisk_format_value(fee, formated_fee); - layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL, - _("Confirm transaction"), formated_amount, _("fee:"), - formated_fee, NULL, NULL); -} - -void layoutRequireConfirmDelegateRegistration(LiskTransactionAsset *asset) { - if (asset->has_delegate && asset->delegate.has_username) { - const char **str = split_message((const uint8_t *)asset->delegate.username, - strlen(asset->delegate.username), 20); - layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL, - _("Confirm transaction"), _("Do you really want to"), - _("register a delegate?"), str[0], str[1], NULL); - } -} - -void layoutRequireConfirmCastVotes(LiskTransactionAsset *asset) { - uint8_t plus = 0; - uint8_t minus = 0; - char add_votes_txt[13] = {0}; - char remove_votes_txt[16] = {0}; - - for (int i = 0; i < asset->votes_count; i++) { - if (asset->votes[i][0] == '+') { - plus += 1; - } else { - minus += 1; - } - } - - bn_format_uint64(plus, "Add ", NULL, 0, 0, false, add_votes_txt, - sizeof(add_votes_txt)); - bn_format_uint64(minus, "Remove ", NULL, 0, 0, false, remove_votes_txt, - sizeof(remove_votes_txt)); - - layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL, - _("Confirm transaction"), add_votes_txt, remove_votes_txt, - NULL, NULL, NULL); -} - -void layoutRequireConfirmMultisig(LiskTransactionAsset *asset) { - char keys_group_str[25] = {0}; - char life_time_str[14] = {0}; - char min_str[8] = {0}; - - bn_format_uint64(asset->multisignature.keys_group_count, - "Keys group length: ", NULL, 0, 0, false, keys_group_str, - sizeof(keys_group_str)); - bn_format_uint64(asset->multisignature.life_time, "Life time: ", NULL, 0, 0, - false, life_time_str, sizeof(life_time_str)); - bn_format_uint64(asset->multisignature.min, "Min: ", NULL, 0, 0, false, - min_str, sizeof(min_str)); - - layoutDialogSwipe(&bmp_icon_question, _("Cancel"), _("Confirm"), NULL, - _("Confirm transaction"), keys_group_str, life_time_str, - min_str, NULL, NULL); -} diff --git a/legacy/firmware/lisk.h b/legacy/firmware/lisk.h deleted file mode 100644 index a4b34d913..000000000 --- a/legacy/firmware/lisk.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of the Trezor project, https://trezor.io/ - * - * Copyright (C) 2018 alepop - * - * This library is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - */ - -#ifndef __LISK_H__ -#define __LISK_H__ - -#include -#include "bip32.h" -#include "messages-lisk.pb.h" - -#define MAX_LISK_ADDRESS_SIZE 23 - -void lisk_sign_message(const HDNode *node, const LiskSignMessage *msg, - LiskMessageSignature *resp); -bool lisk_verify_message(const LiskVerifyMessage *msg); -void lisk_sign_tx(const HDNode *node, LiskSignTx *msg, LiskSignedTx *resp); - -// Helpers -void lisk_get_address_from_public_key(const uint8_t *public_key, char *address); - -// Layout -void layoutLiskPublicKey(const uint8_t *pubkey); -void layoutLiskVerifyAddress(const char *address); -void layoutRequireConfirmTx(char *recipient_id, uint64_t amount); -void layoutRequireConfirmDelegateRegistration(LiskTransactionAsset *asset); -void layoutRequireConfirmCastVotes(LiskTransactionAsset *asset); -void layoutRequireConfirmMultisig(LiskTransactionAsset *asset); -void layoutRequireConfirmFee(uint64_t fee, uint64_t amount); - -#endif diff --git a/legacy/firmware/protob/Makefile b/legacy/firmware/protob/Makefile index ad5a9d984..d0b56b996 100644 --- a/legacy/firmware/protob/Makefile +++ b/legacy/firmware/protob/Makefile @@ -9,11 +9,11 @@ SKIPPED_MESSAGES := Binance Cardano DebugMonero Eos Monero Ontology Ripple SdPro TxAckInput TxAckOutput TxAckPrev ifeq ($(BITCOIN_ONLY), 1) -SKIPPED_MESSAGES += Ethereum Lisk NEM Stellar +SKIPPED_MESSAGES += Ethereum NEM Stellar endif PROTO_NAMES = messages messages-bitcoin messages-common messages-crypto messages-debug \ - messages-ethereum messages-lisk messages-management messages-nem messages-stellar + messages-ethereum messages-management messages-nem messages-stellar PROTO_OPTIONS = $(PROTO_NAMES:=.options) PROTO_COMPILED = $(PROTO_NAMES:=.pb) diff --git a/legacy/firmware/protob/messages-lisk.options b/legacy/firmware/protob/messages-lisk.options deleted file mode 100644 index 489c2ac68..000000000 --- a/legacy/firmware/protob/messages-lisk.options +++ /dev/null @@ -1,30 +0,0 @@ -LiskGetAddress.address_n max_count:8 -LiskAddress.address max_size:23 - -LiskGetPublicKey.address_n max_count:8 -LiskPublicKey.public_key max_size:32 - -LiskSignMessage.address_n max_count:8 -LiskSignMessage.message max_size:1024 -LiskMessageSignature.public_key max_size:32 -LiskMessageSignature.signature max_size:64 - -LiskVerifyMessage.public_key max_size:33 -LiskVerifyMessage.message max_size:1024 -LiskVerifyMessage.signature max_size:65 - -LiskSignTx.address_n max_count:8 - -LiskSignedTx.signature max_size:64 - -LiskTransactionCommon.recipient_id max_size:23 -LiskTransactionCommon.sender_public_key max_size:32 -LiskTransactionCommon.requester_public_key max_size:32 -LiskTransactionCommon.signature max_size:64 - -LiskTransactionAsset.data max_size:64 -LiskTransactionAsset.votes max_count:33 max_size:66 - -LiskSignatureType.public_key max_size:32 -LiskDelegateType.username max_size:20 -LiskMultisignatureType.keys_group max_count:10 max_size:66 diff --git a/legacy/firmware/protob/messages-lisk.proto b/legacy/firmware/protob/messages-lisk.proto deleted file mode 120000 index 9214fc8b2..000000000 --- a/legacy/firmware/protob/messages-lisk.proto +++ /dev/null @@ -1 +0,0 @@ -../../vendor/trezor-common/protob/messages-lisk.proto \ No newline at end of file