speculos 0.8.4.dev2__tar.gz → 0.8.4.dev4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/CHANGELOG.md +1 -0
  2. {speculos-0.8.4.dev2/speculos.egg-info → speculos-0.8.4.dev4}/PKG-INFO +1 -1
  3. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/__version__.py +2 -2
  4. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/events.py +3 -8
  5. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/bagl.py +10 -4
  6. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/display.py +4 -2
  7. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/nbgl.py +4 -3
  8. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/ocr.py +2 -2
  9. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/seproxyhal.py +2 -3
  10. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/observer.py +1 -0
  11. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/resources/launcher +0 -0
  12. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4/speculos.egg-info}/PKG-INFO +1 -1
  13. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/api/test_api.py +5 -5
  14. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.clang-format +0 -0
  15. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.codespell-ignore +0 -0
  16. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.dockerignore +0 -0
  17. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.github/workflows/continuous-integration-workflow.yml +0 -0
  18. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.github/workflows/fast-checks.yml +0 -0
  19. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.github/workflows/force-rebase.yml +0 -0
  20. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.github/workflows/reusable_ragger_tests_latest_speculos.yml +0 -0
  21. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.github/workflows/speculos-builder.yml +0 -0
  22. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/.gitignore +0 -0
  23. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/CMakeLists.txt +0 -0
  24. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/COPYING +0 -0
  25. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/COPYING.LESSER +0 -0
  26. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/Dockerfile +0 -0
  27. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/MANIFEST.in +0 -0
  28. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/Pipfile +0 -0
  29. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/Pipfile.lock +0 -0
  30. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/README.md +0 -0
  31. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/README.md +0 -0
  32. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/blue#btc#1.5#00000000.elf +0 -0
  33. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/blue#ram-page#blue-2.2.5#00000000.elf +0 -0
  34. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/btc-test.elf +0 -0
  35. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/btc.elf +0 -0
  36. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc#1.5#00000000.elf +0 -0
  37. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc#1.6#29717f9c.elf +0 -0
  38. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc#1.6#6bd0a5f8.elf +0 -0
  39. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc#2.0#ce796c1b.elf +0 -0
  40. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc#2.1#1c8db8da.elf +0 -0
  41. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc-test#1.5#00000000.elf +0 -0
  42. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc-test#1.6#29717f9c.elf +0 -0
  43. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc-test#1.6#6bd0a5f8.elf +0 -0
  44. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc-test#2.0#ce796c1b.elf +0 -0
  45. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanos#btc-test#2.1#1c8db8da.elf +0 -0
  46. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanosp#btc#1.0#a86c791b.elf +0 -0
  47. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanosp#btc#1.0.3#17bf7619.elf +0 -0
  48. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanosp#btc-test#1.0#a86c791b.elf +0 -0
  49. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanosp#btc-test#1.0.3#17bf7619.elf +0 -0
  50. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanox#btc#1.2#57272a0f.elf +0 -0
  51. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanox#btc#2.0.2#1c8db8da.elf +0 -0
  52. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/apps/nanox#btc-test#2.0.2#1c8db8da.elf +0 -0
  53. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/build.Dockerfile +0 -0
  54. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/clang-armv7m.cmake +0 -0
  55. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docker-compose.yml +0 -0
  56. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/CNAME +0 -0
  57. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/_config.yml +0 -0
  58. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/dev/ci.md +0 -0
  59. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/dev/getting_started.md +0 -0
  60. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/dev/index.md +0 -0
  61. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/dev/internals.md +0 -0
  62. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/dev/tests.md +0 -0
  63. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/index.md +0 -0
  64. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/installation/build.md +0 -0
  65. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/installation/index.md +0 -0
  66. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/installation/wsl.md +0 -0
  67. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/screenshot-api-nanos-btc.png +0 -0
  68. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/screenshot-btc-nanos.png +0 -0
  69. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/api.md +0 -0
  70. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/automation.md +0 -0
  71. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/clients.md +0 -0
  72. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/debug.md +0 -0
  73. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/docker.md +0 -0
  74. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/index.md +0 -0
  75. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/macm1.md +0 -0
  76. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/semihosting.md +0 -0
  77. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/docs/user/usage.md +0 -0
  78. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/gcc-arm.cmake +0 -0
  79. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/lgtm.yml +0 -0
  80. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/pyproject.toml +0 -0
  81. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_1.2.h +0 -0
  82. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_1.5.h +0 -0
  83. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_1.6.h +0 -0
  84. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_2.0.h +0 -0
  85. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_blue_2.2.5.h +0 -0
  86. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_lnsp.h +0 -0
  87. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/sdk/bolos_syscalls_unified_sdk.h +0 -0
  88. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/setup.cfg +0 -0
  89. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/setup.py +0 -0
  90. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/__init__.py +0 -0
  91. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/__main__.py +0 -0
  92. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/README.md +0 -0
  93. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/__init__.py +0 -0
  94. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/apdu.py +0 -0
  95. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/api.py +0 -0
  96. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/automation.py +0 -0
  97. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/button.py +0 -0
  98. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/finger.py +0 -0
  99. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/helpers.py +0 -0
  100. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/resources/apdu.schema +0 -0
  101. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/resources/button.schema +0 -0
  102. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/resources/finger.schema +0 -0
  103. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/resources/ticker.schema +0 -0
  104. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/restful.py +0 -0
  105. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/screenshot.py +0 -0
  106. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/index.html +0 -0
  107. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/README.md +0 -0
  108. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/favicon-16x16.png +0 -0
  109. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/favicon-32x32.png +0 -0
  110. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/index.html +0 -0
  111. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/swagger-ui-bundle.js +0 -0
  112. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/swagger-ui-standalone-preset.js +0 -0
  113. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/swagger-ui.css +0 -0
  114. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/static/swagger/swagger.json +0 -0
  115. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/swagger.py +0 -0
  116. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/swagger.yaml +0 -0
  117. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/ticker.py +0 -0
  118. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/api/web_interface.py +0 -0
  119. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/client.py +0 -0
  120. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/flex-api-level-cx-18.elf +0 -0
  121. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanos-cx-2.0.elf +0 -0
  122. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanos-cx-2.1.elf +0 -0
  123. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-api-level-cx-1.elf +0 -0
  124. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-api-level-cx-12.elf +0 -0
  125. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-api-level-cx-18.elf +0 -0
  126. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-api-level-cx-5.elf +0 -0
  127. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-cx-1.0.3.elf +0 -0
  128. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanosp-cx-1.0.elf +0 -0
  129. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-api-level-cx-1.elf +0 -0
  130. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-api-level-cx-12.elf +0 -0
  131. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-api-level-cx-18.elf +0 -0
  132. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-api-level-cx-5.elf +0 -0
  133. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-cx-2.0.2.elf +0 -0
  134. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/nanox-cx-2.0.elf +0 -0
  135. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-1.elf +0 -0
  136. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-10.elf +0 -0
  137. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-11.elf +0 -0
  138. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-12.elf +0 -0
  139. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-13.elf +0 -0
  140. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-14.elf +0 -0
  141. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-15.elf +0 -0
  142. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-3.elf +0 -0
  143. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-5.elf +0 -0
  144. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-7.elf +0 -0
  145. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-8.elf +0 -0
  146. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/cxlib/stax-api-level-cx-9.elf +0 -0
  147. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/flex-fonts-18.bin +0 -0
  148. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/nanosp-fonts-18.bin +0 -0
  149. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/nanox-fonts-18.bin +0 -0
  150. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-1.bin +0 -0
  151. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-10.bin +0 -0
  152. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-11.bin +0 -0
  153. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-12.bin +0 -0
  154. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-13.bin +0 -0
  155. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-14.bin +0 -0
  156. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-15.bin +0 -0
  157. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-3.bin +0 -0
  158. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-5.bin +0 -0
  159. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-7.bin +0 -0
  160. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-8.bin +0 -0
  161. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/fonts/stax-fonts-9.bin +0 -0
  162. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/main.py +0 -0
  163. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/__init__.py +0 -0
  164. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/apdu.py +0 -0
  165. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/automation.py +0 -0
  166. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/automation_server.py +0 -0
  167. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/bagl_font.py +0 -0
  168. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/bagl_glyph.py +0 -0
  169. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/button_tcp.py +0 -0
  170. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/finger_tcp.py +0 -0
  171. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/headless.py +0 -0
  172. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/icon.png +0 -0
  173. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/readerror.py +0 -0
  174. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/resources/automation.schema +0 -0
  175. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/rle_custom.py +0 -0
  176. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/screen.py +0 -0
  177. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/screen_text.py +0 -0
  178. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/struct.py +0 -0
  179. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/usb.py +0 -0
  180. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/mcu/vnc.py +0 -0
  181. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos/resources/vnc_server +0 -0
  182. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos.egg-info/SOURCES.txt +0 -0
  183. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos.egg-info/dependency_links.txt +0 -0
  184. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos.egg-info/entry_points.txt +0 -0
  185. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos.egg-info/requires.txt +0 -0
  186. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/speculos.egg-info/top_level.txt +0 -0
  187. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/CMakeLists.txt +0 -0
  188. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/bagl.c +0 -0
  189. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/bagl.h +0 -0
  190. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx.c +0 -0
  191. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx.h +0 -0
  192. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_aes.c +0 -0
  193. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_aes.h +0 -0
  194. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_aes_sdk2.c +0 -0
  195. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_blake2.h +0 -0
  196. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_blake2b.c +0 -0
  197. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_bls.c +0 -0
  198. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_bls.h +0 -0
  199. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_bls_fp2.c +0 -0
  200. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_bls_g2.c +0 -0
  201. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_bn.c +0 -0
  202. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_common.h +0 -0
  203. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_crc.c +0 -0
  204. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_crc.h +0 -0
  205. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_curve25519.c +0 -0
  206. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_curve25519.h +0 -0
  207. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ec.c +0 -0
  208. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ec.h +0 -0
  209. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ec_domain.c +0 -0
  210. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ecpoint.c +0 -0
  211. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ed25519.c +0 -0
  212. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ed25519.h +0 -0
  213. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hash.c +0 -0
  214. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hash.h +0 -0
  215. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hkdf.c +0 -0
  216. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hkdf.h +0 -0
  217. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hmac.c +0 -0
  218. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_hmac.h +0 -0
  219. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_math.c +0 -0
  220. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_math.h +0 -0
  221. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_montgomery.c +0 -0
  222. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_mpi.c +0 -0
  223. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_ripemd160.c +0 -0
  224. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_rng_rfc6979.c +0 -0
  225. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_rng_rfc6979.h +0 -0
  226. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_scc.c +0 -0
  227. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_sha256.c +0 -0
  228. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_sha3.c +0 -0
  229. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_sha512.c +0 -0
  230. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_twisted_edwards.c +0 -0
  231. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_utils.c +0 -0
  232. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_utils.h +0 -0
  233. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cx_weierstrass.c +0 -0
  234. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cxlib.c +0 -0
  235. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/cxlib.h +0 -0
  236. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/default.c +0 -0
  237. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/endorsement.c +0 -0
  238. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/endorsement.h +0 -0
  239. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/exception.h +0 -0
  240. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/fonts_info.c +0 -0
  241. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/nbgl.c +0 -0
  242. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/nbgl.h +0 -0
  243. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/nbgl_rle.c +0 -0
  244. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/nbgl_rle.h +0 -0
  245. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os.c +0 -0
  246. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_1.2.c +0 -0
  247. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_1.5.c +0 -0
  248. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_1.6.c +0 -0
  249. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_2.0.c +0 -0
  250. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_bip32.c +0 -0
  251. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_bip32.h +0 -0
  252. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/os_eip2333.c +0 -0
  253. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/seproxyhal.c +0 -0
  254. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/touch.c +0 -0
  255. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/bolos/touch.h +0 -0
  256. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate.c +0 -0
  257. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate.h +0 -0
  258. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_1.2.c +0 -0
  259. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_1.5.c +0 -0
  260. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_1.6.c +0 -0
  261. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_2.0.c +0 -0
  262. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_blue_2.2.5.c +0 -0
  263. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_lnsp_1.0.c +0 -0
  264. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/emulate_unified_sdk.c +0 -0
  265. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/environment.c +0 -0
  266. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/environment.h +0 -0
  267. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/fonts.h +0 -0
  268. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/launcher.c +0 -0
  269. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/sdk.h +0 -0
  270. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/svc.c +0 -0
  271. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/svc.h +0 -0
  272. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/CMakeLists.txt +0 -0
  273. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursor.c +0 -0
  274. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursor.h +0 -0
  275. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/approved.h +0 -0
  276. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/bitcoin.h +0 -0
  277. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/blue.h +0 -0
  278. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/fabrice.h +0 -0
  279. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_00.h +0 -0
  280. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_01.h +0 -0
  281. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_02.h +0 -0
  282. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_03.h +0 -0
  283. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_04.h +0 -0
  284. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_05.h +0 -0
  285. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_06.h +0 -0
  286. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_07.h +0 -0
  287. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_08.h +0 -0
  288. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_09.h +0 -0
  289. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_10.h +0 -0
  290. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_11.h +0 -0
  291. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_12.h +0 -0
  292. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_13.h +0 -0
  293. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_14.h +0 -0
  294. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_15.h +0 -0
  295. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_16.h +0 -0
  296. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_17.h +0 -0
  297. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_18.h +0 -0
  298. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_19.h +0 -0
  299. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_20.h +0 -0
  300. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/frame_21.h +0 -0
  301. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/pizza.h +0 -0
  302. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/star.h +0 -0
  303. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/sword.h +0 -0
  304. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/cursors/verynice.h +0 -0
  305. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/seccomp-bpf.h +0 -0
  306. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/src/vnc/vnc_server.c +0 -0
  307. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/CMakeLists.txt +0 -0
  308. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/CMakeLists.txt +0 -0
  309. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/blake2b_kat.data +0 -0
  310. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_224_long_msg.data +0 -0
  311. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_224_short_msg.data +0 -0
  312. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_256_long_msg.data +0 -0
  313. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_256_short_msg.data +0 -0
  314. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_384_long_msg.data +0 -0
  315. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_384_short_msg.data +0 -0
  316. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_512_long_msg.data +0 -0
  317. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/groestl_512_short_msg.data +0 -0
  318. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/hmac.data +0 -0
  319. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_224_long_msg.data +0 -0
  320. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_224_short_msg.data +0 -0
  321. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_256_long_msg.data +0 -0
  322. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_256_short_msg.data +0 -0
  323. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_384_long_msg.data +0 -0
  324. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_384_short_msg.data +0 -0
  325. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_512_long_msg.data +0 -0
  326. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/keccak_512_short_msg.data +0 -0
  327. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha224_long_msg.data +0 -0
  328. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha224_short_msg.data +0 -0
  329. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha256_long_msg.data +0 -0
  330. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha256_short_msg.data +0 -0
  331. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha384_long_msg.data +0 -0
  332. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha384_short_msg.data +0 -0
  333. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_224_long_msg.data +0 -0
  334. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_224_short_msg.data +0 -0
  335. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_256_long_msg.data +0 -0
  336. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_256_short_msg.data +0 -0
  337. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_384_long_msg.data +0 -0
  338. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_384_short_msg.data +0 -0
  339. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_512_long_msg.data +0 -0
  340. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha3_512_short_msg.data +0 -0
  341. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha512_long_msg.data +0 -0
  342. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/sha512_short_msg.data +0 -0
  343. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake128_long_msg.data +0 -0
  344. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake128_short_msg.data +0 -0
  345. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake128_variable_output.data +0 -0
  346. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake256_long_msg.data +0 -0
  347. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake256_short_msg.data +0 -0
  348. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/cavp/shake256_variable_output.data +0 -0
  349. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/hello.c +0 -0
  350. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/nist_cavp.c +0 -0
  351. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/nist_cavp.h +0 -0
  352. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_aes.c +0 -0
  353. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_bip32.c +0 -0
  354. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_blake2.c +0 -0
  355. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_bls.c +0 -0
  356. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_bn.c +0 -0
  357. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_crc16.c +0 -0
  358. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_ec.c +0 -0
  359. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_ecdh.c +0 -0
  360. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_ecdsa.c +0 -0
  361. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_ecpoint.c +0 -0
  362. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_eddsa.c +0 -0
  363. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_eip2333.c +0 -0
  364. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_endorsement.c +0 -0
  365. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_hmac.c +0 -0
  366. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_math.c +0 -0
  367. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_mpi_rng.c +0 -0
  368. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_os_global_pin_is_validated.c +0 -0
  369. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_rfc6979.c +0 -0
  370. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_ripemd.c +0 -0
  371. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_sha2.c +0 -0
  372. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_sha3.c +0 -0
  373. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/test_slip21.c +0 -0
  374. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/wycheproof/X25519.data +0 -0
  375. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/wycheproof/X448.data +0 -0
  376. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/wycheproof/ecdh_secp256k1.data +0 -0
  377. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/syscalls/wycheproof/eddsa.data +0 -0
  378. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/test_environment.c +0 -0
  379. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/utils.c +0 -0
  380. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/c/utils.h +0 -0
  381. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/__init__.py +0 -0
  382. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/api/resources/automation.json +0 -0
  383. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/__init__.py +0 -0
  384. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/__init__.py +0 -0
  385. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_blue.json +0 -0
  386. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_blue.png +0 -0
  387. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanos.json +0 -0
  388. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanos.png +0 -0
  389. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanosp.json +0 -0
  390. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanosp.png +0 -0
  391. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanox.json +0 -0
  392. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/resources/btc_getpubkey_nanox.png +0 -0
  393. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/test_btc.py +0 -0
  394. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/test_btc_testnet.py +0 -0
  395. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/test_ram_page.py +0 -0
  396. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/apps/test_vnc.py +0 -0
  397. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/conftest.py +0 -0
  398. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/mcu/resources/automation_invalid_action_args.json +0 -0
  399. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/mcu/resources/automation_invalid_action_name.json +0 -0
  400. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/mcu/resources/automation_invalid_rule_key.json +0 -0
  401. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/mcu/resources/automation_valid.json +0 -0
  402. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/mcu/test_automation.py +0 -0
  403. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/pytest.ini +0 -0
  404. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/unit/__init__.py +0 -0
  405. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/unit/test_client_Api.py +0 -0
  406. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tests/python/unit/test_client_SpeculosClient.py +0 -0
  407. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/clang-format.sh +0 -0
  408. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/cursor.py +0 -0
  409. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/debug.sh +0 -0
  410. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/gdbinit +0 -0
  411. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/gif-recorder.py +0 -0
  412. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/ledger-live-http-proxy.py +0 -0
  413. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/skins/handholding.png +0 -0
  414. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/skins/nano-blue.png +0 -0
  415. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/skins/unicorn.png +0 -0
  416. {speculos-0.8.4.dev2 → speculos-0.8.4.dev4}/tools/winamp.py +0 -0
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  ### Fixed
11
11
 
