@trezor/connect 9.0.0-beta.1

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 (495) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +38 -0
  3. package/lib/api/applyFlags.d.ts +8 -0
  4. package/lib/api/applyFlags.js +37 -0
  5. package/lib/api/applySettings.d.ts +8 -0
  6. package/lib/api/applySettings.js +57 -0
  7. package/lib/api/authorizeCoinJoin.d.ts +7 -0
  8. package/lib/api/authorizeCoinJoin.js +45 -0
  9. package/lib/api/backupDevice.d.ts +7 -0
  10. package/lib/api/backupDevice.js +31 -0
  11. package/lib/api/binance/binanceSignTx.d.ts +6 -0
  12. package/lib/api/binance/binanceSignTx.js +91 -0
  13. package/lib/api/binanceGetAddress.d.ts +22 -0
  14. package/lib/api/binanceGetAddress.js +126 -0
  15. package/lib/api/binanceGetPublicKey.d.ts +10 -0
  16. package/lib/api/binanceGetPublicKey.js +72 -0
  17. package/lib/api/binanceSignTransaction.d.ts +12 -0
  18. package/lib/api/binanceSignTransaction.js +31 -0
  19. package/lib/api/bitcoin/Fees.d.ts +15 -0
  20. package/lib/api/bitcoin/Fees.js +175 -0
  21. package/lib/api/bitcoin/TransactionComposer.d.ts +36 -0
  22. package/lib/api/bitcoin/TransactionComposer.js +150 -0
  23. package/lib/api/bitcoin/__fixtures__/inputs.d.ts +112 -0
  24. package/lib/api/bitcoin/__fixtures__/inputs.js +102 -0
  25. package/lib/api/bitcoin/__fixtures__/signtxVerify.d.ts +147 -0
  26. package/lib/api/bitcoin/__fixtures__/signtxVerify.js +216 -0
  27. package/lib/api/bitcoin/enhanceSignTx.d.ts +4 -0
  28. package/lib/api/bitcoin/enhanceSignTx.js +63 -0
  29. package/lib/api/bitcoin/index.d.ts +10 -0
  30. package/lib/api/bitcoin/index.js +13 -0
  31. package/lib/api/bitcoin/inputs.d.ts +8 -0
  32. package/lib/api/bitcoin/inputs.js +60 -0
  33. package/lib/api/bitcoin/outputs.d.ts +8 -0
  34. package/lib/api/bitcoin/outputs.js +115 -0
  35. package/lib/api/bitcoin/refTx.d.ts +11 -0
  36. package/lib/api/bitcoin/refTx.js +220 -0
  37. package/lib/api/bitcoin/signtx.d.ts +25 -0
  38. package/lib/api/bitcoin/signtx.js +164 -0
  39. package/lib/api/bitcoin/signtxLegacy.d.ts +4 -0
  40. package/lib/api/bitcoin/signtxLegacy.js +136 -0
  41. package/lib/api/bitcoin/signtxVerify.d.ts +8 -0
  42. package/lib/api/bitcoin/signtxVerify.js +130 -0
  43. package/lib/api/blockchainDisconnect.d.ts +13 -0
  44. package/lib/api/blockchainDisconnect.js +34 -0
  45. package/lib/api/blockchainEstimateFee.d.ts +12 -0
  46. package/lib/api/blockchainEstimateFee.js +70 -0
  47. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -0
  48. package/lib/api/blockchainGetAccountBalanceHistory.js +41 -0
  49. package/lib/api/blockchainGetCurrentFiatRates.d.ts +15 -0
  50. package/lib/api/blockchainGetCurrentFiatRates.js +33 -0
  51. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +17 -0
  52. package/lib/api/blockchainGetFiatRatesForTimestamps.js +33 -0
  53. package/lib/api/blockchainGetTransactions.d.ts +12 -0
  54. package/lib/api/blockchainGetTransactions.js +33 -0
  55. package/lib/api/blockchainSetCustomBackend.d.ts +11 -0
  56. package/lib/api/blockchainSetCustomBackend.js +38 -0
  57. package/lib/api/blockchainSubscribe.d.ts +14 -0
  58. package/lib/api/blockchainSubscribe.js +38 -0
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +14 -0
  60. package/lib/api/blockchainSubscribeFiatRates.js +33 -0
  61. package/lib/api/blockchainUnsubscribe.d.ts +14 -0
  62. package/lib/api/blockchainUnsubscribe.js +38 -0
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -0
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +29 -0
  65. package/lib/api/cardano/cardanoAddressParameters.d.ts +8 -0
  66. package/lib/api/cardano/cardanoAddressParameters.js +100 -0
  67. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +6 -0
  68. package/lib/api/cardano/cardanoAuxiliaryData.js +51 -0
  69. package/lib/api/cardano/cardanoCertificate.d.ts +14 -0
  70. package/lib/api/cardano/cardanoCertificate.js +149 -0
  71. package/lib/api/cardano/cardanoInputs.d.ts +13 -0
  72. package/lib/api/cardano/cardanoInputs.js +34 -0
  73. package/lib/api/cardano/cardanoOutputs.d.ts +8 -0
  74. package/lib/api/cardano/cardanoOutputs.js +38 -0
  75. package/lib/api/cardano/cardanoTokenBundle.d.ts +8 -0
  76. package/lib/api/cardano/cardanoTokenBundle.js +36 -0
  77. package/lib/api/cardano/cardanoWitnesses.d.ts +5 -0
  78. package/lib/api/cardano/cardanoWitnesses.js +48 -0
  79. package/lib/api/cardanoGetAddress.d.ts +23 -0
  80. package/lib/api/cardanoGetAddress.js +158 -0
  81. package/lib/api/cardanoGetNativeScriptHash.d.ts +12 -0
  82. package/lib/api/cardanoGetNativeScriptHash.js +79 -0
  83. package/lib/api/cardanoGetPublicKey.d.ts +10 -0
  84. package/lib/api/cardanoGetPublicKey.js +78 -0
  85. package/lib/api/cardanoSignTransaction.d.ts +48 -0
  86. package/lib/api/cardanoSignTransaction.js +283 -0
  87. package/lib/api/changePin.d.ts +7 -0
  88. package/lib/api/changePin.js +22 -0
  89. package/lib/api/cipherKeyValue.d.ts +8 -0
  90. package/lib/api/cipherKeyValue.js +56 -0
  91. package/lib/api/common/Discovery.d.ts +35 -0
  92. package/lib/api/common/Discovery.js +113 -0
  93. package/lib/api/common/__fixtures__/paramsValidator.d.ts +596 -0
  94. package/lib/api/common/__fixtures__/paramsValidator.js +355 -0
  95. package/lib/api/common/paramsValidator.d.ts +14 -0
  96. package/lib/api/common/paramsValidator.js +140 -0
  97. package/lib/api/composeTransaction.d.ts +33 -0
  98. package/lib/api/composeTransaction.js +270 -0
  99. package/lib/api/customMessage.d.ts +13 -0
  100. package/lib/api/customMessage.js +56 -0
  101. package/lib/api/eos/eosSignTx.d.ts +17 -0
  102. package/lib/api/eos/eosSignTx.js +347 -0
  103. package/lib/api/eosGetPublicKey.d.ts +10 -0
  104. package/lib/api/eosGetPublicKey.js +73 -0
  105. package/lib/api/eosSignTransaction.d.ts +16 -0
  106. package/lib/api/eosSignTransaction.js +36 -0
  107. package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.d.ts +225 -0
  108. package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.js +341 -0
  109. package/lib/api/ethereum/ethereumSignTx.d.ts +13 -0
  110. package/lib/api/ethereum/ethereumSignTx.js +92 -0
  111. package/lib/api/ethereum/ethereumSignTypedData.d.ts +9 -0
  112. package/lib/api/ethereum/ethereumSignTypedData.js +120 -0
  113. package/lib/api/ethereumGetAddress.d.ts +28 -0
  114. package/lib/api/ethereumGetAddress.js +133 -0
  115. package/lib/api/ethereumGetPublicKey.d.ts +15 -0
  116. package/lib/api/ethereumGetPublicKey.js +79 -0
  117. package/lib/api/ethereumSignMessage.d.ts +7 -0
  118. package/lib/api/ethereumSignMessage.js +41 -0
  119. package/lib/api/ethereumSignTransaction.d.ts +20 -0
  120. package/lib/api/ethereumSignTransaction.js +82 -0
  121. package/lib/api/ethereumSignTypedData.d.ts +14 -0
  122. package/lib/api/ethereumSignTypedData.js +151 -0
  123. package/lib/api/ethereumVerifyMessage.d.ts +7 -0
  124. package/lib/api/ethereumVerifyMessage.js +34 -0
  125. package/lib/api/firmware/getBinary.d.ts +20 -0
  126. package/lib/api/firmware/getBinary.js +37 -0
  127. package/lib/api/firmware/modifyFirmware.d.ts +6 -0
  128. package/lib/api/firmware/modifyFirmware.js +18 -0
  129. package/lib/api/firmwareUpdate.d.ts +15 -0
  130. package/lib/api/firmwareUpdate.js +89 -0
  131. package/lib/api/getAccountInfo.d.ts +98 -0
  132. package/lib/api/getAccountInfo.js +326 -0
  133. package/lib/api/getAddress.d.ts +28 -0
  134. package/lib/api/getAddress.js +152 -0
  135. package/lib/api/getCoinInfo.d.ts +11 -0
  136. package/lib/api/getCoinInfo.js +27 -0
  137. package/lib/api/getDeviceState.d.ts +8 -0
  138. package/lib/api/getDeviceState.js +15 -0
  139. package/lib/api/getFeatures.d.ts +6 -0
  140. package/lib/api/getFeatures.js +18 -0
  141. package/lib/api/getOwnershipId.d.ts +10 -0
  142. package/lib/api/getOwnershipId.js +75 -0
  143. package/lib/api/getOwnershipProof.d.ts +14 -0
  144. package/lib/api/getOwnershipProof.js +86 -0
  145. package/lib/api/getPublicKey.d.ts +15 -0
  146. package/lib/api/getPublicKey.js +84 -0
  147. package/lib/api/getSettings.d.ts +6 -0
  148. package/lib/api/getSettings.js +16 -0
  149. package/lib/api/index.d.ts +64 -0
  150. package/lib/api/index.js +134 -0
  151. package/lib/api/management/uploadFirmware.d.ts +6 -0
  152. package/lib/api/management/uploadFirmware.js +49 -0
  153. package/lib/api/nem/nemSignTx.d.ts +4 -0
  154. package/lib/api/nem/nemSignTx.js +139 -0
  155. package/lib/api/nemGetAddress.d.ts +22 -0
  156. package/lib/api/nemGetAddress.js +144 -0
  157. package/lib/api/nemSignTransaction.d.ts +7 -0
  158. package/lib/api/nemSignTransaction.js +29 -0
  159. package/lib/api/pushTransaction.d.ts +14 -0
  160. package/lib/api/pushTransaction.js +40 -0
  161. package/lib/api/rebootToBootloader.d.ts +8 -0
  162. package/lib/api/rebootToBootloader.js +43 -0
  163. package/lib/api/recoveryDevice.d.ts +8 -0
  164. package/lib/api/recoveryDevice.js +57 -0
  165. package/lib/api/requestLogin.d.ts +12 -0
  166. package/lib/api/requestLogin.js +63 -0
  167. package/lib/api/resetDevice.d.ts +9 -0
  168. package/lib/api/resetDevice.js +59 -0
  169. package/lib/api/rippleGetAddress.d.ts +22 -0
  170. package/lib/api/rippleGetAddress.js +126 -0
  171. package/lib/api/rippleSignTransaction.d.ts +10 -0
  172. package/lib/api/rippleSignTransaction.js +54 -0
  173. package/lib/api/setProxy.d.ts +8 -0
  174. package/lib/api/setProxy.js +26 -0
  175. package/lib/api/signMessage.d.ts +7 -0
  176. package/lib/api/signMessage.js +51 -0
  177. package/lib/api/signTransaction.d.ts +21 -0
  178. package/lib/api/signTransaction.js +146 -0
  179. package/lib/api/stellar/stellarSignTx.d.ts +5 -0
  180. package/lib/api/stellar/stellarSignTx.js +198 -0
  181. package/lib/api/stellarGetAddress.d.ts +22 -0
  182. package/lib/api/stellarGetAddress.js +126 -0
  183. package/lib/api/stellarSignTransaction.d.ts +23 -0
  184. package/lib/api/stellarSignTransaction.js +62 -0
  185. package/lib/api/tezos/tezosSignTx.d.ts +4 -0
  186. package/lib/api/tezos/tezosSignTx.js +237 -0
  187. package/lib/api/tezosGetAddress.d.ts +22 -0
  188. package/lib/api/tezosGetAddress.js +126 -0
  189. package/lib/api/tezosGetPublicKey.d.ts +10 -0
  190. package/lib/api/tezosGetPublicKey.js +72 -0
  191. package/lib/api/tezosSignTransaction.d.ts +7 -0
  192. package/lib/api/tezosSignTransaction.js +30 -0
  193. package/lib/api/verifyMessage.d.ts +7 -0
  194. package/lib/api/verifyMessage.js +47 -0
  195. package/lib/api/wipeDevice.d.ts +8 -0
  196. package/lib/api/wipeDevice.js +41 -0
  197. package/lib/backend/BlockchainLink.d.ts +75 -0
  198. package/lib/backend/BlockchainLink.js +298 -0
  199. package/lib/constants/cardano.d.ts +9 -0
  200. package/lib/constants/cardano.js +14 -0
  201. package/lib/constants/errors.d.ts +49 -0
  202. package/lib/constants/errors.js +62 -0
  203. package/lib/constants/index.d.ts +6 -0
  204. package/lib/constants/index.js +10 -0
  205. package/lib/constants/nem.d.ts +22 -0
  206. package/lib/constants/nem.js +28 -0
  207. package/lib/constants/network.d.ts +13 -0
  208. package/lib/constants/network.js +15 -0
  209. package/lib/core/AbstractMethod.d.ts +59 -0
  210. package/lib/core/AbstractMethod.js +159 -0
  211. package/lib/core/index.d.ts +16 -0
  212. package/lib/core/index.js +671 -0
  213. package/lib/core/method.d.ts +6 -0
  214. package/lib/core/method.js +19 -0
  215. package/lib/data/DataManager.d.ts +31 -0
  216. package/lib/data/DataManager.js +98 -0
  217. package/lib/data/coinInfo.d.ts +37 -0
  218. package/lib/data/coinInfo.js +278 -0
  219. package/lib/data/config.d.ts +98 -0
  220. package/lib/data/config.js +201 -0
  221. package/lib/data/connectSettings.d.ts +6 -0
  222. package/lib/data/connectSettings.js +150 -0
  223. package/lib/data/firmwareInfo.d.ts +11 -0
  224. package/lib/data/firmwareInfo.js +148 -0
  225. package/lib/data/transportInfo.d.ts +4 -0
  226. package/lib/data/transportInfo.js +29 -0
  227. package/lib/data/udevInfo.d.ts +3 -0
  228. package/lib/data/udevInfo.js +21 -0
  229. package/lib/data/version.d.ts +3 -0
  230. package/lib/data/version.js +7 -0
  231. package/lib/device/AbortController.d.ts +21 -0
  232. package/lib/device/AbortController.js +40 -0
  233. package/lib/device/DescriptorStream.d.ts +28 -0
  234. package/lib/device/DescriptorStream.js +139 -0
  235. package/lib/device/Device.d.ts +105 -0
  236. package/lib/device/Device.js +527 -0
  237. package/lib/device/DeviceCommands.d.ts +63 -0
  238. package/lib/device/DeviceCommands.js +465 -0
  239. package/lib/device/DeviceList.d.ts +76 -0
  240. package/lib/device/DeviceList.js +411 -0
  241. package/lib/events/blockchain.d.ts +56 -0
  242. package/lib/events/blockchain.js +18 -0
  243. package/lib/events/call.d.ts +41 -0
  244. package/lib/events/call.js +14 -0
  245. package/lib/events/core.d.ts +20 -0
  246. package/lib/events/core.js +28 -0
  247. package/lib/events/device.d.ts +40 -0
  248. package/lib/events/device.js +28 -0
  249. package/lib/events/iframe.d.ts +39 -0
  250. package/lib/events/iframe.js +18 -0
  251. package/lib/events/index.d.ts +62 -0
  252. package/lib/events/index.js +21 -0
  253. package/lib/events/popup.d.ts +51 -0
  254. package/lib/events/popup.js +22 -0
  255. package/lib/events/transport.d.ts +62 -0
  256. package/lib/events/transport.js +21 -0
  257. package/lib/events/ui-promise.d.ts +12 -0
  258. package/lib/events/ui-promise.js +3 -0
  259. package/lib/events/ui-request.d.ts +180 -0
  260. package/lib/events/ui-request.js +50 -0
  261. package/lib/events/ui-response.d.ts +97 -0
  262. package/lib/events/ui-response.js +25 -0
  263. package/lib/exports.d.ts +5 -0
  264. package/lib/exports.js +10 -0
  265. package/lib/factory.d.ts +20 -0
  266. package/lib/factory.js +122 -0
  267. package/lib/index-browser.d.ts +4 -0
  268. package/lib/index-browser.js +29 -0
  269. package/lib/index.d.ts +11 -0
  270. package/lib/index.js +236 -0
  271. package/lib/types/account.d.ts +37 -0
  272. package/lib/types/account.js +3 -0
  273. package/lib/types/api/applyFlags.d.ts +4 -0
  274. package/lib/types/api/applyFlags.js +3 -0
  275. package/lib/types/api/applySettings.d.ts +4 -0
  276. package/lib/types/api/applySettings.js +3 -0
  277. package/lib/types/api/authorizeCoinJoin.d.ts +14 -0
  278. package/lib/types/api/authorizeCoinJoin.js +3 -0
  279. package/lib/types/api/backupDevice.d.ts +4 -0
  280. package/lib/types/api/backupDevice.js +3 -0
  281. package/lib/types/api/binanceGetAddress.d.ts +4 -0
  282. package/lib/types/api/binanceGetAddress.js +3 -0
  283. package/lib/types/api/binanceGetPublicKey.d.ts +4 -0
  284. package/lib/types/api/binanceGetPublicKey.js +3 -0
  285. package/lib/types/api/binanceSignTransaction.d.ts +31 -0
  286. package/lib/types/api/binanceSignTransaction.js +3 -0
  287. package/lib/types/api/blockchainDisconnect.d.ts +5 -0
  288. package/lib/types/api/blockchainDisconnect.js +3 -0
  289. package/lib/types/api/blockchainEstimateFee.d.ts +29 -0
  290. package/lib/types/api/blockchainEstimateFee.js +3 -0
  291. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +4 -0
  292. package/lib/types/api/blockchainGetAccountBalanceHistory.js +3 -0
  293. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +4 -0
  294. package/lib/types/api/blockchainGetCurrentFiatRates.js +3 -0
  295. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +4 -0
  296. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +3 -0
  297. package/lib/types/api/blockchainGetTransactions.d.ts +7 -0
  298. package/lib/types/api/blockchainGetTransactions.js +3 -0
  299. package/lib/types/api/blockchainSetCustomBackend.d.ts +7 -0
  300. package/lib/types/api/blockchainSetCustomBackend.js +3 -0
  301. package/lib/types/api/blockchainSubscribe.d.ts +7 -0
  302. package/lib/types/api/blockchainSubscribe.js +3 -0
  303. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +7 -0
  304. package/lib/types/api/blockchainSubscribeFiatRates.js +3 -0
  305. package/lib/types/api/blockchainUnsubscribe.d.ts +5 -0
  306. package/lib/types/api/blockchainUnsubscribe.js +3 -0
  307. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +5 -0
  308. package/lib/types/api/blockchainUnsubscribeFiatRates.js +3 -0
  309. package/lib/types/api/cancel.d.ts +2 -0
  310. package/lib/types/api/cancel.js +3 -0
  311. package/lib/types/api/cardanoGetAddress.d.ts +35 -0
  312. package/lib/types/api/cardanoGetAddress.js +3 -0
  313. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +21 -0
  314. package/lib/types/api/cardanoGetNativeScriptHash.js +3 -0
  315. package/lib/types/api/cardanoGetPublicKey.d.ts +16 -0
  316. package/lib/types/api/cardanoGetPublicKey.js +3 -0
  317. package/lib/types/api/cardanoSignTransaction.d.ts +130 -0
  318. package/lib/types/api/cardanoSignTransaction.js +3 -0
  319. package/lib/types/api/changePin.d.ts +4 -0
  320. package/lib/types/api/changePin.js +3 -0
  321. package/lib/types/api/cipherKeyValue.d.ts +17 -0
  322. package/lib/types/api/cipherKeyValue.js +3 -0
  323. package/lib/types/api/composeTransaction.d.ts +92 -0
  324. package/lib/types/api/composeTransaction.js +3 -0
  325. package/lib/types/api/customMessage.d.ts +12 -0
  326. package/lib/types/api/customMessage.js +3 -0
  327. package/lib/types/api/disableWebUSB.d.ts +2 -0
  328. package/lib/types/api/disableWebUSB.js +3 -0
  329. package/lib/types/api/dispose.d.ts +2 -0
  330. package/lib/types/api/dispose.js +3 -0
  331. package/lib/types/api/eosGetPublicKey.d.ts +14 -0
  332. package/lib/types/api/eosGetPublicKey.js +3 -0
  333. package/lib/types/api/eosSignTransaction.d.ts +111 -0
  334. package/lib/types/api/eosSignTransaction.js +3 -0
  335. package/lib/types/api/ethereumGetAddress.d.ts +4 -0
  336. package/lib/types/api/ethereumGetAddress.js +3 -0
  337. package/lib/types/api/ethereumGetPublicKey.d.ts +5 -0
  338. package/lib/types/api/ethereumGetPublicKey.js +3 -0
  339. package/lib/types/api/ethereumSignMessage.d.ts +9 -0
  340. package/lib/types/api/ethereumSignMessage.js +3 -0
  341. package/lib/types/api/ethereumSignTransaction.d.ts +40 -0
  342. package/lib/types/api/ethereumSignTransaction.js +3 -0
  343. package/lib/types/api/ethereumSignTypedData.d.ts +42 -0
  344. package/lib/types/api/ethereumSignTypedData.js +3 -0
  345. package/lib/types/api/ethereumVerifyMessage.d.ts +10 -0
  346. package/lib/types/api/ethereumVerifyMessage.js +3 -0
  347. package/lib/types/api/firmwareUpdate.d.ts +14 -0
  348. package/lib/types/api/firmwareUpdate.js +3 -0
  349. package/lib/types/api/getAccountInfo.d.ts +14 -0
  350. package/lib/types/api/getAccountInfo.js +3 -0
  351. package/lib/types/api/getAddress.d.ts +13 -0
  352. package/lib/types/api/getAddress.js +3 -0
  353. package/lib/types/api/getCoinInfo.d.ts +4 -0
  354. package/lib/types/api/getCoinInfo.js +3 -0
  355. package/lib/types/api/getDeviceState.d.ts +6 -0
  356. package/lib/types/api/getDeviceState.js +3 -0
  357. package/lib/types/api/getFeatures.d.ts +4 -0
  358. package/lib/types/api/getFeatures.js +3 -0
  359. package/lib/types/api/getOwnershipId.d.ts +15 -0
  360. package/lib/types/api/getOwnershipId.js +3 -0
  361. package/lib/types/api/getOwnershipProof.d.ts +19 -0
  362. package/lib/types/api/getOwnershipProof.js +3 -0
  363. package/lib/types/api/getPublicKey.d.ts +19 -0
  364. package/lib/types/api/getPublicKey.js +3 -0
  365. package/lib/types/api/getSettings.d.ts +4 -0
  366. package/lib/types/api/getSettings.js +3 -0
  367. package/lib/types/api/index.d.ts +149 -0
  368. package/lib/types/api/index.js +3 -0
  369. package/lib/types/api/init.d.ts +5 -0
  370. package/lib/types/api/init.js +3 -0
  371. package/lib/types/api/manifest.d.ts +3 -0
  372. package/lib/types/api/manifest.js +3 -0
  373. package/lib/types/api/nemGetAddress.d.ts +7 -0
  374. package/lib/types/api/nemGetAddress.js +3 -0
  375. package/lib/types/api/nemSignTransaction.d.ts +92 -0
  376. package/lib/types/api/nemSignTransaction.js +3 -0
  377. package/lib/types/api/off.d.ts +11 -0
  378. package/lib/types/api/off.js +3 -0
  379. package/lib/types/api/on.d.ts +14 -0
  380. package/lib/types/api/on.js +3 -0
  381. package/lib/types/api/pushTransaction.d.ts +10 -0
  382. package/lib/types/api/pushTransaction.js +3 -0
  383. package/lib/types/api/rebootToBootloader.d.ts +4 -0
  384. package/lib/types/api/rebootToBootloader.js +3 -0
  385. package/lib/types/api/recoveryDevice.d.ts +7 -0
  386. package/lib/types/api/recoveryDevice.js +3 -0
  387. package/lib/types/api/removeAllListeners.d.ts +3 -0
  388. package/lib/types/api/removeAllListeners.js +3 -0
  389. package/lib/types/api/renderWebUSBButton.d.ts +2 -0
  390. package/lib/types/api/renderWebUSBButton.js +3 -0
  391. package/lib/types/api/requestLogin.d.ts +20 -0
  392. package/lib/types/api/requestLogin.js +3 -0
  393. package/lib/types/api/resetDevice.d.ts +16 -0
  394. package/lib/types/api/resetDevice.js +3 -0
  395. package/lib/types/api/rippleGetAddress.d.ts +4 -0
  396. package/lib/types/api/rippleGetAddress.js +3 -0
  397. package/lib/types/api/rippleSignTransaction.d.ts +23 -0
  398. package/lib/types/api/rippleSignTransaction.js +3 -0
  399. package/lib/types/api/setProxy.d.ts +9 -0
  400. package/lib/types/api/setProxy.js +3 -0
  401. package/lib/types/api/signMessage.d.ts +11 -0
  402. package/lib/types/api/signMessage.js +3 -0
  403. package/lib/types/api/signTransaction.d.ts +70 -0
  404. package/lib/types/api/signTransaction.js +3 -0
  405. package/lib/types/api/stellarGetAddress.d.ts +4 -0
  406. package/lib/types/api/stellarGetAddress.js +3 -0
  407. package/lib/types/api/stellarSignTransaction.d.ts +182 -0
  408. package/lib/types/api/stellarSignTransaction.js +3 -0
  409. package/lib/types/api/tezosGetAddress.d.ts +4 -0
  410. package/lib/types/api/tezosGetAddress.js +3 -0
  411. package/lib/types/api/tezosGetPublicKey.d.ts +4 -0
  412. package/lib/types/api/tezosGetPublicKey.js +3 -0
  413. package/lib/types/api/tezosSignTransaction.d.ts +61 -0
  414. package/lib/types/api/tezosSignTransaction.js +3 -0
  415. package/lib/types/api/uiResponse.d.ts +3 -0
  416. package/lib/types/api/uiResponse.js +3 -0
  417. package/lib/types/api/verifyMessage.d.ts +11 -0
  418. package/lib/types/api/verifyMessage.js +3 -0
  419. package/lib/types/api/wipeDevice.d.ts +4 -0
  420. package/lib/types/api/wipeDevice.js +3 -0
  421. package/lib/types/coinInfo.d.ts +79 -0
  422. package/lib/types/coinInfo.js +3 -0
  423. package/lib/types/device.d.ts +92 -0
  424. package/lib/types/device.js +3 -0
  425. package/lib/types/firmware.d.ts +36 -0
  426. package/lib/types/firmware.js +3 -0
  427. package/lib/types/index.d.ts +15 -0
  428. package/lib/types/index.js +11 -0
  429. package/lib/types/params.d.ts +56 -0
  430. package/lib/types/params.js +3 -0
  431. package/lib/types/settings.d.ts +34 -0
  432. package/lib/types/settings.js +3 -0
  433. package/lib/types/utils.d.ts +15 -0
  434. package/lib/types/utils.js +3 -0
  435. package/lib/utils/__fixtures__/accountUtils.d.ts +4 -0
  436. package/lib/utils/__fixtures__/accountUtils.js +32 -0
  437. package/lib/utils/__fixtures__/addressUtils.d.ts +10 -0
  438. package/lib/utils/__fixtures__/addressUtils.js +214 -0
  439. package/lib/utils/__fixtures__/ethereumUtils.d.ts +3 -0
  440. package/lib/utils/__fixtures__/ethereumUtils.js +20 -0
  441. package/lib/utils/__fixtures__/formatUtils.d.ts +3 -0
  442. package/lib/utils/__fixtures__/formatUtils.js +15 -0
  443. package/lib/utils/__fixtures__/hdnodeUtils.d.ts +186 -0
  444. package/lib/utils/__fixtures__/hdnodeUtils.js +206 -0
  445. package/lib/utils/accountUtils.d.ts +11 -0
  446. package/lib/utils/accountUtils.js +99 -0
  447. package/lib/utils/addressUtils.d.ts +3 -0
  448. package/lib/utils/addressUtils.js +32 -0
  449. package/lib/utils/assets-browser.d.ts +2 -0
  450. package/lib/utils/assets-browser.js +21 -0
  451. package/lib/utils/assets.d.ts +2 -0
  452. package/lib/utils/assets.js +28 -0
  453. package/lib/utils/bip39.d.ts +3 -0
  454. package/lib/utils/bip39.js +2053 -0
  455. package/lib/utils/browserUtils.d.ts +21 -0
  456. package/lib/utils/browserUtils.js +100 -0
  457. package/lib/utils/bufferUtils.d.ts +3 -0
  458. package/lib/utils/bufferUtils.js +11 -0
  459. package/lib/utils/debug.d.ts +24 -0
  460. package/lib/utils/debug.js +90 -0
  461. package/lib/utils/deferred.d.ts +18 -0
  462. package/lib/utils/deferred.js +66 -0
  463. package/lib/utils/deviceFeaturesUtils.d.ts +6 -0
  464. package/lib/utils/deviceFeaturesUtils.js +115 -0
  465. package/lib/utils/ethereumUtils.d.ts +3 -0
  466. package/lib/utils/ethereumUtils.js +12 -0
  467. package/lib/utils/firmwareUtils.d.ts +7 -0
  468. package/lib/utils/firmwareUtils.js +28 -0
  469. package/lib/utils/formatUtils.d.ts +8 -0
  470. package/lib/utils/formatUtils.js +57 -0
  471. package/lib/utils/hdnodeUtils.d.ts +8 -0
  472. package/lib/utils/hdnodeUtils.js +80 -0
  473. package/lib/utils/interactionTimeout.d.ts +10 -0
  474. package/lib/utils/interactionTimeout.js +34 -0
  475. package/lib/utils/objectUtils.d.ts +10 -0
  476. package/lib/utils/objectUtils.js +37 -0
  477. package/lib/utils/pathUtils.d.ts +20 -0
  478. package/lib/utils/pathUtils.js +159 -0
  479. package/lib/utils/promiseUtils.d.ts +2 -0
  480. package/lib/utils/promiseUtils.js +8 -0
  481. package/lib/utils/urlUtils.d.ts +5 -0
  482. package/lib/utils/urlUtils.js +27 -0
  483. package/lib/utils/versionUtils.d.ts +6 -0
  484. package/lib/utils/versionUtils.js +72 -0
  485. package/lib/utils/windowsUtils.d.ts +2 -0
  486. package/lib/utils/windowsUtils.js +6 -0
  487. package/lib/workers/RNUsbPlugin.d.ts +31 -0
  488. package/lib/workers/RNUsbPlugin.js +65 -0
  489. package/lib/workers/workers-browser.d.ts +8 -0
  490. package/lib/workers/workers-browser.js +19 -0
  491. package/lib/workers/workers-react-native.d.ts +8 -0
  492. package/lib/workers/workers-react-native.js +19 -0
  493. package/lib/workers/workers.d.ts +10 -0
  494. package/lib/workers/workers.js +17 -0
  495. package/package.json +62 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const AbstractMethod_1 = require("../core/AbstractMethod");
4
+ const paramsValidator_1 = require("./common/paramsValidator");
5
+ const constants_1 = require("../constants");
6
+ const BlockchainLink_1 = require("../backend/BlockchainLink");
7
+ const coinInfo_1 = require("../data/coinInfo");
8
+ class BlockchainUnsubscribe extends AbstractMethod_1.AbstractMethod {
9
+ init() {
10
+ this.useDevice = false;
11
+ this.useUi = false;
12
+ const { payload } = this;
13
+ (0, paramsValidator_1.validateParams)(payload, [
14
+ { name: 'accounts', type: 'array', allowEmpty: true },
15
+ { name: 'coin', type: 'string', required: true },
16
+ ]);
17
+ if (payload.accounts) {
18
+ payload.accounts.forEach(account => {
19
+ (0, paramsValidator_1.validateParams)(account, [{ name: 'descriptor', type: 'string', required: true }]);
20
+ });
21
+ }
22
+ const coinInfo = (0, coinInfo_1.getCoinInfo)(payload.coin);
23
+ if (!coinInfo) {
24
+ throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
25
+ }
26
+ (0, BlockchainLink_1.isBackendSupported)(coinInfo);
27
+ this.params = {
28
+ accounts: payload.accounts,
29
+ coinInfo,
30
+ };
31
+ }
32
+ async run() {
33
+ const backend = await (0, BlockchainLink_1.initBlockchain)(this.params.coinInfo, this.postMessage);
34
+ return backend.unsubscribe(this.params.accounts);
35
+ }
36
+ }
37
+ exports.default = BlockchainUnsubscribe;
38
+ //# sourceMappingURL=blockchainUnsubscribe.js.map
@@ -0,0 +1,13 @@
1
+ import { AbstractMethod } from '../core/AbstractMethod';
2
+ import type { CoinInfo } from '../types';
3
+ declare type Params = {
4
+ coinInfo: CoinInfo;
5
+ };
6
+ export default class BlockchainUnsubscribeFiatRates extends AbstractMethod<'blockchainUnsubscribeFiatRates', Params> {
7
+ init(): void;
8
+ run(): Promise<{
9
+ subscribed: boolean;
10
+ }>;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=blockchainUnsubscribeFiatRates.d.ts.map
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const AbstractMethod_1 = require("../core/AbstractMethod");
4
+ const paramsValidator_1 = require("./common/paramsValidator");
5
+ const constants_1 = require("../constants");
6
+ const BlockchainLink_1 = require("../backend/BlockchainLink");
7
+ const coinInfo_1 = require("../data/coinInfo");
8
+ class BlockchainUnsubscribeFiatRates extends AbstractMethod_1.AbstractMethod {
9
+ init() {
10
+ this.useDevice = false;
11
+ this.useUi = false;
12
+ const { payload } = this;
13
+ (0, paramsValidator_1.validateParams)(payload, [{ name: 'coin', type: 'string', required: true }]);
14
+ const coinInfo = (0, coinInfo_1.getCoinInfo)(payload.coin);
15
+ if (!coinInfo) {
16
+ throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
17
+ }
18
+ (0, BlockchainLink_1.isBackendSupported)(coinInfo);
19
+ this.params = {
20
+ coinInfo,
21
+ };
22
+ }
23
+ async run() {
24
+ const backend = await (0, BlockchainLink_1.initBlockchain)(this.params.coinInfo, this.postMessage);
25
+ return backend.unsubscribeFiatRates();
26
+ }
27
+ }
28
+ exports.default = BlockchainUnsubscribeFiatRates;
29
+ //# sourceMappingURL=blockchainUnsubscribeFiatRates.js.map
@@ -0,0 +1,8 @@
1
+ import { PROTO } from '../../constants';
2
+ import type { Device } from '../../device/Device';
3
+ import type { CardanoAddressParameters } from '../../types/api/cardanoGetAddress';
4
+ export declare const validateAddressParameters: (addressParameters: CardanoAddressParameters) => void;
5
+ export declare const modifyAddressParametersForBackwardsCompatibility: (device: Device, address_parameters: PROTO.CardanoAddressParametersType) => PROTO.CardanoAddressParametersType;
6
+ export declare const addressParametersToProto: (addressParameters: CardanoAddressParameters) => PROTO.CardanoAddressParametersType;
7
+ export declare const addressParametersFromProto: (addressParameters: PROTO.CardanoAddressParametersType) => CardanoAddressParameters;
8
+ //# sourceMappingURL=cardanoAddressParameters.d.ts.map
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addressParametersFromProto = exports.addressParametersToProto = exports.modifyAddressParametersForBackwardsCompatibility = exports.validateAddressParameters = void 0;
4
+ const paramsValidator_1 = require("../common/paramsValidator");
5
+ const pathUtils_1 = require("../../utils/pathUtils");
6
+ const constants_1 = require("../../constants");
7
+ const validateAddressParameters = (addressParameters) => {
8
+ (0, paramsValidator_1.validateParams)(addressParameters, [
9
+ { name: 'addressType', type: 'number', required: true },
10
+ { name: 'stakingKeyHash', type: 'string' },
11
+ { name: 'paymentScriptHash', type: 'string' },
12
+ { name: 'stakingScriptHash', type: 'string' },
13
+ ]);
14
+ if (addressParameters.path) {
15
+ (0, pathUtils_1.validatePath)(addressParameters.path);
16
+ }
17
+ if (addressParameters.stakingPath) {
18
+ (0, pathUtils_1.validatePath)(addressParameters.stakingPath);
19
+ }
20
+ if (addressParameters.certificatePointer) {
21
+ (0, paramsValidator_1.validateParams)(addressParameters.certificatePointer, [
22
+ { name: 'blockIndex', type: 'number', required: true },
23
+ { name: 'txIndex', type: 'number', required: true },
24
+ { name: 'certificateIndex', type: 'number', required: true },
25
+ ]);
26
+ }
27
+ };
28
+ exports.validateAddressParameters = validateAddressParameters;
29
+ const modifyAddressParametersForBackwardsCompatibility = (device, address_parameters) => {
30
+ if (address_parameters.address_type === constants_1.PROTO.CardanoAddressType.REWARD) {
31
+ let { address_n, address_n_staking } = address_parameters;
32
+ if (address_n.length > 0 && address_n_staking.length > 0) {
33
+ throw constants_1.ERRORS.TypedError('Method_InvalidParameter', `Only stakingPath is allowed for CardanoAddressType.REWARD`);
34
+ }
35
+ if (device.atLeast(['0', '2.4.3'])) {
36
+ if (address_n.length > 0) {
37
+ address_n_staking = address_n;
38
+ address_n = [];
39
+ }
40
+ }
41
+ else if (address_n_staking.length > 0) {
42
+ address_n = address_n_staking;
43
+ address_n_staking = [];
44
+ }
45
+ return {
46
+ ...address_parameters,
47
+ address_n,
48
+ address_n_staking,
49
+ };
50
+ }
51
+ return address_parameters;
52
+ };
53
+ exports.modifyAddressParametersForBackwardsCompatibility = modifyAddressParametersForBackwardsCompatibility;
54
+ const addressParametersToProto = (addressParameters) => {
55
+ let path = [];
56
+ if (addressParameters.path) {
57
+ path = (0, pathUtils_1.validatePath)(addressParameters.path, 3);
58
+ }
59
+ let stakingPath = [];
60
+ if (addressParameters.stakingPath) {
61
+ stakingPath = (0, pathUtils_1.validatePath)(addressParameters.stakingPath, 3);
62
+ }
63
+ let certificatePointer;
64
+ if (addressParameters.certificatePointer) {
65
+ certificatePointer = {
66
+ block_index: addressParameters.certificatePointer.blockIndex,
67
+ tx_index: addressParameters.certificatePointer.txIndex,
68
+ certificate_index: addressParameters.certificatePointer.certificateIndex,
69
+ };
70
+ }
71
+ return {
72
+ address_type: addressParameters.addressType,
73
+ address_n: path,
74
+ address_n_staking: stakingPath,
75
+ staking_key_hash: addressParameters.stakingKeyHash,
76
+ certificate_pointer: certificatePointer,
77
+ script_payment_hash: addressParameters.paymentScriptHash,
78
+ script_staking_hash: addressParameters.stakingScriptHash,
79
+ };
80
+ };
81
+ exports.addressParametersToProto = addressParametersToProto;
82
+ const addressParametersFromProto = (addressParameters) => {
83
+ let certificatePointer;
84
+ if (addressParameters.certificate_pointer) {
85
+ certificatePointer = {
86
+ blockIndex: addressParameters.certificate_pointer.block_index,
87
+ txIndex: addressParameters.certificate_pointer.tx_index,
88
+ certificateIndex: addressParameters.certificate_pointer.certificate_index,
89
+ };
90
+ }
91
+ return {
92
+ addressType: addressParameters.address_type,
93
+ path: addressParameters.address_n,
94
+ stakingPath: addressParameters.address_n_staking,
95
+ stakingKeyHash: addressParameters.staking_key_hash,
96
+ certificatePointer,
97
+ };
98
+ };
99
+ exports.addressParametersFromProto = addressParametersFromProto;
100
+ //# sourceMappingURL=cardanoAddressParameters.js.map
@@ -0,0 +1,6 @@
1
+ import type { Device } from '../../device/Device';
2
+ import type { PROTO } from '../../constants';
3
+ import type { CardanoAuxiliaryData } from '../../types/api/cardanoSignTransaction';
4
+ export declare const transformAuxiliaryData: (auxiliaryData: CardanoAuxiliaryData) => PROTO.CardanoTxAuxiliaryData;
5
+ export declare const modifyAuxiliaryDataForBackwardsCompatibility: (device: Device, auxiliary_data: PROTO.CardanoTxAuxiliaryData) => PROTO.CardanoTxAuxiliaryData;
6
+ //# sourceMappingURL=cardanoAuxiliaryData.d.ts.map
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modifyAuxiliaryDataForBackwardsCompatibility = exports.transformAuxiliaryData = void 0;
4
+ const cardanoAddressParameters_1 = require("./cardanoAddressParameters");
5
+ const paramsValidator_1 = require("../common/paramsValidator");
6
+ const pathUtils_1 = require("../../utils/pathUtils");
7
+ const transformCatalystRegistrationParameters = (catalystRegistrationParameters) => {
8
+ (0, paramsValidator_1.validateParams)(catalystRegistrationParameters, [
9
+ { name: 'votingPublicKey', type: 'string', required: true },
10
+ { name: 'stakingPath', required: true },
11
+ { name: 'nonce', type: 'uint', required: true },
12
+ ]);
13
+ (0, cardanoAddressParameters_1.validateAddressParameters)(catalystRegistrationParameters.rewardAddressParameters);
14
+ return {
15
+ voting_public_key: catalystRegistrationParameters.votingPublicKey,
16
+ staking_path: (0, pathUtils_1.validatePath)(catalystRegistrationParameters.stakingPath, 3),
17
+ reward_address_parameters: (0, cardanoAddressParameters_1.addressParametersToProto)(catalystRegistrationParameters.rewardAddressParameters),
18
+ nonce: catalystRegistrationParameters.nonce,
19
+ };
20
+ };
21
+ const transformAuxiliaryData = (auxiliaryData) => {
22
+ (0, paramsValidator_1.validateParams)(auxiliaryData, [
23
+ {
24
+ name: 'hash',
25
+ type: 'string',
26
+ },
27
+ ]);
28
+ let catalystRegistrationParameters;
29
+ if (auxiliaryData.catalystRegistrationParameters) {
30
+ catalystRegistrationParameters = transformCatalystRegistrationParameters(auxiliaryData.catalystRegistrationParameters);
31
+ }
32
+ return {
33
+ hash: auxiliaryData.hash,
34
+ catalyst_registration_parameters: catalystRegistrationParameters,
35
+ };
36
+ };
37
+ exports.transformAuxiliaryData = transformAuxiliaryData;
38
+ const modifyAuxiliaryDataForBackwardsCompatibility = (device, auxiliary_data) => {
39
+ const { catalyst_registration_parameters } = auxiliary_data;
40
+ if (catalyst_registration_parameters) {
41
+ catalyst_registration_parameters.reward_address_parameters =
42
+ (0, cardanoAddressParameters_1.modifyAddressParametersForBackwardsCompatibility)(device, catalyst_registration_parameters.reward_address_parameters);
43
+ return {
44
+ ...auxiliary_data,
45
+ catalyst_registration_parameters,
46
+ };
47
+ }
48
+ return auxiliary_data;
49
+ };
50
+ exports.modifyAuxiliaryDataForBackwardsCompatibility = modifyAuxiliaryDataForBackwardsCompatibility;
51
+ //# sourceMappingURL=cardanoAuxiliaryData.js.map
@@ -0,0 +1,14 @@
1
+ import { PROTO } from '../../constants';
2
+ import type { CardanoCertificate } from '../../types/api/cardanoSignTransaction';
3
+ export declare type CertificateWithPoolOwnersAndRelays = {
4
+ certificate: PROTO.CardanoTxCertificate;
5
+ poolOwners: PROTO.CardanoPoolOwner[];
6
+ poolRelays: PROTO.CardanoPoolRelayParameters[];
7
+ };
8
+ export declare type PoolParametersWithOwnersAndRelays = {
9
+ poolParameters?: PROTO.CardanoPoolParametersType;
10
+ poolOwners: PROTO.CardanoPoolOwner[];
11
+ poolRelays: PROTO.CardanoPoolRelayParameters[];
12
+ };
13
+ export declare const transformCertificate: (certificate: CardanoCertificate) => CertificateWithPoolOwnersAndRelays;
14
+ //# sourceMappingURL=cardanoCertificate.d.ts.map
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformCertificate = void 0;
4
+ const paramsValidator_1 = require("../common/paramsValidator");
5
+ const pathUtils_1 = require("../../utils/pathUtils");
6
+ const constants_1 = require("../../constants");
7
+ const ipv4AddressToHex = (ipv4Address) => Buffer.from(ipv4Address.split('.').map(ipPart => parseInt(ipPart, 10))).toString('hex');
8
+ const ipv6AddressToHex = (ipv6Address) => ipv6Address.split(':').join('');
9
+ const validatePoolMargin = (margin) => {
10
+ (0, paramsValidator_1.validateParams)(margin, [
11
+ { name: 'numerator', type: 'string', required: true },
12
+ { name: 'denominator', type: 'string', required: true },
13
+ ]);
14
+ };
15
+ const validatePoolMetadata = (metadata) => {
16
+ (0, paramsValidator_1.validateParams)(metadata, [
17
+ { name: 'url', type: 'string', required: true },
18
+ { name: 'hash', type: 'string', required: true },
19
+ ]);
20
+ };
21
+ const validatePoolRelay = (relay) => {
22
+ (0, paramsValidator_1.validateParams)(relay, [{ name: 'type', type: 'number', required: true }]);
23
+ if (relay.type === constants_1.PROTO.CardanoPoolRelayType.SINGLE_HOST_IP) {
24
+ const paramsToValidate = [
25
+ { name: 'port', type: 'number', required: true },
26
+ ];
27
+ if (relay.ipv4Address) {
28
+ paramsToValidate.push({ name: 'ipv4Address', type: 'string', required: false });
29
+ }
30
+ if (relay.ipv6Address) {
31
+ paramsToValidate.push({ name: 'ipv6Address', type: 'string', required: false });
32
+ }
33
+ (0, paramsValidator_1.validateParams)(relay, paramsToValidate);
34
+ if (!relay.ipv4Address && !relay.ipv6Address) {
35
+ throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Either ipv4Address or ipv6Address must be supplied');
36
+ }
37
+ }
38
+ else if (relay.type === constants_1.PROTO.CardanoPoolRelayType.SINGLE_HOST_NAME) {
39
+ (0, paramsValidator_1.validateParams)(relay, [
40
+ { name: 'hostName', type: 'string', required: true },
41
+ { name: 'port', type: 'number', required: true },
42
+ ]);
43
+ }
44
+ else if (relay.type === constants_1.PROTO.CardanoPoolRelayType.MULTIPLE_HOST_NAME) {
45
+ (0, paramsValidator_1.validateParams)(relay, [{ name: 'hostName', type: 'string', required: true }]);
46
+ }
47
+ };
48
+ const validatePoolOwners = (owners) => {
49
+ owners.forEach(owner => {
50
+ if (owner.stakingKeyHash) {
51
+ (0, paramsValidator_1.validateParams)(owner, [
52
+ { name: 'stakingKeyHash', type: 'string', required: !owner.stakingKeyPath },
53
+ ]);
54
+ }
55
+ if (owner.stakingKeyPath) {
56
+ (0, pathUtils_1.validatePath)(owner.stakingKeyPath, 5);
57
+ }
58
+ if (!owner.stakingKeyHash && !owner.stakingKeyPath) {
59
+ throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Either stakingKeyHash or stakingKeyPath must be supplied');
60
+ }
61
+ });
62
+ const ownersAsPathCount = owners.filter(owner => !!owner.stakingKeyPath).length;
63
+ if (ownersAsPathCount !== 1) {
64
+ throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Exactly one pool owner must be given as a path');
65
+ }
66
+ };
67
+ const validatePoolParameters = (poolParameters) => {
68
+ (0, paramsValidator_1.validateParams)(poolParameters, [
69
+ { name: 'poolId', type: 'string', required: true },
70
+ { name: 'vrfKeyHash', type: 'string', required: true },
71
+ { name: 'pledge', type: 'string', required: true },
72
+ { name: 'cost', type: 'string', required: true },
73
+ { name: 'margin', type: 'object', required: true },
74
+ { name: 'rewardAccount', type: 'string', required: true },
75
+ { name: 'owners', type: 'array', required: true },
76
+ { name: 'relays', type: 'array', required: true, allowEmpty: true },
77
+ { name: 'metadata', type: 'object' },
78
+ ]);
79
+ validatePoolMargin(poolParameters.margin);
80
+ validatePoolOwners(poolParameters.owners);
81
+ poolParameters.relays.forEach(validatePoolRelay);
82
+ if (poolParameters.metadata) {
83
+ validatePoolMetadata(poolParameters.metadata);
84
+ }
85
+ };
86
+ const transformPoolParameters = (poolParameters) => {
87
+ if (!poolParameters) {
88
+ return { poolParameters: undefined, poolOwners: [], poolRelays: [] };
89
+ }
90
+ validatePoolParameters(poolParameters);
91
+ return {
92
+ poolParameters: {
93
+ pool_id: poolParameters.poolId,
94
+ vrf_key_hash: poolParameters.vrfKeyHash,
95
+ pledge: poolParameters.pledge,
96
+ cost: poolParameters.cost,
97
+ margin_numerator: poolParameters.margin.numerator,
98
+ margin_denominator: poolParameters.margin.denominator,
99
+ reward_account: poolParameters.rewardAccount,
100
+ metadata: poolParameters.metadata,
101
+ owners_count: poolParameters.owners.length,
102
+ relays_count: poolParameters.relays.length,
103
+ },
104
+ poolOwners: poolParameters.owners.map(owner => ({
105
+ staking_key_hash: owner.stakingKeyHash,
106
+ staking_key_path: owner.stakingKeyPath
107
+ ? (0, pathUtils_1.validatePath)(owner.stakingKeyPath, 5)
108
+ : undefined,
109
+ })),
110
+ poolRelays: poolParameters.relays.map(relay => ({
111
+ type: relay.type,
112
+ ipv4_address: relay.ipv4Address ? ipv4AddressToHex(relay.ipv4Address) : undefined,
113
+ ipv6_address: relay.ipv6Address ? ipv6AddressToHex(relay.ipv6Address) : undefined,
114
+ host_name: relay.hostName,
115
+ port: relay.port,
116
+ })),
117
+ };
118
+ };
119
+ const transformCertificate = (certificate) => {
120
+ const paramsToValidate = [
121
+ { name: 'type', type: 'number', required: true },
122
+ ];
123
+ if (certificate.type !== constants_1.PROTO.CardanoCertificateType.STAKE_POOL_REGISTRATION) {
124
+ paramsToValidate.push({ name: 'scriptHash', type: 'string' });
125
+ paramsToValidate.push({ name: 'keyHash', type: 'string' });
126
+ }
127
+ if (certificate.type === constants_1.PROTO.CardanoCertificateType.STAKE_DELEGATION) {
128
+ paramsToValidate.push({ name: 'pool', type: 'string', required: true });
129
+ }
130
+ if (certificate.type === constants_1.PROTO.CardanoCertificateType.STAKE_POOL_REGISTRATION) {
131
+ paramsToValidate.push({ name: 'poolParameters', type: 'object', required: true });
132
+ }
133
+ (0, paramsValidator_1.validateParams)(certificate, paramsToValidate);
134
+ const { poolParameters, poolOwners, poolRelays } = transformPoolParameters(certificate.poolParameters);
135
+ return {
136
+ certificate: {
137
+ type: certificate.type,
138
+ path: certificate.path ? (0, pathUtils_1.validatePath)(certificate.path, 5) : undefined,
139
+ script_hash: certificate.scriptHash,
140
+ key_hash: certificate.keyHash,
141
+ pool: certificate.pool,
142
+ pool_parameters: poolParameters,
143
+ },
144
+ poolOwners,
145
+ poolRelays,
146
+ };
147
+ };
148
+ exports.transformCertificate = transformCertificate;
149
+ //# sourceMappingURL=cardanoCertificate.js.map
@@ -0,0 +1,13 @@
1
+ import type { PROTO } from '../../constants';
2
+ export declare type Path = number[];
3
+ export declare type InputWithPath = {
4
+ input: PROTO.CardanoTxInput;
5
+ path?: Path;
6
+ };
7
+ export declare type CollateralInputWithPath = {
8
+ collateralInput: PROTO.CardanoTxCollateralInput;
9
+ path?: Path;
10
+ };
11
+ export declare const transformInput: (input: any) => InputWithPath;
12
+ export declare const transformCollateralInput: (collateralInput: any) => CollateralInputWithPath;
13
+ //# sourceMappingURL=cardanoInputs.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformCollateralInput = exports.transformInput = void 0;
4
+ const paramsValidator_1 = require("../common/paramsValidator");
5
+ const pathUtils_1 = require("../../utils/pathUtils");
6
+ const transformInput = (input) => {
7
+ (0, paramsValidator_1.validateParams)(input, [
8
+ { name: 'prev_hash', type: 'string', required: true },
9
+ { name: 'prev_index', type: 'number', required: true },
10
+ ]);
11
+ return {
12
+ input: {
13
+ prev_hash: input.prev_hash,
14
+ prev_index: input.prev_index,
15
+ },
16
+ path: input.path ? (0, pathUtils_1.validatePath)(input.path, 5) : undefined,
17
+ };
18
+ };
19
+ exports.transformInput = transformInput;
20
+ const transformCollateralInput = (collateralInput) => {
21
+ (0, paramsValidator_1.validateParams)(collateralInput, [
22
+ { name: 'prev_hash', type: 'string', required: true },
23
+ { name: 'prev_index', type: 'number', required: true },
24
+ ]);
25
+ return {
26
+ collateralInput: {
27
+ prev_hash: collateralInput.prev_hash,
28
+ prev_index: collateralInput.prev_index,
29
+ },
30
+ path: collateralInput.path ? (0, pathUtils_1.validatePath)(collateralInput.path, 5) : undefined,
31
+ };
32
+ };
33
+ exports.transformCollateralInput = transformCollateralInput;
34
+ //# sourceMappingURL=cardanoInputs.js.map
@@ -0,0 +1,8 @@
1
+ import type { AssetGroupWithTokens } from './cardanoTokenBundle';
2
+ import type { PROTO } from '../../constants';
3
+ export declare type OutputWithTokens = {
4
+ output: PROTO.CardanoTxOutput;
5
+ tokenBundle?: AssetGroupWithTokens[];
6
+ };
7
+ export declare const transformOutput: (output: any) => OutputWithTokens;
8
+ //# sourceMappingURL=cardanoOutputs.d.ts.map
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformOutput = void 0;
4
+ const paramsValidator_1 = require("../common/paramsValidator");
5
+ const cardanoAddressParameters_1 = require("./cardanoAddressParameters");
6
+ const cardanoTokenBundle_1 = require("./cardanoTokenBundle");
7
+ const transformOutput = (output) => {
8
+ (0, paramsValidator_1.validateParams)(output, [
9
+ { name: 'address', type: 'string' },
10
+ { name: 'amount', type: 'uint', required: true },
11
+ { name: 'tokenBundle', type: 'array', allowEmpty: true },
12
+ { name: 'datumHash', type: 'string' },
13
+ ]);
14
+ const result = {
15
+ output: {
16
+ amount: output.amount,
17
+ asset_groups_count: 0,
18
+ datum_hash: output.datumHash,
19
+ },
20
+ };
21
+ if (output.addressParameters) {
22
+ (0, cardanoAddressParameters_1.validateAddressParameters)(output.addressParameters);
23
+ result.output.address_parameters = (0, cardanoAddressParameters_1.addressParametersToProto)(output.addressParameters);
24
+ }
25
+ else {
26
+ result.output.address = output.address;
27
+ }
28
+ if (output.tokenBundle) {
29
+ result.tokenBundle = (0, cardanoTokenBundle_1.tokenBundleToProto)(output.tokenBundle);
30
+ result.output.asset_groups_count = result.tokenBundle.length;
31
+ }
32
+ else {
33
+ result.output.asset_groups_count = 0;
34
+ }
35
+ return result;
36
+ };
37
+ exports.transformOutput = transformOutput;
38
+ //# sourceMappingURL=cardanoOutputs.js.map
@@ -0,0 +1,8 @@
1
+ import type { PROTO } from '../../constants';
2
+ import type { CardanoAssetGroup } from '../../types/api/cardanoSignTransaction';
3
+ export declare type AssetGroupWithTokens = {
4
+ policyId: string;
5
+ tokens: PROTO.CardanoToken[];
6
+ };
7
+ export declare const tokenBundleToProto: (tokenBundle: CardanoAssetGroup[]) => AssetGroupWithTokens[];
8
+ //# sourceMappingURL=cardanoTokenBundle.d.ts.map
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokenBundleToProto = void 0;
4
+ const paramsValidator_1 = require("../common/paramsValidator");
5
+ const validateTokens = (tokenAmounts) => {
6
+ tokenAmounts.forEach(tokenAmount => {
7
+ (0, paramsValidator_1.validateParams)(tokenAmount, [
8
+ { name: 'assetNameBytes', type: 'string', required: true },
9
+ { name: 'amount', type: 'uint' },
10
+ { name: 'mintAmount', type: 'uint', allowNegative: true },
11
+ ]);
12
+ });
13
+ };
14
+ const validateTokenBundle = (tokenBundle) => {
15
+ tokenBundle.forEach(tokenGroup => {
16
+ (0, paramsValidator_1.validateParams)(tokenGroup, [
17
+ { name: 'policyId', type: 'string', required: true },
18
+ { name: 'tokenAmounts', type: 'array', required: true },
19
+ ]);
20
+ validateTokens(tokenGroup.tokenAmounts);
21
+ });
22
+ };
23
+ const tokenAmountsToProto = (tokenAmounts) => tokenAmounts.map(tokenAmount => ({
24
+ asset_name_bytes: tokenAmount.assetNameBytes,
25
+ amount: tokenAmount.amount,
26
+ mint_amount: tokenAmount.mintAmount,
27
+ }));
28
+ const tokenBundleToProto = (tokenBundle) => {
29
+ validateTokenBundle(tokenBundle);
30
+ return tokenBundle.map(tokenGroup => ({
31
+ policyId: tokenGroup.policyId,
32
+ tokens: tokenAmountsToProto(tokenGroup.tokenAmounts),
33
+ }));
34
+ };
35
+ exports.tokenBundleToProto = tokenBundleToProto;
36
+ //# sourceMappingURL=cardanoTokenBundle.js.map
@@ -0,0 +1,5 @@
1
+ import type { CertificateWithPoolOwnersAndRelays } from './cardanoCertificate';
2
+ import type { CollateralInputWithPath, InputWithPath, Path } from './cardanoInputs';
3
+ import { PROTO } from '../../constants';
4
+ export declare const gatherWitnessPaths: (inputsWithPath: InputWithPath[], certificatesWithPoolOwnersAndRelays: CertificateWithPoolOwnersAndRelays[], withdrawals: PROTO.CardanoTxWithdrawal[], collateralInputsWithPath: CollateralInputWithPath[], requiredSigners: PROTO.CardanoTxRequiredSigner[], additionalWitnessRequests: Path[], signingMode: PROTO.CardanoTxSigningMode) => Path[];
5
+ //# sourceMappingURL=cardanoWitnesses.d.ts.map
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gatherWitnessPaths = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const gatherWitnessPaths = (inputsWithPath, certificatesWithPoolOwnersAndRelays, withdrawals, collateralInputsWithPath, requiredSigners, additionalWitnessRequests, signingMode) => {
6
+ const witnessPaths = new Map();
7
+ function _insert(path) {
8
+ const pathKey = JSON.stringify(path);
9
+ witnessPaths.set(pathKey, path);
10
+ }
11
+ if (signingMode !== constants_1.PROTO.CardanoTxSigningMode.MULTISIG_TRANSACTION) {
12
+ inputsWithPath.forEach(({ path }) => {
13
+ if (path)
14
+ _insert(path);
15
+ });
16
+ certificatesWithPoolOwnersAndRelays.forEach(({ certificate, poolOwners }) => {
17
+ if (certificate.path &&
18
+ (certificate.type === constants_1.PROTO.CardanoCertificateType.STAKE_DELEGATION ||
19
+ certificate.type === constants_1.PROTO.CardanoCertificateType.STAKE_DEREGISTRATION)) {
20
+ _insert(certificate.path);
21
+ }
22
+ poolOwners.forEach(poolOwner => {
23
+ if (poolOwner.staking_key_path)
24
+ _insert(poolOwner.staking_key_path);
25
+ });
26
+ });
27
+ withdrawals.forEach(({ path }) => {
28
+ if (path)
29
+ _insert(path);
30
+ });
31
+ }
32
+ if (signingMode === constants_1.PROTO.CardanoTxSigningMode.PLUTUS_TRANSACTION) {
33
+ collateralInputsWithPath.forEach(({ path }) => {
34
+ if (path)
35
+ _insert(path);
36
+ });
37
+ requiredSigners.forEach(({ key_path }) => {
38
+ if (key_path)
39
+ _insert(key_path);
40
+ });
41
+ }
42
+ additionalWitnessRequests.forEach(path => {
43
+ _insert(path);
44
+ });
45
+ return Array.from(witnessPaths.values());
46
+ };
47
+ exports.gatherWitnessPaths = gatherWitnessPaths;
48
+ //# sourceMappingURL=cardanoWitnesses.js.map
@@ -0,0 +1,23 @@
1
+ import { AbstractMethod } from '../core/AbstractMethod';
2
+ import { PROTO } from '../constants';
3
+ declare type Params = PROTO.CardanoGetAddress & {
4
+ address?: string;
5
+ };
6
+ export default class CardanoGetAddress extends AbstractMethod<'cardanoGetAddress', Params[]> {
7
+ hasBundle?: boolean;
8
+ progress: number;
9
+ confirmed?: boolean;
10
+ init(): void;
11
+ getButtonRequestData(code: string): {
12
+ type: "address";
13
+ serializedPath: string;
14
+ address: string;
15
+ } | undefined;
16
+ confirmation(): Promise<boolean>;
17
+ noBackupConfirmation(): Promise<boolean>;
18
+ _call({ address_parameters, protocol_magic, network_id, derivation_type, show_display, }: Params): Promise<PROTO.CardanoAddress>;
19
+ _ensureFirmwareSupportsBatch(batch: Params): void;
20
+ run(): Promise<import("../types/api/cardanoGetAddress").CardanoAddress | import("../types/api/cardanoGetAddress").CardanoAddress[]>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=cardanoGetAddress.d.ts.map