@onekeyfe/hd-core 1.2.0-alpha.56 → 1.2.0-alpha.57

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 (566) hide show
  1. package/__tests__/protocol-v2.test.ts +125 -3
  2. package/__tests__/public-pro2-api-boundary.test.ts +98 -2
  3. package/__tests__/public-test-api-boundary.test.ts +167 -0
  4. package/dist/api/BixinBackupDevice.d.ts +7 -0
  5. package/dist/api/BixinBackupDevice.d.ts.map +1 -0
  6. package/dist/api/BixinLoadDevice.d.ts +7 -0
  7. package/dist/api/BixinLoadDevice.d.ts.map +1 -0
  8. package/dist/api/BixinMessageSE.d.ts +8 -0
  9. package/dist/api/BixinMessageSE.d.ts.map +1 -0
  10. package/dist/api/BixinVerifyDeviceRequest.d.ts +8 -0
  11. package/dist/api/BixinVerifyDeviceRequest.d.ts.map +1 -0
  12. package/dist/api/WebAuthnAddResidentCredential.d.ts +8 -0
  13. package/dist/api/WebAuthnAddResidentCredential.d.ts.map +1 -0
  14. package/dist/api/WebAuthnListResidentCredentials.d.ts +8 -0
  15. package/dist/api/WebAuthnListResidentCredentials.d.ts.map +1 -0
  16. package/dist/api/WebAuthnRemoveResidentCredential.d.ts +8 -0
  17. package/dist/api/WebAuthnRemoveResidentCredential.d.ts.map +1 -0
  18. package/dist/api/binance/BinanceGetAddress.d.ts +8 -0
  19. package/dist/api/binance/BinanceGetAddress.d.ts.map +1 -0
  20. package/dist/api/binance/BinanceGetPublicKey.d.ts +8 -0
  21. package/dist/api/binance/BinanceGetPublicKey.d.ts.map +1 -0
  22. package/dist/api/binance/BinanceSignTx.d.ts +7 -0
  23. package/dist/api/binance/BinanceSignTx.d.ts.map +1 -0
  24. package/dist/api/btc/BTCAuthorizeCoinJoin.d.ts +7 -0
  25. package/dist/api/btc/BTCAuthorizeCoinJoin.d.ts.map +1 -0
  26. package/dist/api/btc/BTCGetOwnershipId.d.ts +7 -0
  27. package/dist/api/btc/BTCGetOwnershipId.d.ts.map +1 -0
  28. package/dist/api/btc/BTCGetOwnershipProof.d.ts +7 -0
  29. package/dist/api/btc/BTCGetOwnershipProof.d.ts.map +1 -0
  30. package/dist/api/crypto/CryptoBatchGetPublickeys.d.ts +8 -0
  31. package/dist/api/crypto/CryptoBatchGetPublickeys.d.ts.map +1 -0
  32. package/dist/api/crypto/CryptoCipherKeyValue.d.ts +8 -0
  33. package/dist/api/crypto/CryptoCipherKeyValue.d.ts.map +1 -0
  34. package/dist/api/crypto/CryptoCosiCommit.d.ts +8 -0
  35. package/dist/api/crypto/CryptoCosiCommit.d.ts.map +1 -0
  36. package/dist/api/crypto/CryptoCosiSign.d.ts +8 -0
  37. package/dist/api/crypto/CryptoCosiSign.d.ts.map +1 -0
  38. package/dist/api/crypto/CryptoGetECDHSessionKey.d.ts +8 -0
  39. package/dist/api/crypto/CryptoGetECDHSessionKey.d.ts.map +1 -0
  40. package/dist/api/crypto/CryptoSignIdentity.d.ts +8 -0
  41. package/dist/api/crypto/CryptoSignIdentity.d.ts.map +1 -0
  42. package/dist/api/debug/DebugLinkDecision.d.ts +7 -0
  43. package/dist/api/debug/DebugLinkDecision.d.ts.map +1 -0
  44. package/dist/api/debug/DebugLinkEraseSdCard.d.ts +7 -0
  45. package/dist/api/debug/DebugLinkEraseSdCard.d.ts.map +1 -0
  46. package/dist/api/debug/DebugLinkFlashErase.d.ts +7 -0
  47. package/dist/api/debug/DebugLinkFlashErase.d.ts.map +1 -0
  48. package/dist/api/debug/DebugLinkGetState.d.ts +7 -0
  49. package/dist/api/debug/DebugLinkGetState.d.ts.map +1 -0
  50. package/dist/api/debug/DebugLinkMemoryRead.d.ts +7 -0
  51. package/dist/api/debug/DebugLinkMemoryRead.d.ts.map +1 -0
  52. package/dist/api/debug/DebugLinkMemoryWrite.d.ts +7 -0
  53. package/dist/api/debug/DebugLinkMemoryWrite.d.ts.map +1 -0
  54. package/dist/api/debug/DebugLinkRecordScreen.d.ts +7 -0
  55. package/dist/api/debug/DebugLinkRecordScreen.d.ts.map +1 -0
  56. package/dist/api/debug/DebugLinkReseedRandom.d.ts +7 -0
  57. package/dist/api/debug/DebugLinkReseedRandom.d.ts.map +1 -0
  58. package/dist/api/debug/DebugLinkStop.d.ts +7 -0
  59. package/dist/api/debug/DebugLinkStop.d.ts.map +1 -0
  60. package/dist/api/debug/DebugLinkWatchLayout.d.ts +7 -0
  61. package/dist/api/debug/DebugLinkWatchLayout.d.ts.map +1 -0
  62. package/dist/api/device/DeviceVerify.d.ts.map +1 -1
  63. package/dist/api/emmc/EmmcDirList.d.ts +7 -0
  64. package/dist/api/emmc/EmmcDirList.d.ts.map +1 -0
  65. package/dist/api/emmc/EmmcDirMake.d.ts +7 -0
  66. package/dist/api/emmc/EmmcDirMake.d.ts.map +1 -0
  67. package/dist/api/emmc/EmmcDirRemove.d.ts +7 -0
  68. package/dist/api/emmc/EmmcDirRemove.d.ts.map +1 -0
  69. package/dist/api/emmc/EmmcFileDelete.d.ts +7 -0
  70. package/dist/api/emmc/EmmcFileDelete.d.ts.map +1 -0
  71. package/dist/api/emmc/EmmcFileRead.d.ts +7 -0
  72. package/dist/api/emmc/EmmcFileRead.d.ts.map +1 -0
  73. package/dist/api/emmc/EmmcFileWrite.d.ts +7 -0
  74. package/dist/api/emmc/EmmcFileWrite.d.ts.map +1 -0
  75. package/dist/api/emmc/EmmcFixPermission.d.ts +7 -0
  76. package/dist/api/emmc/EmmcFixPermission.d.ts.map +1 -0
  77. package/dist/api/emmc/EmmcPathInfo.d.ts +7 -0
  78. package/dist/api/emmc/EmmcPathInfo.d.ts.map +1 -0
  79. package/dist/api/eos/EosGetPublicKey.d.ts +8 -0
  80. package/dist/api/eos/EosGetPublicKey.d.ts.map +1 -0
  81. package/dist/api/eos/EosSignTx.d.ts +12 -0
  82. package/dist/api/eos/EosSignTx.d.ts.map +1 -0
  83. package/dist/api/evmTrezor/EVMGetAddress.d.ts +10 -0
  84. package/dist/api/evmTrezor/EVMGetAddress.d.ts.map +1 -0
  85. package/dist/api/evmTrezor/EVMGetPublicKey.d.ts +16 -0
  86. package/dist/api/evmTrezor/EVMGetPublicKey.d.ts.map +1 -0
  87. package/dist/api/evmTrezor/EVMSignMessage.d.ts +7 -0
  88. package/dist/api/evmTrezor/EVMSignMessage.d.ts.map +1 -0
  89. package/dist/api/evmTrezor/EVMSignTransaction.d.ts +15 -0
  90. package/dist/api/evmTrezor/EVMSignTransaction.d.ts.map +1 -0
  91. package/dist/api/evmTrezor/EVMSignTypedData.d.ts +43 -0
  92. package/dist/api/evmTrezor/EVMSignTypedData.d.ts.map +1 -0
  93. package/dist/api/evmTrezor/EVMVerifyMessage.d.ts +7 -0
  94. package/dist/api/evmTrezor/EVMVerifyMessage.d.ts.map +1 -0
  95. package/dist/api/evmTrezor/legacyV1/getAddress.d.ts +6 -0
  96. package/dist/api/evmTrezor/legacyV1/getAddress.d.ts.map +1 -0
  97. package/dist/api/evmTrezor/legacyV1/getPublicKey.d.ts +6 -0
  98. package/dist/api/evmTrezor/legacyV1/getPublicKey.d.ts.map +1 -0
  99. package/dist/api/evmTrezor/legacyV1/signMessage.d.ts +6 -0
  100. package/dist/api/evmTrezor/legacyV1/signMessage.d.ts.map +1 -0
  101. package/dist/api/evmTrezor/legacyV1/signTransaction.d.ts +9 -0
  102. package/dist/api/evmTrezor/legacyV1/signTransaction.d.ts.map +1 -0
  103. package/dist/api/evmTrezor/legacyV1/signTypedData.d.ts +10 -0
  104. package/dist/api/evmTrezor/legacyV1/signTypedData.d.ts.map +1 -0
  105. package/dist/api/evmTrezor/legacyV1/signTypedHash.d.ts +11 -0
  106. package/dist/api/evmTrezor/legacyV1/signTypedHash.d.ts.map +1 -0
  107. package/dist/api/evmTrezor/legacyV1/verifyMessage.d.ts +6 -0
  108. package/dist/api/evmTrezor/legacyV1/verifyMessage.d.ts.map +1 -0
  109. package/dist/api/extensionMethodNames.d.ts +3 -0
  110. package/dist/api/extensionMethodNames.d.ts.map +1 -0
  111. package/dist/api/factoryMethods.d.ts +3 -0
  112. package/dist/api/factoryMethods.d.ts.map +1 -0
  113. package/dist/api/firmware/FirmwareErase.d.ts +12 -0
  114. package/dist/api/firmware/FirmwareErase.d.ts.map +1 -0
  115. package/dist/api/firmware/FirmwareEraseEx.d.ts +12 -0
  116. package/dist/api/firmware/FirmwareEraseEx.d.ts.map +1 -0
  117. package/dist/api/firmware/FirmwareUpdateEmmcTest.d.ts +7 -0
  118. package/dist/api/firmware/FirmwareUpdateEmmcTest.d.ts.map +1 -0
  119. package/dist/api/firmware/FirmwareUploadTest.d.ts +7 -0
  120. package/dist/api/firmware/FirmwareUploadTest.d.ts.map +1 -0
  121. package/dist/api/firmware/Reboot.d.ts +7 -0
  122. package/dist/api/firmware/Reboot.d.ts.map +1 -0
  123. package/dist/api/firmware/SelfTest.d.ts +7 -0
  124. package/dist/api/firmware/SelfTest.d.ts.map +1 -0
  125. package/dist/api/index.d.ts +3 -0
  126. package/dist/api/index.d.ts.map +1 -1
  127. package/dist/api/manager/DeviceCancelAuthorization.d.ts +7 -0
  128. package/dist/api/manager/DeviceCancelAuthorization.d.ts.map +1 -0
  129. package/dist/api/manager/DeviceChangeWipeCode.d.ts +7 -0
  130. package/dist/api/manager/DeviceChangeWipeCode.d.ts.map +1 -0
  131. package/dist/api/manager/DeviceDoPreauthorized.d.ts +7 -0
  132. package/dist/api/manager/DeviceDoPreauthorized.d.ts.map +1 -0
  133. package/dist/api/manager/DeviceEndSession.d.ts +7 -0
  134. package/dist/api/manager/DeviceEndSession.d.ts.map +1 -0
  135. package/dist/api/manager/DeviceGetEntropy.d.ts +7 -0
  136. package/dist/api/manager/DeviceGetEntropy.d.ts.map +1 -0
  137. package/dist/api/manager/DeviceGetFirmwareHash.d.ts +7 -0
  138. package/dist/api/manager/DeviceGetFirmwareHash.d.ts.map +1 -0
  139. package/dist/api/manager/DeviceInfoSettings.d.ts +7 -0
  140. package/dist/api/manager/DeviceInfoSettings.d.ts.map +1 -0
  141. package/dist/api/manager/DeviceLoad.d.ts +7 -0
  142. package/dist/api/manager/DeviceLoad.d.ts.map +1 -0
  143. package/dist/api/manager/DevicePing.d.ts +7 -0
  144. package/dist/api/manager/DevicePing.d.ts.map +1 -0
  145. package/dist/api/manager/DeviceReadSEPublicCert.d.ts +7 -0
  146. package/dist/api/manager/DeviceReadSEPublicCert.d.ts.map +1 -0
  147. package/dist/api/manager/DeviceSESignMessage.d.ts +7 -0
  148. package/dist/api/manager/DeviceSESignMessage.d.ts.map +1 -0
  149. package/dist/api/manager/DeviceSdProtect.d.ts +7 -0
  150. package/dist/api/manager/DeviceSdProtect.d.ts.map +1 -0
  151. package/dist/api/manager/DeviceSpiFlashRead.d.ts +7 -0
  152. package/dist/api/manager/DeviceSpiFlashRead.d.ts.map +1 -0
  153. package/dist/api/manager/DeviceSpiFlashWrite.d.ts +7 -0
  154. package/dist/api/manager/DeviceSpiFlashWrite.d.ts.map +1 -0
  155. package/dist/api/manager/DeviceUnlockPath.d.ts +7 -0
  156. package/dist/api/manager/DeviceUnlockPath.d.ts.map +1 -0
  157. package/dist/api/manager/DeviceWriteSEPrivateKey.d.ts +7 -0
  158. package/dist/api/manager/DeviceWriteSEPrivateKey.d.ts.map +1 -0
  159. package/dist/api/manager/DeviceWriteSEPublicCert.d.ts +7 -0
  160. package/dist/api/manager/DeviceWriteSEPublicCert.d.ts.map +1 -0
  161. package/dist/api/manager/GetDeviceInfoSettings.d.ts +7 -0
  162. package/dist/api/manager/GetDeviceInfoSettings.d.ts.map +1 -0
  163. package/dist/api/manager/GetPublicKeyMultiple.d.ts +7 -0
  164. package/dist/api/manager/GetPublicKeyMultiple.d.ts.map +1 -0
  165. package/dist/api/manager/ListResDir.d.ts +7 -0
  166. package/dist/api/manager/ListResDir.d.ts.map +1 -0
  167. package/dist/api/manager/NFTWriteData.d.ts +7 -0
  168. package/dist/api/manager/NFTWriteData.d.ts.map +1 -0
  169. package/dist/api/manager/NFTWriteInfo.d.ts +7 -0
  170. package/dist/api/manager/NFTWriteInfo.d.ts.map +1 -0
  171. package/dist/api/manager/ReadSEPublicKey.d.ts +7 -0
  172. package/dist/api/manager/ReadSEPublicKey.d.ts.map +1 -0
  173. package/dist/api/manager/ResourceUpdate.d.ts +6 -0
  174. package/dist/api/manager/ResourceUpdate.d.ts.map +1 -0
  175. package/dist/api/methodExtension.d.ts +13 -0
  176. package/dist/api/methodExtension.d.ts.map +1 -0
  177. package/dist/api/monero/MoneroGetAddress.d.ts +9 -0
  178. package/dist/api/monero/MoneroGetAddress.d.ts.map +1 -0
  179. package/dist/api/monero/MoneroGetWatchKey.d.ts +8 -0
  180. package/dist/api/monero/MoneroGetWatchKey.d.ts.map +1 -0
  181. package/dist/api/nem/NEMDecryptMessage.d.ts +8 -0
  182. package/dist/api/nem/NEMDecryptMessage.d.ts.map +1 -0
  183. package/dist/api/protocol-v2/DeviceFactoryCertificateRead.d.ts +7 -0
  184. package/dist/api/protocol-v2/DeviceFactoryCertificateRead.d.ts.map +1 -0
  185. package/dist/api/protocol-v2/DeviceFactoryCertificateWrite.d.ts +8 -0
  186. package/dist/api/protocol-v2/DeviceFactoryCertificateWrite.d.ts.map +1 -0
  187. package/dist/api/protocol-v2/DeviceFactoryChallengeSign.d.ts +8 -0
  188. package/dist/api/protocol-v2/DeviceFactoryChallengeSign.d.ts.map +1 -0
  189. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
  190. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
  191. package/dist/api/protocol-v2/helpers.d.ts +15 -5
  192. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  193. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  194. package/dist/api/testMethods.d.ts +82 -0
  195. package/dist/api/testMethods.d.ts.map +1 -0
  196. package/dist/api/tezos/TezosGetAddress.d.ts +9 -0
  197. package/dist/api/tezos/TezosGetAddress.d.ts.map +1 -0
  198. package/dist/api/tezos/TezosGetPublicKey.d.ts +8 -0
  199. package/dist/api/tezos/TezosGetPublicKey.d.ts.map +1 -0
  200. package/dist/api/tezos/TezosSignTx.d.ts +12 -0
  201. package/dist/api/tezos/TezosSignTx.d.ts.map +1 -0
  202. package/dist/api/utils.d.ts +6 -1
  203. package/dist/api/utils.d.ts.map +1 -1
  204. package/dist/core/index.d.ts +10 -4
  205. package/dist/core/index.d.ts.map +1 -1
  206. package/dist/index.d.ts +722 -41
  207. package/dist/index.d.ts.map +1 -1
  208. package/dist/index.js +2617 -51
  209. package/dist/inject.d.ts +6 -2
  210. package/dist/inject.d.ts.map +1 -1
  211. package/dist/types/api/binanceGetAddress.d.ts +11 -0
  212. package/dist/types/api/binanceGetAddress.d.ts.map +1 -0
  213. package/dist/types/api/binanceGetPublicKey.d.ts +11 -0
  214. package/dist/types/api/binanceGetPublicKey.d.ts.map +1 -0
  215. package/dist/types/api/binanceSignTx.d.ts +7 -0
  216. package/dist/types/api/binanceSignTx.d.ts.map +1 -0
  217. package/dist/types/api/bixinBackupDevice.d.ts +4 -0
  218. package/dist/types/api/bixinBackupDevice.d.ts.map +1 -0
  219. package/dist/types/api/bixinLoadDevice.d.ts +4 -0
  220. package/dist/types/api/bixinLoadDevice.d.ts.map +1 -0
  221. package/dist/types/api/bixinMessageSE.d.ts +4 -0
  222. package/dist/types/api/bixinMessageSE.d.ts.map +1 -0
  223. package/dist/types/api/bixinVerifyDeviceRequest.d.ts +4 -0
  224. package/dist/types/api/bixinVerifyDeviceRequest.d.ts.map +1 -0
  225. package/dist/types/api/btcAuthorizeCoinJoin.d.ts +13 -0
  226. package/dist/types/api/btcAuthorizeCoinJoin.d.ts.map +1 -0
  227. package/dist/types/api/btcGetOwnershipId.d.ts +10 -0
  228. package/dist/types/api/btcGetOwnershipId.d.ts.map +1 -0
  229. package/dist/types/api/btcGetOwnershipProof.d.ts +13 -0
  230. package/dist/types/api/btcGetOwnershipProof.d.ts.map +1 -0
  231. package/dist/types/api/cryptoBatchGetPublickeys.d.ts +12 -0
  232. package/dist/types/api/cryptoBatchGetPublickeys.d.ts.map +1 -0
  233. package/dist/types/api/cryptoCipherKeyValue.d.ts +13 -0
  234. package/dist/types/api/cryptoCipherKeyValue.d.ts.map +1 -0
  235. package/dist/types/api/cryptoCosiCommit.d.ts +8 -0
  236. package/dist/types/api/cryptoCosiCommit.d.ts.map +1 -0
  237. package/dist/types/api/cryptoCosiSign.d.ts +10 -0
  238. package/dist/types/api/cryptoCosiSign.d.ts.map +1 -0
  239. package/dist/types/api/cryptoGetECDHSessionKey.d.ts +4 -0
  240. package/dist/types/api/cryptoGetECDHSessionKey.d.ts.map +1 -0
  241. package/dist/types/api/cryptoSignIdentity.d.ts +4 -0
  242. package/dist/types/api/cryptoSignIdentity.d.ts.map +1 -0
  243. package/dist/types/api/debugLinkDecision.d.ts +4 -0
  244. package/dist/types/api/debugLinkDecision.d.ts.map +1 -0
  245. package/dist/types/api/debugLinkEraseSdCard.d.ts +4 -0
  246. package/dist/types/api/debugLinkEraseSdCard.d.ts.map +1 -0
  247. package/dist/types/api/debugLinkFlashErase.d.ts +4 -0
  248. package/dist/types/api/debugLinkFlashErase.d.ts.map +1 -0
  249. package/dist/types/api/debugLinkGetState.d.ts +4 -0
  250. package/dist/types/api/debugLinkGetState.d.ts.map +1 -0
  251. package/dist/types/api/debugLinkMemoryRead.d.ts +4 -0
  252. package/dist/types/api/debugLinkMemoryRead.d.ts.map +1 -0
  253. package/dist/types/api/debugLinkMemoryWrite.d.ts +4 -0
  254. package/dist/types/api/debugLinkMemoryWrite.d.ts.map +1 -0
  255. package/dist/types/api/debugLinkRecordScreen.d.ts +4 -0
  256. package/dist/types/api/debugLinkRecordScreen.d.ts.map +1 -0
  257. package/dist/types/api/debugLinkReseedRandom.d.ts +4 -0
  258. package/dist/types/api/debugLinkReseedRandom.d.ts.map +1 -0
  259. package/dist/types/api/debugLinkStop.d.ts +4 -0
  260. package/dist/types/api/debugLinkStop.d.ts.map +1 -0
  261. package/dist/types/api/debugLinkWatchLayout.d.ts +4 -0
  262. package/dist/types/api/debugLinkWatchLayout.d.ts.map +1 -0
  263. package/dist/types/api/deviceCancelAuthorization.d.ts +4 -0
  264. package/dist/types/api/deviceCancelAuthorization.d.ts.map +1 -0
  265. package/dist/types/api/deviceChangeWipeCode.d.ts +4 -0
  266. package/dist/types/api/deviceChangeWipeCode.d.ts.map +1 -0
  267. package/dist/types/api/deviceDoPreauthorized.d.ts +4 -0
  268. package/dist/types/api/deviceDoPreauthorized.d.ts.map +1 -0
  269. package/dist/types/api/deviceEndSession.d.ts +4 -0
  270. package/dist/types/api/deviceEndSession.d.ts.map +1 -0
  271. package/dist/types/api/deviceGetEntropy.d.ts +4 -0
  272. package/dist/types/api/deviceGetEntropy.d.ts.map +1 -0
  273. package/dist/types/api/deviceGetFirmwareHash.d.ts +4 -0
  274. package/dist/types/api/deviceGetFirmwareHash.d.ts.map +1 -0
  275. package/dist/types/api/deviceGetInfo.d.ts +4 -0
  276. package/dist/types/api/deviceGetInfo.d.ts.map +1 -0
  277. package/dist/types/api/deviceInfoSettings.d.ts +4 -0
  278. package/dist/types/api/deviceInfoSettings.d.ts.map +1 -0
  279. package/dist/types/api/deviceLoad.d.ts +16 -0
  280. package/dist/types/api/deviceLoad.d.ts.map +1 -0
  281. package/dist/types/api/devicePing.d.ts +4 -0
  282. package/dist/types/api/devicePing.d.ts.map +1 -0
  283. package/dist/types/api/deviceReadSEPublicCert.d.ts +4 -0
  284. package/dist/types/api/deviceReadSEPublicCert.d.ts.map +1 -0
  285. package/dist/types/api/deviceSESignMessage.d.ts +4 -0
  286. package/dist/types/api/deviceSESignMessage.d.ts.map +1 -0
  287. package/dist/types/api/deviceSdProtect.d.ts +4 -0
  288. package/dist/types/api/deviceSdProtect.d.ts.map +1 -0
  289. package/dist/types/api/deviceSpiFlashRead.d.ts +4 -0
  290. package/dist/types/api/deviceSpiFlashRead.d.ts.map +1 -0
  291. package/dist/types/api/deviceSpiFlashWrite.d.ts +4 -0
  292. package/dist/types/api/deviceSpiFlashWrite.d.ts.map +1 -0
  293. package/dist/types/api/deviceUnlockPath.d.ts +11 -0
  294. package/dist/types/api/deviceUnlockPath.d.ts.map +1 -0
  295. package/dist/types/api/deviceWriteSEPrivateKey.d.ts +4 -0
  296. package/dist/types/api/deviceWriteSEPrivateKey.d.ts.map +1 -0
  297. package/dist/types/api/deviceWriteSEPublicCert.d.ts +4 -0
  298. package/dist/types/api/deviceWriteSEPublicCert.d.ts.map +1 -0
  299. package/dist/types/api/emmcDirList.d.ts +4 -0
  300. package/dist/types/api/emmcDirList.d.ts.map +1 -0
  301. package/dist/types/api/emmcDirMake.d.ts +4 -0
  302. package/dist/types/api/emmcDirMake.d.ts.map +1 -0
  303. package/dist/types/api/emmcDirRemove.d.ts +4 -0
  304. package/dist/types/api/emmcDirRemove.d.ts.map +1 -0
  305. package/dist/types/api/emmcFileDelete.d.ts +4 -0
  306. package/dist/types/api/emmcFileDelete.d.ts.map +1 -0
  307. package/dist/types/api/emmcFileRead.d.ts +4 -0
  308. package/dist/types/api/emmcFileRead.d.ts.map +1 -0
  309. package/dist/types/api/emmcFileWrite.d.ts +4 -0
  310. package/dist/types/api/emmcFileWrite.d.ts.map +1 -0
  311. package/dist/types/api/emmcFixPermission.d.ts +4 -0
  312. package/dist/types/api/emmcFixPermission.d.ts.map +1 -0
  313. package/dist/types/api/emmcPathInfo.d.ts +4 -0
  314. package/dist/types/api/emmcPathInfo.d.ts.map +1 -0
  315. package/dist/types/api/eosGetPublicKey.d.ts +8 -0
  316. package/dist/types/api/eosGetPublicKey.d.ts.map +1 -0
  317. package/dist/types/api/eosSignTx.d.ts +7 -0
  318. package/dist/types/api/eosSignTx.d.ts.map +1 -0
  319. package/dist/types/api/evmGetAddressTrezor.d.ts +15 -0
  320. package/dist/types/api/evmGetAddressTrezor.d.ts.map +1 -0
  321. package/dist/types/api/evmGetPublicKeyTrezor.d.ts +20 -0
  322. package/dist/types/api/evmGetPublicKeyTrezor.d.ts.map +1 -0
  323. package/dist/types/api/evmSignMessageTrezor.d.ts +9 -0
  324. package/dist/types/api/evmSignMessageTrezor.d.ts.map +1 -0
  325. package/dist/types/api/evmSignTransactionTrezor.d.ts +40 -0
  326. package/dist/types/api/evmSignTransactionTrezor.d.ts.map +1 -0
  327. package/dist/types/api/evmSignTypedDataTrezor.d.ts +34 -0
  328. package/dist/types/api/evmSignTypedDataTrezor.d.ts.map +1 -0
  329. package/dist/types/api/evmVerifyMessageTrezor.d.ts +10 -0
  330. package/dist/types/api/evmVerifyMessageTrezor.d.ts.map +1 -0
  331. package/dist/types/api/firmwareErase.d.ts +4 -0
  332. package/dist/types/api/firmwareErase.d.ts.map +1 -0
  333. package/dist/types/api/firmwareEraseEx.d.ts +4 -0
  334. package/dist/types/api/firmwareEraseEx.d.ts.map +1 -0
  335. package/dist/types/api/firmwareUpdateEmmcTest.d.ts +4 -0
  336. package/dist/types/api/firmwareUpdateEmmcTest.d.ts.map +1 -0
  337. package/dist/types/api/firmwareUploadTest.d.ts +4 -0
  338. package/dist/types/api/firmwareUploadTest.d.ts.map +1 -0
  339. package/dist/types/api/getPublicKeyMultiple.d.ts +4 -0
  340. package/dist/types/api/getPublicKeyMultiple.d.ts.map +1 -0
  341. package/dist/types/api/index.d.ts +176 -3
  342. package/dist/types/api/index.d.ts.map +1 -1
  343. package/dist/types/api/listResDir.d.ts +4 -0
  344. package/dist/types/api/listResDir.d.ts.map +1 -0
  345. package/dist/types/api/moneroGetAddress.d.ts +14 -0
  346. package/dist/types/api/moneroGetAddress.d.ts.map +1 -0
  347. package/dist/types/api/moneroGetWatchKey.d.ts +14 -0
  348. package/dist/types/api/moneroGetWatchKey.d.ts.map +1 -0
  349. package/dist/types/api/nemDecryptMessage.d.ts +10 -0
  350. package/dist/types/api/nemDecryptMessage.d.ts.map +1 -0
  351. package/dist/types/api/nftWriteData.d.ts +4 -0
  352. package/dist/types/api/nftWriteData.d.ts.map +1 -0
  353. package/dist/types/api/nftWriteInfo.d.ts +4 -0
  354. package/dist/types/api/nftWriteInfo.d.ts.map +1 -0
  355. package/dist/types/api/protocolV2.d.ts +8 -2
  356. package/dist/types/api/protocolV2.d.ts.map +1 -1
  357. package/dist/types/api/readSEPublicKey.d.ts +4 -0
  358. package/dist/types/api/readSEPublicKey.d.ts.map +1 -0
  359. package/dist/types/api/reboot.d.ts +4 -0
  360. package/dist/types/api/reboot.d.ts.map +1 -0
  361. package/dist/types/api/resourceUpdate.d.ts +7 -0
  362. package/dist/types/api/resourceUpdate.d.ts.map +1 -0
  363. package/dist/types/api/selfTest.d.ts +4 -0
  364. package/dist/types/api/selfTest.d.ts.map +1 -0
  365. package/dist/types/api/tezosGetAddress.d.ts +14 -0
  366. package/dist/types/api/tezosGetAddress.d.ts.map +1 -0
  367. package/dist/types/api/tezosGetPublicKey.d.ts +14 -0
  368. package/dist/types/api/tezosGetPublicKey.d.ts.map +1 -0
  369. package/dist/types/api/tezosSignTx.d.ts +7 -0
  370. package/dist/types/api/tezosSignTx.d.ts.map +1 -0
  371. package/dist/types/api/webAuthnAddResidentCredential.d.ts +4 -0
  372. package/dist/types/api/webAuthnAddResidentCredential.d.ts.map +1 -0
  373. package/dist/types/api/webAuthnListResidentCredentials.d.ts +4 -0
  374. package/dist/types/api/webAuthnListResidentCredentials.d.ts.map +1 -0
  375. package/dist/types/api/webAuthnRemoveResidentCredential.d.ts +4 -0
  376. package/dist/types/api/webAuthnRemoveResidentCredential.d.ts.map +1 -0
  377. package/dist/utils/patch.d.ts +1 -1
  378. package/dist/utils/patch.d.ts.map +1 -1
  379. package/package.json +4 -4
  380. package/src/api/BixinBackupDevice.ts +15 -0
  381. package/src/api/BixinLoadDevice.ts +22 -0
  382. package/src/api/BixinMessageSE.ts +22 -0
  383. package/src/api/BixinVerifyDeviceRequest.ts +22 -0
  384. package/src/api/WebAuthnAddResidentCredential.ts +22 -0
  385. package/src/api/WebAuthnListResidentCredentials.ts +24 -0
  386. package/src/api/WebAuthnRemoveResidentCredential.ts +22 -0
  387. package/src/api/binance/BinanceGetAddress.ts +26 -0
  388. package/src/api/binance/BinanceGetPublicKey.ts +26 -0
  389. package/src/api/binance/BinanceSignTx.ts +35 -0
  390. package/src/api/btc/BTCAuthorizeCoinJoin.ts +37 -0
  391. package/src/api/btc/BTCGetOwnershipId.ts +34 -0
  392. package/src/api/btc/BTCGetOwnershipProof.ts +37 -0
  393. package/src/api/crypto/CryptoBatchGetPublickeys.ts +30 -0
  394. package/src/api/crypto/CryptoCipherKeyValue.ts +29 -0
  395. package/src/api/crypto/CryptoCosiCommit.ts +24 -0
  396. package/src/api/crypto/CryptoCosiSign.ts +26 -0
  397. package/src/api/crypto/CryptoGetECDHSessionKey.ts +24 -0
  398. package/src/api/crypto/CryptoSignIdentity.ts +25 -0
  399. package/src/api/debug/DebugLinkDecision.ts +25 -0
  400. package/src/api/debug/DebugLinkEraseSdCard.ts +23 -0
  401. package/src/api/debug/DebugLinkFlashErase.ts +23 -0
  402. package/src/api/debug/DebugLinkGetState.ts +21 -0
  403. package/src/api/debug/DebugLinkMemoryRead.ts +24 -0
  404. package/src/api/debug/DebugLinkMemoryWrite.ts +25 -0
  405. package/src/api/debug/DebugLinkRecordScreen.ts +23 -0
  406. package/src/api/debug/DebugLinkReseedRandom.ts +23 -0
  407. package/src/api/debug/DebugLinkStop.ts +25 -0
  408. package/src/api/debug/DebugLinkWatchLayout.ts +23 -0
  409. package/src/api/device/DeviceVerify.ts +2 -0
  410. package/src/api/emmc/EmmcDirList.ts +20 -0
  411. package/src/api/emmc/EmmcDirMake.ts +20 -0
  412. package/src/api/emmc/EmmcDirRemove.ts +20 -0
  413. package/src/api/emmc/EmmcFileDelete.ts +20 -0
  414. package/src/api/emmc/EmmcFileRead.ts +21 -0
  415. package/src/api/emmc/EmmcFileWrite.ts +23 -0
  416. package/src/api/emmc/EmmcFixPermission.ts +17 -0
  417. package/src/api/emmc/EmmcPathInfo.ts +20 -0
  418. package/src/api/eos/EosGetPublicKey.ts +26 -0
  419. package/src/api/eos/EosSignTx.ts +40 -0
  420. package/src/api/evmTrezor/EVMGetAddress.ts +75 -0
  421. package/src/api/evmTrezor/EVMGetPublicKey.ts +106 -0
  422. package/src/api/evmTrezor/EVMSignMessage.ts +40 -0
  423. package/src/api/evmTrezor/EVMSignTransaction.ts +83 -0
  424. package/src/api/evmTrezor/EVMSignTypedData.ts +366 -0
  425. package/src/api/evmTrezor/EVMVerifyMessage.ts +37 -0
  426. package/src/api/evmTrezor/legacyV1/getAddress.ts +16 -0
  427. package/src/api/evmTrezor/legacyV1/getPublicKey.ts +20 -0
  428. package/src/api/evmTrezor/legacyV1/signMessage.ts +22 -0
  429. package/src/api/evmTrezor/legacyV1/signTransaction.ts +24 -0
  430. package/src/api/evmTrezor/legacyV1/signTypedData.ts +36 -0
  431. package/src/api/evmTrezor/legacyV1/signTypedHash.ts +48 -0
  432. package/src/api/evmTrezor/legacyV1/verifyMessage.ts +19 -0
  433. package/src/api/extensionMethodNames.ts +88 -0
  434. package/src/api/factoryMethods.ts +2 -0
  435. package/src/api/firmware/FirmwareErase.ts +18 -0
  436. package/src/api/firmware/FirmwareEraseEx.ts +18 -0
  437. package/src/api/firmware/FirmwareUpdateEmmcTest.ts +18 -0
  438. package/src/api/firmware/FirmwareUploadTest.ts +17 -0
  439. package/src/api/firmware/Reboot.ts +17 -0
  440. package/src/api/firmware/SelfTest.ts +17 -0
  441. package/src/api/index.ts +3 -0
  442. package/src/api/manager/DeviceCancelAuthorization.ts +15 -0
  443. package/src/api/manager/DeviceChangeWipeCode.ts +19 -0
  444. package/src/api/manager/DeviceDoPreauthorized.ts +15 -0
  445. package/src/api/manager/DeviceEndSession.ts +19 -0
  446. package/src/api/manager/DeviceGetEntropy.ts +19 -0
  447. package/src/api/manager/DeviceGetFirmwareHash.ts +23 -0
  448. package/src/api/manager/DeviceInfoSettings.ts +23 -0
  449. package/src/api/manager/DeviceLoad.ts +27 -0
  450. package/src/api/manager/DevicePing.ts +19 -0
  451. package/src/api/manager/DeviceReadSEPublicCert.ts +18 -0
  452. package/src/api/manager/DeviceSESignMessage.ts +23 -0
  453. package/src/api/manager/DeviceSdProtect.ts +18 -0
  454. package/src/api/manager/DeviceSpiFlashRead.ts +22 -0
  455. package/src/api/manager/DeviceSpiFlashWrite.ts +22 -0
  456. package/src/api/manager/DeviceUnlockPath.ts +26 -0
  457. package/src/api/manager/DeviceWriteSEPrivateKey.ts +23 -0
  458. package/src/api/manager/DeviceWriteSEPublicCert.ts +23 -0
  459. package/src/api/manager/GetDeviceInfoSettings.ts +20 -0
  460. package/src/api/manager/GetPublicKeyMultiple.ts +24 -0
  461. package/src/api/manager/ListResDir.ts +19 -0
  462. package/src/api/manager/NFTWriteData.ts +21 -0
  463. package/src/api/manager/NFTWriteInfo.ts +23 -0
  464. package/src/api/manager/ReadSEPublicKey.ts +20 -0
  465. package/src/api/manager/ResourceUpdate.ts +22 -0
  466. package/src/api/methodExtension.ts +27 -0
  467. package/src/api/monero/MoneroGetAddress.ts +64 -0
  468. package/src/api/monero/MoneroGetWatchKey.ts +59 -0
  469. package/src/api/nem/NEMDecryptMessage.ts +29 -0
  470. package/src/api/protocol-v2/DeviceFactoryCertificateRead.ts +25 -0
  471. package/src/api/protocol-v2/DeviceFactoryCertificateWrite.ts +30 -0
  472. package/src/api/protocol-v2/DeviceFactoryChallengeSign.ts +28 -0
  473. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +3 -0
  474. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +6 -7
  475. package/src/api/protocol-v2/helpers.ts +152 -5
  476. package/src/api/testMethods.ts +95 -0
  477. package/src/api/tezos/TezosGetAddress.ts +64 -0
  478. package/src/api/tezos/TezosGetPublicKey.ts +63 -0
  479. package/src/api/tezos/TezosSignTx.ts +44 -0
  480. package/src/api/utils.ts +46 -1
  481. package/src/core/index.ts +22 -7
  482. package/src/index.ts +5 -0
  483. package/src/inject.ts +209 -7
  484. package/src/types/api/binanceGetAddress.ts +17 -0
  485. package/src/types/api/binanceGetPublicKey.ts +17 -0
  486. package/src/types/api/binanceSignTx.ts +15 -0
  487. package/src/types/api/bixinBackupDevice.ts +8 -0
  488. package/src/types/api/bixinLoadDevice.ts +8 -0
  489. package/src/types/api/bixinMessageSE.ts +8 -0
  490. package/src/types/api/bixinVerifyDeviceRequest.ts +8 -0
  491. package/src/types/api/btcAuthorizeCoinJoin.ts +18 -0
  492. package/src/types/api/btcGetOwnershipId.ts +19 -0
  493. package/src/types/api/btcGetOwnershipProof.ts +22 -0
  494. package/src/types/api/cryptoBatchGetPublickeys.ts +18 -0
  495. package/src/types/api/cryptoCipherKeyValue.ts +18 -0
  496. package/src/types/api/cryptoCosiCommit.ts +13 -0
  497. package/src/types/api/cryptoCosiSign.ts +15 -0
  498. package/src/types/api/cryptoGetECDHSessionKey.ts +8 -0
  499. package/src/types/api/cryptoSignIdentity.ts +8 -0
  500. package/src/types/api/debugLinkDecision.ts +7 -0
  501. package/src/types/api/debugLinkEraseSdCard.ts +7 -0
  502. package/src/types/api/debugLinkFlashErase.ts +7 -0
  503. package/src/types/api/debugLinkGetState.ts +7 -0
  504. package/src/types/api/debugLinkMemoryRead.ts +7 -0
  505. package/src/types/api/debugLinkMemoryWrite.ts +7 -0
  506. package/src/types/api/debugLinkRecordScreen.ts +7 -0
  507. package/src/types/api/debugLinkReseedRandom.ts +7 -0
  508. package/src/types/api/debugLinkStop.ts +7 -0
  509. package/src/types/api/debugLinkWatchLayout.ts +7 -0
  510. package/src/types/api/deviceCancelAuthorization.ts +7 -0
  511. package/src/types/api/deviceChangeWipeCode.ts +7 -0
  512. package/src/types/api/deviceDoPreauthorized.ts +7 -0
  513. package/src/types/api/deviceEndSession.ts +7 -0
  514. package/src/types/api/deviceGetEntropy.ts +7 -0
  515. package/src/types/api/deviceGetFirmwareHash.ts +7 -0
  516. package/src/types/api/deviceGetInfo.ts +7 -0
  517. package/src/types/api/deviceInfoSettings.ts +7 -0
  518. package/src/types/api/deviceLoad.ts +19 -0
  519. package/src/types/api/devicePing.ts +7 -0
  520. package/src/types/api/deviceReadSEPublicCert.ts +7 -0
  521. package/src/types/api/deviceSESignMessage.ts +7 -0
  522. package/src/types/api/deviceSdProtect.ts +7 -0
  523. package/src/types/api/deviceSpiFlashRead.ts +7 -0
  524. package/src/types/api/deviceSpiFlashWrite.ts +7 -0
  525. package/src/types/api/deviceUnlockPath.ts +16 -0
  526. package/src/types/api/deviceWriteSEPrivateKey.ts +7 -0
  527. package/src/types/api/deviceWriteSEPublicCert.ts +7 -0
  528. package/src/types/api/emmcDirList.ts +7 -0
  529. package/src/types/api/emmcDirMake.ts +7 -0
  530. package/src/types/api/emmcDirRemove.ts +7 -0
  531. package/src/types/api/emmcFileDelete.ts +7 -0
  532. package/src/types/api/emmcFileRead.ts +7 -0
  533. package/src/types/api/emmcFileWrite.ts +7 -0
  534. package/src/types/api/emmcFixPermission.ts +7 -0
  535. package/src/types/api/emmcPathInfo.ts +7 -0
  536. package/src/types/api/eosGetPublicKey.ts +13 -0
  537. package/src/types/api/eosSignTx.ts +12 -0
  538. package/src/types/api/evmGetAddressTrezor.ts +24 -0
  539. package/src/types/api/evmGetPublicKeyTrezor.ts +31 -0
  540. package/src/types/api/evmSignMessageTrezor.ts +14 -0
  541. package/src/types/api/evmSignTransactionTrezor.ts +49 -0
  542. package/src/types/api/evmSignTypedDataTrezor.ts +42 -0
  543. package/src/types/api/evmVerifyMessageTrezor.ts +15 -0
  544. package/src/types/api/firmwareErase.ts +4 -0
  545. package/src/types/api/firmwareEraseEx.ts +7 -0
  546. package/src/types/api/firmwareUpdateEmmcTest.ts +7 -0
  547. package/src/types/api/firmwareUploadTest.ts +7 -0
  548. package/src/types/api/getPublicKeyMultiple.ts +11 -0
  549. package/src/types/api/index.ts +288 -2
  550. package/src/types/api/listResDir.ts +8 -0
  551. package/src/types/api/moneroGetAddress.ts +23 -0
  552. package/src/types/api/moneroGetWatchKey.ts +26 -0
  553. package/src/types/api/nemDecryptMessage.ts +15 -0
  554. package/src/types/api/nftWriteData.ts +8 -0
  555. package/src/types/api/nftWriteInfo.ts +8 -0
  556. package/src/types/api/protocolV2.ts +43 -2
  557. package/src/types/api/readSEPublicKey.ts +8 -0
  558. package/src/types/api/reboot.ts +4 -0
  559. package/src/types/api/resourceUpdate.ts +11 -0
  560. package/src/types/api/selfTest.ts +7 -0
  561. package/src/types/api/tezosGetAddress.ts +23 -0
  562. package/src/types/api/tezosGetPublicKey.ts +23 -0
  563. package/src/types/api/tezosSignTx.ts +12 -0
  564. package/src/types/api/webAuthnAddResidentCredential.ts +8 -0
  565. package/src/types/api/webAuthnListResidentCredentials.ts +8 -0
  566. package/src/types/api/webAuthnRemoveResidentCredential.ts +8 -0
