@onetokenfe/hd-core 1.1.23

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 (382) hide show
  1. package/.eslintrc +6 -0
  2. package/README.md +32 -0
  3. package/__tests__/benfen.test.ts +68 -0
  4. package/__tests__/checkBootloaderReleast.test.ts +115 -0
  5. package/__tests__/evmSignTransaction.test.ts +419 -0
  6. package/jest.config.js +6 -0
  7. package/package.json +48 -0
  8. package/src/api/BaseMethod.ts +275 -0
  9. package/src/api/CheckAllFirmwareRelease.ts +73 -0
  10. package/src/api/CheckBLEFirmwareRelease.ts +23 -0
  11. package/src/api/CheckBootloaderRelease.ts +32 -0
  12. package/src/api/CheckBridgeRelease.ts +28 -0
  13. package/src/api/CheckBridgeStatus.ts +32 -0
  14. package/src/api/CheckFirmwareRelease.ts +31 -0
  15. package/src/api/CheckFirmwareTypeAvailable.tsx +30 -0
  16. package/src/api/CipherKeyValue.ts +68 -0
  17. package/src/api/FirmwareUpdate.ts +219 -0
  18. package/src/api/FirmwareUpdateV2.ts +408 -0
  19. package/src/api/FirmwareUpdateV3.ts +560 -0
  20. package/src/api/GetFeatures.ts +23 -0
  21. package/src/api/GetLogs.ts +40 -0
  22. package/src/api/GetOnetokenFeatures.ts +25 -0
  23. package/src/api/GetPassphraseState.ts +28 -0
  24. package/src/api/PromptWebDeviceAccess.ts +77 -0
  25. package/src/api/SearchDevices.ts +50 -0
  26. package/src/api/alephium/AlephiumGetAddress.ts +84 -0
  27. package/src/api/alephium/AlephiumSignMessage.ts +51 -0
  28. package/src/api/alephium/AlephiumSignTransaction.ts +135 -0
  29. package/src/api/algo/AlgoGetAddress.ts +73 -0
  30. package/src/api/algo/AlgoSignTransaction.ts +52 -0
  31. package/src/api/allnetwork/AllNetworkGetAddress.ts +88 -0
  32. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +529 -0
  33. package/src/api/allnetwork/AllNetworkGetAddressByLoop.ts +162 -0
  34. package/src/api/aptos/AptosGetAddress.ts +129 -0
  35. package/src/api/aptos/AptosGetPublicKey.ts +64 -0
  36. package/src/api/aptos/AptosSignInMessage.ts +55 -0
  37. package/src/api/aptos/AptosSignMessage.ts +79 -0
  38. package/src/api/aptos/AptosSignTransaction.ts +72 -0
  39. package/src/api/benfen/BenfenGetAddress.ts +122 -0
  40. package/src/api/benfen/BenfenGetPublicKey.ts +68 -0
  41. package/src/api/benfen/BenfenSignMessage.ts +50 -0
  42. package/src/api/benfen/BenfenSignTransaction.ts +105 -0
  43. package/src/api/benfen/normalize.ts +51 -0
  44. package/src/api/btc/BTCGetAddress.ts +91 -0
  45. package/src/api/btc/BTCGetPublicKey.ts +174 -0
  46. package/src/api/btc/BTCSignMessage.ts +73 -0
  47. package/src/api/btc/BTCSignPsbt.ts +65 -0
  48. package/src/api/btc/BTCSignTransaction.ts +148 -0
  49. package/src/api/btc/BTCVerifyMessage.ts +46 -0
  50. package/src/api/btc/helpers/btcParamsUtils.ts +64 -0
  51. package/src/api/btc/helpers/signtx.ts +251 -0
  52. package/src/api/btc/helpers/signtxLegacy.ts +227 -0
  53. package/src/api/btc/helpers/versionLimit.ts +25 -0
  54. package/src/api/btc/helpers/xpubUtils.ts +132 -0
  55. package/src/api/cardano/CardanoGetAddress.ts +139 -0
  56. package/src/api/cardano/CardanoGetPublicKey.ts +72 -0
  57. package/src/api/cardano/CardanoSignMessage.ts +73 -0
  58. package/src/api/cardano/CardanoSignTransaction.ts +404 -0
  59. package/src/api/cardano/helper/addressParameters.ts +120 -0
  60. package/src/api/cardano/helper/auxiliaryData.ts +133 -0
  61. package/src/api/cardano/helper/cardanoInputs.ts +55 -0
  62. package/src/api/cardano/helper/cardanoOutputs.ts +89 -0
  63. package/src/api/cardano/helper/certificate.ts +246 -0
  64. package/src/api/cardano/helper/token.ts +44 -0
  65. package/src/api/cardano/helper/utils.ts +17 -0
  66. package/src/api/cardano/helper/witnesses.ts +62 -0
  67. package/src/api/conflux/ConfluxGetAddress.ts +78 -0
  68. package/src/api/conflux/ConfluxSignMessage.ts +49 -0
  69. package/src/api/conflux/ConfluxSignMessageCIP23.ts +49 -0
  70. package/src/api/conflux/ConfluxSignTransaction.ts +135 -0
  71. package/src/api/cosmos/CosmosGetAddress.ts +80 -0
  72. package/src/api/cosmos/CosmosGetPublicKey.ts +77 -0
  73. package/src/api/cosmos/CosmosSignTransaction.ts +68 -0
  74. package/src/api/device/DeviceBackup.ts +15 -0
  75. package/src/api/device/DeviceCancel.ts +15 -0
  76. package/src/api/device/DeviceChangePin.ts +25 -0
  77. package/src/api/device/DeviceFlags.ts +26 -0
  78. package/src/api/device/DeviceFullyUploadResource.ts +80 -0
  79. package/src/api/device/DeviceLock.ts +15 -0
  80. package/src/api/device/DeviceRebootToBoardloader.ts +30 -0
  81. package/src/api/device/DeviceRebootToBootloader.ts +28 -0
  82. package/src/api/device/DeviceRecovery.ts +44 -0
  83. package/src/api/device/DeviceReset.ts +46 -0
  84. package/src/api/device/DeviceSettings.ts +96 -0
  85. package/src/api/device/DeviceSupportFeatures.ts +29 -0
  86. package/src/api/device/DeviceUnlock.ts +13 -0
  87. package/src/api/device/DeviceUpdateBootloader.ts +111 -0
  88. package/src/api/device/DeviceUpdateReboot.ts +17 -0
  89. package/src/api/device/DeviceUploadResource.ts +204 -0
  90. package/src/api/device/DeviceVerify.ts +65 -0
  91. package/src/api/device/DeviceWipe.ts +15 -0
  92. package/src/api/dynex/DnxGetAddress.ts +75 -0
  93. package/src/api/dynex/DnxSignTransaction.ts +126 -0
  94. package/src/api/evm/EVMGetAddress.ts +88 -0
  95. package/src/api/evm/EVMGetPublicKey.ts +116 -0
  96. package/src/api/evm/EVMSignMessage.ts +49 -0
  97. package/src/api/evm/EVMSignMessageEIP712.ts +56 -0
  98. package/src/api/evm/EVMSignTransaction.ts +141 -0
  99. package/src/api/evm/EVMSignTypedData.ts +477 -0
  100. package/src/api/evm/EVMVerifyMessage.ts +46 -0
  101. package/src/api/evm/latest/getAddress.ts +13 -0
  102. package/src/api/evm/latest/getPublicKey.ts +17 -0
  103. package/src/api/evm/latest/signMessage.ts +19 -0
  104. package/src/api/evm/latest/signTransaction.ts +303 -0
  105. package/src/api/evm/latest/signTypedData.ts +34 -0
  106. package/src/api/evm/latest/signTypedHash.ts +46 -0
  107. package/src/api/evm/latest/verifyMessage.ts +15 -0
  108. package/src/api/evm/legacyV1/getAddress.ts +16 -0
  109. package/src/api/evm/legacyV1/getPublicKey.ts +20 -0
  110. package/src/api/evm/legacyV1/signMessage.ts +22 -0
  111. package/src/api/evm/legacyV1/signTransaction.ts +37 -0
  112. package/src/api/evm/legacyV1/signTypedData.ts +37 -0
  113. package/src/api/evm/legacyV1/signTypedHash.ts +50 -0
  114. package/src/api/evm/legacyV1/verifyMessage.ts +19 -0
  115. package/src/api/filecoin/FilecoinGetAddress.ts +80 -0
  116. package/src/api/filecoin/FilecoinSignTransaction.ts +57 -0
  117. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +476 -0
  118. package/src/api/firmware/bootloaderHelper.ts +46 -0
  119. package/src/api/firmware/getBinary.ts +99 -0
  120. package/src/api/firmware/releaseHelper.ts +78 -0
  121. package/src/api/firmware/updateBootloader.ts +82 -0
  122. package/src/api/firmware/uploadFirmware.ts +541 -0
  123. package/src/api/helpers/batchGetPublickeys.ts +84 -0
  124. package/src/api/helpers/bigNumberUtils.ts +58 -0
  125. package/src/api/helpers/hexUtils.ts +111 -0
  126. package/src/api/helpers/paramsValidator.ts +165 -0
  127. package/src/api/helpers/pathUtils.ts +145 -0
  128. package/src/api/helpers/stringUtils.ts +11 -0
  129. package/src/api/helpers/typeNameUtils.ts +137 -0
  130. package/src/api/index.ts +161 -0
  131. package/src/api/kaspa/KaspaGetAddress.ts +103 -0
  132. package/src/api/kaspa/KaspaSignTransaction.ts +182 -0
  133. package/src/api/kaspa/helpers/BufferWriter.ts +177 -0
  134. package/src/api/kaspa/helpers/HashWriter.ts +74 -0
  135. package/src/api/kaspa/helpers/SignatureType.ts +7 -0
  136. package/src/api/kaspa/helpers/TransferSerialize.ts +144 -0
  137. package/src/api/lightning/LnurlAuth.ts +52 -0
  138. package/src/api/near/NearGetAddress.ts +75 -0
  139. package/src/api/near/NearSignTransaction.ts +46 -0
  140. package/src/api/nem/NEMGetAddress.ts +72 -0
  141. package/src/api/nem/NEMSignTransaction.ts +251 -0
  142. package/src/api/neo/NeoGetAddress.ts +80 -0
  143. package/src/api/neo/NeoSignTransaction.ts +59 -0
  144. package/src/api/nervos/NervosGetAddress.ts +80 -0
  145. package/src/api/nervos/NervosSignTransaction.ts +116 -0
  146. package/src/api/nexa/NexaGetAddress.ts +88 -0
  147. package/src/api/nexa/NexaSignTransaction.ts +107 -0
  148. package/src/api/nostr/NostrDecryptMessage.ts +57 -0
  149. package/src/api/nostr/NostrEncryptMessage.ts +57 -0
  150. package/src/api/nostr/NostrGetPublicKey.ts +74 -0
  151. package/src/api/nostr/NostrSignEvent.ts +65 -0
  152. package/src/api/nostr/NostrSignSchnorr.ts +52 -0
  153. package/src/api/nostr/helper/index.ts +28 -0
  154. package/src/api/polkadot/PolkadotGetAddress.ts +83 -0
  155. package/src/api/polkadot/PolkadotSignTransaction.ts +53 -0
  156. package/src/api/polkadot/networks.ts +72 -0
  157. package/src/api/scdo/ScdoGetAddress.ts +76 -0
  158. package/src/api/scdo/ScdoSignMessage.ts +45 -0
  159. package/src/api/scdo/ScdoSignTransaction.ts +106 -0
  160. package/src/api/solana/SolGetAddress.ts +68 -0
  161. package/src/api/solana/SolSignMessage.ts +61 -0
  162. package/src/api/solana/SolSignOffchainMessage.ts +61 -0
  163. package/src/api/solana/SolSignTransaction.ts +108 -0
  164. package/src/api/starcoin/StarcoinGetAddress.ts +69 -0
  165. package/src/api/starcoin/StarcoinGetPublicKey.ts +70 -0
  166. package/src/api/starcoin/StarcoinSignMessage.ts +42 -0
  167. package/src/api/starcoin/StarcoinSignTransaction.ts +38 -0
  168. package/src/api/starcoin/StarcoinVerifyMessage.ts +35 -0
  169. package/src/api/stellar/StellarGetAddress.ts +68 -0
  170. package/src/api/stellar/StellarSignTransaction.ts +220 -0
  171. package/src/api/sui/SuiGetAddress.ts +117 -0
  172. package/src/api/sui/SuiGetPublicKey.ts +66 -0
  173. package/src/api/sui/SuiSignMessage.ts +48 -0
  174. package/src/api/sui/SuiSignTransaction.ts +126 -0
  175. package/src/api/sui/normalize.ts +28 -0
  176. package/src/api/test/TestInitializeDeviceDuration.ts +22 -0
  177. package/src/api/ton/TonGetAddress.ts +96 -0
  178. package/src/api/ton/TonSignMessage.ts +217 -0
  179. package/src/api/ton/TonSignProof.ts +62 -0
  180. package/src/api/tron/TronGetAddress.ts +75 -0
  181. package/src/api/tron/TronSignMessage.ts +89 -0
  182. package/src/api/tron/TronSignTransaction.ts +214 -0
  183. package/src/api/u2f/GetNextU2FCounter.ts +15 -0
  184. package/src/api/u2f/SetU2FCounter.ts +19 -0
  185. package/src/api/utils.ts +23 -0
  186. package/src/api/xrp/XrpGetAddress.ts +96 -0
  187. package/src/api/xrp/XrpSignTransaction.ts +71 -0
  188. package/src/constants/errors.ts +15 -0
  189. package/src/constants/index.ts +2 -0
  190. package/src/constants/ui-request.ts +3 -0
  191. package/src/core/RequestQueue.ts +134 -0
  192. package/src/core/index.ts +1320 -0
  193. package/src/data/coins/bitcoin.json +44 -0
  194. package/src/data/config.ts +25 -0
  195. package/src/data/messages/messages.json +13167 -0
  196. package/src/data/messages/messages_legacy_v1.json +10282 -0
  197. package/src/data-manager/CoinManager.ts +31 -0
  198. package/src/data-manager/DataManager.ts +499 -0
  199. package/src/data-manager/MessagesConfig.ts +28 -0
  200. package/src/data-manager/TransportManager.ts +140 -0
  201. package/src/data-manager/connectSettings.ts +121 -0
  202. package/src/data-manager/index.ts +3 -0
  203. package/src/device/Device.ts +884 -0
  204. package/src/device/DeviceCommands.ts +631 -0
  205. package/src/device/DeviceConnector.ts +124 -0
  206. package/src/device/DeviceList.ts +39 -0
  207. package/src/device/DevicePool.ts +266 -0
  208. package/src/events/call.ts +95 -0
  209. package/src/events/core.ts +65 -0
  210. package/src/events/device.ts +92 -0
  211. package/src/events/firmware.ts +43 -0
  212. package/src/events/iframe.ts +55 -0
  213. package/src/events/index.ts +10 -0
  214. package/src/events/log.ts +23 -0
  215. package/src/events/logBlockEvent.ts +6 -0
  216. package/src/events/ui-promise.ts +14 -0
  217. package/src/events/ui-request.ts +216 -0
  218. package/src/events/ui-response.ts +59 -0
  219. package/src/events/utils.ts +19 -0
  220. package/src/index.ts +70 -0
  221. package/src/inject.ts +408 -0
  222. package/src/lowLevelInject.ts +61 -0
  223. package/src/topLevelInject.ts +62 -0
  224. package/src/types/api/alephiumGetAddress.ts +31 -0
  225. package/src/types/api/alephiumSignMessage.ts +14 -0
  226. package/src/types/api/alephiumSignTransaction.ts +18 -0
  227. package/src/types/api/algoGetAddress.ts +23 -0
  228. package/src/types/api/algoSignTransaction.ts +17 -0
  229. package/src/types/api/allNetworkGetAddress.ts +130 -0
  230. package/src/types/api/aptosGetAddress.ts +28 -0
  231. package/src/types/api/aptosGetPublicKey.ts +27 -0
  232. package/src/types/api/aptosSignInMessage.ts +17 -0
  233. package/src/types/api/aptosSignMessage.ts +26 -0
  234. package/src/types/api/aptosSignTransaction.ts +18 -0
  235. package/src/types/api/benfenGetAddress.ts +24 -0
  236. package/src/types/api/benfenGetPublicKey.ts +23 -0
  237. package/src/types/api/benfenSignMessage.ts +13 -0
  238. package/src/types/api/benfenSignTransaction.ts +19 -0
  239. package/src/types/api/btcGetAddress.ts +26 -0
  240. package/src/types/api/btcGetPublicKey.ts +26 -0
  241. package/src/types/api/btcSignMessage.ts +16 -0
  242. package/src/types/api/btcSignPsbt.ts +13 -0
  243. package/src/types/api/btcSignTransaction.ts +98 -0
  244. package/src/types/api/btcVerifyMessage.ts +15 -0
  245. package/src/types/api/cardano.ts +212 -0
  246. package/src/types/api/cardanoGetAddress.ts +49 -0
  247. package/src/types/api/cardanoGetPublicKey.ts +33 -0
  248. package/src/types/api/cardanoSignMessage.ts +31 -0
  249. package/src/types/api/cardanoSignTransaction.ts +8 -0
  250. package/src/types/api/checkAllFirmwareRelease.ts +34 -0
  251. package/src/types/api/checkBLEFirmwareRelease.ts +15 -0
  252. package/src/types/api/checkBootloaderRelease.ts +19 -0
  253. package/src/types/api/checkBridgeRelease.ts +14 -0
  254. package/src/types/api/checkBridgeStatus.ts +3 -0
  255. package/src/types/api/checkFirmwareRelease.ts +23 -0
  256. package/src/types/api/checkFirmwareTypeAvailable.ts +12 -0
  257. package/src/types/api/cipherKeyValue.ts +28 -0
  258. package/src/types/api/confluxGetAddress.ts +24 -0
  259. package/src/types/api/confluxSignMessage.ts +13 -0
  260. package/src/types/api/confluxSignMessageCIP23.ts +14 -0
  261. package/src/types/api/confluxSignTransaction.ts +32 -0
  262. package/src/types/api/cosmosGetAddress.ts +24 -0
  263. package/src/types/api/cosmosGetPublicKey.ts +28 -0
  264. package/src/types/api/cosmosSignTransaction.ts +17 -0
  265. package/src/types/api/deviceBackup.ts +4 -0
  266. package/src/types/api/deviceCancel.ts +4 -0
  267. package/src/types/api/deviceChangePin.ts +11 -0
  268. package/src/types/api/deviceFlags.ts +11 -0
  269. package/src/types/api/deviceFullyUploadResource.ts +15 -0
  270. package/src/types/api/deviceLock.ts +4 -0
  271. package/src/types/api/deviceRebootToBoardloader.ts +6 -0
  272. package/src/types/api/deviceRebootToBootloader.ts +4 -0
  273. package/src/types/api/deviceRecovery.ts +19 -0
  274. package/src/types/api/deviceReset.ts +20 -0
  275. package/src/types/api/deviceSettings.ts +23 -0
  276. package/src/types/api/deviceSupportFeatures.ts +6 -0
  277. package/src/types/api/deviceUnlock.ts +4 -0
  278. package/src/types/api/deviceUpdateBootloader.ts +13 -0
  279. package/src/types/api/deviceUpdateReboot.ts +3 -0
  280. package/src/types/api/deviceUploadResource.ts +21 -0
  281. package/src/types/api/deviceVerify.ts +15 -0
  282. package/src/types/api/deviceWipe.ts +4 -0
  283. package/src/types/api/dnxGetAddress.ts +23 -0
  284. package/src/types/api/dnxSignTransaction.ts +36 -0
  285. package/src/types/api/event.ts +8 -0
  286. package/src/types/api/evmGetAddress.ts +24 -0
  287. package/src/types/api/evmGetPublicKey.ts +36 -0
  288. package/src/types/api/evmSignMessage.ts +14 -0
  289. package/src/types/api/evmSignMessageEIP712.ts +14 -0
  290. package/src/types/api/evmSignTransaction.ts +80 -0
  291. package/src/types/api/evmSignTypedData.ts +42 -0
  292. package/src/types/api/evmVerifyMessage.ts +15 -0
  293. package/src/types/api/export.ts +194 -0
  294. package/src/types/api/filecoinGetAddress.ts +24 -0
  295. package/src/types/api/filecoinSignTransaction.ts +24 -0
  296. package/src/types/api/firmwareUpdate.ts +66 -0
  297. package/src/types/api/getFeatures.ts +4 -0
  298. package/src/types/api/getLogs.ts +3 -0
  299. package/src/types/api/getNextU2FCounter.ts +7 -0
  300. package/src/types/api/getOnetokenFeatures.ts +7 -0
  301. package/src/types/api/getPassphraseState.ts +6 -0
  302. package/src/types/api/index.ts +404 -0
  303. package/src/types/api/init.ts +11 -0
  304. package/src/types/api/kaspaGetAddress.ts +26 -0
  305. package/src/types/api/kaspaSignTransaction.ts +44 -0
  306. package/src/types/api/lnurlAuth.ts +22 -0
  307. package/src/types/api/nearGetAddress.ts +23 -0
  308. package/src/types/api/nearSignTransaction.ts +13 -0
  309. package/src/types/api/nemGetAddress.ts +24 -0
  310. package/src/types/api/nemSignTransaction.ts +118 -0
  311. package/src/types/api/neoGetAddress.ts +24 -0
  312. package/src/types/api/neoSignTransaction.ts +18 -0
  313. package/src/types/api/nervosGetAddress.ts +24 -0
  314. package/src/types/api/nervosSignTransaction.ts +19 -0
  315. package/src/types/api/nexaGetAddress.ts +26 -0
  316. package/src/types/api/nexaSignTransaction.ts +28 -0
  317. package/src/types/api/nostrDecryptMessage.ts +25 -0
  318. package/src/types/api/nostrEncryptMessage.ts +25 -0
  319. package/src/types/api/nostrGetPublicKey.ts +28 -0
  320. package/src/types/api/nostrSignEvent.ts +52 -0
  321. package/src/types/api/nostrSignSchnorr.ts +22 -0
  322. package/src/types/api/polkadotGetAddress.ts +30 -0
  323. package/src/types/api/polkadotSignTransaction.ts +19 -0
  324. package/src/types/api/promptWebDeviceAccess.ts +6 -0
  325. package/src/types/api/scdoGetAddress.ts +23 -0
  326. package/src/types/api/scdoSignMessage.ts +13 -0
  327. package/src/types/api/scdoSignTransaction.ts +24 -0
  328. package/src/types/api/searchDevices.ts +4 -0
  329. package/src/types/api/setU2FCounter.ts +7 -0
  330. package/src/types/api/solGetAddress.ts +23 -0
  331. package/src/types/api/solSignMessage.ts +17 -0
  332. package/src/types/api/solSignOffchainMessage.ts +24 -0
  333. package/src/types/api/solSignTransaction.ts +27 -0
  334. package/src/types/api/starcoinGetAddress.ts +23 -0
  335. package/src/types/api/starcoinGetPublicKey.ts +23 -0
  336. package/src/types/api/starcoinSignMessage.ts +13 -0
  337. package/src/types/api/starcoinSignTransaction.ts +13 -0
  338. package/src/types/api/starcoinVerifyMessage.ts +14 -0
  339. package/src/types/api/stellarGetAddress.ts +23 -0
  340. package/src/types/api/stellarSignTransaction.ts +154 -0
  341. package/src/types/api/suiGetAddress.ts +28 -0
  342. package/src/types/api/suiGetPublicKey.ts +27 -0
  343. package/src/types/api/suiSignMessage.ts +13 -0
  344. package/src/types/api/suiSignTransaction.ts +17 -0
  345. package/src/types/api/testInitializeDeviceDuration.ts +6 -0
  346. package/src/types/api/tonGetAddress.ts +34 -0
  347. package/src/types/api/tonSignMessage.ts +42 -0
  348. package/src/types/api/tonSignProof.ts +25 -0
  349. package/src/types/api/tronGetAddress.ts +23 -0
  350. package/src/types/api/tronSignMessage.ts +14 -0
  351. package/src/types/api/tronSignTransaction.ts +89 -0
  352. package/src/types/api/uiResponse.ts +3 -0
  353. package/src/types/api/xrpGetAddress.ts +28 -0
  354. package/src/types/api/xrpSignTransaction.ts +29 -0
  355. package/src/types/device.ts +194 -0
  356. package/src/types/firmware.ts +41 -0
  357. package/src/types/global.d.ts +3 -0
  358. package/src/types/index.ts +5 -0
  359. package/src/types/params.ts +64 -0
  360. package/src/types/settings.ts +144 -0
  361. package/src/utils/arrayUtils.ts +7 -0
  362. package/src/utils/assets.ts +5 -0
  363. package/src/utils/bridgeUpdate.ts +80 -0
  364. package/src/utils/capabilitieUtils.ts +12 -0
  365. package/src/utils/deviceFeaturesUtils.ts +352 -0
  366. package/src/utils/deviceInfoUtils.ts +167 -0
  367. package/src/utils/deviceSettings.ts +109 -0
  368. package/src/utils/deviceVersionUtils.ts +79 -0
  369. package/src/utils/findDefectiveBatchDevice.ts +39 -0
  370. package/src/utils/getMutex.ts +41 -0
  371. package/src/utils/getSynchronize.ts +25 -0
  372. package/src/utils/homescreen.ts +345 -0
  373. package/src/utils/index.ts +44 -0
  374. package/src/utils/logger.ts +190 -0
  375. package/src/utils/networkUtils.ts +25 -0
  376. package/src/utils/patch.ts +14 -0
  377. package/src/utils/promiseUtils.ts +4 -0
  378. package/src/utils/release.ts +42 -0
  379. package/src/utils/semver.test.js +53 -0
  380. package/src/utils/tracing.ts +238 -0
  381. package/src/utils/versionUtils.ts +120 -0
  382. package/tsconfig.json +11 -0
