@sidhujag/sysweb3-keyring 1.0.491

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 (104) hide show
  1. package/README.md +201 -0
  2. package/cjs/errorUtils.js +75 -0
  3. package/cjs/errorUtils.js.map +1 -0
  4. package/cjs/hardware-wallet-manager.js +462 -0
  5. package/cjs/hardware-wallet-manager.js.map +1 -0
  6. package/cjs/index.js +31 -0
  7. package/cjs/index.js.map +1 -0
  8. package/cjs/initial-state.js +105 -0
  9. package/cjs/initial-state.js.map +1 -0
  10. package/cjs/keyring-manager.js +1687 -0
  11. package/cjs/keyring-manager.js.map +1 -0
  12. package/cjs/ledger/bitcoin_client/index.js +47 -0
  13. package/cjs/ledger/bitcoin_client/index.js.map +1 -0
  14. package/cjs/ledger/bitcoin_client/lib/appClient.js +408 -0
  15. package/cjs/ledger/bitcoin_client/lib/appClient.js.map +1 -0
  16. package/cjs/ledger/bitcoin_client/lib/bip32.js +61 -0
  17. package/cjs/ledger/bitcoin_client/lib/bip32.js.map +1 -0
  18. package/cjs/ledger/bitcoin_client/lib/buffertools.js +126 -0
  19. package/cjs/ledger/bitcoin_client/lib/buffertools.js.map +1 -0
  20. package/cjs/ledger/bitcoin_client/lib/clientCommands.js +270 -0
  21. package/cjs/ledger/bitcoin_client/lib/clientCommands.js.map +1 -0
  22. package/cjs/ledger/bitcoin_client/lib/constants.js +16 -0
  23. package/cjs/ledger/bitcoin_client/lib/constants.js.map +1 -0
  24. package/cjs/ledger/bitcoin_client/lib/merkelizedPsbt.js +54 -0
  25. package/cjs/ledger/bitcoin_client/lib/merkelizedPsbt.js.map +1 -0
  26. package/cjs/ledger/bitcoin_client/lib/merkle.js +109 -0
  27. package/cjs/ledger/bitcoin_client/lib/merkle.js.map +1 -0
  28. package/cjs/ledger/bitcoin_client/lib/merkleMap.js +46 -0
  29. package/cjs/ledger/bitcoin_client/lib/merkleMap.js.map +1 -0
  30. package/cjs/ledger/bitcoin_client/lib/policy.js +66 -0
  31. package/cjs/ledger/bitcoin_client/lib/policy.js.map +1 -0
  32. package/cjs/ledger/bitcoin_client/lib/psbtv2.js +640 -0
  33. package/cjs/ledger/bitcoin_client/lib/psbtv2.js.map +1 -0
  34. package/cjs/ledger/bitcoin_client/lib/varint.js +113 -0
  35. package/cjs/ledger/bitcoin_client/lib/varint.js.map +1 -0
  36. package/cjs/ledger/consts.js +7 -0
  37. package/cjs/ledger/consts.js.map +1 -0
  38. package/cjs/ledger/index.js +319 -0
  39. package/cjs/ledger/index.js.map +1 -0
  40. package/cjs/ledger/types.js +3 -0
  41. package/cjs/ledger/types.js.map +1 -0
  42. package/cjs/network-utils.js +76 -0
  43. package/cjs/network-utils.js.map +1 -0
  44. package/cjs/providers.js +270 -0
  45. package/cjs/providers.js.map +1 -0
  46. package/cjs/signers.js +64 -0
  47. package/cjs/signers.js.map +1 -0
  48. package/cjs/storage.js +30 -0
  49. package/cjs/storage.js.map +1 -0
  50. package/cjs/transactions/__tests__/integration.test.js +237 -0
  51. package/cjs/transactions/__tests__/integration.test.js.map +1 -0
  52. package/cjs/transactions/__tests__/syscoin.test.js +361 -0
  53. package/cjs/transactions/__tests__/syscoin.test.js.map +1 -0
  54. package/cjs/transactions/ethereum.js +1577 -0
  55. package/cjs/transactions/ethereum.js.map +1 -0
  56. package/cjs/transactions/index.js +19 -0
  57. package/cjs/transactions/index.js.map +1 -0
  58. package/cjs/transactions/syscoin.js +328 -0
  59. package/cjs/transactions/syscoin.js.map +1 -0
  60. package/cjs/trezor/index.js +718 -0
  61. package/cjs/trezor/index.js.map +1 -0
  62. package/cjs/types.js +12 -0
  63. package/cjs/types.js.map +1 -0
  64. package/cjs/utils/derivation-paths.js +99 -0
  65. package/cjs/utils/derivation-paths.js.map +1 -0
  66. package/cjs/utils/psbt.js +60 -0
  67. package/cjs/utils/psbt.js.map +1 -0
  68. package/cjs/utils.js +130 -0
  69. package/cjs/utils.js.map +1 -0
  70. package/package.json +46 -0
  71. package/types/errorUtils.d.ts +1 -0
  72. package/types/hardware-wallet-manager.d.ts +110 -0
  73. package/types/index.d.ts +12 -0
  74. package/types/initial-state.d.ts +79 -0
  75. package/types/keyring-manager.d.ts +184 -0
  76. package/types/ledger/bitcoin_client/index.d.ts +5 -0
  77. package/types/ledger/bitcoin_client/lib/appClient.d.ts +106 -0
  78. package/types/ledger/bitcoin_client/lib/bip32.d.ts +11 -0
  79. package/types/ledger/bitcoin_client/lib/buffertools.d.ts +28 -0
  80. package/types/ledger/bitcoin_client/lib/clientCommands.d.ts +77 -0
  81. package/types/ledger/bitcoin_client/lib/constants.d.ts +12 -0
  82. package/types/ledger/bitcoin_client/lib/merkelizedPsbt.d.ts +24 -0
  83. package/types/ledger/bitcoin_client/lib/merkle.d.ts +32 -0
  84. package/types/ledger/bitcoin_client/lib/merkleMap.d.ts +23 -0
  85. package/types/ledger/bitcoin_client/lib/policy.d.ts +36 -0
  86. package/types/ledger/bitcoin_client/lib/psbtv2.d.ts +167 -0
  87. package/types/ledger/bitcoin_client/lib/varint.d.ts +23 -0
  88. package/types/ledger/consts.d.ts +3 -0
  89. package/types/ledger/index.d.ts +51 -0
  90. package/types/ledger/types.d.ts +48 -0
  91. package/types/network-utils.d.ts +14 -0
  92. package/types/providers.d.ts +47 -0
  93. package/types/signers.d.ts +95 -0
  94. package/types/storage.d.ts +2 -0
  95. package/types/transactions/__tests__/integration.test.d.ts +1 -0
  96. package/types/transactions/__tests__/syscoin.test.d.ts +1 -0
  97. package/types/transactions/ethereum.d.ts +80 -0
  98. package/types/transactions/index.d.ts +2 -0
  99. package/types/transactions/syscoin.d.ts +61 -0
  100. package/types/trezor/index.d.ts +170 -0
  101. package/types/types.d.ts +294 -0
  102. package/types/utils/derivation-paths.d.ts +35 -0
  103. package/types/utils/psbt.d.ts +17 -0
  104. package/types/utils.d.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/trezor/index.ts"],"names":[],"mappings":"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"}
