@trezor/connect 9.0.6 → 9.0.8

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 (97) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/README.md +1 -1
  3. package/lib/api/authorizeCoinjoin.d.ts +7 -0
  4. package/lib/api/{authorizeCoinJoin.js → authorizeCoinjoin.js} +3 -3
  5. package/lib/api/bitcoin/createPendingTx.d.ts +35 -0
  6. package/lib/api/bitcoin/createPendingTx.js +60 -0
  7. package/lib/api/bitcoin/index.d.ts +1 -0
  8. package/lib/api/bitcoin/index.js +1 -0
  9. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +1 -1
  10. package/lib/api/blockchainGetCurrentFiatRates.d.ts +2 -1
  11. package/lib/api/blockchainGetCurrentFiatRates.js +6 -1
  12. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +3 -1
  13. package/lib/api/blockchainGetFiatRatesForTimestamps.js +9 -1
  14. package/lib/api/blockchainGetTransactions.d.ts +1 -1
  15. package/lib/api/cardano/cardanoAuxiliaryData.js +43 -23
  16. package/lib/api/cardanoSignTransaction.d.ts +2 -1
  17. package/lib/api/cardanoSignTransaction.js +21 -11
  18. package/lib/api/composeTransaction.js +2 -2
  19. package/lib/api/ethereum/ethereumDefinitions.d.ts +7 -0
  20. package/lib/api/ethereum/ethereumDefinitions.js +43 -0
  21. package/lib/api/ethereum/ethereumSignTx.d.ts +3 -2
  22. package/lib/api/ethereum/ethereumSignTx.js +4 -2
  23. package/lib/api/ethereumGetAddress.d.ts +2 -1
  24. package/lib/api/ethereumGetAddress.js +19 -2
  25. package/lib/api/ethereumSignMessage.js +13 -0
  26. package/lib/api/ethereumSignTransaction.js +10 -3
  27. package/lib/api/ethereumSignTypedData.js +13 -0
  28. package/lib/api/firmware/getBinary.d.ts +3 -12
  29. package/lib/api/firmware/getBinary.js +5 -9
  30. package/lib/api/firmwareUpdate.d.ts +3 -2
  31. package/lib/api/firmwareUpdate.js +4 -5
  32. package/lib/api/getAccountInfo.d.ts +8 -8
  33. package/lib/api/getAccountInfo.js +1 -1
  34. package/lib/api/index.d.ts +1 -1
  35. package/lib/api/index.js +3 -3
  36. package/lib/api/setBusy.js +1 -4
  37. package/lib/api/setProxy.js +1 -1
  38. package/lib/api/signTransaction.d.ts +2 -1
  39. package/lib/api/signTransaction.js +12 -2
  40. package/lib/api/unlockPath.js +1 -4
  41. package/lib/backend/Blockchain.d.ts +3 -0
  42. package/lib/core/AbstractMethod.d.ts +1 -0
  43. package/lib/core/AbstractMethod.js +9 -0
  44. package/lib/core/index.d.ts +1 -1
  45. package/lib/core/index.js +24 -11
  46. package/lib/core/method.d.ts +1 -1
  47. package/lib/data/DataManager.d.ts +92 -15
  48. package/lib/data/DataManager.js +3 -53
  49. package/lib/data/config.js +9 -3
  50. package/lib/data/connectSettings.d.ts +0 -1
  51. package/lib/data/connectSettings.js +14 -58
  52. package/lib/data/firmwareInfo.js +48 -46
  53. package/lib/data/transportInfo.d.ts +1 -0
  54. package/lib/data/transportInfo.js +14 -1
  55. package/lib/data/udevInfo.d.ts +1 -0
  56. package/lib/data/udevInfo.js +14 -1
  57. package/lib/data/version.d.ts +1 -1
  58. package/lib/data/version.js +1 -1
  59. package/lib/device/DescriptorStream.js +1 -1
  60. package/lib/device/Device.js +1 -2
  61. package/lib/device/DeviceCommands.d.ts +1 -1
  62. package/lib/device/DeviceCommands.js +6 -7
  63. package/lib/device/DeviceList.d.ts +1 -2
  64. package/lib/device/DeviceList.js +27 -19
  65. package/lib/events/iframe.d.ts +2 -1
  66. package/lib/events/popup.d.ts +2 -1
  67. package/lib/events/transport.d.ts +2 -1
  68. package/lib/factory.js +1 -1
  69. package/lib/index.js +5 -4
  70. package/lib/types/api/{authorizeCoinJoin.d.ts → authorizeCoinjoin.d.ts} +3 -3
  71. package/lib/types/api/{authorizeCoinJoin.js → authorizeCoinjoin.js} +1 -1
  72. package/lib/types/api/bitcoin/index.d.ts +4 -0
  73. package/lib/types/api/cardano/index.d.ts +10 -9
  74. package/lib/types/api/firmwareUpdate.d.ts +2 -1
  75. package/lib/types/api/index.d.ts +2 -2
  76. package/lib/types/firmware.d.ts +2 -3
  77. package/lib/types/index.d.ts +1 -1
  78. package/lib/types/params.d.ts +1 -0
  79. package/lib/types/settings.d.ts +12 -1
  80. package/lib/utils/firmwareUtils.d.ts +0 -1
  81. package/lib/utils/firmwareUtils.js +1 -9
  82. package/lib/utils/pathUtils.d.ts +1 -0
  83. package/lib/utils/pathUtils.js +3 -1
  84. package/lib/utils/promiseUtils.d.ts +5 -1
  85. package/lib/utils/promiseUtils.js +7 -3
  86. package/lib/utils/urlUtils.d.ts +2 -1
  87. package/lib/utils/urlUtils.js +18 -3
  88. package/lib/utils/versionUtils.d.ts +3 -1
  89. package/lib/utils/versionUtils.js +5 -2
  90. package/package.json +16 -16
  91. package/lib/api/authorizeCoinJoin.d.ts +0 -7
  92. package/lib/device/AbortController.d.ts +0 -21
  93. package/lib/device/AbortController.js +0 -40
  94. package/lib/utils/browserUtils.d.ts +0 -21
  95. package/lib/utils/browserUtils.js +0 -100
  96. package/lib/utils/windowsUtils.d.ts +0 -2
  97. package/lib/utils/windowsUtils.js +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trezor/connect",