12
12
  - Removing PyQt5 from Speculos Docker images as it is unused and triggers error on MAC.
13
+ - Fix OCR screen content reset mechanism
13
14
 
14
15
  ## [0.8.3] - 2024-04-08
15
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: speculos
3
- Version: 0.8.4.dev2
3
+ Version: 0.8.4.dev4
4
4
  Summary: Ledger Blue, Stax, Flex and Nano S/S+/X application emulator
5
5
  Author-email: Ledger <hello@ledger.fr>
6
6
  Project-URL: Homepage, https://github.com/LedgerHQ/speculos
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.8.4.dev2'
16
- __version_tuple__ = version_tuple = (0, 8, 4, 'dev2')
15
+ __version__ = version = '0.8.4.dev4'
16
+ __version_tuple__ = version_tuple = (0, 8, 4, 'dev4')
@@ -9,9 +9,6 @@ from flask_restful import inputs, reqparse
9
9
  from speculos.observer import BroadcastInterface, ObserverInterface, TextEvent
10
10
  from .restful import AppResource
11
11
 
12
- # Approximative minimum vertical distance between two lines of text on the devices' screen.
13
- MIN_LINES_HEIGHT_DISTANCE = 10 # pixels
14
-
15
12
 
16
13
  class EventsBroadcaster(BroadcastInterface):
