This is to avoid including app-specific functionality in storage and
avoid circular imports. The following policy is now in effect: modules
from `storage` namespace must not import from `apps` namespace.
In most files, the change only involves changing import paths.
A minor refactor was needed in case of webauthn: basic get/set/delete
functionality was left in storage.webauthn, and more advanced logic on
top of it was moved to apps.webauthn.resident_credentials.
A significant refactor was needed for sd_salt, where application (and
UI) logic was tightly coupled with the IO code. This is now separated,
and storage.sd_salt deals exclusively with the IO side, while the app/UI
logic is implemented on top of it in apps.common.sd_salt and
apps.management.sd_protect.
- add support for text strings and boolean values
- add support negative integers and decoding maps
- fix decoding of short strings
- encode maps canonically
- add unit tests for decoding
- sort maps lexicographically by encoded key
squash merge. closes#94 and #130
Squashed commit of the following:
commit 1adc68051df863f5ce3767f6594d91fc9ad7bb16
Author: refi93 <rafael.korbas@gmail.com>
Date: Tue May 7 00:13:07 2019 +0200
cr fix
commit 833b831754aa3dfce4630e9d64e7fb6c5147ceb1
Author: refi93 <rafael.korbas@gmail.com>
Date: Mon May 6 21:59:49 2019 +0200
cr fix style
commit 2962e697c993d3df9a53dcc6cebc9148c1d701f5
Author: Matúš Juran <matus.juran@vacuumlabs.com>
Date: Thu May 2 16:57:55 2019 +0200
cardano: optimize transaction signing
Optimize the storage of previous transactions. Instead of passing a list
of transactions to the Transaction object, verify all inputs beforehand.
Stop creating helper lists when serializing the transaction. This allows
to process a few more inputs.