@metamask/eth-ledger-bridge-keyring 11.2.0 → 11.3.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 +14 -2
- package/dist/errors.cjs +56 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +24 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/errors.d.mts +24 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +51 -0
- package/dist/errors.mjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/ledger-bridge.cjs.map +1 -1
- package/dist/ledger-bridge.d.cts +23 -0
- package/dist/ledger-bridge.d.cts.map +1 -1
- package/dist/ledger-bridge.d.mts +23 -0
- package/dist/ledger-bridge.d.mts.map +1 -1
- package/dist/ledger-bridge.mjs.map +1 -1
- package/dist/ledger-error-handler.cjs +60 -26
- package/dist/ledger-error-handler.cjs.map +1 -1
- package/dist/ledger-error-handler.d.cts +3 -2
- package/dist/ledger-error-handler.d.cts.map +1 -1
- package/dist/ledger-error-handler.d.mts +3 -2
- package/dist/ledger-error-handler.d.mts.map +1 -1
- package/dist/ledger-error-handler.mjs +60 -26
- package/dist/ledger-error-handler.mjs.map +1 -1
- package/dist/ledger-hw-app.cjs.map +1 -1
- package/dist/ledger-hw-app.d.cts +1 -1
- package/dist/ledger-hw-app.d.cts.map +1 -1
- package/dist/ledger-hw-app.d.mts +1 -1
- package/dist/ledger-hw-app.d.mts.map +1 -1
- package/dist/ledger-hw-app.mjs.map +1 -1
- package/dist/ledger-iframe-bridge.cjs +8 -0
- package/dist/ledger-iframe-bridge.cjs.map +1 -1
- package/dist/ledger-iframe-bridge.d.cts +13 -3
- package/dist/ledger-iframe-bridge.d.cts.map +1 -1
- package/dist/ledger-iframe-bridge.d.mts +13 -3
- package/dist/ledger-iframe-bridge.d.mts.map +1 -1
- package/dist/ledger-iframe-bridge.mjs +8 -0
- package/dist/ledger-iframe-bridge.mjs.map +1 -1
- package/dist/ledger-keyring.cjs +16 -0
- package/dist/ledger-keyring.cjs.map +1 -1
- package/dist/ledger-keyring.d.cts +3 -1
- package/dist/ledger-keyring.d.cts.map +1 -1
- package/dist/ledger-keyring.d.mts +3 -1
- package/dist/ledger-keyring.d.mts.map +1 -1
- package/dist/ledger-keyring.mjs +16 -0
- package/dist/ledger-keyring.mjs.map +1 -1
- package/dist/ledger-mobile-bridge.cjs +8 -0
- package/dist/ledger-mobile-bridge.cjs.map +1 -1
- package/dist/ledger-mobile-bridge.d.cts +8 -3
- package/dist/ledger-mobile-bridge.d.cts.map +1 -1
- package/dist/ledger-mobile-bridge.d.mts +8 -3
- package/dist/ledger-mobile-bridge.d.mts.map +1 -1
- package/dist/ledger-mobile-bridge.mjs +8 -0
- package/dist/ledger-mobile-bridge.mjs.map +1 -1
- package/dist/type.cjs +5 -0
- package/dist/type.cjs.map +1 -1
- package/dist/type.d.cts +5 -4
- package/dist/type.d.cts.map +1 -1
- package/dist/type.d.mts +5 -4
- package/dist/type.d.mts.map +1 -1
- package/dist/type.mjs +5 -0
- package/dist/type.mjs.map +1 -1
- package/package.json +5 -4
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type Transport from "@ledgerhq/hw-transport";
|
|
2
|
-
import { GetPublicKeyParams, GetPublicKeyResponse, LedgerBridge, LedgerSignMessageParams, LedgerSignMessageResponse, LedgerSignTransactionParams, LedgerSignTransactionResponse, LedgerSignTypedDataParams, LedgerSignTypedDataResponse } from "./ledger-bridge.mjs";
|
|
2
|
+
import { AppConfigurationResponse, GetAppNameAndVersionResponse, GetPublicKeyParams, GetPublicKeyResponse, LedgerBridge, LedgerSignMessageParams, LedgerSignMessageResponse, LedgerSignTransactionParams, LedgerSignTransactionResponse, LedgerSignTypedDataParams, LedgerSignTypedDataResponse } from "./ledger-bridge.mjs";
|
|
3
3
|
import { TransportMiddleware } from "./ledger-transport-middleware.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { LedgerMobileBridgeOptions } from "./type.mjs";
|
|
5
5
|
export type MobileBridge = LedgerBridge<LedgerMobileBridgeOptions> & {
|
|
6
|
-
getAppNameAndVersion(): Promise<GetAppNameAndVersionResponse>;
|
|
7
6
|
openEthApp(): Promise<void>;
|
|
8
7
|
closeApps(): Promise<void>;
|
|
9
8
|
};
|
|
@@ -104,5 +103,11 @@ export declare class LedgerMobileBridge implements MobileBridge {
|
|
|
104
103
|
* @returns An object contains appName and version.
|
|
105
104
|
*/
|
|
106
105
|
getAppNameAndVersion(): Promise<GetAppNameAndVersionResponse>;
|
|
106
|
+
/**
|
|
107
|
+
* Method to retrieve the current configuration of the Ethereum application on the Ledger device.
|
|
108
|
+
*
|
|
109
|
+
* @returns An object containing the application configuration including blind signing support, ERC20 provisioning status, Stark support, and version.
|
|
110
|
+
*/
|
|
111
|
+
getAppConfiguration(): Promise<AppConfigurationResponse>;
|
|
107
112
|
}
|
|
108
113
|
//# sourceMappingURL=ledger-mobile-bridge.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-mobile-bridge.d.mts","sourceRoot":"","sources":["../src/ledger-mobile-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,+BAA+B;AAEpD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC5B,4BAAwB;AAEzB,OAAO,EAAE,mBAAmB,EAAE,0CAAsC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"ledger-mobile-bridge.d.mts","sourceRoot":"","sources":["../src/ledger-mobile-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,+BAA+B;AAEpD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC5B,4BAAwB;AAEzB,OAAO,EAAE,mBAAmB,EAAE,0CAAsC;AACpE,OAAO,EAAE,yBAAyB,EAAE,mBAAe;AAGnD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,yBAAyB,CAAC,GAAG;IACnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;IAKrD,iBAAiB,UAAS;gBAGxB,mBAAmB,EAAE,mBAAmB,EACxC,IAAI,GAAE,yBAA8B;IAMtC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;;;;;;;OAQG;IACG,iBAAiB,CAAC,EACtB,MAAM,EACN,OAAO,GACR,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI/D;;;;;;;;OAQG;IACG,mBAAmB,CAAC,EACxB,MAAM,EACN,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAInE;;;;;;;;OAQG;IACG,qBAAqB,CAAC,EAC1B,EAAE,EACF,MAAM,GACP,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQvE;;;;;;OAMG;IACG,YAAY,CAAC,EACjB,MAAM,GACP,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAItD;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;;;;OAKG;IACG,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAcnE;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAInE;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAwB/D"}
|
|
@@ -158,6 +158,14 @@ export class LedgerMobileBridge {
|
|
|
158
158
|
async getAppNameAndVersion() {
|
|
159
159
|
return __classPrivateFieldGet(this, _LedgerMobileBridge_instances, "m", _LedgerMobileBridge_getEthApp).call(this).getAppNameAndVersion();
|
|
160
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Method to retrieve the current configuration of the Ethereum application on the Ledger device.
|
|
163
|
+
*
|
|
164
|
+
* @returns An object containing the application configuration including blind signing support, ERC20 provisioning status, Stark support, and version.
|
|
165
|
+
*/
|
|
166
|
+
async getAppConfiguration() {
|
|
167
|
+
return __classPrivateFieldGet(this, _LedgerMobileBridge_instances, "m", _LedgerMobileBridge_getEthApp).call(this).getAppConfiguration();
|
|
168
|
+
}
|
|
161
169
|
}
|
|
162
170
|
_LedgerMobileBridge_transportMiddleware = new WeakMap(), _LedgerMobileBridge_opts = new WeakMap(), _LedgerMobileBridge_instances = new WeakSet(), _LedgerMobileBridge_getTransportMiddleWare = function _LedgerMobileBridge_getTransportMiddleWare() {
|
|
163
171
|
if (__classPrivateFieldGet(this, _LedgerMobileBridge_transportMiddleware, "f")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-mobile-bridge.mjs","sourceRoot":"","sources":["../src/ledger-mobile-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import type Transport from '@ledgerhq/hw-transport';\n\nimport {\n GetPublicKeyParams,\n GetPublicKeyResponse,\n LedgerBridge,\n LedgerSignMessageParams,\n LedgerSignMessageResponse,\n LedgerSignTransactionParams,\n LedgerSignTransactionResponse,\n LedgerSignTypedDataParams,\n LedgerSignTypedDataResponse,\n} from './ledger-bridge';\nimport { MetaMaskLedgerHwAppEth } from './ledger-hw-app';\nimport { TransportMiddleware } from './ledger-transport-middleware';\nimport {\n GetAppNameAndVersionResponse,\n LedgerMobileBridgeOptions,\n} from './type';\n\n// MobileBridge Type will always use LedgerBridge with LedgerMobileBridgeOptions\nexport type MobileBridge = LedgerBridge<LedgerMobileBridgeOptions> & {\n getAppNameAndVersion(): Promise<GetAppNameAndVersionResponse>;\n openEthApp(): Promise<void>;\n closeApps(): Promise<void>;\n};\n\n/**\n * LedgerMobileBridge is a bridge between the LedgerKeyring and the LedgerTransportMiddleware.\n */\nexport class LedgerMobileBridge implements MobileBridge {\n readonly #transportMiddleware?: TransportMiddleware;\n\n #opts: LedgerMobileBridgeOptions;\n\n isDeviceConnected = false;\n\n constructor(\n transportMiddleware: TransportMiddleware,\n opts: LedgerMobileBridgeOptions = {},\n ) {\n this.#opts = opts;\n this.#transportMiddleware = transportMiddleware;\n }\n\n /**\n * Method to initializes the keyring.\n * Mobile ledger doesnt not require init.\n *\n * @returns A promise that will resolve once the bridge is initialized.\n */\n async init(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Method to destroy the keyring.\n * It will dispose the transportmiddleware and set isDeviceConnected to false.\n */\n async destroy(): Promise<void> {\n try {\n await this.#getTransportMiddleWare().dispose();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n this.isDeviceConnected = false;\n }\n\n /**\n * Method to sign a string Message.\n * Sending the string message to the device and returning the signed message.\n *\n * @param params - An object contains hdPath and message.\n * @param params.hdPath - The BIP 32 path of the account.\n * @param params.message - The message to sign.\n * @returns Retrieve v, r, s from the signed message.\n */\n async deviceSignMessage({\n hdPath,\n message,\n }: LedgerSignMessageParams): Promise<LedgerSignMessageResponse> {\n return this.#getEthApp().signPersonalMessage(hdPath, message);\n }\n\n /**\n * Method to sign a EIP712 Message.\n * Sending the typed data message to the device and returning the signed message.\n *\n * @param params - An object contains hdPath, domainSeparatorHex and hashStructMessageHex.\n * @param params.hdPath - The BIP 32 path of the account.\n * @param params.message - The EIP712 message to sign.\n * @returns Retrieve v, r, s from the signed message.\n */\n async deviceSignTypedData({\n hdPath,\n message,\n }: LedgerSignTypedDataParams): Promise<LedgerSignTypedDataResponse> {\n return this.#getEthApp().signEIP712Message(hdPath, message);\n }\n\n /**\n * Method to sign a transaction\n * Sending the hexadecimal transaction message to the device and returning the signed transaction.\n *\n * @param params - An object contains tx, hdPath.\n * @param params.tx - The raw ethereum transaction in hexadecimal to sign.\n * @param params.hdPath - The BIP 32 path of the account.\n * @returns Retrieve v, r, s from the signed transaction.\n */\n async deviceSignTransaction({\n tx,\n hdPath,\n }: LedgerSignTransactionParams): Promise<LedgerSignTransactionResponse> {\n return this.#getEthApp().clearSignTransaction(hdPath, tx, {\n externalPlugins: true,\n erc20: true,\n nft: true,\n });\n }\n\n /**\n * Method to retrieve the ethereum address for a given BIP 32 path.\n *\n * @param params - An object contains hdPath.\n * @param params.hdPath - The BIP 32 path of the account.\n * @returns An object contains publicKey, address and chainCode.\n */\n async getPublicKey({\n hdPath,\n }: GetPublicKeyParams): Promise<GetPublicKeyResponse> {\n return await this.#getEthApp().getAddress(hdPath, false, true);\n }\n\n /**\n * Method to retrieve the current configuration.\n *\n * @returns Retrieve current configuration.\n */\n async getOptions(): Promise<LedgerMobileBridgeOptions> {\n return this.#opts;\n }\n\n /**\n * Method to set the current configuration.\n *\n * @param opts - An configuration object.\n */\n async setOptions(opts: LedgerMobileBridgeOptions): Promise<void> {\n this.#opts = opts;\n }\n\n /**\n * Method to set the transport object to communicate with the device.\n *\n * @param transport - The communication interface with the Ledger hardware wallet. There are different kind of transports based on the technology (channels like U2F, HID, Bluetooth, Webusb).\n * @returns Retrieve boolean.\n */\n async updateTransportMethod(transport: Transport): Promise<boolean> {\n if (!transport.deviceModel) {\n throw new Error('Property `deviceModel` is not defined in `transport`.');\n }\n if (!transport.deviceModel.id) {\n throw new Error(\n 'Property `deviceModel.id` is not defined in `transport`.',\n );\n }\n this.#getTransportMiddleWare().setTransport(transport);\n this.isDeviceConnected = true;\n return Promise.resolve(true);\n }\n\n /**\n * Method to init eth app object on ledger device.\n * This method is not supported on mobile.\n */\n async attemptMakeApp(): Promise<boolean> {\n throw new Error('Method not supported.');\n }\n\n /**\n * Method to open ethereum application on ledger device.\n *\n */\n async openEthApp(): Promise<void> {\n await this.#getEthApp().openEthApp();\n }\n\n /**\n * Method to close all running application on ledger device.\n *\n */\n async closeApps(): Promise<void> {\n await this.#getEthApp().closeApps();\n }\n\n /**\n * Method to retrieve the name and version of the running application in ledger device.\n *\n * @returns An object contains appName and version.\n */\n async getAppNameAndVersion(): Promise<GetAppNameAndVersionResponse> {\n return this.#getEthApp().getAppNameAndVersion();\n }\n\n /**\n * Method to retrieve the transport middleWare object.\n *\n * @returns The TransportMiddleware object.\n */\n #getTransportMiddleWare(): TransportMiddleware {\n if (this.#transportMiddleware) {\n return this.#transportMiddleware;\n }\n throw new Error('Instance `transportMiddleware` is not initialized.');\n }\n\n /**\n * Method to retrieve the ledger Eth App object.\n *\n * @returns The ledger Eth App object.\n */\n #getEthApp(): MetaMaskLedgerHwAppEth {\n return this.#getTransportMiddleWare().getEthApp();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ledger-mobile-bridge.mjs","sourceRoot":"","sources":["../src/ledger-mobile-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import type Transport from '@ledgerhq/hw-transport';\n\nimport {\n AppConfigurationResponse,\n GetAppNameAndVersionResponse,\n GetPublicKeyParams,\n GetPublicKeyResponse,\n LedgerBridge,\n LedgerSignMessageParams,\n LedgerSignMessageResponse,\n LedgerSignTransactionParams,\n LedgerSignTransactionResponse,\n LedgerSignTypedDataParams,\n LedgerSignTypedDataResponse,\n} from './ledger-bridge';\nimport { MetaMaskLedgerHwAppEth } from './ledger-hw-app';\nimport { TransportMiddleware } from './ledger-transport-middleware';\nimport { LedgerMobileBridgeOptions } from './type';\n\n// MobileBridge Type will always use LedgerBridge with LedgerMobileBridgeOptions\nexport type MobileBridge = LedgerBridge<LedgerMobileBridgeOptions> & {\n openEthApp(): Promise<void>;\n closeApps(): Promise<void>;\n};\n\n/**\n * LedgerMobileBridge is a bridge between the LedgerKeyring and the LedgerTransportMiddleware.\n */\nexport class LedgerMobileBridge implements MobileBridge {\n readonly #transportMiddleware?: TransportMiddleware;\n\n #opts: LedgerMobileBridgeOptions;\n\n isDeviceConnected = false;\n\n constructor(\n transportMiddleware: TransportMiddleware,\n opts: LedgerMobileBridgeOptions = {},\n ) {\n this.#opts = opts;\n this.#transportMiddleware = transportMiddleware;\n }\n\n /**\n * Method to initializes the keyring.\n * Mobile ledger doesnt not require init.\n *\n * @returns A promise that will resolve once the bridge is initialized.\n */\n async init(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Method to destroy the keyring.\n * It will dispose the transportmiddleware and set isDeviceConnected to false.\n */\n async destroy(): Promise<void> {\n try {\n await this.#getTransportMiddleWare().dispose();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n this.isDeviceConnected = false;\n }\n\n /**\n * Method to sign a string Message.\n * Sending the string message to the device and returning the signed message.\n *\n * @param params - An object contains hdPath and message.\n * @param params.hdPath - The BIP 32 path of the account.\n * @param params.message - The message to sign.\n * @returns Retrieve v, r, s from the signed message.\n */\n async deviceSignMessage({\n hdPath,\n message,\n }: LedgerSignMessageParams): Promise<LedgerSignMessageResponse> {\n return this.#getEthApp().signPersonalMessage(hdPath, message);\n }\n\n /**\n * Method to sign a EIP712 Message.\n * Sending the typed data message to the device and returning the signed message.\n *\n * @param params - An object contains hdPath, domainSeparatorHex and hashStructMessageHex.\n * @param params.hdPath - The BIP 32 path of the account.\n * @param params.message - The EIP712 message to sign.\n * @returns Retrieve v, r, s from the signed message.\n */\n async deviceSignTypedData({\n hdPath,\n message,\n }: LedgerSignTypedDataParams): Promise<LedgerSignTypedDataResponse> {\n return this.#getEthApp().signEIP712Message(hdPath, message);\n }\n\n /**\n * Method to sign a transaction\n * Sending the hexadecimal transaction message to the device and returning the signed transaction.\n *\n * @param params - An object contains tx, hdPath.\n * @param params.tx - The raw ethereum transaction in hexadecimal to sign.\n * @param params.hdPath - The BIP 32 path of the account.\n * @returns Retrieve v, r, s from the signed transaction.\n */\n async deviceSignTransaction({\n tx,\n hdPath,\n }: LedgerSignTransactionParams): Promise<LedgerSignTransactionResponse> {\n return this.#getEthApp().clearSignTransaction(hdPath, tx, {\n externalPlugins: true,\n erc20: true,\n nft: true,\n });\n }\n\n /**\n * Method to retrieve the ethereum address for a given BIP 32 path.\n *\n * @param params - An object contains hdPath.\n * @param params.hdPath - The BIP 32 path of the account.\n * @returns An object contains publicKey, address and chainCode.\n */\n async getPublicKey({\n hdPath,\n }: GetPublicKeyParams): Promise<GetPublicKeyResponse> {\n return await this.#getEthApp().getAddress(hdPath, false, true);\n }\n\n /**\n * Method to retrieve the current configuration.\n *\n * @returns Retrieve current configuration.\n */\n async getOptions(): Promise<LedgerMobileBridgeOptions> {\n return this.#opts;\n }\n\n /**\n * Method to set the current configuration.\n *\n * @param opts - An configuration object.\n */\n async setOptions(opts: LedgerMobileBridgeOptions): Promise<void> {\n this.#opts = opts;\n }\n\n /**\n * Method to set the transport object to communicate with the device.\n *\n * @param transport - The communication interface with the Ledger hardware wallet. There are different kind of transports based on the technology (channels like U2F, HID, Bluetooth, Webusb).\n * @returns Retrieve boolean.\n */\n async updateTransportMethod(transport: Transport): Promise<boolean> {\n if (!transport.deviceModel) {\n throw new Error('Property `deviceModel` is not defined in `transport`.');\n }\n if (!transport.deviceModel.id) {\n throw new Error(\n 'Property `deviceModel.id` is not defined in `transport`.',\n );\n }\n this.#getTransportMiddleWare().setTransport(transport);\n this.isDeviceConnected = true;\n return Promise.resolve(true);\n }\n\n /**\n * Method to init eth app object on ledger device.\n * This method is not supported on mobile.\n */\n async attemptMakeApp(): Promise<boolean> {\n throw new Error('Method not supported.');\n }\n\n /**\n * Method to open ethereum application on ledger device.\n *\n */\n async openEthApp(): Promise<void> {\n await this.#getEthApp().openEthApp();\n }\n\n /**\n * Method to close all running application on ledger device.\n *\n */\n async closeApps(): Promise<void> {\n await this.#getEthApp().closeApps();\n }\n\n /**\n * Method to retrieve the name and version of the running application in ledger device.\n *\n * @returns An object contains appName and version.\n */\n async getAppNameAndVersion(): Promise<GetAppNameAndVersionResponse> {\n return this.#getEthApp().getAppNameAndVersion();\n }\n\n /**\n * Method to retrieve the current configuration of the Ethereum application on the Ledger device.\n *\n * @returns An object containing the application configuration including blind signing support, ERC20 provisioning status, Stark support, and version.\n */\n async getAppConfiguration(): Promise<AppConfigurationResponse> {\n return this.#getEthApp().getAppConfiguration();\n }\n\n /**\n * Method to retrieve the transport middleWare object.\n *\n * @returns The TransportMiddleware object.\n */\n #getTransportMiddleWare(): TransportMiddleware {\n if (this.#transportMiddleware) {\n return this.#transportMiddleware;\n }\n throw new Error('Instance `transportMiddleware` is not initialized.');\n }\n\n /**\n * Method to retrieve the ledger Eth App object.\n *\n * @returns The ledger Eth App object.\n */\n #getEthApp(): MetaMaskLedgerHwAppEth {\n return this.#getTransportMiddleWare().getEthApp();\n }\n}\n"]}
|
package/dist/type.cjs
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LedgerStatusError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
6
|
+
* This class is kept for backwards compatibility only.
|
|
7
|
+
*/
|
|
4
8
|
class LedgerStatusError extends Error {
|
|
5
9
|
/**
|
|
6
10
|
* Creates a new LedgerStatusError.
|
|
7
11
|
*
|
|
8
12
|
* @param statusCode - The status code of the error.
|
|
9
13
|
* @param message - The message of the error.
|
|
14
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
10
15
|
*/
|
|
11
16
|
constructor(statusCode, message) {
|
|
12
17
|
super(message);
|
package/dist/type.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.cjs","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"type.cjs","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAM1C;;;;;;OAMG;IACH,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAjBD,8CAiBC","sourcesContent":["export type LedgerMobileBridgeOptions = Record<string, never>;\n\n/**\n * @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.\n * This class is kept for backwards compatibility only.\n */\nexport class LedgerStatusError extends Error {\n /**\n * The status code of the error.\n */\n public readonly statusCode: number;\n\n /**\n * Creates a new LedgerStatusError.\n *\n * @param statusCode - The status code of the error.\n * @param message - The message of the error.\n * @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.\n */\n constructor(statusCode: number, message: string) {\n super(message);\n this.statusCode = statusCode;\n }\n}\n"]}
|
package/dist/type.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type GetAppNameAndVersionResponse = {
|
|
2
|
-
appName: string;
|
|
3
|
-
version: string;
|
|
4
|
-
};
|
|
5
1
|
export type LedgerMobileBridgeOptions = Record<string, never>;
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
4
|
+
* This class is kept for backwards compatibility only.
|
|
5
|
+
*/
|
|
6
6
|
export declare class LedgerStatusError extends Error {
|
|
7
7
|
/**
|
|
8
8
|
* The status code of the error.
|
|
@@ -13,6 +13,7 @@ export declare class LedgerStatusError extends Error {
|
|
|
13
13
|
*
|
|
14
14
|
* @param statusCode - The status code of the error.
|
|
15
15
|
* @param message - The message of the error.
|
|
16
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
16
17
|
*/
|
|
17
18
|
constructor(statusCode: number, message: string);
|
|
18
19
|
}
|
package/dist/type.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.cts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"type.d.cts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE9D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C;;OAEG;IACH,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;gBACS,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIhD"}
|
package/dist/type.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type GetAppNameAndVersionResponse = {
|
|
2
|
-
appName: string;
|
|
3
|
-
version: string;
|
|
4
|
-
};
|
|
5
1
|
export type LedgerMobileBridgeOptions = Record<string, never>;
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
4
|
+
* This class is kept for backwards compatibility only.
|
|
5
|
+
*/
|
|
6
6
|
export declare class LedgerStatusError extends Error {
|
|
7
7
|
/**
|
|
8
8
|
* The status code of the error.
|
|
@@ -13,6 +13,7 @@ export declare class LedgerStatusError extends Error {
|
|
|
13
13
|
*
|
|
14
14
|
* @param statusCode - The status code of the error.
|
|
15
15
|
* @param message - The message of the error.
|
|
16
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
16
17
|
*/
|
|
17
18
|
constructor(statusCode: number, message: string);
|
|
18
19
|
}
|
package/dist/type.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.mts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"type.d.mts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE9D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C;;OAEG;IACH,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;gBACS,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIhD"}
|
package/dist/type.mjs
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
3
|
+
* This class is kept for backwards compatibility only.
|
|
4
|
+
*/
|
|
1
5
|
export class LedgerStatusError extends Error {
|
|
2
6
|
/**
|
|
3
7
|
* Creates a new LedgerStatusError.
|
|
4
8
|
*
|
|
5
9
|
* @param statusCode - The status code of the error.
|
|
6
10
|
* @param message - The message of the error.
|
|
11
|
+
* @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.
|
|
7
12
|
*/
|
|
8
13
|
constructor(statusCode, message) {
|
|
9
14
|
super(message);
|
package/dist/type.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.mjs","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type.mjs","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAM1C;;;;;;OAMG;IACH,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF","sourcesContent":["export type LedgerMobileBridgeOptions = Record<string, never>;\n\n/**\n * @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.\n * This class is kept for backwards compatibility only.\n */\nexport class LedgerStatusError extends Error {\n /**\n * The status code of the error.\n */\n public readonly statusCode: number;\n\n /**\n * Creates a new LedgerStatusError.\n *\n * @param statusCode - The status code of the error.\n * @param message - The message of the error.\n * @deprecated Use `HardwareWalletError` from `@metamask/hw-wallet-sdk` instead.\n */\n constructor(statusCode: number, message: string) {\n super(message);\n this.statusCode = statusCode;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask/eth-ledger-bridge-keyring",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.0",
|
|
4
4
|
"description": "A MetaMask compatible keyring, for ledger hardware wallets",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ethereum",
|
|
@@ -51,8 +51,9 @@
|
|
|
51
51
|
"@ethereumjs/util": "^9.1.0",
|
|
52
52
|
"@ledgerhq/hw-app-eth": "^6.42.0",
|
|
53
53
|
"@metamask/eth-sig-util": "^8.2.0",
|
|
54
|
-
"@metamask/
|
|
55
|
-
"@metamask/keyring-
|
|
54
|
+
"@metamask/hw-wallet-sdk": "^0.4.0",
|
|
55
|
+
"@metamask/keyring-api": "^21.4.0",
|
|
56
|
+
"@metamask/keyring-utils": "^3.2.0",
|
|
56
57
|
"hdkey": "^2.1.0"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
@@ -65,7 +66,7 @@
|
|
|
65
66
|
"@ledgerhq/types-live": "^6.52.0",
|
|
66
67
|
"@metamask/account-api": "^0.12.0",
|
|
67
68
|
"@metamask/auto-changelog": "^3.4.4",
|
|
68
|
-
"@metamask/keyring-utils": "^3.
|
|
69
|
+
"@metamask/keyring-utils": "^3.2.0",
|
|
69
70
|
"@metamask/utils": "^11.1.0",
|
|
70
71
|
"@ts-bridge/cli": "^0.6.3",
|
|
71
72
|
"@types/ethereumjs-tx": "^1.0.1",
|