17
14
  """This used to be the 'Automation Server'."""
@@ -28,11 +25,9 @@ class EventsBroadcaster(BroadcastInterface):
28
25
  self.screen_content = []
29
26
 
30
27
  def broadcast(self, event: TextEvent) -> None:
31
- if self.screen_content:
32
- # Reset screen content if new event is not below the last text line of
33
- # current screen. Event Y coordinate starts at the top of the screen.
34
- if event.y <= self.screen_content[-1].y + MIN_LINES_HEIGHT_DISTANCE:
35
- self.clear_events()
28
+ if event.clear:
29
+ self.clear_events()
30
+ return
36
31
 
37
32
  self.logger.debug("events: broadcasting %s to %d client(s)", asdict(event), len(self.clients))
38
33
  self.screen_content.append(event)
@@ -417,7 +417,8 @@ class Bagl(GraphicLibrary):
417
417
  bpp,
418
418
  bitmap)
419
419
 
420
- def _display_bagl_rectangle(self, component, context, context_encoding, halignment, valignment):
420
+ def _display_bagl_rectangle(self, component, context, context_encoding, halignment, valignment) -> List[TextEvent]:
421
+ ret = []
421
422
  radius = min(component.radius, min(component.width//2, component.height//2))
422
423
  if component.fill != BAGL_FILL:
423
424
  coords = [
@@ -450,7 +451,10 @@ class Bagl(GraphicLibrary):
450
451
  (component.x+component.width-radius, component.y+radius, radius, component.height-2*radius),
451
452
  ]
452
453
  for (x, y, width, height) in coords:
453
- self._hal_draw_rect(component.fgcolor, x, y, width, height)
454
+ if x == 0 and y == 0 and width == self.SCREEN_WIDTH and height == self.SCREEN_HEIGHT:
455
+ ret += self.fb.draw_rect(x, y, width, height, component.fgcolor)
456
+ else:
457
+ self._hal_draw_rect(component.fgcolor, x, y, width, height)
454
458
 
455
459
  if radius > 1:
456
460
  radiusint = 0
@@ -499,6 +503,8 @@ class Bagl(GraphicLibrary):
499
503
  component.height - valignment - stroke,
500
504
  context)
501
505
 
506
+ return ret
507
+
502
508
  def _display_bagl_labeline(self,
503
509
  component,
504
510
  text,
@@ -540,7 +546,7 @@ class Bagl(GraphicLibrary):
540
546
 
541
547
  return [TextEvent(text.decode("utf-8", "ignore"),
542
548
  component.x + halignment, y,
543
- component.width - halignment, component.height)]
549
+ component.width - halignment, component.height, False)]
544
550
 