@@ -0,0 +1,27 @@
1
+ import * as FactoryMethods from './factoryMethods';
2
+ import * as TestMethods from './testMethods';
3
+ import { FACTORY_API_METHOD_NAMES } from './extensionMethodNames';
4
+
5
+ import type { BaseMethod } from './BaseMethod';
6
+ import type { IFrameCallMessage } from '../events';
7
+
8
+ export type CoreMethodConstructor = new (
9
+ message: IFrameCallMessage & { id?: number }
10
+ ) => BaseMethod<any>;
11
+
12
+ export type CoreMethodExtension = {
13
+ name: string;
14
+ methods: Readonly<Record<string, CoreMethodConstructor>>;
15
+ destructiveMethods?: readonly string[];
16
+ };
17
+
18
+ export const testApiMethodExtension: CoreMethodExtension = {
19
+ name: 'test-api',
20
+ methods: TestMethods as unknown as Record<string, CoreMethodConstructor>,
21
+ };
22
+
23
+ export const factoryApiMethodExtension: CoreMethodExtension = {
24
+ name: 'factory-api',
25
+ methods: FactoryMethods as unknown as Record<string, CoreMethodConstructor>,
26
+ destructiveMethods: FACTORY_API_METHOD_NAMES,
27
+ };
@@ -0,0 +1,64 @@
1
+ import { UI_REQUEST } from '../../constants/ui-request';
2
+ import { serializedPath, validatePath } from '../helpers/pathUtils';
3
+ import { BaseMethod } from '../BaseMethod';
4
+ import { validateParams } from '../helpers/paramsValidator';
5
+
6
+ import type { MoneroGetAddress as HardwareMoneroGetAddress } from '@onekeyfe/hd-transport';
7
+ import type { MoneroAddress } from '../../types/api/moneroGetAddress';
8
+
9
+ export default class MoneroGetAddress extends BaseMethod<HardwareMoneroGetAddress[]> {
10
+ hasBundle = false;
11
+
12
+ init() {
13
+ this.checkDeviceId = true;
14
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
15
+
16
+ this.hasBundle = !!this.payload?.bundle;
17
+ const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
18
+
19
+ // check payload
20
+ validateParams(payload, [{ name: 'bundle', type: 'array' }]);
21
+
22
+ // init params
23
+ this.params = [];
24
+ payload.bundle.forEach((batch: any) => {
25
+ const addressN = validatePath(batch.path, 3);
26
+
27
+ validateParams(batch, [
28
+ { name: 'path', required: true },
29
+ { name: 'showOnOneKey', type: 'boolean' },
30
+ ]);
31
+
32
+ const showOnOneKey = batch.showOnOneKey ?? true;
33
+
34
+ this.params.push({
35
+ address_n: addressN,
36
+ show_display: showOnOneKey,
37
+ });
38
+ });
39
+ }
40
+
41
+ async run() {
42
+ const responses: MoneroAddress[] = [];
43
+
44
+ for (let i = 0; i < this.params.length; i++) {
45
+ const param = this.params[i];
46
+
47
+ const res = await this.device.commands.typedCall('MoneroGetAddress', 'MoneroAddress', {
48
+ ...param,
49
+ });
50
+
51
+ const { address } = res.message;
52
+
53
+ const result = {
54
+ path: serializedPath(param.address_n),
55
+ address,
56
+ };
57
+ responses.push(result);
58
+
59
+ this.postPreviousAddressMessage(result);
60
+ }
61
+
62
+ return Promise.resolve(this.hasBundle ? responses : responses[0]);
63
+ }
64
+ }
@@ -0,0 +1,59 @@
1
+ import { UI_REQUEST } from '../../constants/ui-request';
2
+ import { serializedPath, validatePath } from '../helpers/pathUtils';
3
+ import { BaseMethod } from '../BaseMethod';
4
+ import { validateParams } from '../helpers/paramsValidator';
5
+
6
+ import type { MoneroGetAddress as HardwareMoneroGetAddress } from '@onekeyfe/hd-transport';
7
+
8
+ export default class MoneroGetWatchKey extends BaseMethod<HardwareMoneroGetAddress[]> {
9
+ hasBundle = false;
10
+
11
+ init() {
12
+ this.checkDeviceId = true;
13
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
14
+
15
+ this.hasBundle = !!this.payload?.bundle;
16
+ const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
17
+
18
+ // check payload
19
+ validateParams(payload, [{ name: 'bundle', type: 'array' }]);
20
+
21
+ // init params
22
+ this.params = [];
23
+ payload.bundle.forEach((batch: any) => {
24
+ const addressN = validatePath(batch.path, 3);
25
+
26
+ const { network_type } = batch;
27
+
28
+ this.params.push({
29
+ address_n: addressN,
30
+ network_type,
31
+ });
32
+ });
33
+ }
34
+
35
+ async run() {
36
+ const responses: any[] = [];
37
+
38
+ for (let i = 0; i < this.params.length; i++) {
39
+ const param = this.params[i];
40
+
41
+ const res = await this.device.commands.typedCall('MoneroGetWatchKey', 'MoneroWatchKey', {
42
+ ...param,
43
+ });
44
+
45
+ const { address, watch_key } = res.message;
46
+
47
+ const result = {
48
+ path: serializedPath(param.address_n),
49
+ address,
50
+ watch_key,
51
+ };
52
+ responses.push(result);
53
+
54
+ this.postPreviousAddressMessage(result);
55
+ }
56
+
57
+ return Promise.resolve(this.hasBundle ? responses : responses[0]);
58
+ }
59
+ }
@@ -0,0 +1,29 @@
1
+ import { UI_REQUEST } from '../../constants/ui-request';
2
+ import { validatePath } from '../helpers/pathUtils';
3
+ import { BaseMethod } from '../BaseMethod';
4
+
5
+ import type { NEMDecryptMessage as HardwareNEMDecryptMessage } from '@onekeyfe/hd-transport';
6
+
7
+ const MAINNET = 0x68; // 104
8
+
9
+ export default class NEMDecryptMessage extends BaseMethod<HardwareNEMDecryptMessage> {
10
+ hasBundle = false;
11
+
12
+ init() {
13
+ this.checkDeviceId = true;
14
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
15
+
16
+ this.params = {
17
+ address_n: validatePath(this.payload.path, 3),
18
+ network: this.payload.network ?? MAINNET,
19
+ public_key: this.payload.public_key,
20
+ payload: this.payload.payload,
21
+ };
22
+ }
23
+
24
+ async run() {
25
+ return this.device.commands.typedCall('NEMDecryptMessage', 'NEMDecryptedMessage', {
26
+ ...this.params,
27
+ });
28
+ }
29
+ }
@@ -0,0 +1,25 @@
1
+ import { BaseMethod } from '../BaseMethod';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
3
+
4
+ export default class DeviceFactoryCertificateRead extends BaseMethod {
5
+ getSupportedProtocols() {
6
+ return ['V2'] as const;
7
+ }
8
+
9
+ init() {
10
+ this.skipForceUpdateCheck = true;
11
+ this.useDevicePassphraseState = false;
12
+ this.unlockPolicy = 'none';
13
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
14
+ this.params = undefined;
15
+ }
16
+
17
+ async run() {
18
+ const res = await this.device.commands.typedCall(
19
+ 'DeviceCertificateRead',
20
+ 'DeviceCertificate',
21
+ {}
22
+ );
23
+ return res.message;
24
+ }
25
+ }
@@ -0,0 +1,30 @@
1
+ import { BaseMethod } from '../BaseMethod';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
3
+ import { validateDeviceFactoryCertificateWriteParams } from './helpers';
4
+
5
+ import type { DeviceFactoryCertificateWriteParams } from './helpers';
6
+
7
+ export default class DeviceFactoryCertificateWrite extends BaseMethod<DeviceFactoryCertificateWriteParams> {
8
+ getSupportedProtocols() {
9
+ return ['V2'] as const;
10
+ }
11
+
12
+ init() {
13
+ this.skipForceUpdateCheck = true;
14
+ this.useDevicePassphraseState = false;
15
+ this.unlockPolicy = 'none';
16
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
17
+ this.requireDeviceMode = [UI_REQUEST.BOOTLOADER];
18
+ this.params = validateDeviceFactoryCertificateWriteParams(this.payload);
19
+ }
20
+
21
+ async run() {
22
+ const res = await this.device.commands.typedCall('DeviceCertificateWrite', 'Success', {
23
+ cert: {
24
+ cert_and_pubkey: this.params.certificate,
25
+ private_key: this.params.privateKey,
26
+ },
27
+ });
28
+ return res.message;
29
+ }
30
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseMethod } from '../BaseMethod';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
3
+ import { validateDeviceFactoryChallengeSignParams } from './helpers';
4
+
5
+ import type { DeviceFactoryChallengeSignParams } from './helpers';
6
+
7
+ export default class DeviceFactoryChallengeSign extends BaseMethod<DeviceFactoryChallengeSignParams> {
8
+ getSupportedProtocols() {
9
+ return ['V2'] as const;
10
+ }
11
+
12
+ init() {
13
+ this.skipForceUpdateCheck = true;
14
+ this.useDevicePassphraseState = false;
15
+ this.unlockPolicy = 'none';
16
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
17
+ this.params = validateDeviceFactoryChallengeSignParams(this.payload);
18
+ }
19
+
20
+ async run() {
21
+ const res = await this.device.commands.typedCall(
22
+ 'DeviceCertificateSign',
23
+ 'DeviceCertificateSignature',
24
+ { data: this.params.digest }
25
+ );
26
+ return res.message;
27
+ }
28
+ }
@@ -1,4 +1,5 @@
1
1
  import { BaseMethod } from '../BaseMethod';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
