@trezor/connect 9.1.11 → 9.2.0
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.
- package/CHANGELOG.md +92 -0
- package/README.md +1 -1
- package/lib/api/binance/api/binanceSignTransaction.d.ts +1 -1
- package/lib/api/binance/binanceSignTx.d.ts +1 -1
- package/lib/api/bitcoin/Fees.d.ts +2 -2
- package/lib/api/bitcoin/TransactionComposer.d.ts +2 -2
- package/lib/api/bitcoin/refTx.js +3 -4
- package/lib/api/blockchainGetCurrentFiatRates.d.ts +1 -1
- package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +1 -1
- package/lib/api/cardano/cardanoOutputs.d.ts +1 -1
- package/lib/api/cardano/cardanoTokenBundle.d.ts +2 -2
- package/lib/api/changeLanguage.d.ts +11 -0
- package/lib/api/changeLanguage.js +73 -0
- package/lib/api/common/paramsValidator.js +4 -5
- package/lib/api/eos/eosSignTx.d.ts +57 -57
- package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +6 -6
- package/lib/api/ethereum/api/ethereumSignMessage.d.ts +2 -2
- package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +2 -2
- package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +6 -6
- package/lib/api/ethereum/api/ethereumSignTypedData.js +2 -2
- package/lib/api/ethereum/ethereumDefinitions.d.ts +2 -2
- package/lib/api/ethereum/ethereumSignTx.d.ts +3 -3
- package/lib/api/firmware/getBinary.d.ts +1 -1
- package/lib/api/firmware/getBinary.js +4 -5
- package/lib/api/firmware/modifyFirmware.js +2 -3
- package/lib/api/firmware/uploadFirmware.d.ts +2 -2
- package/lib/api/firmware/verifyAuthenticityProof.js +3 -3
- package/lib/api/getAccountInfo.d.ts +2 -0
- package/lib/api/getCoinInfo.d.ts +19 -19
- package/lib/api/getFeatures.d.ts +11 -11
- package/lib/api/getPublicKey.d.ts +6 -6
- package/lib/api/index.d.ts +1 -0
- package/lib/api/index.js +3 -1
- package/lib/api/nem/nemSignTx.d.ts +14 -14
- package/lib/api/rebootToBootloader.d.ts +2 -1
- package/lib/api/rebootToBootloader.js +10 -1
- package/lib/api/recoveryDevice.d.ts +1 -0
- package/lib/api/recoveryDevice.js +3 -0
- package/lib/api/stellar/stellarSignTx.d.ts +1 -1
- package/lib/api/stellar/stellarSignTx.js +6 -0
- package/lib/api/tezos/tezosSignTx.d.ts +18 -18
- package/lib/backend/BackendManager.d.ts +5 -2
- package/lib/backend/BackendManager.js +54 -20
- package/lib/backend/Blockchain.d.ts +8 -8
- package/lib/backend/Blockchain.js +37 -27
- package/lib/constants/index.d.ts +1 -1
- package/lib/constants/index.js +2 -1
- package/lib/core/AbstractMethod.d.ts +4 -4
- package/lib/core/AbstractMethod.js +23 -22
- package/lib/core/index.d.ts +3 -6
- package/lib/core/index.js +73 -52
- package/lib/core/method.d.ts +1 -3
- package/lib/core/method.native.d.ts +1 -3
- package/lib/data/DataManager.d.ts +2 -2
- package/lib/data/analyticsInfo.d.ts +2 -2
- package/lib/data/coinInfo.d.ts +103 -103
- package/lib/data/coinInfo.js +6 -6
- package/lib/data/config.js +1 -1
- package/lib/data/connectSettings.js +3 -0
- package/lib/data/deviceAuthenticityConfig.js +7 -1
- package/lib/data/firmwareInfo.d.ts +1 -1
- package/lib/data/firmwareInfo.js +14 -12
- package/lib/data/version.d.ts +1 -1
- package/lib/data/version.js +1 -1
- package/lib/device/Device.d.ts +7 -6
- package/lib/device/Device.js +13 -11
- package/lib/device/DeviceCommands.d.ts +7 -7
- package/lib/device/DeviceCommands.js +4 -4
- package/lib/device/DeviceList.d.ts +1 -1
- package/lib/device/DeviceList.js +3 -3
- package/lib/events/blockchain.d.ts +10 -2
- package/lib/events/blockchain.js +1 -0
- package/lib/events/call.d.ts +3 -3
- package/lib/events/core.d.ts +12 -10
- package/lib/events/iframe.d.ts +1 -1
- package/lib/events/popup.d.ts +13 -1
- package/lib/events/ui-promise.d.ts +1 -1
- package/lib/events/ui-request.d.ts +1 -2
- package/lib/events/webextension.d.ts +1 -0
- package/lib/events/webextension.js +1 -0
- package/lib/factory.js +1 -0
- package/lib/index.d.ts +0 -4
- package/lib/index.js +23 -40
- package/lib/types/api/applySettings.d.ts +6 -6
- package/lib/types/api/binance/index.d.ts +10 -10
- package/lib/types/api/cardano/index.d.ts +4 -4
- package/lib/types/api/changeLanguage.d.ts +15 -0
- package/lib/types/api/changeLanguage.js +17 -0
- package/lib/types/api/cipherKeyValue.d.ts +2 -2
- package/lib/types/api/eos/index.d.ts +3 -3
- package/lib/types/api/ethereum/index.d.ts +3 -3
- package/lib/types/api/firmwareUpdate.d.ts +1 -1
- package/lib/types/api/getAddress.d.ts +5 -5
- package/lib/types/api/index.d.ts +2 -0
- package/lib/types/api/nem/index.d.ts +7 -7
- package/lib/types/api/rebootToBootloader.d.ts +2 -2
- package/lib/types/api/recoveryDevice.d.ts +1 -1
- package/lib/types/api/stellar/index.d.ts +169 -146
- package/lib/types/api/stellar/index.js +13 -1
- package/lib/types/device.d.ts +4 -1
- package/lib/types/device.js +2 -2
- package/lib/types/firmware.d.ts +2 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/settings.d.ts +1 -0
- package/lib/utils/assets-browser.d.ts +1 -1
- package/lib/utils/assets.d.ts +3 -1
- package/lib/utils/assets.js +2 -2
- package/lib/utils/deviceFeaturesUtils.js +4 -5
- package/lib/utils/firmwareUtils.js +4 -5
- package/lib/utils/hdnodeUtils.d.ts +3 -3
- package/lib/utils/pathUtils.d.ts +3 -3
- package/lib/utils/promiseUtils.d.ts +0 -1
- package/lib/utils/urlUtils.js +3 -3
- package/package.json +28 -30
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { FeeMarketEIP1559TxData, LegacyTxData } from '@ethereumjs/tx';
|
|
2
|
-
import {
|
|
2
|
+
import { MessagesSchema } from '@trezor/protobuf';
|
|
3
3
|
import type { TypedCall } from '../../device/DeviceCommands';
|
|
4
4
|
import type { EthereumAccessList } from '../../types/api/ethereum';
|
|
5
5
|
export declare const serializeEthereumTx: (txData: LegacyTxData | FeeMarketEIP1559TxData, chainId: number) => string;
|
|
6
|
-
export declare const ethereumSignTx: (typedCall: TypedCall, address_n: number[], to: string, value: string, gas_limit: string, gas_price: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, tx_type?: number, definitions?: EthereumDefinitions) => Promise<{
|
|
6
|
+
export declare const ethereumSignTx: (typedCall: TypedCall, address_n: number[], to: string, value: string, gas_limit: string, gas_price: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, tx_type?: number, definitions?: MessagesSchema.EthereumDefinitions) => Promise<{
|
|
7
7
|
v: string;
|
|
8
8
|
r: string;
|
|
9
9
|
s: string;
|
|
10
10
|
}>;
|
|
11
|
-
export declare const ethereumSignTxEIP1559: (typedCall: TypedCall, address_n: number[], to: string, value: string, gas_limit: string, max_gas_fee: string, max_priority_fee: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, access_list?: EthereumAccessList[], definitions?: EthereumDefinitions) => Promise<{
|
|
11
|
+
export declare const ethereumSignTxEIP1559: (typedCall: TypedCall, address_n: number[], to: string, value: string, gas_limit: string, max_gas_fee: string, max_priority_fee: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, access_list?: EthereumAccessList[], definitions?: MessagesSchema.EthereumDefinitions) => Promise<{
|
|
12
12
|
v: string;
|
|
13
13
|
r: string;
|
|
14
14
|
s: string;
|
|
@@ -6,6 +6,6 @@ interface GetBinaryProps extends GetInfoProps {
|
|
|
6
6
|
version?: number[];
|
|
7
7
|
intermediaryVersion?: IntermediaryVersion;
|
|
8
8
|
}
|
|
9
|
-
export declare const getBinary: ({ features, releases, baseUrl, version, btcOnly, intermediaryVersion, }: GetBinaryProps) =>
|
|
9
|
+
export declare const getBinary: ({ features, releases, baseUrl, version, btcOnly, intermediaryVersion, }: GetBinaryProps) => Promise<ArrayBuffer>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=getBinary.d.ts.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getBinary = void 0;
|
|
4
|
-
const
|
|
5
|
-
const versionUtils = tslib_1.__importStar(require("@trezor/utils/lib/versionUtils"));
|
|
4
|
+
const utils_1 = require("@trezor/utils");
|
|
6
5
|
const assets_1 = require("../../utils/assets");
|
|
7
6
|
const firmwareUtils_1 = require("../../utils/firmwareUtils");
|
|
8
7
|
const firmwareInfo_1 = require("../../data/firmwareInfo");
|
|
@@ -15,15 +14,15 @@ const getBinary = ({ features, releases, baseUrl, version, btcOnly, intermediary
|
|
|
15
14
|
}
|
|
16
15
|
const infoByBootloader = (0, firmwareInfo_1.getInfo)({ features, releases });
|
|
17
16
|
const releaseByFirmware = releases.find(r => version &&
|
|
18
|
-
versionUtils.isVersionArray(version) &&
|
|
19
|
-
versionUtils.isEqual(r.version, version));
|
|
17
|
+
utils_1.versionUtils.isVersionArray(version) &&
|
|
18
|
+
utils_1.versionUtils.isEqual(r.version, version));
|
|
20
19
|
if (!infoByBootloader || !releaseByFirmware) {
|
|
21
20
|
throw new Error('no firmware found for this device');
|
|
22
21
|
}
|
|
23
22
|
if (btcOnly && !releaseByFirmware.url_bitcoinonly) {
|
|
24
23
|
throw new Error(`firmware version ${version} does not exist in btc only variant`);
|
|
25
24
|
}
|
|
26
|
-
if (!versionUtils.isEqual(releaseByFirmware.version, infoByBootloader.release.version)) {
|
|
25
|
+
if (!utils_1.versionUtils.isEqual(releaseByFirmware.version, infoByBootloader.release.version)) {
|
|
27
26
|
throw new Error('version provided as param does not match firmware version found by features in bootloader');
|
|
28
27
|
}
|
|
29
28
|
const fwUrl = releaseByFirmware[btcOnly ? 'url_bitcoinonly' : 'url'];
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stripFwHeaders = exports.shouldStripFwHeaders = void 0;
|
|
4
|
-
const
|
|
5
|
-
const versionUtils = tslib_1.__importStar(require("@trezor/utils/lib/versionUtils"));
|
|
4
|
+
const utils_1 = require("@trezor/utils");
|
|
6
5
|
const shouldStripFwHeaders = (features) => {
|
|
7
6
|
if (features.major_version === 2)
|
|
8
7
|
return false;
|
|
9
|
-
return versionUtils.isNewerOrEqual([features.major_version, features.minor_version, features.patch_version], [1, 8, 0]);
|
|
8
|
+
return utils_1.versionUtils.isNewerOrEqual([features.major_version, features.minor_version, features.patch_version], [1, 8, 0]);
|
|
10
9
|
};
|
|
11
10
|
exports.shouldStripFwHeaders = shouldStripFwHeaders;
|
|
12
11
|
const stripFwHeaders = (fw) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CoreEventMessage } from '../../events';
|
|
2
2
|
import { PROTO } from '../../constants';
|
|
3
3
|
import type { Device } from '../../device/Device';
|
|
4
4
|
import type { TypedCall } from '../../device/DeviceCommands';
|
|
5
|
-
export declare const uploadFirmware: (typedCall: TypedCall, postMessage:
|
|
5
|
+
export declare const uploadFirmware: (typedCall: TypedCall, postMessage: (message: CoreEventMessage) => void, device: Device, { payload }: PROTO.FirmwareUpload) => Promise<{
|
|
6
6
|
message: string;
|
|
7
7
|
}>;
|
|
8
8
|
//# sourceMappingURL=uploadFirmware.d.ts.map
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.verifyAuthenticityProof = exports.getRandomChallenge = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const crypto = tslib_1.__importStar(require("crypto"));
|
|
6
|
-
const
|
|
6
|
+
const utils_1 = require("@trezor/utils");
|
|
7
7
|
const x509certificate_1 = require("./x509certificate");
|
|
8
8
|
const verifySignature = async (rawKey, data, signature) => {
|
|
9
9
|
const signer = crypto.createVerify('sha256');
|
|
@@ -63,9 +63,9 @@ const verifyAuthenticityProof = async ({ certificates, signature, challenge, con
|
|
|
63
63
|
const isDeviceCertValid = await verifySignature(Buffer.from(caCert.tbsCertificate.subjectPublicKeyInfo.bits.bytes), deviceCert.tbsCertificate.asn1.raw, deviceCert.signatureValue.bits.bytes);
|
|
64
64
|
const challengePrefix = Buffer.from('AuthenticateDevice:');
|
|
65
65
|
const prefixedChallenge = Buffer.concat([
|
|
66
|
-
bufferUtils.getChunkSize(challengePrefix.length),
|
|
66
|
+
utils_1.bufferUtils.getChunkSize(challengePrefix.length),
|
|
67
67
|
challengePrefix,
|
|
68
|
-
bufferUtils.getChunkSize(challenge.length),
|
|
68
|
+
utils_1.bufferUtils.getChunkSize(challenge.length),
|
|
69
69
|
challenge,
|
|
70
70
|
]);
|
|
71
71
|
const isSignatureValid = await verifySignature(Buffer.from(deviceCert.tbsCertificate.subjectPublicKeyInfo.bits.bytes), prefixedChallenge, (0, x509certificate_1.fixSignature)(Buffer.from(signature, 'hex')));
|
|
@@ -54,6 +54,7 @@ export default class GetAccountInfo extends AbstractMethod<'getAccountInfo', Req
|
|
|
54
54
|
ledger: number;
|
|
55
55
|
seq: number;
|
|
56
56
|
} | undefined;
|
|
57
|
+
stakingPools?: import("@trezor/blockchain-link-types/lib").StakingPool[] | undefined;
|
|
57
58
|
path: string;
|
|
58
59
|
}>;
|
|
59
60
|
discover(request: Request): Promise<{
|
|
@@ -95,6 +96,7 @@ export default class GetAccountInfo extends AbstractMethod<'getAccountInfo', Req
|
|
|
95
96
|
ledger: number;
|
|
96
97
|
seq: number;
|
|
97
98
|
} | undefined;
|
|
99
|
+
stakingPools?: import("@trezor/blockchain-link-types/lib").StakingPool[] | undefined;
|
|
98
100
|
path: string;
|
|
99
101
|
}>;
|
|
100
102
|
dispose(): void;
|
package/lib/api/getCoinInfo.d.ts
CHANGED
|
@@ -11,23 +11,23 @@ export default class GetCoinInfo extends AbstractMethod<'getCoinInfo', Params> {
|
|
|
11
11
|
url: string[];
|
|
12
12
|
} | undefined;
|
|
13
13
|
name: string;
|
|
14
|
+
slip44: number;
|
|
15
|
+
decimals: number;
|
|
14
16
|
label: string;
|
|
15
17
|
blockTime: number;
|
|
16
18
|
minFee: number;
|
|
17
19
|
maxFee: number;
|
|
18
20
|
shortcut: string;
|
|
19
|
-
slip44: number;
|
|
20
21
|
support: {
|
|
21
22
|
T1B1: string | false;
|
|
22
23
|
T2T1: string | false;
|
|
23
24
|
T2B1: string | false;
|
|
24
25
|
connect: boolean;
|
|
25
26
|
};
|
|
26
|
-
decimals: number;
|
|
27
27
|
defaultFees: {
|
|
28
28
|
feeLimit?: string | undefined;
|
|
29
29
|
feePerTx?: string | undefined;
|
|
30
|
-
label: "
|
|
30
|
+
label: "normal" | "high" | "economy" | "low" | "custom";
|
|
31
31
|
feePerUnit: string;
|
|
32
32
|
blocks: number;
|
|
33
33
|
}[];
|
|
@@ -37,16 +37,6 @@ export default class GetCoinInfo extends AbstractMethod<'getCoinInfo', Params> {
|
|
|
37
37
|
xPubMagicSegwit?: number | undefined;
|
|
38
38
|
taproot?: boolean | undefined;
|
|
39
39
|
type: "bitcoin";
|
|
40
|
-
dustLimit: number;
|
|
41
|
-
curveName: string;
|
|
42
|
-
forceBip143: boolean;
|
|
43
|
-
hashGenesisBlock: string;
|
|
44
|
-
maxAddressLength: number;
|
|
45
|
-
maxFeeSatoshiKb: number;
|
|
46
|
-
minAddressLength: number;
|
|
47
|
-
minFeeSatoshiKb: number;
|
|
48
|
-
segwit: boolean;
|
|
49
|
-
xPubMagic: number;
|
|
50
40
|
network: {
|
|
51
41
|
forkId?: number | undefined;
|
|
52
42
|
messagePrefix: string;
|
|
@@ -59,6 +49,16 @@ export default class GetCoinInfo extends AbstractMethod<'getCoinInfo', Params> {
|
|
|
59
49
|
scriptHash: number;
|
|
60
50
|
wif: number;
|
|
61
51
|
};
|
|
52
|
+
dustLimit: number;
|
|
53
|
+
curveName: string;
|
|
54
|
+
forceBip143: boolean;
|
|
55
|
+
hashGenesisBlock: string;
|
|
56
|
+
maxAddressLength: number;
|
|
57
|
+
maxFeeSatoshiKb: number;
|
|
58
|
+
minAddressLength: number;
|
|
59
|
+
minFeeSatoshiKb: number;
|
|
60
|
+
segwit: boolean;
|
|
61
|
+
xPubMagic: number;
|
|
62
62
|
isBitcoin: boolean;
|
|
63
63
|
}) | ({
|
|
64
64
|
blockchainLink?: {
|
|
@@ -66,23 +66,23 @@ export default class GetCoinInfo extends AbstractMethod<'getCoinInfo', Params> {
|
|
|
66
66
|
url: string[];
|
|
67
67
|
} | undefined;
|
|
68
68
|
name: string;
|
|
69
|
+
slip44: number;
|
|
70
|
+
decimals: number;
|
|
69
71
|
label: string;
|
|
70
72
|
blockTime: number;
|
|
71
73
|
minFee: number;
|
|
72
74
|
maxFee: number;
|
|
73
75
|
shortcut: string;
|
|
74
|
-
slip44: number;
|
|
75
76
|
support: {
|
|
76
77
|
T1B1: string | false;
|
|
77
78
|
T2T1: string | false;
|
|
78
79
|
T2B1: string | false;
|
|
79
80
|
connect: boolean;
|
|
80
81
|
};
|
|
81
|
-
decimals: number;
|
|
82
82
|
defaultFees: {
|
|
83
83
|
feeLimit?: string | undefined;
|
|
84
84
|
feePerTx?: string | undefined;
|
|
85
|
-
label: "
|
|
85
|
+
label: "normal" | "high" | "economy" | "low" | "custom";
|
|
86
86
|
feePerUnit: string;
|
|
87
87
|
blocks: number;
|
|
88
88
|
}[];
|
|
@@ -96,23 +96,23 @@ export default class GetCoinInfo extends AbstractMethod<'getCoinInfo', Params> {
|
|
|
96
96
|
url: string[];
|
|
97
97
|
} | undefined;
|
|
98
98
|
name: string;
|
|
99
|
+
slip44: number;
|
|
100
|
+
decimals: number;
|
|
99
101
|
label: string;
|
|
100
102
|
blockTime: number;
|
|
101
103
|
minFee: number;
|
|
102
104
|
maxFee: number;
|
|
103
105
|
shortcut: string;
|
|
104
|
-
slip44: number;
|
|
105
106
|
support: {
|
|
106
107
|
T1B1: string | false;
|
|
107
108
|
T2T1: string | false;
|
|
108
109
|
T2B1: string | false;
|
|
109
110
|
connect: boolean;
|
|
110
111
|
};
|
|
111
|
-
decimals: number;
|
|
112
112
|
defaultFees: {
|
|
113
113
|
feeLimit?: string | undefined;
|
|
114
114
|
feePerTx?: string | undefined;
|
|
115
|
-
label: "
|
|
115
|
+
label: "normal" | "high" | "economy" | "low" | "custom";
|
|
116
116
|
feePerUnit: string;
|
|
117
117
|
blocks: number;
|
|
118
118
|
}[];
|
package/lib/api/getFeatures.d.ts
CHANGED
|
@@ -2,23 +2,16 @@ import { AbstractMethod } from '../core/AbstractMethod';
|
|
|
2
2
|
export default class GetFeatures extends AbstractMethod<'getFeatures'> {
|
|
3
3
|
init(): void;
|
|
4
4
|
run(): Promise<{
|
|
5
|
-
hide_passphrase_from_host?: boolean | undefined;
|
|
6
5
|
_passphrase_cached?: boolean | undefined;
|
|
7
6
|
busy?: boolean | undefined;
|
|
8
7
|
homescreen_format?: "Toif" | "Jpeg" | "ToiG" | undefined;
|
|
8
|
+
hide_passphrase_from_host?: boolean | undefined;
|
|
9
9
|
unit_color?: number | undefined;
|
|
10
10
|
unit_btconly?: boolean | undefined;
|
|
11
11
|
homescreen_width?: number | undefined;
|
|
12
12
|
homescreen_height?: number | undefined;
|
|
13
13
|
bootloader_locked?: boolean | undefined;
|
|
14
|
-
|
|
15
|
-
language: string | null;
|
|
16
|
-
label: string | null;
|
|
17
|
-
auto_lock_delay_ms: number | null;
|
|
18
|
-
display_rotation: number | null;
|
|
19
|
-
passphrase_always_on_device: boolean | null;
|
|
20
|
-
safety_checks: "Strict" | "PromptAlways" | "PromptTemporarily" | null;
|
|
21
|
-
experimental_features: boolean | null;
|
|
14
|
+
session_id: string | null;
|
|
22
15
|
vendor: string;
|
|
23
16
|
major_version: number;
|
|
24
17
|
minor_version: number;
|
|
@@ -27,6 +20,8 @@ export default class GetFeatures extends AbstractMethod<'getFeatures'> {
|
|
|
27
20
|
device_id: string | null;
|
|
28
21
|
pin_protection: boolean | null;
|
|
29
22
|
passphrase_protection: boolean | null;
|
|
23
|
+
language: string | null;
|
|
24
|
+
label: string | null;
|
|
30
25
|
initialized: boolean | null;
|
|
31
26
|
revision: string | null;
|
|
32
27
|
bootloader_hash: string | null;
|
|
@@ -34,6 +29,7 @@ export default class GetFeatures extends AbstractMethod<'getFeatures'> {
|
|
|
34
29
|
unlocked: boolean | null;
|
|
35
30
|
firmware_present: boolean | null;
|
|
36
31
|
needs_backup: boolean | null;
|
|
32
|
+
flags: number | null;
|
|
37
33
|
model: string;
|
|
38
34
|
fw_major: number | null;
|
|
39
35
|
fw_minor: number | null;
|
|
@@ -47,8 +43,12 @@ export default class GetFeatures extends AbstractMethod<'getFeatures'> {
|
|
|
47
43
|
sd_card_present: boolean | null;
|
|
48
44
|
sd_protection: boolean | null;
|
|
49
45
|
wipe_code_protection: boolean | null;
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
passphrase_always_on_device: boolean | null;
|
|
47
|
+
safety_checks: "Strict" | "PromptAlways" | "PromptTemporarily" | null;
|
|
48
|
+
auto_lock_delay_ms: number | null;
|
|
49
|
+
display_rotation: number | null;
|
|
50
|
+
experimental_features: boolean | null;
|
|
51
|
+
internal_model: import("@trezor/protobuf/src").DeviceModelInternal;
|
|
52
52
|
}>;
|
|
53
53
|
}
|
|
54
54
|
//# sourceMappingURL=getFeatures.d.ts.map
|
|
@@ -16,23 +16,23 @@ export default class GetPublicKey extends AbstractMethod<'getPublicKey', Params[
|
|
|
16
16
|
run(): Promise<{
|
|
17
17
|
xpubSegwit?: string | undefined;
|
|
18
18
|
path: number[];
|
|
19
|
-
publicKey: string;
|
|
20
|
-
serializedPath: string;
|
|
21
19
|
depth: number;
|
|
22
20
|
fingerprint: number;
|
|
21
|
+
xpub: string;
|
|
22
|
+
publicKey: string;
|
|
23
|
+
serializedPath: string;
|
|
23
24
|
chainCode: string;
|
|
24
25
|
childNum: number;
|
|
25
|
-
xpub: string;
|
|
26
26
|
} | {
|
|
27
27
|
xpubSegwit?: string | undefined;
|
|
28
28
|
path: number[];
|
|
29
|
-
publicKey: string;
|
|
30
|
-
serializedPath: string;
|
|
31
29
|
depth: number;
|
|
32
30
|
fingerprint: number;
|
|
31
|
+
xpub: string;
|
|
32
|
+
publicKey: string;
|
|
33
|
+
serializedPath: string;
|
|
33
34
|
chainCode: string;
|
|
34
35
|
childNum: number;
|
|
35
|
-
xpub: string;
|
|
36
36
|
}[]>;
|
|
37
37
|
}
|
|
38
38
|
export {};
|
package/lib/api/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { default as blockchainSubscribe } from './blockchainSubscribe';
|
|
|
16
16
|
export { default as blockchainSubscribeFiatRates } from './blockchainSubscribeFiatRates';
|
|
17
17
|
export { default as blockchainUnsubscribe } from './blockchainUnsubscribe';
|
|
18
18
|
export { default as blockchainUnsubscribeFiatRates } from './blockchainUnsubscribeFiatRates';
|
|
19
|
+
export { default as changeLanguage } from './changeLanguage';
|
|
19
20
|
export { default as changePin } from './changePin';
|
|
20
21
|
export { default as changeWipeCode } from './changeWipeCode';
|
|
21
22
|
export { default as cipherKeyValue } from './cipherKeyValue';
|
package/lib/api/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.checkFirmwareAuthenticity = exports.wipeDevice = exports.verifyMessage = exports.unlockPath = exports.signTransaction = exports.signMessage = exports.setProxy = exports.setBusy = exports.resetDevice = exports.requestLogin = exports.recoveryDevice = exports.rebootToBootloader = exports.pushTransaction = exports.getSettings = exports.getPublicKey = exports.getOwnershipProof = exports.getOwnershipId = exports.getFirmwareHash = exports.getFeatures = exports.getDeviceState = exports.getCoinInfo = exports.getAddress = exports.getAccountInfo = exports.getAccountDescriptor = exports.firmwareUpdate = exports.composeTransaction = exports.cipherKeyValue = exports.changeWipeCode = exports.changePin = exports.blockchainUnsubscribeFiatRates = exports.blockchainUnsubscribe = exports.blockchainSubscribeFiatRates = exports.blockchainSubscribe = exports.blockchainSetCustomBackend = exports.blockchainGetTransactions = exports.blockchainGetFiatRatesForTimestamps = exports.blockchainGetCurrentFiatRates = exports.blockchainGetAccountBalanceHistory = exports.blockchainEstimateFee = exports.blockchainDisconnect = exports.backupDevice = exports.showDeviceTutorial = exports.cancelCoinjoinAuthorization = exports.authorizeCoinjoin = exports.authenticateDevice = exports.applySettings = exports.applyFlags = void 0;
|
|
6
|
+
exports.checkFirmwareAuthenticity = exports.wipeDevice = exports.verifyMessage = exports.unlockPath = exports.signTransaction = exports.signMessage = exports.setProxy = exports.setBusy = exports.resetDevice = exports.requestLogin = exports.recoveryDevice = exports.rebootToBootloader = exports.pushTransaction = exports.getSettings = exports.getPublicKey = exports.getOwnershipProof = exports.getOwnershipId = exports.getFirmwareHash = exports.getFeatures = exports.getDeviceState = exports.getCoinInfo = exports.getAddress = exports.getAccountInfo = exports.getAccountDescriptor = exports.firmwareUpdate = exports.composeTransaction = exports.cipherKeyValue = exports.changeWipeCode = exports.changePin = exports.changeLanguage = exports.blockchainUnsubscribeFiatRates = exports.blockchainUnsubscribe = exports.blockchainSubscribeFiatRates = exports.blockchainSubscribe = exports.blockchainSetCustomBackend = exports.blockchainGetTransactions = exports.blockchainGetFiatRatesForTimestamps = exports.blockchainGetCurrentFiatRates = exports.blockchainGetAccountBalanceHistory = exports.blockchainEstimateFee = exports.blockchainDisconnect = exports.backupDevice = exports.showDeviceTutorial = exports.cancelCoinjoinAuthorization = exports.authorizeCoinjoin = exports.authenticateDevice = exports.applySettings = exports.applyFlags = void 0;
|
|
7
7
|
var applyFlags_1 = require("./applyFlags");
|
|
8
8
|
Object.defineProperty(exports, "applyFlags", { enumerable: true, get: function () { return __importDefault(applyFlags_1).default; } });
|
|
9
9
|
var applySettings_1 = require("./applySettings");
|
|
@@ -40,6 +40,8 @@ var blockchainUnsubscribe_1 = require("./blockchainUnsubscribe");
|
|
|
40
40
|
Object.defineProperty(exports, "blockchainUnsubscribe", { enumerable: true, get: function () { return __importDefault(blockchainUnsubscribe_1).default; } });
|
|
41
41
|
var blockchainUnsubscribeFiatRates_1 = require("./blockchainUnsubscribeFiatRates");
|
|
42
42
|
Object.defineProperty(exports, "blockchainUnsubscribeFiatRates", { enumerable: true, get: function () { return __importDefault(blockchainUnsubscribeFiatRates_1).default; } });
|
|
43
|
+
var changeLanguage_1 = require("./changeLanguage");
|
|
44
|
+
Object.defineProperty(exports, "changeLanguage", { enumerable: true, get: function () { return __importDefault(changeLanguage_1).default; } });
|
|
43
45
|
var changePin_1 = require("./changePin");
|
|
44
46
|
Object.defineProperty(exports, "changePin", { enumerable: true, get: function () { return __importDefault(changePin_1).default; } });
|
|
45
47
|
var changeWipeCode_1 = require("./changeWipeCode");
|
|
@@ -2,9 +2,17 @@ import { PROTO } from '../../constants';
|
|
|
2
2
|
import * as $T from '../../types/api/nem';
|
|
3
3
|
export declare const createTx: (tx: $T.NEMTransaction, address_n: number[], chunkify?: boolean) => {
|
|
4
4
|
chunkify?: boolean | undefined;
|
|
5
|
+
multisig?: {
|
|
6
|
+
address_n?: number[] | undefined;
|
|
7
|
+
network?: number | undefined;
|
|
8
|
+
signer?: string | undefined;
|
|
9
|
+
timestamp: number;
|
|
10
|
+
fee: string | number;
|
|
11
|
+
deadline: number;
|
|
12
|
+
} | undefined;
|
|
5
13
|
transfer?: {
|
|
6
|
-
payload?: string | undefined;
|
|
7
14
|
public_key?: string | undefined;
|
|
15
|
+
payload?: string | undefined;
|
|
8
16
|
mosaics?: {
|
|
9
17
|
quantity: number;
|
|
10
18
|
namespace: string;
|
|
@@ -13,14 +21,6 @@ export declare const createTx: (tx: $T.NEMTransaction, address_n: number[], chun
|
|
|
13
21
|
amount: string | number;
|
|
14
22
|
recipient: string;
|
|
15
23
|
} | undefined;
|
|
16
|
-
multisig?: {
|
|
17
|
-
address_n?: number[] | undefined;
|
|
18
|
-
network?: number | undefined;
|
|
19
|
-
signer?: string | undefined;
|
|
20
|
-
timestamp: number;
|
|
21
|
-
fee: string | number;
|
|
22
|
-
deadline: number;
|
|
23
|
-
} | undefined;
|
|
24
24
|
cosigning?: boolean | undefined;
|
|
25
25
|
provision_namespace?: {
|
|
26
26
|
parent?: string | undefined;
|
|
@@ -32,17 +32,17 @@ export declare const createTx: (tx: $T.NEMTransaction, address_n: number[], chun
|
|
|
32
32
|
fee: string | number;
|
|
33
33
|
sink: string;
|
|
34
34
|
definition: {
|
|
35
|
-
name?: string | undefined;
|
|
36
35
|
fee?: string | number | undefined;
|
|
37
|
-
|
|
38
|
-
divisibility?: number | undefined;
|
|
39
|
-
transferable?: boolean | undefined;
|
|
36
|
+
name?: string | undefined;
|
|
40
37
|
ticker?: string | undefined;
|
|
38
|
+
divisibility?: number | undefined;
|
|
39
|
+
levy?: PROTO.NEMMosaicLevy | undefined;
|
|
41
40
|
levy_address?: string | undefined;
|
|
42
41
|
levy_namespace?: string | undefined;
|
|
43
42
|
levy_mosaic?: string | undefined;
|
|
44
43
|
supply?: number | undefined;
|
|
45
44
|
mutable_supply?: boolean | undefined;
|
|
45
|
+
transferable?: boolean | undefined;
|
|
46
46
|
networks?: number[] | undefined;
|
|
47
47
|
description: string;
|
|
48
48
|
namespace: string;
|
|
@@ -51,9 +51,9 @@ export declare const createTx: (tx: $T.NEMTransaction, address_n: number[], chun
|
|
|
51
51
|
} | undefined;
|
|
52
52
|
supply_change?: {
|
|
53
53
|
type: PROTO.NEMSupplyChangeType;
|
|
54
|
-
delta: number;
|
|
55
54
|
namespace: string;
|
|
56
55
|
mosaic: string;
|
|
56
|
+
delta: number;
|
|
57
57
|
} | undefined;
|
|
58
58
|
aggregate_modification?: {
|
|
59
59
|
modifications?: {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AbstractMethod } from '../core/AbstractMethod';
|
|
2
|
-
|
|
2
|
+
import { PROTO } from '../constants';
|
|
3
|
+
export default class RebootToBootloader extends AbstractMethod<'rebootToBootloader', PROTO.RebootToBootloader> {
|
|
3
4
|
confirmed?: boolean;
|
|
4
5
|
init(): void;
|
|
5
6
|
get info(): string;
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const AbstractMethod_1 = require("../core/AbstractMethod");
|
|
4
4
|
const paramsValidator_1 = require("./common/paramsValidator");
|
|
5
5
|
const events_1 = require("../events");
|
|
6
|
+
const schema_utils_1 = require("@trezor/schema-utils");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
6
8
|
class RebootToBootloader extends AbstractMethod_1.AbstractMethod {
|
|
7
9
|
init() {
|
|
8
10
|
this.allowDeviceMode = [events_1.UI.INITIALIZE, events_1.UI.SEEDLESS];
|
|
@@ -11,6 +13,13 @@ class RebootToBootloader extends AbstractMethod_1.AbstractMethod {
|
|
|
11
13
|
this.requiredPermissions = ['management'];
|
|
12
14
|
this.useDeviceState = false;
|
|
13
15
|
this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, null, this.firmwareRange);
|
|
16
|
+
const { payload } = this;
|
|
17
|
+
(0, schema_utils_1.Assert)(constants_1.PROTO.RebootToBootloader, payload);
|
|
18
|
+
this.params = {
|
|
19
|
+
boot_command: payload.boot_command,
|
|
20
|
+
firmware_header: payload.firmware_header,
|
|
21
|
+
language_data_length: payload.language_data_length,
|
|
22
|
+
};
|
|
14
23
|
}
|
|
15
24
|
get info() {
|
|
16
25
|
return 'Reboot to bootloader';
|
|
@@ -34,7 +43,7 @@ class RebootToBootloader extends AbstractMethod_1.AbstractMethod {
|
|
|
34
43
|
}
|
|
35
44
|
async run() {
|
|
36
45
|
const cmd = this.device.getCommands();
|
|
37
|
-
const response = await cmd.typedCall('RebootToBootloader', 'Success');
|
|
46
|
+
const response = await cmd.typedCall('RebootToBootloader', 'Success', this.params);
|
|
38
47
|
return response.message;
|
|
39
48
|
}
|
|
40
49
|
}
|
|
@@ -43,6 +43,9 @@ class RecoveryDevice extends AbstractMethod_1.AbstractMethod {
|
|
|
43
43
|
const response = await cmd.typedCall('RecoveryDevice', 'Success', this.params);
|
|
44
44
|
return response.message;
|
|
45
45
|
}
|
|
46
|
+
get info() {
|
|
47
|
+
return 'Recover device';
|
|
48
|
+
}
|
|
46
49
|
}
|
|
47
50
|
exports.default = RecoveryDevice;
|
|
48
51
|
//# sourceMappingURL=recoveryDevice.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TypedCall } from '../../device/DeviceCommands';
|
|
2
2
|
import { StellarTransaction } from '../../types/api/stellar';
|
|
3
3
|
export declare const stellarSignTx: (typedCall: TypedCall, address_n: number[], networkPassphrase: string, tx: StellarTransaction) => Promise<{
|
|
4
|
-
signature: string;
|
|
5
4
|
public_key: string;
|
|
5
|
+
signature: string;
|
|
6
6
|
}>;
|
|
7
7
|
//# sourceMappingURL=stellarSignTx.d.ts.map
|
|
@@ -166,6 +166,12 @@ const transformOperation = (op) => {
|
|
|
166
166
|
source_account: op.source,
|
|
167
167
|
bump_to: op.bumpTo,
|
|
168
168
|
};
|
|
169
|
+
case 'claimClaimableBalance':
|
|
170
|
+
return {
|
|
171
|
+
type: 'StellarClaimClaimableBalanceOp',
|
|
172
|
+
source_account: op.source,
|
|
173
|
+
balance_id: op.balanceId,
|
|
174
|
+
};
|
|
169
175
|
}
|
|
170
176
|
};
|
|
171
177
|
const stellarSignTx = async (typedCall, address_n, networkPassphrase, tx) => {
|
|
@@ -18,20 +18,31 @@ export declare const createTx: (address_n: number[], branch: string, operation:
|
|
|
18
18
|
source: Uint8Array;
|
|
19
19
|
amount: string | number;
|
|
20
20
|
fee: string | number;
|
|
21
|
+
gas_limit: number;
|
|
21
22
|
destination: {
|
|
22
23
|
hash: Uint8Array;
|
|
23
24
|
tag: number;
|
|
24
25
|
};
|
|
25
26
|
counter: number;
|
|
26
|
-
gas_limit: number;
|
|
27
27
|
storage_limit: number;
|
|
28
28
|
} | undefined;
|
|
29
|
+
proposal?: {
|
|
30
|
+
source: string;
|
|
31
|
+
period: number;
|
|
32
|
+
proposals: string[];
|
|
33
|
+
} | undefined;
|
|
34
|
+
ballot?: {
|
|
35
|
+
source: string;
|
|
36
|
+
period: number;
|
|
37
|
+
proposal: string;
|
|
38
|
+
ballot: PROTO.TezosBallotType;
|
|
39
|
+
} | undefined;
|
|
29
40
|
reveal?: {
|
|
30
|
-
source: Uint8Array;
|
|
31
41
|
public_key: Uint8Array;
|
|
42
|
+
source: Uint8Array;
|
|
32
43
|
fee: string | number;
|
|
33
|
-
counter: number;
|
|
34
44
|
gas_limit: number;
|
|
45
|
+
counter: number;
|
|
35
46
|
storage_limit: number;
|
|
36
47
|
} | undefined;
|
|
37
48
|
origination?: {
|
|
@@ -40,31 +51,20 @@ export declare const createTx: (address_n: number[], branch: string, operation:
|
|
|
40
51
|
spendable?: boolean | undefined;
|
|
41
52
|
delegatable?: boolean | undefined;
|
|
42
53
|
source: Uint8Array;
|
|
43
|
-
fee: string | number;
|
|
44
54
|
script: string | number[];
|
|
45
|
-
|
|
55
|
+
fee: string | number;
|
|
46
56
|
gas_limit: number;
|
|
57
|
+
counter: number;
|
|
47
58
|
storage_limit: number;
|
|
48
59
|
balance: number;
|
|
49
60
|
} | undefined;
|
|
50
61
|
delegation?: {
|
|
51
62
|
source: Uint8Array;
|
|
52
63
|
fee: string | number;
|
|
53
|
-
|
|
64
|
+
delegate: Uint8Array;
|
|
54
65
|
gas_limit: number;
|
|
66
|
+
counter: number;
|
|
55
67
|
storage_limit: number;
|
|
56
|
-
delegate: Uint8Array;
|
|
57
|
-
} | undefined;
|
|
58
|
-
proposal?: {
|
|
59
|
-
source: string;
|
|
60
|
-
period: number;
|
|
61
|
-
proposals: string[];
|
|
62
|
-
} | undefined;
|
|
63
|
-
ballot?: {
|
|
64
|
-
source: string;
|
|
65
|
-
period: number;
|
|
66
|
-
proposal: string;
|
|
67
|
-
ballot: PROTO.TezosBallotType;
|
|
68
68
|
} | undefined;
|
|
69
69
|
address_n: number[];
|
|
70
70
|
branch: Uint8Array;
|
|
@@ -5,16 +5,19 @@ export declare class BackendManager {
|
|
|
5
5
|
private readonly instances;
|
|
6
6
|
private readonly custom;
|
|
7
7
|
private readonly preferred;
|
|
8
|
+
private readonly reconnect;
|
|
8
9
|
get(shortcut: CoinShortcut): Blockchain | null;
|
|
9
|
-
remove(shortcut: CoinShortcut): void;
|
|
10
10
|
getOrConnect(coinInfo: CoinInfo, postMessage: BlockchainOptions['postMessage']): Promise<Blockchain>;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
reconnectAll(): Promise<Blockchain[]>;
|
|
13
13
|
isSupported(coinInfo: CoinInfo): void;
|
|
14
14
|
setCustom(shortcut: CoinShortcut, blockchainLink: BlockchainLink): void;
|
|
15
15
|
removeCustom(shortcut: CoinShortcut): void;
|
|
16
|
+
private setInstance;
|
|
16
17
|
private setPreferred;
|
|
17
|
-
private
|
|
18
|
+
private planReconnect;
|
|
19
|
+
private clearReconnect;
|
|
20
|
+
private onDisconnected;
|
|
18
21
|
private patchCoinInfo;
|
|
19
22
|
}
|
|
20
23
|
export {};
|