545
551
  def _display_get_alignment(self, component, context, context_encoding):
546
552
  halignment = 0
@@ -600,7 +606,7 @@ class Bagl(GraphicLibrary):
600
606
  # self.renderer.clear()
601
607
  pass
602
608
  elif type_ == BAGL_RECTANGLE:
603
- self._display_bagl_rectangle(component, context, context_encoding, halignment, valignment)
609
+ ret = self._display_bagl_rectangle(component, context, context_encoding, halignment, valignment)
604
610
  elif type_ == BAGL_LABEL:
605
611
  self._display_bagl_labeline(component, context, halignment, valignment, baseline, char_height,
606
612
  strwidth, type_)
@@ -105,7 +105,7 @@ class FrameBuffer:
105
105
  for x in range(x0, x0 + width):
106
106
  self.pixels[(x, y)] = self.check_color(color)
107
107
 
108
- def draw_rect(self, x0: int, y0: int, width: int, height: int, color: int) -> None:
108
+ def draw_rect(self, x0: int, y0: int, width: int, height: int, color: int) -> List[TextEvent]:
109
109
  color = self.check_color(color)
110
110
 
111
111
  if x0 == 0 and y0 == 0 and width == self._width and height == self._height:
@@ -113,12 +113,14 @@ class FrameBuffer:
113
113
  self.draw_default_color = True