3
- "version": "9.0.6",
3
+ "version": "9.0.8",
4
4
  "author": "Trezor <info@trezor.io>",
5
5
  "homepage": "https://github.com/trezor/trezor-suite/tree/develop/packages/connect",
6
6
  "description": "High-level javascript interface for Trezor hardware wallet.",
@@ -36,7 +36,7 @@
36
36
  ],
37
37
  "scripts": {
38
38
  "lint:js": "yarn g:eslint '**/*.{ts,tsx,js}'",
39
- "test:unit": "jest",
39
+ "test:unit": "jest --version && jest",
40
40
  "type-check": "tsc --build",
41
41
  "build:lib": "rimraf ./lib && yarn tsc --build tsconfig.lib.json",
42
42
  "version:beta": "tsx scripts/bump-version.ts prerelease",
@@ -49,37 +49,37 @@
49
49
  "prepublish": "yarn tsx ../../scripts/prepublish.js"
50
50
  },
51
51
  "dependencies": {
52
- "@trezor/blockchain-link": "^2.1.7",
53
- "@trezor/connect-common": "0.0.11",
54
- "@trezor/transport": "^1.1.7",
55
- "@trezor/utils": "^9.0.5",
56
- "@trezor/utxo-lib": "^1.0.3",
57
- "bignumber.js": "^9.1.0",
52
+ "@trezor/blockchain-link": "2.1.10",
53
+ "@trezor/connect-analytics": "1.0.0",
54
+ "@trezor/connect-common": "0.0.13",
55
+ "@trezor/transport": "1.1.9",
56
+ "@trezor/utils": "9.0.7",
57
+ "@trezor/utxo-lib": "1.0.5",
58
+ "bignumber.js": "^9.1.1",
58
59
  "blakejs": "^1.2.1",
59
- "bowser": "^2.11.0",
60
60
  "cross-fetch": "^3.1.5",
61
61
  "events": "^3.3.0",
62
- "parse-uri": "1.0.7",
63
62
  "randombytes": "2.1.0",
64
63
  "tslib": "2.5.0"
65
64
  },
