@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":"ethereum.js","sourceRoot":"","sources":["../../../src/transactions/ethereum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ethereum"), exports);
18
+ __exportStar(require("./syscoin"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B"}
@@ -0,0 +1,328 @@
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.SyscoinTransactions = void 0;
37
+ const sysweb3_utils_1 = require("@sidhujag/sysweb3-utils");
38
+ const syscoinjs = __importStar(require("syscoinjs-lib"));
39
+ const bitcoin_client_1 = require("../ledger/bitcoin_client");
40
+ const derivation_paths_1 = require("../utils/derivation-paths");
41
+ const psbt_1 = require("../utils/psbt");
42
+ class SyscoinTransactions {
43
+ constructor(getSyscoinSigner, getReadOnlySigner, getState, getAddress, ledgerSigner, trezorSigner) {
44
+ this.getTransactionPSBT = async ({ txOptions, outputs, changeAddress, xpub, feeRateBN, }) => {
45
+ const { main } = this.getSigner();
46
+ try {
47
+ // Use syscoinjs-lib directly for transaction creation
48
+ const result = await main.createTransaction(txOptions, changeAddress, outputs, feeRateBN, xpub // sysFromXpubOrAddress
49
+ );
50
+ if (result && result.psbt) {
51
+ return { psbt: result.psbt, fee: result.fee };
52
+ }
53
+ throw new Error('psbt not found');
54
+ }
55
+ catch (error) {
56
+ // Propagate structured error from syscoinjs-lib
57
+ if (error.error && error.code) {
58
+ throw error;
59
+ }
60
+ // Wrap non-structured errors
61
+ throw {
62
+ error: true,
63
+ code: 'TRANSACTION_CREATION_FAILED',
64
+ message: error.message || 'Failed to create transaction',
65
+ details: error,
66
+ };
67
+ }
68
+ };
69
+ this.decodeRawTransaction = (psbtOrHex, isRawHex = false) => {
70
+ const { main } = this.getReadOnlySigner();
71
+ if (isRawHex) {
72
+ // Handle raw transaction hex
73
+ const bitcoinTx = syscoinjs.utils.bitcoinjs.Transaction.fromHex(psbtOrHex);
74
+ return main.decodeRawTransaction(bitcoinTx);
75
+ }
76
+ else {
77
+ // Handle PSBT format (existing behavior)
78
+ const psbtObj = psbt_1.PsbtUtils.fromPali(psbtOrHex);
79
+ return main.decodeRawTransaction(psbtObj);
80
+ }
81
+ };
82
+ this.getRecommendedFee = async (explorerUrl) => (await syscoinjs.utils.fetchEstimateFee(explorerUrl, 1)) / 1024;
83
+ this.txUtilsFunctions = () => {
84
+ const { getRawTransaction } = (0, sysweb3_utils_1.txUtils)();
85
+ return {
86
+ getRawTransaction,
87
+ };
88
+ };
89
+ // Internal method for signing with the HD signer
90
+ this.signPSBTWithSigner = async ({ psbt, signer, pathIn, }) => await signer.sign(psbt, pathIn);
91
+ // Create unsigned PSBT for any transaction type
92
+ this.createUnsignedPSBT = async ({ txOptions = {}, isMax = false, amount, receivingAddress, feeRateBN, token = null, }) => {
93
+ // Ensure RBF is enabled by default if not explicitly set
94
+ const finalTxOptions = { rbf: true, ...txOptions };
95
+ const { activeAccountId, accounts, activeAccountType } = this.getState();
96
+ const { main } = this.getSigner();
97
+ const account = accounts[activeAccountType]?.[activeAccountId];
98
+ if (!account) {
99
+ throw new Error('Active account not found');
100
+ }
101
+ const xpub = account.xpub;
102
+ const value = new syscoinjs.utils.BN(amount * 1e8);
103
+ const changeAddress = await this.getAddress(xpub, true);
104
+ try {
105
+ if (token && token.guid) {
106
+ // Token transaction: use assetAllocationSend
107
+ // Create a Map for the asset allocation
108
+ const assetMap = new Map();
109
+ assetMap.set(token.guid, {
110
+ changeAddress,
111
+ outputs: [
112
+ {
113
+ value: value,
114
+ address: receivingAddress,
115
+ },
116
+ ],
117
+ });
118
+ // Pass xpub to get back just the PSBT without signing and sending
119
+ // syscoinjs-lib will validate asset existence and sufficient balance
120
+ const result = await main.assetAllocationSend(finalTxOptions, assetMap, changeAddress, feeRateBN, xpub // Pass xpub to get PSBT back
121
+ );
122
+ // Return PSBT and fee
123
+ return { psbt: result.psbt, fee: result.fee };
124
+ }
125
+ else {
126
+ // Native transaction: use getTransactionPSBT to create unsigned PSBT
127
+ const outputs = [
128
+ {
129
+ address: receivingAddress,
130
+ value: value, // Pass BN object directly
131
+ ...(isMax && { subtractFeeFrom: true }), // Only add subtractFeeFrom if isMax is true
132
+ },
133
+ ];
134
+ const result = await this.getTransactionPSBT({
135
+ txOptions: finalTxOptions,
136
+ outputs,
137
+ changeAddress,
138
+ feeRateBN,
139
+ xpub,
140
+ });
141
+ return result;
142
+ }
143
+ }
144
+ catch (error) {
145
+ // Re-throw structured errors from syscoinjs-lib
146
+ if (error.error && error.code) {
147
+ throw error;
148
+ }
149
+ // Wrap other errors in structured format
150
+ throw {
151
+ error: true,
152
+ code: 'TRANSACTION_CREATION_FAILED',
153
+ message: error.message || 'Failed to create unsigned PSBT',
154
+ details: error,
155
+ };
156
+ }
157
+ };
158
+ // Sign PSBT with appropriate method - separated for better error handling
159
+ this.signPSBTWithMethod = async (psbt, isTrezor, isLedger = false, pathIn = '') => {
160
+ const { activeNetwork, activeAccountId, activeAccountType, accounts } = this.getState();
161
+ if (isLedger) {
162
+ // CRITICAL: Enhance PSBT with required Ledger fields
163
+ const account = accounts[activeAccountType]?.[activeAccountId];
164
+ if (!account) {
165
+ throw new Error('Active account not found');
166
+ }
167
+ const accountXpub = account.xpub;
168
+ const accountId = account.id;
169
+ const enhancedPsbt = await this.ledger.convertToLedgerFormat(psbt, accountXpub, accountId, activeNetwork.currency, activeNetwork.slip44);
170
+ // Get wallet policy for Ledger
171
+ const fingerprint = await this.ledger.ledgerUtxoClient.getMasterFingerprint();
172
+ // Use dynamic path generation if no path provided
173
+ let hdPath = pathIn;
174
+ if (!pathIn || pathIn.length === 0) {
175
+ hdPath = (0, derivation_paths_1.getAccountDerivationPath)(activeNetwork.currency, activeNetwork.slip44, accountId);
176
+ }
177
+ const xpubWithDescriptor = `[${hdPath}]${accountXpub}`.replace('m', fingerprint);
178
+ const walletPolicy = new bitcoin_client_1.DefaultWalletPolicy('wpkh(@0/**)', xpubWithDescriptor);
179
+ // Sign the enhanced PSBT with Ledger
180
+ const signatureEntries = await this.ledger.ledgerUtxoClient.signPsbt(enhancedPsbt.toBase64(), walletPolicy, null // No HMAC needed for standard policy
181
+ );
182
+ signatureEntries.forEach(([inputIndex, partialSig]) => {
183
+ enhancedPsbt.updateInput(inputIndex, {
184
+ partialSig: [partialSig],
185
+ });
186
+ });
187
+ // Finalize all inputs
188
+ enhancedPsbt.finalizeAllInputs();
189
+ return enhancedPsbt;
190
+ }
191
+ else if (isTrezor) {
192
+ // Handle Trezor signing for UTXO
193
+ const trezorTx = this.trezor.convertToTrezorFormat({
194
+ psbt,
195
+ pathIn, // Pass pathIn to Trezor
196
+ coin: activeNetwork.currency.toLowerCase(),
197
+ });
198
+ const signedPsbt = await this.trezor.signUtxoTransaction(trezorTx, psbt);
199
+ return signedPsbt;
200
+ }
201
+ else {
202
+ const { hd } = this.getSigner();
203
+ const signedPsbt = await this.signPSBTWithSigner({
204
+ psbt,
205
+ signer: hd,
206
+ pathIn,
207
+ });
208
+ return signedPsbt;
209
+ }
210
+ };
211
+ // Create unsigned PSBT and estimate fee - NO SIGNING
212
+ this.getEstimateSysTransactionFee = async ({ txOptions = {}, isMax = false, amount, receivingAddress, feeRate, token = null, }) => {
213
+ try {
214
+ // Ensure RBF is enabled by default if not explicitly set
215
+ const finalTxOptions = { rbf: true, ...txOptions };
216
+ const { main } = this.getSigner();
217
+ // Step 1: Determine fee rate
218
+ let actualFeeRate;
219
+ if (feeRate !== undefined) {
220
+ actualFeeRate = feeRate;
221
+ }
222
+ else {
223
+ actualFeeRate = await this.getRecommendedFee(main.blockbookURL);
224
+ }
225
+ // Convert fee rate to satoshis/byte for consistent usage
226
+ const feeRateBN = new syscoinjs.utils.BN(actualFeeRate * 1e8);
227
+ // Step 2: Create unsigned PSBT
228
+ const result = await this.createUnsignedPSBT({
229
+ txOptions: finalTxOptions,
230
+ isMax,
231
+ amount,
232
+ receivingAddress,
233
+ feeRateBN,
234
+ token,
235
+ });
236
+ return {
237
+ fee: result.fee / 1e8,
238
+ psbt: psbt_1.PsbtUtils.toPali(result.psbt), // Return UNSIGNED PSBT as JSON
239
+ };
240
+ }
241
+ catch (error) {
242
+ // Pass through structured errors from syscoinjs-lib
243
+ if (error.error && error.code) {
244
+ // Convert fee from satoshis to SYS if available
245
+ if (error.fee !== undefined) {
246
+ // If fee is a BN object, convert to number first
247
+ if (typeof error.fee === 'object' && error.fee.toNumber) {
248
+ error.fee = error.fee.toNumber() / 1e8;
249
+ }
250
+ else {
251
+ error.fee = error.fee / 1e8;
252
+ }
253
+ }
254
+ if (error.remainingFee !== undefined) {
255
+ // If remainingFee is a BN object, convert to number first
256
+ if (typeof error.remainingFee === 'object' &&
257
+ error.remainingFee.toNumber) {
258
+ error.remainingFee = error.remainingFee.toNumber() / 1e8;
259
+ }
260
+ else {
261
+ error.remainingFee = error.remainingFee / 1e8;
262
+ }
263
+ }
264
+ if (error.shortfall !== undefined) {
265
+ // If shortfall is a BN object, convert to number first
266
+ if (typeof error.shortfall === 'object' && error.shortfall.toNumber) {
267
+ error.shortfall = error.shortfall.toNumber() / 1e8;
268
+ }
269
+ else {
270
+ error.shortfall = error.shortfall / 1e8;
271
+ }
272
+ }
273
+ throw error;
274
+ }
275
+ // Wrap other errors
276
+ throw {
277
+ error: true,
278
+ code: 'TRANSACTION_CREATION_FAILED',
279
+ message: error.message || 'Failed to estimate transaction fee',
280
+ details: error,
281
+ };
282
+ }
283
+ };
284
+ // Removed createAndSignSysTransaction - functionality merged into getEstimateSysTransactionFee
285
+ this.sendSignedTransaction = async (psbt) => {
286
+ try {
287
+ const { main } = this.getSigner();
288
+ // Send the transaction
289
+ const result = await main.send(psbt);
290
+ // Extract the transaction ID
291
+ const txid = result.extractTransaction().getId();
292
+ return { txid };
293
+ }
294
+ catch (error) {
295
+ // Pass through structured errors
296
+ if (error.error && error.code) {
297
+ throw error;
298
+ }
299
+ // Wrap other errors
300
+ throw {
301
+ error: true,
302
+ code: 'TRANSACTION_SEND_FAILED',
303
+ message: error.message || 'Failed to send transaction',
304
+ details: error,
305
+ };
306
+ }
307
+ };
308
+ this.signPSBT = async ({ psbt, isTrezor = false, isLedger = false, pathIn, }) => {
309
+ const psbtObj = psbt_1.PsbtUtils.fromPali(psbt);
310
+ const signedPsbt = await this.signPSBTWithMethod(psbtObj, isTrezor, isLedger, pathIn);
311
+ return psbt_1.PsbtUtils.toPali(signedPsbt);
312
+ };
313
+ this.sendTransaction = async (psbt) => {
314
+ if (!psbt) {
315
+ throw new Error('Signed PSBT is required for broadcasting.');
316
+ }
317
+ return await this.sendSignedTransaction(psbt_1.PsbtUtils.fromPali(psbt));
318
+ };
319
+ this.getSigner = getSyscoinSigner;
320
+ this.getReadOnlySigner = getReadOnlySigner;
321
+ this.getState = getState;
322
+ this.getAddress = getAddress;
323
+ this.trezor = trezorSigner;
324
+ this.ledger = ledgerSigner;
325
+ }
326
+ }
327
+ exports.SyscoinTransactions = SyscoinTransactions;
328
+ //# sourceMappingURL=syscoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syscoin.js","sourceRoot":"","sources":["../../../src/transactions/syscoin.ts"],"names":[],"mappings":"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"}