drop EstimateTxSize (and TxSize)

pull/25/head
Pavol Rusnak 7 years ago
parent 01b4825d53
commit 91a1b6c4bc
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -978,14 +978,6 @@ void fsm_msgDecryptMessage(DecryptMessage *msg)
}
*/
void fsm_msgEstimateTxSize(EstimateTxSize *msg)
{
RESP_INIT(TxSize);
resp->has_tx_size = true;
resp->tx_size = transactionEstimateSize(msg->inputs_count, msg->outputs_count);
msg_write(MessageType_MessageType_TxSize, resp);
}
void fsm_msgRecoveryDevice(RecoveryDevice *msg)
{
const bool dry_run = msg->has_dry_run ? msg->dry_run : false;

@ -55,7 +55,6 @@ void fsm_msgEncryptMessage(EncryptMessage *msg);
void fsm_msgDecryptMessage(DecryptMessage *msg);
*/
//void fsm_msgPassphraseAck(PassphraseAck *msg);
void fsm_msgEstimateTxSize(EstimateTxSize *msg);
void fsm_msgRecoveryDevice(RecoveryDevice *msg);
void fsm_msgWordAck(WordAck *msg);
void fsm_msgSetU2FCounter(SetU2FCounter *msg);

@ -97,7 +97,12 @@ CipherKeyValue.iv max_size:16
CipheredKeyValue.value max_size:1024
EstimateTxSize.coin_name max_size:17
# deprecated
EstimateTxSize skip_message:true
# EstimateTxSize.coin_name max_size:17
# deprecated
TxSize skip_message:true
SignTx.coin_name max_size:17

@ -12,7 +12,6 @@ const char ResetDevice_language_default[17] = "english";
const char RecoveryDevice_language_default[17] = "english";
const char SignMessage_coin_name_default[17] = "Bitcoin";
const char VerifyMessage_coin_name_default[17] = "Bitcoin";
const char EstimateTxSize_coin_name_default[17] = "Bitcoin";
const char SignTx_coin_name_default[17] = "Bitcoin";
const uint32_t SignTx_version_default = 1u;
const uint32_t SignTx_lock_time_default = 0u;
@ -26,7 +25,7 @@ const pb_field_t GetFeatures_fields[1] = {
PB_LAST_FIELD
};
const pb_field_t Features_fields[19] = {
const pb_field_t Features_fields[20] = {
PB_FIELD2( 1, STRING , OPTIONAL, STATIC , FIRST, Features, vendor, vendor, 0),
PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, Features, major_version, vendor, 0),
PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, Features, minor_version, major_version, 0),
@ -45,6 +44,7 @@ const pb_field_t Features_fields[19] = {
PB_FIELD2( 16, BOOL , OPTIONAL, STATIC , OTHER, Features, pin_cached, imported, 0),
PB_FIELD2( 17, BOOL , OPTIONAL, STATIC , OTHER, Features, passphrase_cached, pin_cached, 0),
PB_FIELD2( 18, BOOL , OPTIONAL, STATIC , OTHER, Features, firmware_present, passphrase_cached, 0),
PB_FIELD2( 19, BOOL , OPTIONAL, STATIC , OTHER, Features, needs_backup, firmware_present, 0),
PB_LAST_FIELD
};
@ -182,7 +182,7 @@ const pb_field_t LoadDevice_fields[9] = {
PB_LAST_FIELD
};
const pb_field_t ResetDevice_fields[8] = {
const pb_field_t ResetDevice_fields[9] = {
PB_FIELD2( 1, BOOL , OPTIONAL, STATIC , FIRST, ResetDevice, display_random, display_random, 0),
PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, ResetDevice, strength, display_random, &ResetDevice_strength_default),
PB_FIELD2( 3, BOOL , OPTIONAL, STATIC , OTHER, ResetDevice, passphrase_protection, strength, 0),
@ -190,6 +190,11 @@ const pb_field_t ResetDevice_fields[8] = {
PB_FIELD2( 5, STRING , OPTIONAL, STATIC , OTHER, ResetDevice, language, pin_protection, &ResetDevice_language_default),
PB_FIELD2( 6, STRING , OPTIONAL, STATIC , OTHER, ResetDevice, label, language, 0),
PB_FIELD2( 7, UINT32 , OPTIONAL, STATIC , OTHER, ResetDevice, u2f_counter, label, 0),
PB_FIELD2( 8, BOOL , OPTIONAL, STATIC , OTHER, ResetDevice, skip_backup, u2f_counter, 0),
PB_LAST_FIELD
};
const pb_field_t BackupDevice_fields[1] = {
PB_LAST_FIELD
};
@ -262,18 +267,6 @@ const pb_field_t CipheredKeyValue_fields[2] = {
PB_LAST_FIELD
};
const pb_field_t EstimateTxSize_fields[4] = {
PB_FIELD2( 1, UINT32 , REQUIRED, STATIC , FIRST, EstimateTxSize, outputs_count, outputs_count, 0),
PB_FIELD2( 2, UINT32 , REQUIRED, STATIC , OTHER, EstimateTxSize, inputs_count, outputs_count, 0),
PB_FIELD2( 3, STRING , OPTIONAL, STATIC , OTHER, EstimateTxSize, coin_name, inputs_count, &EstimateTxSize_coin_name_default),
PB_LAST_FIELD
};
const pb_field_t TxSize_fields[2] = {
PB_FIELD2( 1, UINT32 , OPTIONAL, STATIC , FIRST, TxSize, tx_size, tx_size, 0),
PB_LAST_FIELD
};
const pb_field_t SignTx_fields[6] = {
PB_FIELD2( 1, UINT32 , REQUIRED, STATIC , FIRST, SignTx, outputs_count, outputs_count, 0),
PB_FIELD2( 2, UINT32 , REQUIRED, STATIC , OTHER, SignTx, inputs_count, outputs_count, 0),
@ -420,7 +413,7 @@ const pb_field_t DebugLinkFlashErase_fields[2] = {
* numbers or field sizes that are larger than what can fit in 8 or 16 bit
* field descriptors.
*/
STATIC_ASSERT((pb_membersize(Features, coins[0]) < 65536 && pb_membersize(PublicKey, node) < 65536 && pb_membersize(GetAddress, multisig) < 65536 && pb_membersize(LoadDevice, node) < 65536 && pb_membersize(TxRequest, details) < 65536 && pb_membersize(TxRequest, serialized) < 65536 && pb_membersize(TxAck, tx) < 65536 && pb_membersize(SignIdentity, identity) < 65536 && pb_membersize(GetECDHSessionKey, identity) < 65536 && pb_membersize(DebugLinkState, node) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_Initialize_GetFeatures_Features_ClearSession_ApplySettings_ChangePin_Ping_Success_Failure_ButtonRequest_ButtonAck_PinMatrixRequest_PinMatrixAck_Cancel_PassphraseRequest_PassphraseAck_GetEntropy_Entropy_GetPublicKey_PublicKey_GetAddress_EthereumGetAddress_Address_EthereumAddress_WipeDevice_LoadDevice_ResetDevice_EntropyRequest_EntropyAck_RecoveryDevice_WordRequest_WordAck_SignMessage_VerifyMessage_MessageSignature_CipherKeyValue_CipheredKeyValue_EstimateTxSize_TxSize_SignTx_TxRequest_TxAck_EthereumSignTx_EthereumTxRequest_EthereumTxAck_SignIdentity_SignedIdentity_GetECDHSessionKey_ECDHSessionKey_SetU2FCounter_DebugLinkDecision_DebugLinkGetState_DebugLinkState_DebugLinkStop_DebugLinkLog_DebugLinkMemoryRead_DebugLinkMemory_DebugLinkMemoryWrite_DebugLinkFlashErase)
STATIC_ASSERT((pb_membersize(Features, coins[0]) < 65536 && pb_membersize(PublicKey, node) < 65536 && pb_membersize(GetAddress, multisig) < 65536 && pb_membersize(LoadDevice, node) < 65536 && pb_membersize(TxRequest, details) < 65536 && pb_membersize(TxRequest, serialized) < 65536 && pb_membersize(TxAck, tx) < 65536 && pb_membersize(SignIdentity, identity) < 65536 && pb_membersize(GetECDHSessionKey, identity) < 65536 && pb_membersize(DebugLinkState, node) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_Initialize_GetFeatures_Features_ClearSession_ApplySettings_ChangePin_Ping_Success_Failure_ButtonRequest_ButtonAck_PinMatrixRequest_PinMatrixAck_Cancel_PassphraseRequest_PassphraseAck_GetEntropy_Entropy_GetPublicKey_PublicKey_GetAddress_EthereumGetAddress_Address_EthereumAddress_WipeDevice_LoadDevice_ResetDevice_BackupDevice_EntropyRequest_EntropyAck_RecoveryDevice_WordRequest_WordAck_SignMessage_VerifyMessage_MessageSignature_CipherKeyValue_CipheredKeyValue_SignTx_TxRequest_TxAck_EthereumSignTx_EthereumTxRequest_EthereumTxAck_SignIdentity_SignedIdentity_GetECDHSessionKey_ECDHSessionKey_SetU2FCounter_DebugLinkDecision_DebugLinkGetState_DebugLinkState_DebugLinkStop_DebugLinkLog_DebugLinkMemoryRead_DebugLinkMemory_DebugLinkMemoryWrite_DebugLinkFlashErase)
#endif
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)

@ -42,6 +42,7 @@ typedef enum _MessageType {
MessageType_MessageType_ButtonAck = 27,
MessageType_MessageType_GetAddress = 29,
MessageType_MessageType_Address = 30,
MessageType_MessageType_BackupDevice = 34,
MessageType_MessageType_EntropyRequest = 35,
MessageType_MessageType_EntropyAck = 36,
MessageType_MessageType_SignMessage = 38,
@ -82,6 +83,10 @@ typedef enum _MessageType {
} MessageType;
/* Struct definitions */
typedef struct _BackupDevice {
uint8_t dummy_field;
} BackupDevice;
typedef struct _ButtonAck {
uint8_t dummy_field;
} ButtonAck;
@ -302,13 +307,6 @@ typedef struct _EntropyAck {
EntropyAck_entropy_t entropy;
} EntropyAck;
typedef struct _EstimateTxSize {
uint32_t outputs_count;
uint32_t inputs_count;
bool has_coin_name;
char coin_name[17];
} EstimateTxSize;
typedef struct {
size_t size;
uint8_t bytes[20];
@ -461,6 +459,8 @@ typedef struct _Features {
bool passphrase_cached;
bool has_firmware_present;
bool firmware_present;
bool has_needs_backup;
bool needs_backup;
} Features;
typedef struct _GetAddress {
@ -602,6 +602,8 @@ typedef struct _ResetDevice {
char label[33];
bool has_u2f_counter;
uint32_t u2f_counter;
bool has_skip_backup;
bool skip_backup;
} ResetDevice;
typedef struct _SetU2FCounter {
@ -687,11 +689,6 @@ typedef struct _TxRequest {
TxRequestSerializedType serialized;
} TxRequest;
typedef struct _TxSize {
bool has_tx_size;
uint32_t tx_size;
} TxSize;
typedef struct {
size_t size;
uint8_t bytes[65];
@ -732,7 +729,6 @@ extern const char ResetDevice_language_default[17];
extern const char RecoveryDevice_language_default[17];
extern const char SignMessage_coin_name_default[17];
extern const char VerifyMessage_coin_name_default[17];
extern const char EstimateTxSize_coin_name_default[17];
extern const char SignTx_coin_name_default[17];
extern const uint32_t SignTx_version_default;
extern const uint32_t SignTx_lock_time_default;
@ -740,7 +736,7 @@ extern const uint32_t SignTx_lock_time_default;
/* Initializer values for message structs */
#define Initialize_init_default {0}
#define GetFeatures_init_default {0}
#define Features_init_default {false, "", false, 0, false, 0, false, 0, false, 0, false, "", false, 0, false, 0, false, "", false, "", 0, {CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default}, false, 0, false, {0, {0}}, false, {0, {0}}, false, 0, false, 0, false, 0, false, 0}
#define Features_init_default {false, "", false, 0, false, 0, false, 0, false, 0, false, "", false, 0, false, 0, false, "", false, "", 0, {CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default, CoinType_init_default}, false, 0, false, {0, {0}}, false, {0, {0}}, false, 0, false, 0, false, 0, false, 0, false, 0}
#define ClearSession_init_default {0}
#define ApplySettings_init_default {false, "", false, "", false, 0, false, {0, {0}}}
#define ChangePin_init_default {false, 0}
@ -764,7 +760,8 @@ extern const uint32_t SignTx_lock_time_default;
#define EthereumAddress_init_default {{0, {0}}}
#define WipeDevice_init_default {0}
#define LoadDevice_init_default {false, "", false, HDNodeType_init_default, false, "", false, 0, false, "english", false, "", false, 0, false, 0}
#define ResetDevice_init_default {false, 0, false, 256u, false, 0, false, 0, false, "english", false, "", false, 0}
#define ResetDevice_init_default {false, 0, false, 256u, false, 0, false, 0, false, "english", false, "", false, 0, false, 0}
#define BackupDevice_init_default {0}
#define EntropyRequest_init_default {0}
#define EntropyAck_init_default {false, {0, {0}}}
#define RecoveryDevice_init_default {false, 0, false, 0, false, 0, false, "english", false, "", false, 0, false, 0, false, 0, false, 0}
@ -775,8 +772,6 @@ extern const uint32_t SignTx_lock_time_default;
#define MessageSignature_init_default {false, "", false, {0, {0}}}
#define CipherKeyValue_init_default {0, {0, 0, 0, 0, 0, 0, 0, 0}, false, "", false, {0, {0}}, false, 0, false, 0, false, 0, false, {0, {0}}}
#define CipheredKeyValue_init_default {false, {0, {0}}}
#define EstimateTxSize_init_default {0, 0, false, "Bitcoin"}
#define TxSize_init_default {false, 0}
#define SignTx_init_default {0, 0, false, "Bitcoin", false, 1u, false, 0u}
#define TxRequest_init_default {false, (RequestType)0, false, TxRequestDetailsType_init_default, false, TxRequestSerializedType_init_default}
#define TxAck_init_default {false, TransactionType_init_default}
@ -799,7 +794,7 @@ extern const uint32_t SignTx_lock_time_default;
#define DebugLinkFlashErase_init_default {false, 0}
#define Initialize_init_zero {0}
#define GetFeatures_init_zero {0}
#define Features_init_zero {false, "", false, 0, false, 0, false, 0, false, 0, false, "", false, 0, false, 0, false, "", false, "", 0, {CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero}, false, 0, false, {0, {0}}, false, {0, {0}}, false, 0, false, 0, false, 0, false, 0}
#define Features_init_zero {false, "", false, 0, false, 0, false, 0, false, 0, false, "", false, 0, false, 0, false, "", false, "", 0, {CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero, CoinType_init_zero}, false, 0, false, {0, {0}}, false, {0, {0}}, false, 0, false, 0, false, 0, false, 0, false, 0}
#define ClearSession_init_zero {0}
#define ApplySettings_init_zero {false, "", false, "", false, 0, false, {0, {0}}}
#define ChangePin_init_zero {false, 0}
@ -823,7 +818,8 @@ extern const uint32_t SignTx_lock_time_default;
#define EthereumAddress_init_zero {{0, {0}}}
#define WipeDevice_init_zero {0}
#define LoadDevice_init_zero {false, "", false, HDNodeType_init_zero, false, "", false, 0, false, "", false, "", false, 0, false, 0}
#define ResetDevice_init_zero {false, 0, false, 0, false, 0, false, 0, false, "", false, "", false, 0}
#define ResetDevice_init_zero {false, 0, false, 0, false, 0, false, 0, false, "", false, "", false, 0, false, 0}
#define BackupDevice_init_zero {0}
#define EntropyRequest_init_zero {0}
#define EntropyAck_init_zero {false, {0, {0}}}
#define RecoveryDevice_init_zero {false, 0, false, 0, false, 0, false, "", false, "", false, 0, false, 0, false, 0, false, 0}
@ -834,8 +830,6 @@ extern const uint32_t SignTx_lock_time_default;
#define MessageSignature_init_zero {false, "", false, {0, {0}}}
#define CipherKeyValue_init_zero {0, {0, 0, 0, 0, 0, 0, 0, 0}, false, "", false, {0, {0}}, false, 0, false, 0, false, 0, false, {0, {0}}}
#define CipheredKeyValue_init_zero {false, {0, {0}}}
#define EstimateTxSize_init_zero {0, 0, false, ""}
#define TxSize_init_zero {false, 0}
#define SignTx_init_zero {0, 0, false, "", false, 0, false, 0}
#define TxRequest_init_zero {false, (RequestType)0, false, TxRequestDetailsType_init_zero, false, TxRequestSerializedType_init_zero}
#define TxAck_init_zero {false, TransactionType_init_zero}
@ -898,9 +892,6 @@ extern const uint32_t SignTx_lock_time_default;
#define ECDHSessionKey_session_key_tag 1
#define Entropy_entropy_tag 1
#define EntropyAck_entropy_tag 1
#define EstimateTxSize_outputs_count_tag 1
#define EstimateTxSize_inputs_count_tag 2
#define EstimateTxSize_coin_name_tag 3
#define EthereumAddress_address_tag 1
#define EthereumGetAddress_address_n_tag 1
#define EthereumGetAddress_show_display_tag 2
@ -938,6 +929,7 @@ extern const uint32_t SignTx_lock_time_default;
#define Features_pin_cached_tag 16
#define Features_passphrase_cached_tag 17
#define Features_firmware_present_tag 18
#define Features_needs_backup_tag 19
#define GetAddress_address_n_tag 1
#define GetAddress_coin_name_tag 2
#define GetAddress_show_display_tag 3
@ -986,6 +978,7 @@ extern const uint32_t SignTx_lock_time_default;
#define ResetDevice_language_tag 5
#define ResetDevice_label_tag 6
#define ResetDevice_u2f_counter_tag 7
#define ResetDevice_skip_backup_tag 8
#define SetU2FCounter_u2f_counter_tag 1
#define SignIdentity_identity_tag 1
#define SignIdentity_challenge_hidden_tag 2
@ -1007,7 +1000,6 @@ extern const uint32_t SignTx_lock_time_default;
#define TxRequest_request_type_tag 1
#define TxRequest_details_tag 2
#define TxRequest_serialized_tag 3
#define TxSize_tx_size_tag 1
#define VerifyMessage_address_tag 1
#define VerifyMessage_signature_tag 2
#define VerifyMessage_message_tag 3
@ -1018,7 +1010,7 @@ extern const uint32_t SignTx_lock_time_default;
/* Struct field encoding specification for nanopb */
extern const pb_field_t Initialize_fields[1];
extern const pb_field_t GetFeatures_fields[1];
extern const pb_field_t Features_fields[19];
extern const pb_field_t Features_fields[20];
extern const pb_field_t ClearSession_fields[1];
extern const pb_field_t ApplySettings_fields[5];
extern const pb_field_t ChangePin_fields[2];
@ -1042,7 +1034,8 @@ extern const pb_field_t Address_fields[2];
extern const pb_field_t EthereumAddress_fields[2];
extern const pb_field_t WipeDevice_fields[1];
extern const pb_field_t LoadDevice_fields[9];
extern const pb_field_t ResetDevice_fields[8];
extern const pb_field_t ResetDevice_fields[9];
extern const pb_field_t BackupDevice_fields[1];
extern const pb_field_t EntropyRequest_fields[1];
extern const pb_field_t EntropyAck_fields[2];
extern const pb_field_t RecoveryDevice_fields[10];
@ -1053,8 +1046,6 @@ extern const pb_field_t VerifyMessage_fields[5];
extern const pb_field_t MessageSignature_fields[3];
extern const pb_field_t CipherKeyValue_fields[8];
extern const pb_field_t CipheredKeyValue_fields[2];
extern const pb_field_t EstimateTxSize_fields[4];
extern const pb_field_t TxSize_fields[2];
extern const pb_field_t SignTx_fields[6];
extern const pb_field_t TxRequest_fields[4];
extern const pb_field_t TxAck_fields[2];
@ -1079,7 +1070,7 @@ extern const pb_field_t DebugLinkFlashErase_fields[2];
/* Maximum encoded size of messages (where known) */
#define Initialize_size 0
#define GetFeatures_size 0
#define Features_size (257 + 8*CoinType_size)
#define Features_size (260 + 8*CoinType_size)
#define ClearSession_size 0
#define ApplySettings_size 1083
#define ChangePin_size 2
@ -1103,7 +1094,8 @@ extern const pb_field_t DebugLinkFlashErase_fields[2];
#define EthereumAddress_size 22
#define WipeDevice_size 0
#define LoadDevice_size (326 + HDNodeType_size)
#define ResetDevice_size 72
#define ResetDevice_size 74
#define BackupDevice_size 0
#define EntropyRequest_size 0
#define EntropyAck_size 131
#define RecoveryDevice_size 80
@ -1114,8 +1106,6 @@ extern const pb_field_t DebugLinkFlashErase_fields[2];
#define MessageSignature_size 110
#define CipherKeyValue_size 1358
#define CipheredKeyValue_size 1027
#define EstimateTxSize_size 31
#define TxSize_size 6
#define SignTx_size 43
#define TxRequest_size (18 + TxRequestDetailsType_size + TxRequestSerializedType_size)
#define TxAck_size (6 + TransactionType_size)

@ -26,7 +26,7 @@
{ 'n', 'i', MessageType_MessageType_SignMessage, SignMessage_fields, (void (*)(void *)) fsm_msgSignMessage },
{ 'n', 'i', MessageType_MessageType_VerifyMessage, VerifyMessage_fields, (void (*)(void *)) fsm_msgVerifyMessage },
// Message PassphraseAck is used in tiny mode
{ 'n', 'i', MessageType_MessageType_EstimateTxSize, EstimateTxSize_fields, (void (*)(void *)) fsm_msgEstimateTxSize },
// Message EstimateTxSize is deprecated
{ 'n', 'i', MessageType_MessageType_RecoveryDevice, RecoveryDevice_fields, (void (*)(void *)) fsm_msgRecoveryDevice },
{ 'n', 'i', MessageType_MessageType_WordAck, WordAck_fields, (void (*)(void *)) fsm_msgWordAck },
// Message EncryptMessage is deprecated
@ -54,7 +54,7 @@
{ 'n', 'o', MessageType_MessageType_EntropyRequest, EntropyRequest_fields, 0 },
{ 'n', 'o', MessageType_MessageType_MessageSignature, MessageSignature_fields, 0 },
{ 'n', 'o', MessageType_MessageType_PassphraseRequest, PassphraseRequest_fields, 0 },
{ 'n', 'o', MessageType_MessageType_TxSize, TxSize_fields, 0 },
// Message TxSize is deprecated
{ 'n', 'o', MessageType_MessageType_WordRequest, WordRequest_fields, 0 },
{ 'n', 'o', MessageType_MessageType_CipheredKeyValue, CipheredKeyValue_fields, 0 },
// Message EncryptedMessage is deprecated

@ -5,7 +5,7 @@
const pb_field_t Storage_fields[12] = {
const pb_field_t Storage_fields[13] = {
PB_FIELD2( 1, UINT32 , REQUIRED, STATIC , FIRST, Storage, version, version, 0),
PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, Storage, node, version, &HDNodeType_fields),
PB_FIELD2( 3, STRING , OPTIONAL, STATIC , OTHER, Storage, mnemonic, node, 0),
@ -17,6 +17,7 @@ const pb_field_t Storage_fields[12] = {
PB_FIELD2( 9, BOOL , OPTIONAL, STATIC , OTHER, Storage, imported, label, 0),
PB_FIELD2( 10, BYTES , OPTIONAL, STATIC , OTHER, Storage, homescreen, imported, 0),
PB_FIELD2( 11, UINT32 , OPTIONAL, STATIC , OTHER, Storage, u2f_counter, homescreen, 0),
PB_FIELD2( 12, BOOL , OPTIONAL, STATIC , OTHER, Storage, needs_backup, u2f_counter, 0),
PB_LAST_FIELD
};

@ -39,13 +39,15 @@ typedef struct _Storage {
Storage_homescreen_t homescreen;
bool has_u2f_counter;
uint32_t u2f_counter;
bool has_needs_backup;
bool needs_backup;
} Storage;
/* Default values for struct fields */
/* Initializer values for message structs */
#define Storage_init_default {0, false, HDNodeType_init_default, false, "", false, 0, false, 0, false, "", false, "", false, "", false, 0, false, {0, {0}}, false, 0}
#define Storage_init_zero {0, false, HDNodeType_init_zero, false, "", false, 0, false, 0, false, "", false, "", false, "", false, 0, false, {0, {0}}, false, 0}
#define Storage_init_default {0, false, HDNodeType_init_default, false, "", false, 0, false, 0, false, "", false, "", false, "", false, 0, false, {0, {0}}, false, 0, false, 0}
#define Storage_init_zero {0, false, HDNodeType_init_zero, false, "", false, 0, false, 0, false, "", false, "", false, "", false, 0, false, {0, {0}}, false, 0, false, 0}
/* Field tags (for use in manual encoding/decoding) */
#define Storage_version_tag 1
@ -59,12 +61,13 @@ typedef struct _Storage {
#define Storage_imported_tag 9
#define Storage_homescreen_tag 10
#define Storage_u2f_counter_tag 11
#define Storage_needs_backup_tag 12
/* Struct field encoding specification for nanopb */
extern const pb_field_t Storage_fields[12];
extern const pb_field_t Storage_fields[13];
/* Maximum encoded size of messages (where known) */
#define Storage_size (1365 + HDNodeType_size)
#define Storage_size (1367 + HDNodeType_size)
#ifdef __cplusplus
} /* extern "C" */

@ -72,6 +72,4 @@ void tx_hash_final(TxStruct *t, uint8_t *hash, bool reverse);
uint32_t transactionEstimateSize(uint32_t inputs, uint32_t outputs);
uint32_t transactionEstimateSizeKb(uint32_t inputs, uint32_t outputs);
#endif

@ -1 +1 @@
Subproject commit ae1900a2bcc9a140f636d9ef2c5e029fe397441a
Subproject commit 68f5246e2f6e8a7265c297b05958df4e2b2b2ad9
Loading…
Cancel
Save