66
65
  "devDependencies": {
67
- "@trezor/connect-analytics": "1.0.0",
68
66
  "@trezor/trezor-user-env-link": "1.0.0",
69
67
  "@types/karma": "^6.3.3",
70
68
  "@types/parse-uri": "^1.0.0",
71
69
  "@types/randombytes": "^2.0.0",
72
- "jest": "^26.6.3",
70
+ "jest": "^29.5.0",
71
+ "jest-environment-jsdom": "^29.5.0",
73
72
  "karma": "^6.4.1",
74
73
  "karma-babel-preprocessor": "^8.0.2",
75
74
  "karma-chrome-launcher": "^3.1.1",
76
75
  "karma-jasmine": "^5.1.0",
77
76
  "karma-jasmine-async": "^0.0.1",
78
- "karma-sourcemap-loader": "^0.3.8",
77
+ "karma-sourcemap-loader": "^0.4.0",
79
78
  "karma-webpack": "^5.0.0",
80
- "rimraf": "^3.0.2",
79
+ "rimraf": "^4.4.1",
80
+ "ts-loader": "^9.4.2",
81
81
  "ts-node": "^10.9.1",
82
- "tsx": "^3.8.2",
83
- "typescript": "4.9.3"
82
+ "tsx": "^3.12.6",
83
+ "typescript": "4.9.5"
84
84
  }
85
85
  }