114
114
  self.pixels = {}
115
115
  self.screenshot_pixels = {}
116
- return
116
+ return [TextEvent("", 0, 0, 0, 0, True)]
117
117
 
118
118
  for x in range(x0, x0 + width):
119
119
  for y in range(y0, y0 + height):
120
120
  self.pixels[(x, y)] = color
121
121
 
122
+ return []
123
+
122
124
  def _get_image(self) -> bytes:
123
125
  data = bytearray(self.default_color.to_bytes(3, "big")) * self._width * self._height
124
126
  for (x, y), color in self.screenshot_pixels.items():
@@ -3,13 +3,14 @@ import logging
3
3
  import sys
4
4
  from construct import Struct, Int8ul, Int16ul
5
5
  from enum import IntEnum
6
+ from speculos.observer import TextEvent
6
7
  try:
7
8
  from functools import cache
8
9
  except ImportError:
9
10
  # `functools.cache` does not exists on Python3.8
10
11
  from functools import lru_cache
11
12
  cache = lru_cache(maxsize=None)
12
- from typing import Tuple
13
+ from typing import List, Tuple
13
14
 
14
15
  from .display import FrameBuffer, GraphicLibrary
15
16
  # This is a copy - original version is in the SDK (tools/rle_custom.py)
@@ -61,10 +62,10 @@ class NBGL(GraphicLibrary):
61
62
  if area.y0 > self.SCREEN_HEIGHT or (area.y0+area.height) > self.SCREEN_HEIGHT:
