@injectivelabs/wallet-ledger 1.15.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/strategy/Ledger/Base.d.ts +42 -0
- package/dist/cjs/strategy/Ledger/Base.js +246 -0
- package/dist/cjs/strategy/Ledger/Base.js.map +1 -0
- package/dist/cjs/strategy/Ledger/LedgerLegacy.d.ts +5 -0
- package/dist/cjs/strategy/Ledger/LedgerLegacy.js +18 -0
- package/dist/cjs/strategy/Ledger/LedgerLegacy.js.map +1 -0
- package/dist/cjs/strategy/Ledger/LedgerLive.d.ts +5 -0
- package/dist/cjs/strategy/Ledger/LedgerLive.js +18 -0
- package/dist/cjs/strategy/Ledger/LedgerLive.js.map +1 -0
- package/dist/cjs/strategy/Ledger/hw/AccountManager.d.ts +21 -0
- package/dist/cjs/strategy/Ledger/hw/AccountManager.js +92 -0
- package/dist/cjs/strategy/Ledger/hw/AccountManager.js.map +1 -0
- package/dist/cjs/strategy/Ledger/hw/index.d.ts +11 -0
- package/dist/cjs/strategy/Ledger/hw/index.js +66 -0
- package/dist/cjs/strategy/Ledger/hw/index.js.map +1 -0
- package/dist/cjs/strategy/Ledger/utils.d.ts +2 -0
- package/dist/cjs/strategy/Ledger/utils.js +9 -0
- package/dist/cjs/strategy/Ledger/utils.js.map +1 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.d.ts +20 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.js +70 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/AccountManager.js.map +1 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/index.d.ts +11 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/index.js +49 -0
- package/dist/cjs/strategy/LedgerCosmos/hw/index.js.map +1 -0
- package/dist/cjs/strategy/LedgerCosmos/index.d.ts +36 -0
- package/dist/cjs/strategy/LedgerCosmos/index.js +160 -0
- package/dist/cjs/strategy/LedgerCosmos/index.js.map +1 -0
- package/dist/cjs/types.d.ts +17 -0
- package/dist/cjs/types.js +15 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/strategy/Ledger/Base.d.ts +42 -0
- package/dist/esm/strategy/Ledger/Base.js +240 -0
- package/dist/esm/strategy/Ledger/Base.js.map +1 -0
- package/dist/esm/strategy/Ledger/LedgerLegacy.d.ts +5 -0
- package/dist/esm/strategy/Ledger/LedgerLegacy.js +11 -0
- package/dist/esm/strategy/Ledger/LedgerLegacy.js.map +1 -0
- package/dist/esm/strategy/Ledger/LedgerLive.d.ts +5 -0
- package/dist/esm/strategy/Ledger/LedgerLive.js +11 -0
- package/dist/esm/strategy/Ledger/LedgerLive.js.map +1 -0
- package/dist/esm/strategy/Ledger/hw/AccountManager.d.ts +21 -0
- package/dist/esm/strategy/Ledger/hw/AccountManager.js +86 -0
- package/dist/esm/strategy/Ledger/hw/AccountManager.js.map +1 -0
- package/dist/esm/strategy/Ledger/hw/index.d.ts +11 -0
- package/dist/esm/strategy/Ledger/hw/index.js +60 -0
- package/dist/esm/strategy/Ledger/hw/index.js.map +1 -0
- package/dist/esm/strategy/Ledger/utils.d.ts +2 -0
- package/dist/esm/strategy/Ledger/utils.js +4 -0
- package/dist/esm/strategy/Ledger/utils.js.map +1 -0
- package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.d.ts +20 -0
- package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.js +67 -0
- package/dist/esm/strategy/LedgerCosmos/hw/AccountManager.js.map +1 -0
- package/dist/esm/strategy/LedgerCosmos/hw/index.d.ts +11 -0
- package/dist/esm/strategy/LedgerCosmos/hw/index.js +43 -0
- package/dist/esm/strategy/LedgerCosmos/hw/index.js.map +1 -0
- package/dist/esm/strategy/LedgerCosmos/index.d.ts +36 -0
- package/dist/esm/strategy/LedgerCosmos/index.js +153 -0
- package/dist/esm/strategy/LedgerCosmos/index.js.map +1 -0
- package/dist/esm/types.d.ts +17 -0
- package/dist/esm/types.js +12 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TransportWebUSB } from '@bangjelkoski/ledgerhq-hw-transport-webusb';
|
|
2
|
+
import { TransportWebHID } from '@bangjelkoski/ledgerhq-hw-transport-webhid';
|
|
3
|
+
import { Cosmos as CosmosApp } from '@bangjelkoski/ledgerhq-hw-app-cosmos';
|
|
4
|
+
import { LedgerCosmosException } from '@injectivelabs/exceptions';
|
|
5
|
+
import AccountManager from './AccountManager.js';
|
|
6
|
+
export default class LedgerTransport {
|
|
7
|
+
ledger = null;
|
|
8
|
+
accountManager = null;
|
|
9
|
+
static async getTransport() {
|
|
10
|
+
try {
|
|
11
|
+
if (await TransportWebHID.isSupported()) {
|
|
12
|
+
return await TransportWebHID.create();
|
|
13
|
+
}
|
|
14
|
+
if (await TransportWebUSB.isSupported()) {
|
|
15
|
+
return await TransportWebHID.create();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
throw new LedgerCosmosException(new Error(e.message));
|
|
20
|
+
}
|
|
21
|
+
return await TransportWebHID.create();
|
|
22
|
+
}
|
|
23
|
+
async getInstance() {
|
|
24
|
+
if (!this.ledger) {
|
|
25
|
+
this.ledger = new CosmosApp((await LedgerTransport.getTransport()));
|
|
26
|
+
}
|
|
27
|
+
return this.ledger;
|
|
28
|
+
}
|
|
29
|
+
async getAccountManager() {
|
|
30
|
+
if (!this.accountManager) {
|
|
31
|
+
this.accountManager = new AccountManager(await this.getInstance());
|
|
32
|
+
}
|
|
33
|
+
return this.accountManager;
|
|
34
|
+
}
|
|
35
|
+
async refresh() {
|
|
36
|
+
if (!this.ledger) {
|
|
37
|
+
return new LedgerTransport();
|
|
38
|
+
}
|
|
39
|
+
this.ledger.transport.close();
|
|
40
|
+
return new LedgerTransport();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/strategy/LedgerCosmos/hw/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,eAAe;IAC1B,MAAM,GAAqB,IAAI,CAAA;IAE/B,cAAc,GAA0B,IAAI,CAAA;IAE1C,MAAM,CAAC,KAAK,CAAC,YAAY;QACjC,IAAI,CAAC;YACH,IAAI,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxC,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE,CAAA;YACvC,CAAC;YAED,IAAI,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxC,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE,CAAA;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,qBAAqB,CAAC,IAAI,KAAK,CAAE,CAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,CAAC,MAAM,eAAe,CAAC,YAAY,EAAE,CAAQ,CAAC,CAAA;QAC5E,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,eAAe,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QAE7B,OAAO,IAAI,eAAe,EAAE,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChainId, AccountAddress, EthereumChainId } from '@injectivelabs/ts-types';
|
|
2
|
+
import { TxRaw, TxResponse, AminoSignResponse, DirectSignResponse } from '@injectivelabs/sdk-ts';
|
|
3
|
+
import { StdSignDoc, WalletDeviceType, BaseConcreteStrategy, ConcreteWalletStrategy, SendTransactionOptions } from '@injectivelabs/wallet-base';
|
|
4
|
+
export declare class LedgerCosmos extends BaseConcreteStrategy implements ConcreteWalletStrategy {
|
|
5
|
+
private baseDerivationPath;
|
|
6
|
+
private ledger;
|
|
7
|
+
constructor(args: {
|
|
8
|
+
chainId: ChainId;
|
|
9
|
+
});
|
|
10
|
+
getWalletDeviceType(): Promise<WalletDeviceType>;
|
|
11
|
+
enable(): Promise<boolean>;
|
|
12
|
+
disconnect(): Promise<void>;
|
|
13
|
+
getAddresses(): Promise<string[]>;
|
|
14
|
+
getSessionOrConfirm(address: AccountAddress): Promise<string>;
|
|
15
|
+
sendEthereumTransaction(_txData: any, _options: {
|
|
16
|
+
address: string;
|
|
17
|
+
ethereumChainId: EthereumChainId;
|
|
18
|
+
}): Promise<string>;
|
|
19
|
+
sendTransaction(transaction: TxRaw, options: SendTransactionOptions): Promise<TxResponse>;
|
|
20
|
+
signAminoCosmosTransaction(transaction: {
|
|
21
|
+
address: string;
|
|
22
|
+
signDoc: StdSignDoc;
|
|
23
|
+
}): Promise<AminoSignResponse>;
|
|
24
|
+
signCosmosTransaction(_transaction: {
|
|
25
|
+
txRaw: TxRaw;
|
|
26
|
+
accountNumber: number;
|
|
27
|
+
chainId: string;
|
|
28
|
+
address: string;
|
|
29
|
+
}): Promise<DirectSignResponse>;
|
|
30
|
+
signEip712TypedData(_eip712Json: string, _address: AccountAddress): Promise<string>;
|
|
31
|
+
signArbitrary(signer: AccountAddress, data: string | Uint8Array): Promise<string>;
|
|
32
|
+
getEthereumChainId(): Promise<string>;
|
|
33
|
+
getEthereumTransactionReceipt(_txHash: string): Promise<string>;
|
|
34
|
+
getPubKey(address?: string): Promise<string>;
|
|
35
|
+
private getWalletForAddress;
|
|
36
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { ErrorType, LedgerCosmosException, TransactionException, UnspecifiedErrorCode, WalletException, } from '@injectivelabs/exceptions';
|
|
2
|
+
import { toUtf8, TxGrpcApi, sortObjectByKeys, } from '@injectivelabs/sdk-ts';
|
|
3
|
+
import { WalletAction, WalletDeviceType, BaseConcreteStrategy, DEFAULT_BASE_DERIVATION_PATH, DEFAULT_ADDRESS_SEARCH_LIMIT, DEFAULT_NUM_ADDRESSES_TO_FETCH, } from '@injectivelabs/wallet-base';
|
|
4
|
+
import LedgerHW from './hw/index.js';
|
|
5
|
+
import { CosmosWalletException } from '@injectivelabs/exceptions';
|
|
6
|
+
export class LedgerCosmos extends BaseConcreteStrategy {
|
|
7
|
+
baseDerivationPath;
|
|
8
|
+
ledger;
|
|
9
|
+
constructor(args) {
|
|
10
|
+
super(args);
|
|
11
|
+
this.baseDerivationPath = DEFAULT_BASE_DERIVATION_PATH;
|
|
12
|
+
this.ledger = new LedgerHW();
|
|
13
|
+
}
|
|
14
|
+
async getWalletDeviceType() {
|
|
15
|
+
return Promise.resolve(WalletDeviceType.Hardware);
|
|
16
|
+
}
|
|
17
|
+
async enable() {
|
|
18
|
+
return Promise.resolve(true);
|
|
19
|
+
}
|
|
20
|
+
async disconnect() {
|
|
21
|
+
this.ledger = await this.ledger.refresh();
|
|
22
|
+
}
|
|
23
|
+
async getAddresses() {
|
|
24
|
+
const { baseDerivationPath } = this;
|
|
25
|
+
try {
|
|
26
|
+
const accountManager = await this.ledger.getAccountManager();
|
|
27
|
+
const wallets = await accountManager.getWallets(baseDerivationPath);
|
|
28
|
+
return wallets.map((k) => k.address);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new LedgerCosmosException(new Error(e.message), {
|
|
32
|
+
code: UnspecifiedErrorCode,
|
|
33
|
+
type: ErrorType.WalletError,
|
|
34
|
+
contextModule: WalletAction.GetAccounts,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async getSessionOrConfirm(address) {
|
|
39
|
+
return Promise.resolve(`0x${Buffer.from(`Confirmation for ${address} at time: ${Date.now()}`).toString('hex')}`);
|
|
40
|
+
}
|
|
41
|
+
async sendEthereumTransaction(_txData, _options) {
|
|
42
|
+
throw new CosmosWalletException(new Error('sendEthereumTransaction is not supported. LedgerCosmos only supports sending cosmos transactions'), {
|
|
43
|
+
code: UnspecifiedErrorCode,
|
|
44
|
+
context: WalletAction.SendEthereumTransaction,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async sendTransaction(transaction, options) {
|
|
48
|
+
const { endpoints, txTimeout } = options;
|
|
49
|
+
if (!endpoints) {
|
|
50
|
+
throw new WalletException(new Error('You have to pass endpoints.grpc within the options for using LedgerCosmos wallet'));
|
|
51
|
+
}
|
|
52
|
+
const txApi = new TxGrpcApi(endpoints.grpc);
|
|
53
|
+
const response = await txApi.broadcast(transaction, { txTimeout });
|
|
54
|
+
if (response.code !== 0) {
|
|
55
|
+
throw new TransactionException(new Error(response.rawLog), {
|
|
56
|
+
code: UnspecifiedErrorCode,
|
|
57
|
+
contextCode: response.code,
|
|
58
|
+
contextModule: response.codespace,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return response;
|
|
62
|
+
}
|
|
63
|
+
async signAminoCosmosTransaction(transaction) {
|
|
64
|
+
try {
|
|
65
|
+
const { derivationPath } = await this.getWalletForAddress(transaction.address);
|
|
66
|
+
const ledger = await this.ledger.getInstance();
|
|
67
|
+
const result = await ledger.sign(derivationPath, JSON.stringify(sortObjectByKeys(transaction.signDoc)));
|
|
68
|
+
return {
|
|
69
|
+
signed: undefined,
|
|
70
|
+
signature: {
|
|
71
|
+
signature: Buffer.from(result.signature).toString('base64'),
|
|
72
|
+
pub_key: undefined,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
throw new LedgerCosmosException(new Error(e.message), {
|
|
78
|
+
code: UnspecifiedErrorCode,
|
|
79
|
+
type: ErrorType.WalletError,
|
|
80
|
+
contextModule: WalletAction.SignTransaction,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async signCosmosTransaction(_transaction) {
|
|
85
|
+
throw new CosmosWalletException(new Error('This wallet does not support signing using direct sign'), {
|
|
86
|
+
code: UnspecifiedErrorCode,
|
|
87
|
+
context: WalletAction.SendTransaction,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async signEip712TypedData(_eip712Json, _address) {
|
|
91
|
+
throw new CosmosWalletException(new Error('This wallet does not support signing Ethereum transactions'), {
|
|
92
|
+
code: UnspecifiedErrorCode,
|
|
93
|
+
context: WalletAction.SendTransaction,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async signArbitrary(signer, data) {
|
|
97
|
+
try {
|
|
98
|
+
const { derivationPath } = await this.getWalletForAddress(signer);
|
|
99
|
+
const ledger = await this.ledger.getInstance();
|
|
100
|
+
const result = await ledger.sign(derivationPath, toUtf8(data));
|
|
101
|
+
return Buffer.from(result.signature).toString('base64');
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
throw new LedgerCosmosException(new Error(e.message), {
|
|
105
|
+
code: UnspecifiedErrorCode,
|
|
106
|
+
type: ErrorType.WalletError,
|
|
107
|
+
contextModule: WalletAction.SignTransaction,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async getEthereumChainId() {
|
|
112
|
+
throw new CosmosWalletException(new Error('getEthereumChainId is not supported on Keplr'), {
|
|
113
|
+
code: UnspecifiedErrorCode,
|
|
114
|
+
context: WalletAction.GetChainId,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async getEthereumTransactionReceipt(_txHash) {
|
|
118
|
+
throw new CosmosWalletException(new Error('getEthereumTransactionReceipt is not supported on Keplr'), {
|
|
119
|
+
code: UnspecifiedErrorCode,
|
|
120
|
+
context: WalletAction.GetEthereumTransactionReceipt,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
async getPubKey(address) {
|
|
124
|
+
if (!address) {
|
|
125
|
+
throw new WalletException(new Error('You can only fetch PubKey corresponding to an address'));
|
|
126
|
+
}
|
|
127
|
+
const ledgerWalletInfo = await this.getWalletForAddress(address);
|
|
128
|
+
return Buffer.from(ledgerWalletInfo.publicKey || '', 'hex').toString('base64');
|
|
129
|
+
}
|
|
130
|
+
async getWalletForAddress(address) {
|
|
131
|
+
try {
|
|
132
|
+
const { baseDerivationPath } = this;
|
|
133
|
+
const accountManager = await this.ledger.getAccountManager();
|
|
134
|
+
if (!accountManager.hasWalletForAddress(address)) {
|
|
135
|
+
for (let i = 0; i < DEFAULT_ADDRESS_SEARCH_LIMIT / DEFAULT_NUM_ADDRESSES_TO_FETCH; i += 1) {
|
|
136
|
+
await accountManager.getWallets(baseDerivationPath);
|
|
137
|
+
if (accountManager.hasWalletForAddress(address)) {
|
|
138
|
+
return (await accountManager.getWalletForAddress(address));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return (await accountManager.getWalletForAddress(address));
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
throw new LedgerCosmosException(new Error(e.message), {
|
|
146
|
+
code: UnspecifiedErrorCode,
|
|
147
|
+
type: ErrorType.WalletError,
|
|
148
|
+
contextModule: WalletAction.GetAccounts,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/strategy/LedgerCosmos/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type HDNode from 'hdkey';
|
|
2
|
+
export declare enum LedgerDerivationPathType {
|
|
3
|
+
LedgerLive = "ledger-live",
|
|
4
|
+
LedgerMew = "ledger-mew"
|
|
5
|
+
}
|
|
6
|
+
export interface LedgerWalletInfo {
|
|
7
|
+
address: string;
|
|
8
|
+
baseDerivationPath: string;
|
|
9
|
+
derivationPath: string;
|
|
10
|
+
hdKey?: HDNode;
|
|
11
|
+
publicKey?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare enum WalletLedger {
|
|
14
|
+
Ledger = "ledger",
|
|
15
|
+
LedgerCosmos = "ledger-cosmos",
|
|
16
|
+
LedgerLegacy = "ledger-legacy"
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var LedgerDerivationPathType;
|
|
2
|
+
(function (LedgerDerivationPathType) {
|
|
3
|
+
LedgerDerivationPathType["LedgerLive"] = "ledger-live";
|
|
4
|
+
LedgerDerivationPathType["LedgerMew"] = "ledger-mew";
|
|
5
|
+
})(LedgerDerivationPathType || (LedgerDerivationPathType = {}));
|
|
6
|
+
export var WalletLedger;
|
|
7
|
+
(function (WalletLedger) {
|
|
8
|
+
WalletLedger["Ledger"] = "ledger";
|
|
9
|
+
WalletLedger["LedgerCosmos"] = "ledger-cosmos";
|
|
10
|
+
WalletLedger["LedgerLegacy"] = "ledger-legacy";
|
|
11
|
+
})(WalletLedger || (WalletLedger = {}));
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,sDAA0B,CAAA;IAC1B,oDAAwB,CAAA;AAC1B,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAUD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,8CAA8B,CAAA;IAC9B,8CAA8B,CAAA;AAChC,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@injectivelabs/wallet-ledger",
|
|
3
3
|
"description": "Ledger wallet strategy for use with @injectivelabs/wallet-core.",
|
|
4
|
-
"version": "1.15.
|
|
4
|
+
"version": "1.15.1",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": {
|
|
@@ -63,10 +63,10 @@
|
|
|
63
63
|
"@bangjelkoski/ledgerhq-hw-transport-webusb": "6.29.4-beta.0",
|
|
64
64
|
"@ethereumjs/common": "^3.1.1",
|
|
65
65
|
"@ethereumjs/tx": "^4.1.1",
|
|
66
|
-
"@injectivelabs/exceptions": "^1.15.
|
|
67
|
-
"@injectivelabs/sdk-ts": "^1.15.
|
|
68
|
-
"@injectivelabs/ts-types": "^1.15.
|
|
69
|
-
"@injectivelabs/wallet-base": "^1.15.
|
|
66
|
+
"@injectivelabs/exceptions": "^1.15.1",
|
|
67
|
+
"@injectivelabs/sdk-ts": "^1.15.1",
|
|
68
|
+
"@injectivelabs/ts-types": "^1.15.1",
|
|
69
|
+
"@injectivelabs/wallet-base": "^1.15.1",
|
|
70
70
|
"alchemy-sdk": "^3.4.7",
|
|
71
71
|
"eth-sig-util": "^3.0.1",
|
|
72
72
|
"ethereumjs-util": "^7.1.0",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"@types/hdkey": "^2.0.1",
|
|
79
79
|
"@types/ledgerhq__hw-transport-webusb": "^4.70.1"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "fb65dd287e7b3191238483d9b9b11acc9f40843d"
|
|
82
82
|
}
|