2
3
 
3
4
  export default class DeviceFactoryInfoGet extends BaseMethod {
4
5
  getSupportedProtocols() {
@@ -9,6 +10,8 @@ export default class DeviceFactoryInfoGet extends BaseMethod {
9
10
  // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
10
11
  this.skipForceUpdateCheck = true;
11
12
  this.useDevicePassphraseState = false;
13
+ this.unlockPolicy = 'none';
14
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
12
15
  this.params = undefined;
13
16
  }
14
17
 
@@ -1,4 +1,6 @@
1
1
  import { BaseMethod } from '../BaseMethod';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
3
+ import { validateDeviceFactoryInfoSetParams } from './helpers';
2
4
 
3
5
  import type { DeviceFactoryInfoSetParams } from './helpers';
4
6
 
@@ -11,13 +13,10 @@ export default class DeviceFactoryInfoSet extends BaseMethod<DeviceFactoryInfoSe
11
13
  // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
12
14
  this.skipForceUpdateCheck = true;
13
15
  this.useDevicePassphraseState = false;
14
- this.params = {
15
- version: this.payload.version,
16
- serial_number: this.payload.serial_number,
17
- burn_in_completed: this.payload.burn_in_completed,
18
- factory_test_completed: this.payload.factory_test_completed,
19
- manufacture_time: this.payload.manufacture_time,
20
- };
16
+ this.unlockPolicy = 'none';
17
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
18
+ this.requireDeviceMode = [UI_REQUEST.BOOTLOADER];
19
+ this.params = validateDeviceFactoryInfoSetParams(this.payload);
21
20
  }
22
21
 
23
22
  async run() {
@@ -37,11 +37,11 @@ export type DeviceFirmwareUpdateStatusGetParams = {
37
37
  };
38
38
 
39
39
  export type DeviceFactoryInfoSetParams = {
40
- version?: number;
41
- serial_number?: string;
42
- burn_in_completed?: boolean;
43
- factory_test_completed?: boolean;
44
- manufacture_time?: {
40
+ version: number;
41
+ serial_number: string;
42
+ burn_in_completed: boolean;
43
+ factory_test_completed: boolean;
44
+ manufacture_time: {
45
45
  year: number;
46
46
  month: number;
47
47
  day: number;
@@ -51,6 +51,153 @@ export type DeviceFactoryInfoSetParams = {
51
51
  };
52
52
  };
53
53
 
54
+ export type DeviceFactoryCertificateWriteParams = {
55
+ certificate: string;
56
+ privateKey?: string;
57
+ };
58
+
59
+ export type DeviceFactoryChallengeSignParams = {
60
+ digest: string;
61
+ };
62
+
63
+ const FACTORY_SERIAL_MAX_UTF8_BYTES = 24;
64
+ const FACTORY_CERTIFICATE_MAX_BYTES = 512;
65
+ const FACTORY_PRIVATE_KEY_BYTES = 32;
66
+ const FACTORY_CHALLENGE_DIGEST_BYTES = 32;
67
+
68
+ const getUtf8ByteLength = (value: string) =>
69
+ Array.from(value).reduce((length, character) => {
70
+ const codePoint = character.codePointAt(0) ?? 0;
71
+ if (codePoint <= 0x7f) return length + 1;
72
+ if (codePoint <= 0x7ff) return length + 2;
73
+ if (codePoint <= 0xffff) return length + 3;
74
+ return length + 4;
75
+ }, 0);
76
+
77
+ const validateRequiredBoolean = (value: unknown, name: string): boolean => {
78
+ if (typeof value !== 'boolean') {
79
+ throw invalidParameter(`Parameter [${name}] is required and must be a boolean.`);
80
+ }
81
+ return value;
82
+ };
83
+
84
+ const validateIntegerInRange = (
85
+ value: unknown,
86
+ name: string,
87
+ minimum: number,
88
+ maximum: number
89
+ ): number => {
90
+ if (
91
+ typeof value !== 'number' ||
92
+ !Number.isSafeInteger(value) ||
93
+ value < minimum ||
94
+ value > maximum
95
+ ) {
96
+ throw invalidParameter(
97
+ `Parameter [${name}] must be an integer between ${minimum} and ${maximum}.`
98
+ );
99
+ }
100
+ return value;
101
+ };
102
+
103
+ const validateHexBytes = (
104
+ value: unknown,
105
+ name: string,
106
+ options: { exactBytes?: number; maxBytes?: number }
107
+ ): string => {
108
+ const hex = validateNonEmptyString(value, name).trim();
109
+ if (!/^(?:[0-9a-fA-F]{2})+$/.test(hex)) {
110
+ throw invalidParameter(`Parameter [${name}] must be an even-length hexadecimal string.`);
111
+ }
112
+ const byteLength = hex.length / 2;
113
+ if (options.exactBytes !== undefined && byteLength !== options.exactBytes) {
114
+ throw invalidParameter(`Parameter [${name}] must contain exactly ${options.exactBytes} bytes.`);
115
+ }
116
+ if (options.maxBytes !== undefined && byteLength > options.maxBytes) {
117
+ throw invalidParameter(`Parameter [${name}] must not exceed ${options.maxBytes} bytes.`);
118
+ }
119
+ return hex;
120
+ };
121
+
122
+ export function validateDeviceFactoryInfoSetParams(
123
+ payload: Partial<DeviceFactoryInfoSetParams>
124
+ ): DeviceFactoryInfoSetParams {
125
+ const serialNumber = validateNonEmptyString(payload.serial_number, 'serial_number').trim();
126
+ if (getUtf8ByteLength(serialNumber) > FACTORY_SERIAL_MAX_UTF8_BYTES) {
127
+ throw invalidParameter(
128
+ `Parameter [serial_number] must not exceed ${FACTORY_SERIAL_MAX_UTF8_BYTES} UTF-8 bytes.`
129
+ );
130
+ }
131
+
132
+ const time = payload.manufacture_time;
133
+ if (!time || typeof time !== 'object') {
134
+ throw invalidParameter('Parameter [manufacture_time] is required.');
135
+ }
136
+ const manufactureTime = {
137
+ year: validateIntegerInRange(time.year, 'manufacture_time.year', 2000, 9999),
138
+ month: validateIntegerInRange(time.month, 'manufacture_time.month', 1, 12),
139
+ day: validateIntegerInRange(time.day, 'manufacture_time.day', 1, 31),
140
+ hour: validateIntegerInRange(time.hour, 'manufacture_time.hour', 0, 23),
141
+ minute: validateIntegerInRange(time.minute, 'manufacture_time.minute', 0, 59),
142
+ second: validateIntegerInRange(time.second, 'manufacture_time.second', 0, 59),
143
+ };
144
+ const normalizedDate = new Date(
145
+ Date.UTC(
146
+ manufactureTime.year,
147
+ manufactureTime.month - 1,
148
+ manufactureTime.day,
149
+ manufactureTime.hour,
150
+ manufactureTime.minute,
151
+ manufactureTime.second
152
+ )
153
+ );
154
+ if (
155
+ normalizedDate.getUTCFullYear() !== manufactureTime.year ||
156
+ normalizedDate.getUTCMonth() + 1 !== manufactureTime.month ||
157
+ normalizedDate.getUTCDate() !== manufactureTime.day
158
+ ) {
159
+ throw invalidParameter('Parameter [manufacture_time] must be a valid calendar date.');
160
+ }
161
+
162
+ return {
163
+ version: validateIntegerInRange(payload.version, 'version', 0, 255),
164
+ serial_number: serialNumber,
165
+ burn_in_completed: validateRequiredBoolean(payload.burn_in_completed, 'burn_in_completed'),
166
+ factory_test_completed: validateRequiredBoolean(
167
+ payload.factory_test_completed,
168
+ 'factory_test_completed'
169
+ ),
170
+ manufacture_time: manufactureTime,
171
+ };
172
+ }
173
+
174
+ export function validateDeviceFactoryCertificateWriteParams(
175
+ payload: Partial<DeviceFactoryCertificateWriteParams>
176
+ ): DeviceFactoryCertificateWriteParams {
177
+ return {
178
+ certificate: validateHexBytes(payload.certificate, 'certificate', {
179
+ maxBytes: FACTORY_CERTIFICATE_MAX_BYTES,
180
+ }),
181
+ ...(payload.privateKey === undefined
182
+ ? {}
183
+ : {
184
+ privateKey: validateHexBytes(payload.privateKey, 'privateKey', {
185
+ exactBytes: FACTORY_PRIVATE_KEY_BYTES,
186
+ }),
187
+ }),
188
+ };
189
+ }
190
+
191
+ export function validateDeviceFactoryChallengeSignParams(
192
+ payload: Partial<DeviceFactoryChallengeSignParams>
193
+ ): DeviceFactoryChallengeSignParams {
194
+ return {
195
+ digest: validateHexBytes(payload.digest, 'digest', {
196
+ exactBytes: FACTORY_CHALLENGE_DIGEST_BYTES,
197
+ }),
198
+ };
199
+ }
200
+
54
201
  const DEVICE_REBOOT_TYPES: Record<string, DeviceRebootType> = {
55
202
  Normal: DeviceRebootType.Normal,
56
203
  normal: DeviceRebootType.Normal,
@@ -0,0 +1,95 @@
1
+ export { default as btcGetOwnershipId } from './btc/BTCGetOwnershipId';
2
+ export { default as btcGetOwnershipProof } from './btc/BTCGetOwnershipProof';
3
+ export { default as btcAuthorizeCoinJoin } from './btc/BTCAuthorizeCoinJoin';
4
+
5
+ export { default as cryptoBatchGetPublickeys } from './crypto/CryptoBatchGetPublickeys';
6
+ export { default as cryptoCipherKeyValue } from './crypto/CryptoCipherKeyValue';
7
+ export { default as cryptoCosiCommit } from './crypto/CryptoCosiCommit';
8
+ export { default as cryptoCosiSign } from './crypto/CryptoCosiSign';
9
+ export { default as cryptoGetECDHSessionKey } from './crypto/CryptoGetECDHSessionKey';
10
+ export { default as cryptoSignIdentity } from './crypto/CryptoSignIdentity';
11
+
12
+ export { default as evmGetAddressTrezor } from './evmTrezor/EVMGetAddress';
13
+ export { default as evmGetPublicKeyTrezor } from './evmTrezor/EVMGetPublicKey';
14
+ export { default as evmSignMessageTrezor } from './evmTrezor/EVMSignMessage';
15
+ export { default as evmSignTransactionTrezor } from './evmTrezor/EVMSignTransaction';
16
+ export { default as evmSignTypedDataTrezor } from './evmTrezor/EVMSignTypedData';
17
+ export { default as evmVerifyMessageTrezor } from './evmTrezor/EVMVerifyMessage';
18
+
19
+ export { default as nemDecryptMessage } from './nem/NEMDecryptMessage';
20
+
21
+ export { default as deviceSpiFlashWrite } from './manager/DeviceSpiFlashWrite';
22
+ export { default as deviceSpiFlashRead } from './manager/DeviceSpiFlashRead';
23
+ export { default as deviceInfoSettings } from './manager/DeviceInfoSettings';
24
+ export { default as deviceGetInfo } from './manager/GetDeviceInfoSettings';
25
+ export { default as deviceReadSEPublicCert } from './manager/DeviceReadSEPublicCert';
26
+ export { default as deviceWriteSEPrivateKey } from './manager/DeviceWriteSEPrivateKey';
27
+ export { default as deviceWriteSEPublicCert } from './manager/DeviceWriteSEPublicCert';
28
+ export { default as deviceSESignMessage } from './manager/DeviceSESignMessage';
29
+ export { default as devicePing } from './manager/DevicePing';
30
+ export { default as deviceGetEntropy } from './manager/DeviceGetEntropy';
31
+ export { default as deviceGetFirmwareHash } from './manager/DeviceGetFirmwareHash';
32
+ export { default as deviceUnlockPath } from './manager/DeviceUnlockPath';
33
+ export { default as deviceSdProtect } from './manager/DeviceSdProtect';
34
+ export { default as deviceChangeWipeCode } from './manager/DeviceChangeWipeCode';
35
+ export { default as deviceEndSession } from './manager/DeviceEndSession';
36
+ export { default as deviceLoad } from './manager/DeviceLoad';
37
+ export { default as deviceDoPreauthorized } from './manager/DeviceDoPreauthorized';
38
+ export { default as deviceCancelAuthorization } from './manager/DeviceCancelAuthorization';
39
+
40
+ export { default as emmcDirList } from './emmc/EmmcDirList';
41
+ export { default as emmcDirMake } from './emmc/EmmcDirMake';
42
+ export { default as emmcDirRemove } from './emmc/EmmcDirRemove';
43
+ export { default as emmcFileDelete } from './emmc/EmmcFileDelete';
44
+ export { default as emmcFileRead } from './emmc/EmmcFileRead';
45
+ export { default as emmcFileWrite } from './emmc/EmmcFileWrite';
46
+ export { default as emmcFixPermission } from './emmc/EmmcFixPermission';
47
+ export { default as emmcPathInfo } from './emmc/EmmcPathInfo';
48
+
49
+ export { default as debugLinkDecision } from './debug/DebugLinkDecision';
50
+ export { default as debugLinkEraseSdCard } from './debug/DebugLinkEraseSdCard';
51
+ export { default as debugLinkFlashErase } from './debug/DebugLinkFlashErase';
52
+ export { default as debugLinkGetState } from './debug/DebugLinkGetState';
53
+ export { default as debugLinkMemoryRead } from './debug/DebugLinkMemoryRead';
54
+ export { default as debugLinkMemoryWrite } from './debug/DebugLinkMemoryWrite';
55
+ export { default as debugLinkRecordScreen } from './debug/DebugLinkRecordScreen';
56
+ export { default as debugLinkReseedRandom } from './debug/DebugLinkReseedRandom';
57
+ export { default as debugLinkStop } from './debug/DebugLinkStop';
58
+ export { default as debugLinkWatchLayout } from './debug/DebugLinkWatchLayout';
59
+
60
+ export { default as firmwareErase } from './firmware/FirmwareErase';
61
+ export { default as firmwareEraseEx } from './firmware/FirmwareEraseEx';
62
+ export { default as firmwareUpdateEmmcTest } from './firmware/FirmwareUpdateEmmcTest';
63
+ export { default as firmwareUploadTest } from './firmware/FirmwareUploadTest';
64
+ export { default as reboot } from './firmware/Reboot';
65
+ export { default as selfTest } from './firmware/SelfTest';
66
+
67
+ export { default as tezosGetAddress } from './tezos/TezosGetAddress';
68
+ export { default as tezosGetPublicKey } from './tezos/TezosGetPublicKey';
69
+ export { default as tezosSignTx } from './tezos/TezosSignTx';
70
+
71
+ export { default as moneroGetAddress } from './monero/MoneroGetAddress';
72
+ export { default as moneroGetWatchKey } from './monero/MoneroGetWatchKey';
73
+
74
+ export { default as eosGetPublicKey } from './eos/EosGetPublicKey';
75
+ export { default as eosSignTx } from './eos/EosSignTx';
76
+
77
+ export { default as binanceGetAddress } from './binance/BinanceGetAddress';
78
+ export { default as binanceGetPublicKey } from './binance/BinanceGetPublicKey';
79
+ export { default as binanceSignTx } from './binance/BinanceSignTx';
80
+
81
+ export { default as webAuthnAddResidentCredential } from './WebAuthnAddResidentCredential';
82
+ export { default as webAuthnListResidentCredentials } from './WebAuthnListResidentCredentials';
83
+ export { default as webAuthnRemoveResidentCredential } from './WebAuthnRemoveResidentCredential';
84
+
85
+ export { default as getPublicKeyMultiple } from './manager/GetPublicKeyMultiple';
86
+ export { default as listResDir } from './manager/ListResDir';
87
+ export { default as nftWriteData } from './manager/NFTWriteData';
88
+ export { default as nftWriteInfo } from './manager/NFTWriteInfo';
89
+ export { default as readSEPublicKey } from './manager/ReadSEPublicKey';
90
+ export { default as resourceUpdate } from './manager/ResourceUpdate';
91
+
92
+ export { default as bixinBackupDevice } from './BixinBackupDevice';
93
+ export { default as bixinLoadDevice } from './BixinLoadDevice';
94
+ export { default as bixinMessageSE } from './BixinMessageSE';
95
+ export { default as bixinVerifyDeviceRequest } from './BixinVerifyDeviceRequest';
@@ -0,0 +1,64 @@
1
+ import { UI_REQUEST } from '../../constants/ui-request';
2
+ import { serializedPath, validatePath } from '../helpers/pathUtils';
3
+ import { BaseMethod } from '../BaseMethod';
4
+ import { validateParams } from '../helpers/paramsValidator';
5
+
6
+ import type { TezosGetAddress as HardwareTezosGetAddress } from '@onekeyfe/hd-transport';
7
+ import type { StellarAddress } from '../../types';
8
+
9
+ export default class TezosGetAddress extends BaseMethod<HardwareTezosGetAddress[]> {
10
+ hasBundle = false;
11
+
12
+ init() {
13
+ this.checkDeviceId = true;
14
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
15
+
16
+ this.hasBundle = !!this.payload?.bundle;
17
+ const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
18
+
19
+ // check payload
20
+ validateParams(payload, [{ name: 'bundle', type: 'array' }]);
21
+
22
+ // init params
23
+ this.params = [];
24
+ payload.bundle.forEach((batch: any) => {
25
+ const addressN = validatePath(batch.path, 3);
26
+
27
+ validateParams(batch, [
28
+ { name: 'path', required: true },
29
+ { name: 'showOnOneKey', type: 'boolean' },
30
+ ]);
31
+
32
+ const showOnOneKey = batch.showOnOneKey ?? true;
33
+
34
+ this.params.push({
35
+ address_n: addressN,
36
+ show_display: showOnOneKey,
37
+ });
38
+ });
39
+ }
40
+
41
+ async run() {
42
+ const responses: StellarAddress[] = [];
43
+
44
+ for (let i = 0; i < this.params.length; i++) {
45
+ const param = this.params[i];
46
+
47
+ const res = await this.device.commands.typedCall('TezosGetAddress', 'TezosAddress', {
48
+ ...param,
49
+ });
50
+
51
+ const { address } = res.message;
52
+
53
+ const result = {
54
+ path: serializedPath(param.address_n),
55
+ address,
56
+ };
57
+ responses.push(result);
58
+
59
+ this.postPreviousAddressMessage(result);
60
+ }
61
+
62
+ return Promise.resolve(this.hasBundle ? responses : responses[0]);
63
+ }
64
+ }