62
63
  raise AssertionError("top edge (%d) or bottom edge (%d) out of screen" % (area.y0, (area.y0 + area.height)))
63
64
 
64
- def hal_draw_rect(self, data: bytes) -> None:
65
+ def hal_draw_rect(self, data: bytes) -> List[TextEvent]:
65
66
  area = nbgl_area_t.parse(data)
66
67
  self.__assert_area(area)
67
- self.fb.draw_rect(area.x0, area.y0, area.width, area.height, NBGL.to_screen_color(area.color, 2))
68
+ return self.fb.draw_rect(area.x0, area.y0, area.width, area.height, NBGL.to_screen_color(area.color, 2))
68
69
 
69
70
  def refresh(self, data: bytes) -> bool:
70
71
  area = nbgl_area_t.parse(data)
@@ -170,7 +170,7 @@ class OCR:
170
170
  else:
171
171
  # create a new TextEvent if there are no events yet
172
172
  # or if there is a new line
173
- self.events.append(TextEvent(char, x, y, w, h))
173
+ self.events.append(TextEvent(char, x, y, w, h, False))
174
174
 
175
175
  def store_char_in_last_event(self, x: int, y: int, w: int, h: int, char: str) -> None:
176
176
  """
@@ -210,7 +210,7 @@ class OCR:
210
210
  return
211
211
 
212
212
  # create a new TextEvent if there are no events yet or if there is a new line
213
- self.events.append(TextEvent(char, x, y, w, h))
213
+ self.events.append(TextEvent(char, x, y, w, h, False))
214
214
 
215
215
  def analyze_bitmap(self, data: bytes) -> None:
216
216
  """