package/cjs/types.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyringAccountType = void 0;
4
+ const sysweb3_network_1 = require("@sidhujag/sysweb3-network");
5
+ var KeyringAccountType;
6
+ (function (KeyringAccountType) {
7
+ KeyringAccountType["HDAccount"] = "HDAccount";
8
+ KeyringAccountType["Imported"] = "Imported";
9
+ KeyringAccountType["Ledger"] = "Ledger";
10
+ KeyringAccountType["Trezor"] = "Trezor";
11
+ })(KeyringAccountType || (exports.KeyringAccountType = KeyringAccountType = {}));
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AACA,+DAAmE;AAkSnE,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCoinInfo = getCoinInfo;
4
+ exports.isEvmCoin = isEvmCoin;
5
+ exports.isSegwitCoin = isSegwitCoin;
6
+ exports.isLegacyCoin = isLegacyCoin;
7
+ exports.getBipStandard = getBipStandard;
8
+ exports.getAccountDerivationPath = getAccountDerivationPath;
9
+ exports.getAddressDerivationPath = getAddressDerivationPath;
10
+ // Import coins data from the relative package in the monorepo
11
+ const sysweb3_network_1 = require("@sidhujag/sysweb3-network");
12
+ /**
13
+ * Get coin information by coin shortcut or slip44
14
+ * Priority: 1) Check if slip44=60 (EVM), 2) Check coins.ts (UTXO), 3) Default to unknown
15
+ */
16
+ function getCoinInfo(coinShortcut, slip44) {
17
+ // slip44=60: Ethereum and most EVM-compatible networks (BSC, Polygon, Arbitrum, etc.)
18
+ // This must be checked FIRST to prevent any UTXO coin conflicts
19
+ if (slip44 === 60) {
20
+ return {
21
+ slip44,
22
+ segwit: false,
23
+ isEvm: true,
24
+ };
25
+ }
26
+ // Use the shared findCoin utility to search for UTXO coins
27
+ const coin = (0, sysweb3_network_1.findCoin)({ slip44, name: coinShortcut });
28
+ if (coin) {
29
+ return {
30
+ slip44: coin.slip44,
31
+ segwit: coin.segwit || false,
32
+ isEvm: false, // UTXO coins from coins.ts are not EVM
33
+ };
34
+ }
35
+ // For unknown slip44 values, we cannot safely assume EVM
36
+ // Return as unknown/unsupported rather than defaulting to EVM
37
+ return {
38
+ slip44,
39
+ segwit: false,
40
+ isEvm: false, // Changed from true to false - unknown slip44 should not default to EVM
41
+ };
42
+ }
43
+ /**
44
+ * Determine if a coin is EVM-based (Ethereum-like)
45
+ */
46
+ function isEvmCoin(coinShortcut, slip44) {
47
+ const coinInfo = getCoinInfo(coinShortcut, slip44);
48
+ return coinInfo.isEvm;
49
+ }
50
+ /**
51
+ * Determine if a coin uses SegWit (BIP84 - m/84')
52
+ */
53
+ function isSegwitCoin(coinShortcut, slip44) {
54
+ const coinInfo = getCoinInfo(coinShortcut, slip44);
55
+ return coinInfo.segwit === true;
56
+ }
57
+ /**
58
+ * Determine if a coin uses legacy derivation (BIP44 - m/44')
59
+ */
60
+ function isLegacyCoin(coinShortcut, slip44) {
61
+ return !isSegwitCoin(coinShortcut, slip44);
62
+ }
63
+ /**
64
+ * Get the appropriate BIP standard for a coin
65
+ */
66
+ function getBipStandard(coinShortcut, slip44) {
67
+ if (isEvmCoin(coinShortcut, slip44)) {
68
+ return 44; // EVM coins use BIP44
69
+ }
70
+ if (isSegwitCoin(coinShortcut, slip44)) {
71
+ return 84; // SegWit coins use BIP84
72
+ }
73
+ return 44; // Default to BIP44 for legacy coins
74
+ }
75
+ /**
76
+ * Generate derivation path for account level (ending with account index)
77
+ * Example: m/84'/57'/0' for Syscoin account derivation
78
+ */
79
+ function getAccountDerivationPath(coinShortcut, slip44, accountIndex = 0) {
80
+ const bip = getBipStandard(coinShortcut, slip44);
81
+ return `m/${bip}'/${slip44}'/${accountIndex}'`;
82
+ }
83
+ /**
84
+ * Generate derivation path for address level (full path to specific address)
85
+ * Example: m/84'/57'/0'/0/0 for first address of first Syscoin account
86
+ */
87
+ function getAddressDerivationPath(coinShortcut, slip44, accountIndex = 0, isChangeAddress = false, addressIndex = 0) {
88
+ const bip = getBipStandard(coinShortcut, slip44);
89
+ if (isEvmCoin(coinShortcut, slip44)) {
90
+ // EVM coins typically use: m/44'/60'/0'/0/addressIndex
91
+ return `m/${bip}'/${slip44}'/0'/0/${addressIndex}`;
92
+ }
93
+ else {
94
+ // UTXO coins use: m/84'/slip44'/account'/change/addressIndex
95
+ const changeValue = isChangeAddress ? 1 : 0;
96
+ return `m/${bip}'/${slip44}'/${accountIndex}'/${changeValue}/${addressIndex}`;
97
+ }
98
+ }
99
+ //# sourceMappingURL=derivation-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivation-paths.js","sourceRoot":"","sources":["../../../src/utils/derivation-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PsbtUtils = void 0;
37
+ const syscoinjs = __importStar(require("syscoinjs-lib"));
38
+ /**
39
+ * Utility functions for PSBT conversion between Pali and syscoinjs formats
40
+ */
41
+ class PsbtUtils {
42
+ /**
43
+ * Import PSBT from Pali's exported format to syscoinjs PSBT object
44
+ * @param psbtFromPali - PSBT data exported from Pali
45
+ * @returns syscoinjs PSBT object
46
+ */
47
+ static fromPali(psbtFromPali) {
48
+ return syscoinjs.utils.importPsbtFromJson(psbtFromPali).psbt;
49
+ }
50
+ /**
51
+ * Export syscoinjs PSBT object to Pali's expected format
52
+ * @param psbt - syscoinjs PSBT object
53
+ * @returns PSBT data in Pali's expected format
54
+ */
55
+ static toPali(psbt) {
56
+ return syscoinjs.utils.exportPsbtToJson(psbt, undefined);
57
+ }
58
+ }
59
+ exports.PsbtUtils = PsbtUtils;
60
+ //# sourceMappingURL=psbt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"psbt.js","sourceRoot":"","sources":["../../../src/utils/psbt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAE3C;;GAEG;AACH,MAAa,SAAS;IACpB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAiB;QAC/B,OAAO,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAS;QACrB,OAAO,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAlBD,8BAkBC"}
package/cjs/utils.js ADDED
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BIP_84 = exports.ONE_HUNDRED_MILLION = exports.SYSCOIN_BASIC_FEE = void 0;
4
+ exports.checkError = checkError;
5
+ const ethers_1 = require("ethers");
6
+ const utils_1 = require("ethers/lib/utils");
7
+ const errorGas = ['call', 'estimateGas'];
8
+ function spelunk(value, requireData) {
9
+ if (value == null) {
10
+ return null;
11
+ }
12
+ // These *are* the droids we're looking for.
13
+ if (typeof value.message === 'string' && value.message.match('reverted')) {
14
+ const data = (0, utils_1.isHexString)(value.data) ? value.data : null;
15
+ if (!requireData || data) {
16
+ return { message: value.message, data };
17
+ }
18
+ }
19
+ // Spelunk further...
20
+ if (typeof value === 'object') {
21
+ for (const key in value) {
22
+ const result = spelunk(value[key], requireData);
23
+ if (result) {
24
+ return result;
25
+ }
26
+ }
27
+ return null;
28
+ }
29
+ // Might be a JSON string we can further descend...
30
+ if (typeof value === 'string') {
31
+ try {
32
+ return spelunk(JSON.parse(value), requireData);
33
+ // eslint-disable-next-line
34
+ }
35
+ catch (error) { }
36
+ }
37
+ return null;
38
+ }
39
+ function checkError(method, error, params) {
40
+ const transaction = params.transaction || params.signedTransaction;
41
+ // Undo the "convenience" some nodes are attempting to prevent backwards
42
+ // incompatibility; maybe for v6 consider forwarding reverts as errors
43
+ if (method === 'call') {
44
+ const result = spelunk(error, true);
45
+ if (result) {
46
+ return result.data;
47
+ }
48
+ // Nothing descriptive..
49
+ ethers_1.logger.throwError('missing revert data in call exception; Transaction reverted without a reason string', utils_1.Logger.errors.CALL_EXCEPTION, {
50
+ data: '0x',
51
+ transaction,
52
+ error,
53
+ });
54
+ }
55
+ if (method === 'estimateGas') {
56
+ // Try to find something, with a preference on SERVER_ERROR body
57
+ let result = spelunk(error.body, false);
58
+ if (result == null) {
59
+ result = spelunk(error, false);
60
+ }
61
+ // Found "reverted", this is a CALL_EXCEPTION
62
+ if (result) {
63
+ ethers_1.logger.throwError('cannot estimate gas; transaction may fail or may require manual gas limit', utils_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, {
64
+ reason: result.message,
65
+ method,
66
+ transaction,
67
+ error,
68
+ });
69
+ }
70
+ }
71
+ // @TODO: Should we spelunk for message too?
72
+ let message = error.message;
73
+ if (error.code === utils_1.Logger.errors.SERVER_ERROR &&
74
+ error.error &&
75
+ typeof error.error.message === 'string') {
76
+ message = error.error.message;
77
+ }
78
+ else if (typeof error.body === 'string') {
79
+ message = error.body;
80
+ }
81
+ else if (typeof error.responseText === 'string') {
82
+ message = error.responseText;
83
+ }
84
+ message = (message || '').toLowerCase();
85
+ // "insufficient funds for gas * price + value + cost(data)"
86
+ if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) {
87
+ ethers_1.logger.throwError('insufficient funds for intrinsic transaction cost', utils_1.Logger.errors.INSUFFICIENT_FUNDS, {
88
+ error,
89
+ method,
90
+ transaction,
91
+ });
92
+ }
93
+ // "nonce too low"
94
+ if (message.match(/nonce (is )?too low/i)) {
95
+ ethers_1.logger.throwError('nonce has already been used', utils_1.Logger.errors.NONCE_EXPIRED, {
96
+ error,
97
+ method,
98
+ transaction,
99
+ });
100
+ }
101
+ // "replacement transaction underpriced"
102
+ if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) {
103
+ ethers_1.logger.throwError('replacement fee too low', utils_1.Logger.errors.REPLACEMENT_UNDERPRICED, {
104
+ error,
105
+ method,
106
+ transaction,
107
+ });
108
+ }
109
+ // "replacement transaction underpriced"
110
+ if (message.match(/only replay-protected/i)) {
111
+ ethers_1.logger.throwError('legacy pre-eip-155 transactions not supported', utils_1.Logger.errors.UNSUPPORTED_OPERATION, {
112
+ error,
113
+ method,
114
+ transaction,
115
+ });
116
+ }
117
+ if (errorGas.indexOf(method) >= 0 &&
118
+ message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) {
119
+ ethers_1.logger.throwError('cannot estimate gas; transaction may fail or may require manual gas limit', utils_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, {
120
+ error,
121
+ method,
122
+ transaction,
123
+ });
124
+ }
125
+ throw error;
126
+ }
127
+ exports.SYSCOIN_BASIC_FEE = 0.00001;
128
+ exports.ONE_HUNDRED_MILLION = 1e8;
129
+ exports.BIP_84 = 84;
130
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@sidhujag/sysweb3-keyring",
3
+ "version": "1.0.491",
4
+ "description": "Keyring Manager for UTXO and Web3 Wallets",
5
+ "main": "cjs/index.js",
6
+ "types": "types/index.d.ts",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/syscoin/sysweb3.git"
10
+ },
11
+ "author": "Pali Wallet",
12
+ "license": "MIT",
13
+ "private": false,
14
+ "dependencies": {
15
+ "@bitcoinerlab/descriptors": "^2.0.1",
16
+ "@bitcoinerlab/secp256k1": "^1.0.5",
17
+ "@ledgerhq/hw-app-eth": "^6.45.12",
18
+ "@ledgerhq/hw-transport-webhid": "^6.30.4",
19
+ "@ledgerhq/logs": "^6.10.1",
20
+ "@sidhujag/sysweb3-core": "^1.0.27",
21
+ "@sidhujag/sysweb3-network": "^1.0.96",
22
+ "@sidhujag/sysweb3-utils": "^1.1.237",
23
+ "@trezor/connect-web": "^9.1.5",
24
+ "@trezor/connect-webextension": "^9.6.2",
25
+ "@trezor/utxo-lib": "^1.0.12",
26
+ "bip32-path": "^0.4.2",
27
+ "bip39": "^3.0.4",
28
+ "bip84": "^0.2.7",
29
+ "bitcoin-ops": "^1.4.1",
30
+ "bitcoinjs-lib": "^6.1.5",
31
+ "bs58check": "^3.0.1",
32
+ "crypto-js": "^4.1.1",
33
+ "dotenv": "^16.4.5",
34
+ "eth-json-rpc-filters": "^4.2.2",
35
+ "eth-sig-util": "^3.0.1",
36
+ "ethereumjs-util": "^7.1.5",
37
+ "ethers": "^5.7.2",
38
+ "ledger-bitcoin": "^0.2.3",
39
+ "lodash": "^4.17.21",
40
+ "satoshi-bitcoin": "^1.0.5",
41
+ "zksync-ethers": "5"
42
+ },
43
+ "peerDependencies": {
44
+ "syscoinjs-lib": "^1.0.244"
45
+ }
46
+ }
@@ -0,0 +1 @@
1
+ export declare function handleStatusCodeError(statusCode: number, errorMessage: string): void;
@@ -0,0 +1,110 @@
1
+ import Transport from '@ledgerhq/hw-transport';
2
+ import { EventEmitter } from 'events';
3
+ export declare enum HardwareWalletType {
4
+ LEDGER = "ledger",
5
+ TREZOR = "trezor"
6
+ }
7
+ export declare enum ConnectionStatus {
8
+ DISCONNECTED = "disconnected",
9
+ CONNECTING = "connecting",
10
+ CONNECTED = "connected",
11
+ ERROR = "error"
12
+ }
13
+ interface RetryConfig {
14
+ maxRetries: number;
15
+ baseDelay: number;
16
+ maxDelay: number;
17
+ backoffMultiplier: number;
18
+ }
19
+ export interface HardwareWalletStatus {
20
+ type: HardwareWalletType;
21
+ status: ConnectionStatus;
22
+ connected: boolean;
23
+ lastSeen?: number;
24
+ error?: string;
25
+ deviceInfo?: {
26
+ model?: string;
27
+ firmwareVersion?: string;
28
+ };
29
+ }
30
+ /**
31
+ * Hardware Wallet Manager with connection pooling, status monitoring, and error recovery
32
+ */
33
+ export declare class HardwareWalletManager extends EventEmitter {
34
+ private connectionPool;
35
+ private statusMonitorInterval;
36
+ private readonly CONNECTION_TIMEOUT;
37
+ private readonly IDLE_TIMEOUT;
38
+ private readonly STATUS_CHECK_INTERVAL;
39
+ private readonly retryConfig;
40
+ constructor();
41
+ /**
42
+ * Get or create a Ledger connection with retry logic
43
+ */
44
+ getLedgerConnection(): Promise<Transport>;
45
+ /**
46
+ * Create Ledger connection with exponential backoff retry
47
+ */
48
+ private createLedgerConnectionWithRetry;
49
+ /**
50
+ * Create Ledger transport with timeout
51
+ */
52
+ private createLedgerTransport;
53
+ /**
54
+ * Initialize Trezor with retry logic
55
+ */
56
+ initializeTrezor(): Promise<boolean>;
57
+ /**
58
+ * Initialize Trezor with exponential backoff retry
59
+ */
60
+ private initializeTrezorWithRetry;
61
+ /**
62
+ * Handle device disconnect
63
+ */
64
+ private handleDisconnect;
65
+ /**
66
+ * Start real-time status monitoring
67
+ */
68
+ private startStatusMonitoring;
69
+ /**
70
+ * Check all connections and clean up idle ones
71
+ */
72
+ private checkAllConnections;
73
+ /**
74
+ * Get current status of all hardware wallets
75
+ */
76
+ getStatus(): HardwareWalletStatus[];
77
+ /**
78
+ * Check if a specific device is connected
79
+ */
80
+ isConnected(type: HardwareWalletType): boolean;
81
+ /**
82
+ * Ensure connection before operation
83
+ */
84
+ ensureConnection(type: HardwareWalletType): Promise<void>;
85
+ /**
86
+ * Close a specific connection
87
+ */
88
+ private closeConnection;
89
+ /**
90
+ * Close all connections and stop monitoring
91
+ */
92
+ destroy(): Promise<void>;
93
+ /**
94
+ * Calculate exponential backoff delay
95
+ */
96
+ private calculateBackoffDelay;
97
+ /**
98
+ * Create a timeout promise
99
+ */
100
+ private createTimeoutPromise;
101
+ /**
102
+ * Delay helper
103
+ */
104
+ private delay;
105
+ /**
106
+ * Retry an operation with exponential backoff
107
+ */
108
+ retryOperation<T>(operation: () => Promise<T>, operationName: string, customRetryConfig?: Partial<RetryConfig>): Promise<T>;
109
+ }
110
+ export {};
@@ -0,0 +1,12 @@
1
+ export * from './transactions';
2
+ export * from './trezor';
3
+ export * from './types';
4
+ export * from './storage';
5
+ export * from './signers';
6
+ export * from './initial-state';
7
+ export * from './keyring-manager';
8
+ export * from './providers';
9
+ export * from './utils/derivation-paths';
10
+ export * from './network-utils';
11
+ export * from './hardware-wallet-manager';
12
+ export { PsbtUtils } from './utils/psbt';
@@ -0,0 +1,79 @@
1
+ import { INetworkType } from '@sidhujag/sysweb3-network';
2
+ import { IKeyringAccountState } from './types';
3
+ export declare const initialActiveHdAccountState: IKeyringAccountState;
4
+ export declare const initialActiveImportedAccountState: IKeyringAccountState;
5
+ export declare const initialActiveTrezorAccountState: IKeyringAccountState;
6
+ export declare const initialActiveLedgerAccountState: IKeyringAccountState;
7
+ export declare const initialNetworksState: {
8
+ syscoin: {
9
+ [chainId: number]: import("@sidhujag/sysweb3-network").INetwork;
10
+ };
11
+ ethereum: {
12
+ 1: {
13
+ chainId: number;
14
+ url: string;
15
+ label: string;
16
+ default: boolean;
17
+ currency: string;
18
+ explorer: string;
19
+ apiUrl: string;
20
+ slip44: number;
21
+ kind: INetworkType;
22
+ };
23
+ 137: {
24
+ chainId: number;
25
+ currency: string;
26
+ default: boolean;
27
+ label: string;
28
+ url: string;
29
+ apiUrl: string;
30
+ explorer: string;
31
+ slip44: number;
32
+ kind: INetworkType;
33
+ };
34
+ 80001: {
35
+ chainId: number;
36
+ currency: string;
37
+ default: boolean;
38
+ label: string;
39
+ url: string;
40
+ apiUrl: string;
41
+ explorer: string;
42
+ slip44: number;
43
+ kind: INetworkType;
44
+ };
45
+ 57: {
46
+ chainId: number;
47
+ currency: string;
48
+ default: boolean;
49
+ label: string;
50
+ url: string;
51
+ apiUrl: string;
52
+ explorer: string;
53
+ slip44: number;
54
+ kind: INetworkType;
55
+ };
56
+ 570: {
57
+ chainId: number;
58
+ currency: string;
59
+ default: boolean;
60
+ label: string;
61
+ url: string;
62
+ apiUrl: string;
63
+ explorer: string;
64
+ slip44: number;
65
+ kind: INetworkType;
66
+ };
67
+ 5700: {
68
+ chainId: number;
69
+ currency: string;
70
+ default: boolean;
71
+ label: string;
72
+ url: string;
73
+ apiUrl: string;
74
+ explorer: string;
75
+ slip44: number;
76
+ kind: INetworkType;
77
+ };
78
+ };
79
+ };