@@ -0,0 +1,130 @@
1
+ import type { CommonParams, Response, Unsuccessful } from '../params';
2
+ import type { CardanoAddressParameters } from './cardano';
3
+
4
+ export type INetwork =
5
+ | 'evm'
6
+ // BTC forks
7
+ | 'btc'
8
+ | 'tbtc'
9
+ | 'doge'
10
+ | 'neurai'
11
+ | 'ltc'
12
+ | 'bch'
13
+ // Other
14
+ | 'sol'
15
+ | 'algo'
16
+ | 'near'
17
+ | 'stc'
18
+ | 'cfx'
19
+ | 'tron'
20
+ | 'aptos'
21
+ | 'xrp'
22
+ | 'cosmos'
23
+ | 'ada'
24
+ | 'sui'
25
+ | 'fil'
26
+ | 'dot'
27
+ | 'kaspa'
28
+ | 'nexa'
29
+ | 'dynex'
30
+ | 'nervos'
31
+ | 'scdo'
32
+ | 'ton'
33
+ | 'alph'
34
+ | 'nostr'
35
+ | 'benfen'
36
+ | 'neo'
37
+ | 'stellar';
38
+
39
+ export type CommonResponseParams = {
40
+ path: string;
41
+ network: INetwork;
42
+ chainName?: string;
43
+ prefix?: string;
44
+ };
45
+
46
+ export type AllNetworkAddressParams = {
47
+ path: string | number[];
48
+ network: INetwork;
49
+ chainName?: string;
50
+ prefix?: string;
51
+ showOnOneToken?: boolean;
52
+
53
+ includePublicKey?: boolean;
54
+ group?: string;
55
+ useTweak?: boolean;
56
+ };
57
+
58
+ type AllNetworkAddressPayload =
59
+ | {
60
+ address: string;
61
+ pub?: string;
62
+ /**
63
+ * @deprecated Use `pub` instead.
64
+ */
65
+ publicKey?: string;
66
+ // Nostr public key (bech32)
67
+ npub?: string;
68
+ }
69
+ | {
70
+ // Cardano
71
+ addressParameters: CardanoAddressParameters;
72
+ protocolMagic: number;
73
+ networkId: number;
74
+ serializedPath: string;
75
+ serializedStakingPath: string;
76
+ address: string;
77
+ xpub?: string;
78
+ stakeAddress?: string;
79
+ }
80
+ | {
81
+ // BTC
82
+ node: {
83
+ depth: number;
84
+ fingerprint: number;
85
+ child_num: number;
86
+ chain_code: string;
87
+ private_key: string | null;
88
+ public_key: string;
89
+ };
90
+ xpub: string;
91
+ root_fingerprint: number;
92
+ xpubSegwit: string;
93
+ };
94
+
95
+ export type AllNetworkAddress = AllNetworkAddressParams & {
96
+ success: boolean;
97
+ payload?:
98
+ | (AllNetworkAddressPayload & { rootFingerprint: number })
99
+ | {
100
+ error: string;
101
+ code: number;
102
+ connectId?: string;
103
+ deviceId?: string;
104
+ params: any;
105
+ };
106
+ };
107
+
108
+ export type AllNetworkGetAddressParams = {
109
+ bundle: AllNetworkAddressParams[];
110
+ };
111
+
112
+ export type AllNetworkGetAddressParamsByLoop = AllNetworkGetAddressParams & {
113
+ callbackId?: string;
114
+ callbackIdFinish?: string;
115
+ onLoopItemResponse: (data?: AllNetworkAddress) => void;
116
+ onAllItemsResponse: (data?: AllNetworkAddress[], error?: Unsuccessful) => void;
117
+ };
118
+
119
+ export declare function allNetworkGetAddress(
120
+ connectId: string,
121
+ deviceId: string,
122
+ params: CommonParams & AllNetworkGetAddressParams
123
+ ): Response<AllNetworkAddress[]>;
124
+
125
+ export declare function allNetworkGetAddressByLoop(
126
+ connectId: string,
127
+ deviceId: string,
128
+ params: CommonParams & AllNetworkGetAddressParamsByLoop
129
+ // only return empty array
130
+ ): Response<AllNetworkAddress[]>;
@@ -0,0 +1,28 @@
1
+ import type { AptosAddress as HardwareAptosAddress } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type AptosAddress = {
5
+ path: string;
6
+ pub?: string;
7
+ /**
8
+ * @deprecated Use `pub` instead.
9
+ */
10
+ publicKey?: string;
11
+ } & HardwareAptosAddress;
12
+
13
+ export type AptosGetAddressParams = {
14
+ path: string | number[];
15
+ showOnOneToken?: boolean;
16
+ };
17
+
18
+ export declare function aptosGetAddress(
19
+ connectId: string,
20
+ deviceId: string,
21
+ params: CommonParams & AptosGetAddressParams
22
+ ): Response<AptosAddress>;
23
+
24
+ export declare function aptosGetAddress(
25
+ connectId: string,
26
+ deviceId: string,
27
+ params: CommonParams & { bundle?: AptosGetAddressParams[] }
28
+ ): Response<Array<AptosAddress>>;
@@ -0,0 +1,27 @@
1
+ import type { CommonParams, Response } from '../params';
2
+
3
+ export type AptosPublicKey = {
4
+ path: string;
5
+ pub: string;
6
+ /**
7
+ * @deprecated Use `pub` instead.
8
+ */
9
+ publicKey?: string;
10
+ };
11
+
12
+ export type AptosGetPublicKeyParams = {
13
+ path: string | number[];
14
+ showOnOneToken?: boolean;
15
+ };
16
+
17
+ export declare function aptosGetPublicKey(
18
+ connectId: string,
19
+ deviceId: string,
20
+ params: CommonParams & AptosGetPublicKeyParams
21
+ ): Response<AptosPublicKey>;
22
+
23
+ export declare function aptosGetPublicKey(
24
+ connectId: string,
25
+ deviceId: string,
26
+ params: CommonParams & { bundle?: AptosGetPublicKeyParams[] }
27
+ ): Response<Array<AptosPublicKey>>;
@@ -0,0 +1,17 @@
1
+ import type { AptosMessageSignature as HardwareAptosMessageSignature } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type AptosSignInMessageSignature = {
5
+ path: string;
6
+ } & HardwareAptosMessageSignature;
7
+
8
+ export type AptosSignInMessageParams = {
9
+ path: string | number[];
10
+ payload: string;
11
+ };
12
+
13
+ export declare function aptosSignInMessage(
14
+ connectId: string,
15
+ deviceId: string,
16
+ params: CommonParams & AptosSignInMessageParams
17
+ ): Response<AptosSignInMessageSignature>;
@@ -0,0 +1,26 @@
1
+ import type { AptosMessageSignature as HardwareAptosMessageSignature } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type AptosMessageSignature = {
5
+ path: string;
6
+ fullMessage: string;
7
+ } & HardwareAptosMessageSignature;
8
+
9
+ declare type AptosMessagePayload = {
10
+ address?: string;
11
+ chainId?: string;
12
+ application?: string;
13
+ nonce: string;
14
+ message: string;
15
+ };
16
+
17
+ export type AptosSignMessageParams = {
18
+ path: string | number[];
19
+ payload: AptosMessagePayload;
20
+ };
21
+
22
+ export declare function aptosSignMessage(
23
+ connectId: string,
24
+ deviceId: string,
25
+ params: CommonParams & AptosSignMessageParams
26
+ ): Response<AptosMessageSignature>;
@@ -0,0 +1,18 @@
1
+ import type { AptosSignedTx as HardwareAptosSignedTx } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type AptosSignedTx = {
5
+ path: string;
6
+ } & HardwareAptosSignedTx;
7
+
8
+ export type AptosSignTransactionParams = {
9
+ path: string;
10
+ rawTx?: string;
11
+ transactionType?: number; // Messages.AptosTransactionType
12
+ };
13
+
14
+ export declare function aptosSignTransaction(
15
+ connectId: string,
16
+ deviceId: string,
17
+ params: CommonParams & AptosSignTransactionParams
18
+ ): Response<AptosSignedTx>;
@@ -0,0 +1,24 @@
1
+ import type { BenfenAddress as HardwareBenfenAddress } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BenfenAddress = {
5
+ path: string;
6
+ pub?: string;
7
+ } & HardwareBenfenAddress;
8
+
9
+ export type BenfenGetAddressParams = {
10
+ path: string | number[];
11
+ showOnOneToken?: boolean;
12
+ };
13
+
14
+ export declare function benfenGetAddress(
15
+ connectId: string,
16
+ deviceId: string,
17
+ params: CommonParams & BenfenGetAddressParams
18
+ ): Response<BenfenAddress>;
19
+
20
+ export declare function benfenGetAddress(
21
+ connectId: string,
22
+ deviceId: string,
23
+ params: CommonParams & { bundle?: BenfenGetAddressParams[] }
24
+ ): Response<Array<BenfenAddress>>;
@@ -0,0 +1,23 @@
1
+ import type { CommonParams, Response } from '../params';
2
+
3
+ export type BenfenPublicKey = {
4
+ path: string;
5
+ pub: string;
6
+ };
7
+
8
+ export type BenfenGetPublicKeyParams = {
9
+ path: string | number[];
10
+ showOnOneToken?: boolean;
11
+ };
12
+
13
+ export declare function benfenGetPublicKey(
14
+ connectId: string,
15
+ deviceId: string,
16
+ params: CommonParams & BenfenGetPublicKeyParams
17
+ ): Response<BenfenPublicKey>;
18
+
19
+ export declare function benfenGetPublicKey(
20
+ connectId: string,
21
+ deviceId: string,
22
+ params: CommonParams & { bundle?: BenfenGetPublicKeyParams[] }
23
+ ): Response<Array<BenfenPublicKey>>;
@@ -0,0 +1,13 @@
1
+ import type { BenfenMessageSignature } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BenfenSignMessageParams = {
5
+ path: string | number[];
6
+ messageHex: string;
7
+ };
8
+
9
+ export declare function benfenSignMessage(
10
+ connectId: string,
11
+ deviceId: string,
12
+ params: CommonParams & BenfenSignMessageParams
13
+ ): Response<BenfenMessageSignature>;
@@ -0,0 +1,19 @@
1
+ import type { AptosSignedTx as HardwareAptosSignedTx } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BenfenSignedTx = {
5
+ path: string;
6
+ coinType?: string;
7
+ } & HardwareAptosSignedTx;
8
+
9
+ export type BenfenSignTransactionParams = {
10
+ path: string | number[];
11
+ coinType?: string;
12
+ rawTx?: string;
13
+ };
14
+
15
+ export declare function benfenSignTransaction(
16
+ connectId: string,
17
+ deviceId: string,
18
+ params: CommonParams & BenfenSignTransactionParams
19
+ ): Response<BenfenSignedTx>;
@@ -0,0 +1,26 @@
1
+ import type { Address, InputScriptType, MultisigRedeemScriptType } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BTCAddress = {
5
+ path: string;
6
+ } & Address;
7
+
8
+ export type BTCGetAddressParams = {
9
+ path: string | number[];
10
+ coin?: string;
11
+ showOnOneToken?: boolean;
12
+ multisig?: MultisigRedeemScriptType;
13
+ scriptType?: InputScriptType;
14
+ };
15
+
16
+ export declare function btcGetAddress(
17
+ connectId: string,
18
+ deviceId: string,
19
+ params: CommonParams & BTCGetAddressParams
20
+ ): Response<BTCAddress>;
21
+
22
+ export declare function btcGetAddress(
23
+ connectId: string,
24
+ deviceId: string,
25
+ params: CommonParams & { bundle?: BTCGetAddressParams[] }
26
+ ): Response<Array<BTCAddress>>;
@@ -0,0 +1,26 @@
1
+ import type { InputScriptType, PublicKey } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BTCPublicKey = {
5
+ path: string;
6
+ xpubSegwit?: string;
7
+ } & PublicKey;
8
+
9
+ export type BTCGetPublicKeyParams = {
10
+ path: string | number[];
11
+ coin?: string;
12
+ showOnOneToken?: boolean;
13
+ scriptType?: InputScriptType;
14
+ };
15
+
16
+ export declare function btcGetPublicKey(
17
+ connectId: string,
18
+ deviceId: string,
19
+ params: CommonParams & BTCGetPublicKeyParams
20
+ ): Response<BTCPublicKey>;
21
+
22
+ export declare function btcGetPublicKey(
23
+ connectId: string,
24
+ deviceId: string,
25
+ params: CommonParams & { bundle?: BTCGetPublicKeyParams[] }
26
+ ): Response<Array<BTCPublicKey>>;
@@ -0,0 +1,16 @@
1
+ import type { MessageSignature } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BTCSignMessageParams = {
5
+ path: string | number[];
6
+ messageHex: string;
7
+ coin?: string;
8
+ noScriptType?: boolean;
9
+ dAppSignType?: 'ecdsa' | 'bip322-simple';
10
+ };
11
+
12
+ export declare function btcSignMessage(
13
+ connectId: string,
14
+ deviceId: string,
15
+ params: CommonParams & BTCSignMessageParams
16
+ ): Response<MessageSignature>;
@@ -0,0 +1,13 @@
1
+ import type { SignedPsbt } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BTCSignPsbtParams = {
5
+ psbt: string;
6
+ coin?: string;
7
+ };
8
+
9
+ export declare function btcSignPsbt(
10
+ connectId: string,
11
+ deviceId: string,
12
+ params: CommonParams & BTCSignPsbtParams
13
+ ): Response<SignedPsbt>;
@@ -0,0 +1,98 @@
1
+ import type {
2
+ TxInput as OrigTxInput,
3
+ PrevInput,
4
+ TxInputType,
5
+ TxOutputBinType,
6
+ TxOutputType,
7
+ } from '@onetokenfe/hd-transport';
8
+ import type { CommonParams, Response } from '../params';
9
+
10
+ export type SignedTransaction = {
11
+ signatures: string[];
12
+ serializedTx: string;
13
+ txid?: string;
14
+ };
15
+
16
+ export type TransactionOptions = {
17
+ version?: number;
18
+ lock_time?: number;
19
+ expiry?: number;
20
+ overwintered?: boolean;
21
+ version_group_id?: number;
22
+ timestamp?: number;
23
+ branch_id?: number;
24
+ };
25
+
26
+ export type RefTransaction =
27
+ | {
28
+ hash: string;
29
+ version: number;
30
+ inputs: PrevInput[];
31
+ bin_outputs: TxOutputBinType[];
32
+ outputs?: typeof undefined;
33
+ lock_time: number;
34
+ extra_data?: string;
35
+ expiry?: number;
36
+ overwintered?: boolean;
37
+ version_group_id?: number;
38
+ timestamp?: number;
39
+ branch_id?: number;
40
+ }
41
+ | {
42
+ hash: string;
43
+ version: number;
44
+ inputs: OrigTxInput[];
45
+ bin_outputs?: typeof undefined;
46
+ outputs: TxOutputType[];
47
+ lock_time: number;
48
+ extra_data?: string;
49
+ expiry?: number;
50
+ overwintered?: boolean;
51
+ version_group_id?: number;
52
+ timestamp?: number;
53
+ branch_id?: number;
54
+ };
55
+
56
+ export type AccountAddress = {
57
+ address: string;
58
+ path: string;
59
+ transfers?: number;
60
+ balance?: string;
61
+ sent?: string;
62
+ received?: string;
63
+ };
64
+
65
+ export type AccountAddresses = {
66
+ change: AccountAddress[];
67
+ used: AccountAddress[];
68
+ unused: AccountAddress[];
69
+ };
70
+
71
+ export type BTCSignTransactionParams = {
72
+ coin: string;
73
+ inputs: TxInputType[];
74
+ outputs: TxOutputType[];
75
+ refTxs: RefTransaction[];
76
+ account?: {
77
+ // Partial account (addresses)
78
+ addresses: AccountAddresses;
79
+ };
80
+ locktime?: number;
81
+ version?: number;
82
+ // Only available for Decred and Zcash
83
+ expiry?: number;
84
+ // Only available for Zcash
85
+ overwintered?: boolean;
86
+ // Only available for Zcash, set overwintered to nVersionGroupId
87
+ versionGroupId?: number;
88
+ // Only available for Zcash when overwintered is true
89
+ branchId?: number;
90
+ // Only available for Capricoin
91
+ timestamp?: number;
92
+ };
93
+
94
+ export declare function btcSignTransaction(
95
+ connectId: string,
96
+ deviceId: string,
97
+ params: CommonParams & BTCSignTransactionParams
98
+ ): Response<SignedTransaction>;
@@ -0,0 +1,15 @@
1
+ import type { Success } from '@onetokenfe/hd-transport';
2
+ import type { CommonParams, Response } from '../params';
3
+
4
+ export type BTCVerifyMessageParams = {
5
+ address: string;
6
+ messageHex: string;
7
+ signature: string;
8
+ coin: string;
9
+ };
10
+
11
+ export declare function btcVerifyMessage(
12
+ connectId: string,
13
+ deviceId: string,
14
+ params: CommonParams & BTCVerifyMessageParams
15
+ ): Response<Success>;