@@ -353,8 +353,7 @@ class SeProxyHal(IODevice):
353
353
  self.logger.debug(f"DISPLAY_STATUS {data!r}")
354
354
  if screen.display.model not in ["nanox", "nanosp"] or tag == SephTag.BAGL_DRAW_RECT:
355
355
  events = screen.display.display_status(data)
356
- if events:
357
- self.events += events
356
+ self.events += events
358
357
  if tag != SephTag.BAGL_DRAW_RECT:
359
358
  self.socket_helper.send_packet(SephTag.DISPLAY_PROCESSED_EVENT)
360
359
 
@@ -416,7 +415,7 @@ class SeProxyHal(IODevice):
416
415
 
417
416
  elif tag == SephTag.NBGL_DRAW_RECT:
418
417
  assert isinstance(screen.display.gl, NBGL)
419
- screen.display.gl.hal_draw_rect(data)
418
+ self.events += screen.display.gl.hal_draw_rect(data)
420
419
 
421
420
  elif tag == SephTag.NBGL_REFRESH:
422
421
  assert isinstance(screen.display.gl, NBGL)
@@ -11,6 +11,7 @@ class TextEvent:
11
11
  y: int
12
12
  w: int
13
13
  h: int
14
+ clear: bool
14
15
 
15
16
 