@@ -1,7 +0,0 @@
1
- import { AbstractMethod } from '../core/AbstractMethod';
2
- import { PROTO } from '../constants';
3
- export default class AuthorizeCoinJoin extends AbstractMethod<'authorizeCoinJoin', PROTO.AuthorizeCoinJoin> {
4
- init(): void;
5
- run(): Promise<PROTO.Success>;
6
- }
7
- //# sourceMappingURL=authorizeCoinJoin.d.ts.map
@@ -1,21 +0,0 @@
1
- /// <reference types="node" />
2
- import EventEmitter from 'events';
3
- declare class AbortSignal {
4
- eventEmitter: EventEmitter;
5
- aborted: boolean;
6
- constructor();
7
- toString(): string;
8
- removeEventListener(name: string, handler: any): void;
9
- addEventListener(name: string, handler: any): void;
10
- dispatchEvent(type: string): void;
11
- }
12
- declare class AbortControllerFallback {
13
- signal: AbortSignal;
14
- constructor();
15
- abort(): void;
16
- toString(): string;
17
- }
18
- export type Controller = AbortController | AbortControllerFallback;
19
- export declare const getAbortController: () => AbortControllerFallback | AbortController;
20
- export {};
21
- //# sourceMappingURL=AbortController.d.ts.map
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAbortController = void 0;
4
- const tslib_1 = require("tslib");
5
- const events_1 = tslib_1.__importDefault(require("events"));
6
- class AbortSignal {
7
- constructor() {
8
- this.aborted = false;
9
- this.eventEmitter = new events_1.default();
10
- }
11
- toString() {
12
- return '[object AbortSignal]';
13
- }
14
- removeEventListener(name, handler) {
15
- this.eventEmitter.removeListener(name, handler);
16
- }
17
- addEventListener(name, handler) {
18
- this.eventEmitter.on(name, handler);
19
- }
20
- dispatchEvent(type) {
21
- this.eventEmitter.emit(type, { type, target: this });
22
- }
23
- }
24
- class AbortControllerFallback {
25
- constructor() {
26
- this.signal = new AbortSignal();
27
- }
28
- abort() {
29
- if (this.signal.aborted)
30
- return;
31
- this.signal.dispatchEvent('abort');
32
- this.signal.aborted = true;
33
- }
34
- toString() {
35
- return '[object AbortController]';
36
- }
37
- }
38
- const getAbortController = () => typeof AbortController !== 'undefined' ? new AbortController() : new AbortControllerFallback();
39
- exports.getAbortController = getAbortController;
40
- //# sourceMappingURL=AbortController.js.map
@@ -1,21 +0,0 @@
1
- export type BrowserState = {
2
- name: string;
3
- osname: string;
4
- supported: boolean;
5
- outdated: boolean;
6
- mobile: boolean;
7
- };
8
- type SupportedBrowser = {
9
- version: number;
10
- download: string;
11
- update: string;
12
- };
13
- export declare const getBrowserState: (supportedBrowsers: {
14
- [key: string]: SupportedBrowser;
15
- }) => BrowserState;
16
- export declare const getOS: () => string;
17
- export declare const getSuggestedPlatform: () => string | undefined;
18
- export declare const suggestBridgeInstaller: () => import("..").BridgeInfo;
19
- export declare const suggestUdevInstaller: () => import("..").UdevInfo;
20
- export {};
21
- //# sourceMappingURL=browserUtils.d.ts.map
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.suggestUdevInstaller = exports.suggestBridgeInstaller = exports.getSuggestedPlatform = exports.getOS = exports.getBrowserState = void 0;
4
- const tslib_1 = require("tslib");
5
- const bowser_1 = tslib_1.__importDefault(require("bowser"));
6
- const transportInfo_1 = require("../data/transportInfo");
7
- const udevInfo_1 = require("../data/udevInfo");
8
- const DEFAULT_STATE = {
9
- name: 'unknown',
10
- osname: 'unknown',
11
- supported: false,
12
- outdated: false,
13
- mobile: false,
14
- };
15
- const getBrowserState = (supportedBrowsers) => {
16
- if (typeof window === 'undefined' || !navigator || !navigator.userAgent)
17
- return DEFAULT_STATE;
18
- const { browser, os, platform } = bowser_1.default.parse(navigator.userAgent);
19
- const mobile = platform.type === 'mobile';
20
- let supported = browser.name ? supportedBrowsers[browser.name.toLowerCase()] : null;
21
- let outdated = false;
22
- if (mobile && typeof navigator.usb === 'undefined') {
23
- supported = null;
24
- }
25
- if (supported) {
26
- outdated = supported.version > parseInt(browser.version, 10);
27
- if (outdated) {
28
- supported = null;
29
- }
30
- }
31
- return {
32
- name: `${browser.name}: ${browser.version}; ${os.name}: ${os.version};`,
33
- osname: os.name,
34
- mobile,
35
- supported: !!supported,
36
- outdated,
37
- };
38
- };
39
- exports.getBrowserState = getBrowserState;
40
- const getOS = () => {
41
- if (typeof window === 'undefined' || !navigator || !navigator.userAgent)
42
- return 'unknown';
43
- const { os } = bowser_1.default.parse(navigator.userAgent);
44
- return os.name ? os.name.toLowerCase() : 'unknown';
45
- };
46
- exports.getOS = getOS;
47
- const getSuggestedPlatform = () => {
48
- if (typeof window === 'undefined' || !navigator || !navigator.userAgent)
49
- return;
50
- const agent = navigator.userAgent;
51
- const { os } = bowser_1.default.parse(agent);
52
- const name = os.name ? os.name.toLowerCase() : null;
53
- switch (name) {
54
- case 'linux': {
55
- const isRpm = agent.match(/CentOS|Fedora|Mandriva|Mageia|Red Hat|Scientific|SUSE/)
56
- ? 'rpm'
57
- : 'deb';
58
- const is64x = agent.match(/Linux i[3456]86/) ? '32' : '64';
59
- return `${isRpm}${is64x}`;
60
- }
61
- case 'macos':
62
- return 'mac';
63
- case 'windows': {
64
- const arch = agent.match(/(Win64|WOW64)/) ? '64' : '32';
65
- return `win${arch}`;
66
- }
67
- default:
68
- break;
69
- }
70
- };
71
- exports.getSuggestedPlatform = getSuggestedPlatform;
72
- const suggestBridgeInstaller = () => {
73
- const info = (0, transportInfo_1.getBridgeInfo)();
74
- if (!info.packages.find(p => p.preferred)) {
75
- const platform = (0, exports.getSuggestedPlatform)();
76
- if (platform) {
77
- info.packages = info.packages.map(p => ({
78
- ...p,
79
- preferred: p.platform.indexOf(platform) >= 0,
80
- }));
81
- }
82
- }
83
- return info;
84
- };
85
- exports.suggestBridgeInstaller = suggestBridgeInstaller;
86
- const suggestUdevInstaller = () => {
87
- const info = (0, udevInfo_1.getUdevInfo)();
88
- if (!info.packages.find(p => p.preferred)) {
89
- const platform = (0, exports.getSuggestedPlatform)();
90
- if (platform) {
91
- info.packages = info.packages.map(p => ({
92
- ...p,
93
- preferred: p.platform.indexOf(platform) >= 0,
94
- }));
95
- }
96
- }
97
- return info;
98
- };
99
- exports.suggestUdevInstaller = suggestUdevInstaller;
100
- //# sourceMappingURL=browserUtils.js.map
@@ -1,2 +0,0 @@
1
- export declare const sendMessage: (message: any, origin: string) => void;
2
- //# sourceMappingURL=windowsUtils.d.ts.map
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendMessage = void 0;
4
- const sendMessage = (message, origin) => window.parent.postMessage(message, origin);
5
- exports.sendMessage = sendMessage;
6
- //# sourceMappingURL=windowsUtils.js.map