UNPKG

@trezor/transport

Version:

Low level library facilitating protocol buffers based communication with Trezor devices

410 lines (322 loc) 19.5 kB
# 1.5.2 - npm-prerelease: @trezor/transport 1.5.2-beta.2 (9cd10b17a9) - feat(transport): send message progress (1f9c944825) - chore(connect): use Branded type util (ac3c50875f) - feat(suite): troubleshooting tips now include bridge toggling (d500afdcb6) - npm-prerelease: @trezor/transport 1.5.2-beta.1 (2c70ed0b92) # 1.5.1 - npm-prerelease: @trezor/transport 1.5.1-beta.1 (98a275e65c) - chore: update jest to v30 (6d27a2ca35) - chore: add missing workspace libs (bc6a681c27) - chore(transport): UdpApi compare ping/pong as bytes (fb22a432f5) - fix(transport): make sure that chunk size is even with chunkSize (9ef7ccf271) - Revert fix(connect): webusb sessions sync in all deployments (cdd73c596f) - feat(transport): add `ThpState` and `ThpMessageResponse` to api (3efa912cb4) - fix(transport): remove UsbApi.read bytes length validation (fd083f2155) - chore(protocol): rename getChunkHeader to getHeaders and return [header, chunkHeader] (b893516894) # 1.5.0 - npm-prerelease: @trezor/transport 1.5.0-beta.1 (203205104e) - chore: update babel libs (680cc6ba9d) # 1.4.5 - npm-prerelease: @trezor/transport 1.4.5-beta.1 (079ee83fc4) - feat(transport-bluetooth): add BluetoothApi and BluetoothTransport (4b55856619) - fix(transport): assign logger to AbstractApiTransport super class (f8e40602c4) - chore: apply latest prettier (eb758acea9) - fix(transport): in webusb and node-bridge handle session null correctly (6221972b02) - refactor(connect): better device run aborting (062e6843dc) - chore(transport): unify device/descriptor not found errors (65b464f05c) - feat(transport): add `getMessages` method (b003dc69a9) - fix(transport): readMessageBuffer.cancelRead (243d4cf677) # 1.4.4 - npm-prerelease: @trezor/transport 1.4.4-beta.1 (4088a73073) - chore(deps): update usb dependency from 2.14.0 to 2.15.0 (7f3f70a55b) - fix(transport): reinit sessions background when initing webusb transport (968234bee7) - chore(transport): remove unused onClose param from release (64300a51aa) - fix(transport): add synchronous release (f4d1eb6eb5) # 1.4.3 - npm-prerelease: @trezor/transport 1.4.3-beta.1 (78542f7870) - chore(transport): usb: rework implementation of device.reset (e75c5b00ea) - chore(transport): usb: move selectConfiguration outside of reset block (de8bbf162e) - chore(transport): usb rename 'first' param to 'reset' (afb24c461c) - fix(transport): usb: select configuration only if not already selected (8244a4ce91) - chore(transport): do not claim interface that is already claimed (d93655f57e) # 1.4.2 - npm-prerelease: @trezor/transport 1.4.2-beta.2 (8bac92fdc8) - fix(transport): `UDP` read from buffer or promise (444ace3bb9) - npm-release: @trezor/connect 9.5.2-beta.1 (#17529) (3d7542843b) - feat(transport): load protobuf definitions (04cc60bd84) - chore(connect): change `buildMessage` param. `encode` > `protocol` (cdd43fe629) # 1.4.1 - npm-prerelease: @trezor/transport 1.4.1-beta.1 (31d1473977) - fix(repo): fix generate package script (#17300) (a13f269b99) - feat(connect): add `bluetoothProps` to Device (db9e51ad2a) # 1.4.0 - chore(deps): unify ts-node version (3187da7bf4) - Revert chore(transport): move long dep to protobuf package and unify its version with protobufjs (4a6b98bcf3) - chore(transport): move long dep to protobuf package and unify its version with protobufjs (3ab195cf19) - chore(transport): update long from 4.0.0 to 5.2.0 (241eebcb72) - chore(utils): typedObjectKeys (30f8f4fc59) - fix(connect): releasing device on browser reload using sendBeacon api (f308e1a42f) - npm-prerelease: @trezor/transport 1.4.0-beta.1 (4182c7dcd6) - chore(transport): remove unused transport-interface-error (c486d86ef3) - fix(transport): enumerate when UsbDevice without serialNumber disconnects (3f0f817ffd) - fix(transport): close connected UsbDevice if opened (8a1bb83fc0) - fix(transport): transferOut timeout must be inside try block (723a253667) - chore: replace createTimeoutPromise with resolveAfter (fd9f5098ce) - feat(transport): add ping to transports (98af487887) - chore(transport): remove unused export (a12e98efd3) - chore(transport): add another log in usb read error case (9924cb1e40) - fix(transport): usb - write timeout (eb781d8c41) - npm-prerelease: @trezor/transport 1.3.8-beta.1 (38c249b40a) - chore(packages): autofix for sort-imports eslint rule (b96c899ebb) - chore(transport): make messages param required in abstract constructor (6c6244475e) - fix(transport): synchronize usb.getDevices since it returns wrong results when called simultaneously (571439e5dd) - chore(deps): update various @types packages (c6c6b36900) - feat(connect): add `setTransports` method (4880cd3d0c) - refactor(connect): DeviceList init rewritten into abortable tasks (d971ce8bcc) - chore: enable ESLint rule for as-needed | auto-fix (64fcbde4bd) # 1.3.6 - npm-prerelease: @trezor/transport 1.3.6-beta.1 (52aae6ddc6) - chore: unify types for setTimeout return type to address the NodeJS types leak issue (3f34981e5d) - chore(transport): reduce verbosity of usb logs by removing device (c4bef18118) - fix(transport): propagate libusb_access_error for correct udev rules component rendering (aced3af557) - chore(transport): get rid of timeout in sessions background (430e877f8d) - fix(transport): narrow error handling of disconnected device to be the same as with trezord-go (2dcaafd766) - fix(transport): match hid devices correctly on usb layer (cdd2a17c74) # 1.3.5 - npm-prerelease: @trezor/transport 1.3.5-beta.1 (c8c6a8b5c7) # 1.3.4 - npm-prerelease: @trezor/transport 1.3.4-beta.1 (29c4ff061f) # 1.3.3 - npm-prerelease: @trezor/transport 1.3.3-beta.2 (de2cfbf343) - chore: get rid of '@typescript-eslint/no-unused-vars': 'off', and enforce it everywhere (1ad7b6f9b1) - chore: enable import/order rule for whole codebase (e22b683733) - chore: add recommanded checks from eslint-plugin-jest (55d663ca2d) - fix(transport-bridge): synchronize was too strict, allow enumerate and call (b7afbd0515) - fix(connect): webusb sessions sync in all deployments (13ec59a53d) - chore: add no-unsafe-optional-chaining as it became part of recommanded settings (e4c191ee7b) - chore: add no-empty as it will became part of recommanded (ef2dd42a5e) - chore: enable 'prefet-const' ESLint rule (ff5fe34e9e) - chore: add 'import/no-duplicates' ESLint rule (8d8beba862) - feat(transport): implement transport.id and descriptor.sessionOwner (ab294cb3ef) - test(connect): adjust tests (934ae43a30) - refactor(connect): device handling improved (d5077c8e06) - refactor(transport): emit update with separate descriptors (8a98804706) - chore(protobuf): remove `MessageType_` prefix from `MessageType` enum (f620e40f2a) - chore(libs): update @types/sharedworker 0.0.124 to 0.0.130 (3ce0e31de7) - fix(transport): udp interface-change event (17bac171ec) - fix(transport): api.dispose on transport.stop (e79130e88e) - npm-prerelease: @trezor/transport 1.3.3-beta.1 (48637b2975) - chore(transport): passing rest params to parent transport class (f3eff3a302) - refactor(transport): background sessions improved (7644107353) # 1.3.1 - npm-prerelease: @trezor/transport 1.3.1-beta.1 (71a9c73da1) - feat(transport): unify path format for all transports (masked serialNumber) (edc6b6dec1) - refactor(transport): don't pass signal to transports (0cb09ab127) - refactor(transport): sessions background without abort signal (4f6e8cf370) - test(transport): better abortable methods (6dbeefde62) - refactor(transport): better abortable methods (583f4aacb8) - refactor(transport): unknownError optional (82dcd5000a) - refactor(transport): improved listen loops (8bda3abfe2) - fix(transport): improve types (47525ff18a) - revert(transport): remove explicit semver labels handling (8f33d930d3) - fix(transport): node bridge version parsing issue (7a6ff560bb) - chore(deps): update @types/bytebuffer @types/sharedworker @types/web (a9eaedc0a7) - fix(transport-bridge): lock per path (ea069c3988) - test(transport): unit test adjustment (e7305b93f2) - refactor(transport, connect): descriptor diff improvement (afa479e1ea) - feat(transport): `BridgeTransport` use `BridgeProtocolMessage` (43f321e5ff) - fix(transport): node-bridge udp reports same value in descriptor.vendor as the old bridge (a26ec84d20) - fix(transport): node-bridge udp reports same value in descriptor.product as the old bridge (2b7da5ef87) - fix(transport): UDP api: fix missing device disconnect or late device connect events (9d3c1390f5) - chore(transport): remove duplicated fn (29dab70e12) - chore(transport): move type definition to the only place where it is used (1a2fbf7f7d) - fix(transport): usb api in node and abort (5c2cb7d048) - fix(transport): do not load serialNumber if already loaded (53c722801d) - fix(transport-bridge): handle concurrent access cases (29d6e991ef) - fix(transport): remove BridgeTransport.receive timeout (415a8355f0) - fix(transport): transport resetting (b689e0206a) - fix(transport): UsbApi abort endless device.transferIn/transferOut using device.reset (eb5215c66f) - chore(transport): when read returns empty buffer, return ERRORS.INTERFACE_DATA_TRANSFER (1065225e4b) - chore(deps): update usb 2.11.0=>2.13.0 (a12e1353d5) - chore(deps): update protobuf-js 7.2.6=>7.4.0 (0b937d6fe7) - chore(deps): update @types/chrome; @types/web; @types/sharedworker (8e73aeb59b) - feat(transport): add DebugLink support to NodeUsbTransport and UdpTransport (6ba2bd1d27) # 1.3.0 - npm-prerelease: @trezor/transport 1.2.1-beta.3 (4cb7f32c21) - test(transport): add check for unregistered listeners also to udp api (539204f3ed) - fix(transport): clear abort listener in UsbApi abortableMethod (f5dfbad901) - test(transport): unit tests now fail when eventlisteners memory leak is detected (e602689079) - fix(transport-bridge): fix concurrent enumerate on node-bridge (94d1a263d6) - test(transport-test): introduce new dedicated testing package (f0a060127d) - fix(transport-bridge): cleanup also sessions background on dispose (a68bae8897) - chore(transport): descriptor legacy fields and updating local descriptors (460fb75a88) - chore(transport): remove unused json-stable-stringify dep (5d5722228b) - npm-prerelease: @trezor/transport 1.2.1-beta.2 (b5e8d4e769) - chore: update @babel/preset-typescript from 7.23.3 to 7.24.7 (22b452d19c) - chore: update txs from 4.7.0 to 4.16.2 (59c856fd0f) - fix(transport): pass all options to bridgeApiCall (signal, timeout) (96da7b911c) - chore(transport): reduce noise in logs by printing less device info (ba1e335339) - test(transport): stop testing legacy bridge versions (b374ebae50) - test(transport): remove misleading comments (be42c1338c) - chore(transport): return Buffer from transport api read (2d6744abab) - refactor(connect): separate onTransportUpdate (4780c51904) - npm-prerelease: @trezor/transport 1.2.1-beta.1 (65046451dd) - chore(transport): use shared method for sending chunks to api (f8e4ec4565) - chore(transport): remove duplicated code (91cf20d007) - fix(transport): bridge: handle listen loop correctly when Unable to open device error (eab01684cb) - feat(transport): propagate hid descriptors to higher layers (97d3d78e1d) - fix(transport): remove listeners of AbortSignal to prevent memory leaks (b7b51d8944) - feat(connect-web): automatic fallback to core in popup (e4e1fcc033) - chore(transport): optimize imports for tree shaking (60177c7d2e) - fix(transport): correctly reference class instance method (12fe5a0e74) - chore(transport): remove duplicated types declaration (6cb4e8691c) - chore(transport): remove unnecessary return type from Usb and Udp api (8a41a883f1) - feat(transport): `AbstractApiTransport` with abort signal (5090458cc4) - feat(transport): `UsbApi` with abort signal (756f953b5c) - feat(transport): `UdpApi` with abort signal (1c93308e6a) - fix(transport): do not timeout AbstractApiTransport `send` and `receive` methods (bae2e15933) # 1.1.30-beta.2 - chore(transport): remove enumeration intent signaling (ef5b83e6f1) - feat(transport): make descriptor.type required (6b8a46b3be) - fix(transport-bridge): pass type to listen,stable stringify comparison (667dc4a26b) # 1.1.30-beta.1 - chore(transport): add more logs (4eeed40ad6) - fix(transport): UdpTransport use `listen` and `stop` to control enumeration (4356826bc4) # 1.1.29 - chore(transport): make Session type literal (72570f2219) - chore(transport): specify apis fields more verbosely (public/protected) (786fa92fdc) # 1.1.29-beta.1 - feat(transport-bridge): introduce dispose method in transport-bridge (7fe9e7cd56) - fix(transport): usb device filtering (d5ba4383c0) - fix(connect): simultaneous read of connected devices (f181c988a4) - test(transport): enable skipped unit tests (6516c718b7) - fix(transport): AbstractApiTransport.acquire listenPromise condition (c37d12961a) - fix(transport): Transport.stopped initial value (e9638f48ed) - feat(transport): make signal required param in constructor (4b82f8d505) # 1.1.28 - chore(protobuf): ability to build protobuf messages from the specified branch (7a6babb818) - fix(transport): remove accidental descriptors object mutation (3cd6b820f9) - Revert feat(transport): add scheduleActionParams to call api (4de6cbed0c) - feat(transport): add scheduleActionParams to call api (40a053013a) - feat(protocol): separate chunking from encoding (2f445ba734) - chore(transport): drop dead code (faba718c9f) - chore(protocol): rename decode response fields (1db2916fed) - test(transport): fix e2e triggering unit tests (9c117de07e) - feat(transport): handle cases when bridge returns descriptor with same path but different product (e2abb91fc8) - chore(transport): improve tests setup (5aa27a0fba) - chore(transport): keep track of full descriptors in background (be400968bb) - feat(transport): add field type to descriptor (74a7214adb) - test(suite-native): detox e2e (#11821) (3e3f185ece) # 1.1.27 - chore(ci): faster transport E2E (5154075030) - fix(transport): accept logger also for usb transports (3a5dee1318) - chore: TS project references for build:libs + buildless utxo-lib (#11526) (4d857722fe) - fix(connect): fix connect for RN (#11489) (14814fd54b) - chore(repo): mostly buildless monorepo (#11464) (637ad88dcf) # 1.1.26 - chore(transport, trezor-user-env-link): remove cross-fetch (e489dce33) # 1.1.25 - fix: from g:tsx to local tsx in prepublish script (d21d698b2) - chore(suite): autofix newlines (c82455e74) - chore(utils): remove build step requirement from @trezor/utils (#11176) (6cd3d3c81) - feat(connect): add support for StellarClaimClaimableBalanceOp. (51a3e294d) - chore(repo): ESLint refactor + speed up 70% (#11143) (44fa12a79) - chore: update various dependencies (no major update) (fecd89f6e) - chore: use global tsx (c21d81f66) - chore: update typescript and use global tsc (84bc9b8bd) - chore: use global rimraf (5a6759eff) - chore: update prettier (00fe229e0) - chore: upgrade jest to 29.7.0 (3c656dc0b) - chore: upgrade jest (004938e24) - chore: update root dependencies (fac6d99ec) - chore: updated deprecated jest syntax (d3f8043f0) # 1.1.21 - chore(transport): remove unused files (b69076a80) - chore(transport): remove custom eslint no-underscore-dangle rule (049e42d18) - chore(transport): remove custom eslint no-await-in-loop rule (be90dcd2a) - chore(transport): remove custom eslint no-restricted-syntax rule (8b4910209) - chore(transport): remove custom eslint ban-types rule (44da16615) - fix(transport): add missing await (aaecf9440) - chore(transport): move node-bridge logic to transport-bridge package (0f2882af4) - fix(mobile): fix Cardano receive (#10580) (3c5e253e0) - feat(transport): add node-bridge module (acf5056f7) - chore(transport): separate receive util (d1d964c1d) - fix(connect): check custom Transport instance (018ef646d) # 1.1.19 - chore: remove `bytebuffer` dependency (9b2f9def0) - chore(connect): use `tslib` as dependency in all public libs (606ecc63b) - chore: update `jest` and related dependency (b8a321c83) - feat(transport): allow custom chunkSize in protocol-v1.encode (ba855c980) - feat(transport): accept encoding protocols as parameter of send, receive and call methods (b64af958e) - feat(transport): unify protocol encode/decode functions (b4f08409c) - chore(repo): update tsx (53de3e3a8) - tests: switch to fw main branch (91c450631) # 1.1.18 - chore(repo): Upgrade TS 5.3 (#10017) (7277f9d0f) - chore(repo): upgrade to TS 5.2 (#9989) (bf8d0fe80) - refactor(transport): rename files (f5286f613) - chore(tests): cleanup jets configs (#9869) (7b68bab05) - feat(deps): update deps without breaking changes (7e0584c51) - tests(transport): check presence of protobuf messages (60f1a8bf1) - feat(transport): do not require protobuf messages (221573be2) - tests(transport): fix type-check (ffcfde3bb) - tests(transport): fix imports in e2e (1ffb1c05b) - tests(transport): remove unused script/test (6feadb573) - chore(desktop): update deps related to desktop packages (af412cfb5) - feat(mobile): create react-native-usb library (#9689) (3be5f5015) # 1.1.17 - chore: edit links to trezor-firmware repo after renaming its main branch (2b0606371) - fix: content type header applied for native (#9594) (c84270e13) - fix: use type header with the bridge API (#9590) (b8bb2dfe6) # 1.1.16 - feat(transport): udp support (65e617195) - chore: adjust/unify createDeferred usage (4d724a451) # 1.1.15 - chore(transport): merge lowlevel folder with utils (1d8d76637) - chore(transport): reorganize protocol related logic (cbabe2e2c) - refactor(transport): small change in interface device type (fb73caa39) - chore: introduce protobuf and protocol packages (072042e77) # 1.1.14 - chore(deps): bump protobufjs from 6.11.3 to 7.2.4 (d0cb6caae) - fix(transport): fix occasional race condition (fb8062e18) - feat(transport): internal_model enum (26c17386a) # 1.1.13 - test(transport): extend unit tests (99e12c7be) - fix(transport): race condition in listen (6cd72cb60) - chore(transport): update messages (7bc259f8b) - feat(transport): add nodeusb transport (f0cee52f2) - chore(deps): update (a21a081ba) - chore(transport): reuse typed event emitter from utils (379c82dd3) - chore(request-manager,transport,connect-plugin-stelar): fix extraneous dependencies (68bf1d451) - chore(transport): refactor (f7b97fb68) # 1.1.11 - 819c019d1 chore: use workspace:\* everywhere # 1.1.10 - fix(transport): update encoded_network to ArrayBuffer - chore(transport): protobuf patch for ethereum get address # 1.1.9 chore(transport): update protobufs, update dependencies # 1.1.8 - chore(connect;transport): connect.init add transports param; rename transports # 1.1.7 - Code cleanup, sharing constants with @trezor/connect # 1.1.6 - Dependencies: typescript 4.9 # 1.1.5 - Removed flowtype generation - Added CoinJoinRequest message - Cardano: Added support for [CIP36](https://cips.cardano.org/cips/cip36/) Catalyst registration format # 1.1.4 - Added cardano types related to [babbage feature](https://github.com/trezor/trezor-suite/commit/efe9c78a2f74a1b7653b3fddf6cca35ba38d3ae9#diff-c1b9d6a93a3b65c45c4dcf06aa86d6c7a84bcc2e14fefdc4a9bdc3d3298c9a5a) # 1.1.2 - Added CardanoTxRequiredSigner.key_path': 'optional in protobuf patches # 1.1.1 - Changed latest bridge url to https://connect.trezor.io/8/data/bridge/latest.txt' - Added trezor-common submodule. Protobuf definitions (messages.json) and protobuf related typescript definitions. # 1.1.0 - Added @trezor/utils dependency. # 1.0.1 - Fixed: encoding protobuf messages containing numbers over Number.MAX_SAFE_INTEGER in browser environment. # 1.0.0 - first release