16
17
  class ObserverInterface(ABC):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: speculos
3
- Version: 0.8.4.dev2
3
+ Version: 0.8.4.dev4
4
4
  Summary: Ledger Blue, Stax, Flex and Nano S/S+/X application emulator
5
5
  Author-email: Ledger <hello@ledger.fr>
6
6
  Project-URL: Homepage, https://github.com/LedgerHQ/speculos
@@ -98,11 +98,11 @@ class TestApi:
98
98
  assert re.match(text, event["text"])
99
99
 
100
100
  texts = [
101
- '{"events": [{"text": "Bitcoin", "x": 41, "y": 3, "w": 128, "h": 32}, '
102
- '{"text": "is ready", "x": 41, "y": 17, "w": 128, "h": 32}]}\n',
103
- '{"events": [{"text": "Version", "x": 43, "y": 3, "w": 79, "h": 32}, '
104
- '{"text": "2.0.1", "x": 52, "y": 17, "w": 70, "h": 32}]}\n',
105
- '{"events": [{"text": "About", "x": 47, "y": 19, "w": 81, "h": 32}]}\n'
101
+ '{"events": [{"text": "Bitcoin", "x": 41, "y": 3, "w": 128, "h": 32, "clear": false}, '
102
+ '{"text": "is ready", "x": 41, "y": 17, "w": 128, "h": 32, "clear": false}]}\n',
103
+ '{"events": [{"text": "Version", "x": 43, "y": 3, "w": 79, "h": 32, "clear": false}, '
104
+ '{"text": "2.0.1", "x": 52, "y": 17, "w": 70, "h": 32, "clear": false}]}\n',
105
+ '{"events": [{"text": "About", "x": 47, "y": 19, "w": 81, "h": 32, "clear": false}]}\n'
106
106
  ]
107
107
  for text in texts:
108
108
  content = get_current_screen_content(r)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes