mmn-client-js 1.0.2 → 1.0.4

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/index.d.ts CHANGED
@@ -173,7 +173,19 @@ declare class MmnClient {
173
173
  private requestId;
174
174
  constructor(config: MmnClientConfig);
175
175
  private makeRequest;
176
+ /**
177
+ * Securely convert raw Ed25519 private key to PKCS#8 format
178
+ * @param raw - Raw 32-byte Ed25519 private key
179
+ * @returns PKCS#8 formatted private key in hex
180
+ * @throws Error if input validation fails
181
+ */
176
182
  private rawEd25519ToPkcs8Hex;
183
+ private encodeLength;
184
+ /**
185
+ * Securely generate ephemeral key pair with proper entropy
186
+ * @returns Ephemeral key pair with private and public keys
187
+ * @throws Error if key generation fails
188
+ */
177
189
  generateEphemeralKeyPair(): IEphemeralKeyPair;
178
190
  getAddressFromUserId(userId: string): string;
179
191
  /**
@@ -181,7 +193,11 @@ declare class MmnClient {
181
193
  */
182
194
  private createAndSignTx;
183
195
  /**
184
- * Sign a transaction with Ed25519
196
+ * Securely sign a transaction with Ed25519
197
+ * @param tx - Transaction message to sign
198
+ * @param privateKeyHex - Private key in PKCS#8 hex format
199
+ * @returns Base58 encoded signature
200
+ * @throws Error if signing fails
185
201
  */
186
202
  private signTransaction;
187
203
  /**
@@ -211,9 +227,9 @@ declare class MmnClient {
211
227
  /**
212
228
  * Get current nonce for an account
213
229
  */
214
- getCurrentNonce(address: string, tag?: 'latest' | 'pending'): Promise<GetCurrentNonceResponse>;
230
+ getCurrentNonce(userId: string, tag?: 'latest' | 'pending'): Promise<GetCurrentNonceResponse>;
215
231
  getAccountByUserId(userId: string): Promise<GetAccountByAddressResponse>;
216
- scaleAmountToDecimals(originalAmount: string | number, decimals: number): string;
232
+ scaleAmountToDecimals(originalAmount: string | number, decimals?: number): string;
217
233
  }
218
234
  declare function createMmnClient(config: MmnClientConfig): MmnClient;
219
235
 
package/dist/index.esm.js CHANGED
@@ -79,10 +79,21 @@ class IndexerClient {
79
79
 
80
80
  // MMN Client
81
81
  // This client provides a complete interface for interacting with MMN blockchain
82
+ // Cryptographic constants
83
+ const CRYPTO_CONSTANTS = {
84
+ ED25519_PRIVATE_KEY_LENGTH: 32,
85
+ ED25519_PUBLIC_KEY_LENGTH: 32,
86
+ MNEMONIC_ENTROPY_BITS: 128,
87
+ PKCS8_VERSION: 0,
88
+ ASN1_SEQUENCE_TAG: 0x30,
89
+ ASN1_OCTET_STRING_TAG: 0x04,
90
+ ASN1_INTEGER_TAG: 0x02,
91
+ };
82
92
  const TX_TYPE = {
83
93
  TRANSFER: 0,
84
94
  FAUCET: 1,
85
95
  };
96
+ const DECIMALS = 6;
86
97
  class MmnClient {
87
98
  constructor(config) {
88
99
  this.requestId = 0;
@@ -136,61 +147,117 @@ class MmnClient {
136
147
  throw new Error('Unknown error occurred');
137
148
  }
138
149
  }
150
+ /**
151
+ * Securely convert raw Ed25519 private key to PKCS#8 format
152
+ * @param raw - Raw 32-byte Ed25519 private key
153
+ * @returns PKCS#8 formatted private key in hex
154
+ * @throws Error if input validation fails
155
+ */
139
156
  rawEd25519ToPkcs8Hex(raw) {
140
- // Helpers: DER building
141
- const concat = (...parts) => {
142
- const total = parts.reduce((s, p) => s + p.length, 0);
143
- const out = new Uint8Array(total);
144
- let offset = 0;
145
- for (const p of parts) {
146
- out.set(p, offset);
147
- offset += p.length;
148
- }
149
- return out;
150
- };
151
- const derLen = (n) => {
152
- if (n < 0x80)
153
- return Uint8Array.of(n);
154
- // support up to 4 bytes length which is plenty here
155
- const bytes = [];
156
- let x = n;
157
- while (x > 0) {
158
- bytes.unshift(x & 0xff);
159
- x >>= 8;
160
- }
161
- return Uint8Array.of(0x80 | bytes.length, ...bytes);
162
- };
163
- const derIntegerZero = Uint8Array.of(0x02, 0x01, 0x00); // INTEGER 0
164
- // AlgorithmIdentifier = SEQUENCE { OID 1.3.101.112 (ed25519), parameters ABSENT }
165
- const oidEd25519 = Uint8Array.of(0x06, 0x03, 0x2b, 0x65, 0x70);
166
- const algId = concat(Uint8Array.of(0x30), derLen(oidEd25519.length), oidEd25519);
167
- // privateKey = OCTET STRING of inner OCTET STRING (RFC8410 commonly seen form)
168
- const innerOctet = concat(Uint8Array.of(0x04, 0x20), new Uint8Array(raw)); // 0x04, len=0x20, 32 bytes
169
- const privateKeyField = concat(Uint8Array.of(0x04), derLen(innerOctet.length), innerOctet);
170
- // PrivateKeyInfo = SEQUENCE { version, algId, privateKey }
171
- const body = concat(derIntegerZero, algId, privateKeyField);
172
- const pkcs8 = concat(Uint8Array.of(0x30), derLen(body.length), body);
173
- return Buffer.from(pkcs8).toString('hex');
157
+ // Input validation
158
+ if (!Buffer.isBuffer(raw)) {
159
+ throw new Error('Private key must be a Buffer');
160
+ }
161
+ if (raw.length !== CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
162
+ throw new Error(`Ed25519 private key must be exactly ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH} bytes`);
163
+ }
164
+ try {
165
+ // Ed25519 OID: 1.3.101.112 (constant-time)
166
+ const ED25519_OID = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
167
+ const VERSION_BYTES = Buffer.from([
168
+ CRYPTO_CONSTANTS.ASN1_INTEGER_TAG,
169
+ 0x01,
170
+ CRYPTO_CONSTANTS.PKCS8_VERSION,
171
+ ]); // INTEGER 0
172
+ // Create algorithm identifier sequence
173
+ const algorithmId = Buffer.concat([
174
+ Buffer.from([0x30, 0x0b]), // SEQUENCE, length 11
175
+ ED25519_OID,
176
+ ]);
177
+ // Create private key octet string
178
+ const privateKeyOctetString = Buffer.concat([
179
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_OCTET_STRING_TAG, 0x22]), // OCTET STRING, length 34
180
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_OCTET_STRING_TAG, 0x20]), // inner OCTET STRING, length 32
181
+ raw,
182
+ ]);
183
+ // Create PKCS#8 body
184
+ const pkcs8Body = Buffer.concat([
185
+ VERSION_BYTES,
186
+ algorithmId,
187
+ privateKeyOctetString,
188
+ ]);
189
+ // Create final PKCS#8 structure
190
+ const pkcs8 = Buffer.concat([
191
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_SEQUENCE_TAG]), // SEQUENCE
192
+ this.encodeLength(pkcs8Body.length),
193
+ pkcs8Body,
194
+ ]);
195
+ const result = pkcs8.toString('hex');
196
+ // Clear sensitive data from memory
197
+ raw.fill(0);
198
+ privateKeyOctetString.fill(0);
199
+ pkcs8Body.fill(0);
200
+ pkcs8.fill(0);
201
+ return result;
202
+ }
203
+ catch (error) {
204
+ // Clear sensitive data on error
205
+ raw.fill(0);
206
+ throw new Error(`Failed to convert private key to PKCS#8: ${error instanceof Error ? error.message : 'Unknown error'}`);
207
+ }
174
208
  }
209
+ encodeLength(length) {
210
+ if (length < 0x80) {
211
+ return Buffer.from([length]);
212
+ }
213
+ const bytes = [];
214
+ let len = length;
215
+ while (len > 0) {
216
+ bytes.unshift(len & 0xff);
217
+ len >>= 8;
218
+ }
219
+ return Buffer.from([0x80 | bytes.length, ...bytes]);
220
+ }
221
+ /**
222
+ * Securely generate ephemeral key pair with proper entropy
223
+ * @returns Ephemeral key pair with private and public keys
224
+ * @throws Error if key generation fails
225
+ */
175
226
  generateEphemeralKeyPair() {
176
227
  try {
177
- const mnemonic = bip39.generateMnemonic(128);
228
+ // Generate cryptographically secure mnemonic
229
+ const mnemonic = bip39.generateMnemonic(CRYPTO_CONSTANTS.MNEMONIC_ENTROPY_BITS);
178
230
  if (!bip39.validateMnemonic(mnemonic)) {
179
231
  throw new Error('Generated mnemonic failed validation');
180
232
  }
233
+ // Convert mnemonic to seed
181
234
  const seed = bip39.mnemonicToSeedSync(mnemonic);
182
- const privateKey = seed.slice(0, 32);
183
- const kp = nacl.sign.keyPair.fromSeed(privateKey);
184
- const publicKeyBytes = kp.publicKey;
235
+ // Extract first 32 bytes as private key
236
+ const privateKey = seed.subarray(0, CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH);
237
+ // Validate private key length
238
+ if (privateKey.length !== CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
239
+ throw new Error(`Invalid private key length: expected ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH}, got ${privateKey.length}`);
240
+ }
241
+ // Generate key pair from seed
242
+ const keyPair = nacl.sign.keyPair.fromSeed(privateKey);
243
+ const publicKeyBytes = keyPair.publicKey;
244
+ // Validate public key
245
+ if (publicKeyBytes.length !== CRYPTO_CONSTANTS.ED25519_PUBLIC_KEY_LENGTH) {
246
+ throw new Error(`Invalid public key length: expected ${CRYPTO_CONSTANTS.ED25519_PUBLIC_KEY_LENGTH}, got ${publicKeyBytes.length}`);
247
+ }
248
+ // Convert private key to PKCS#8 format
185
249
  const privateKeyHex = this.rawEd25519ToPkcs8Hex(privateKey);
250
+ // Clear sensitive data
251
+ seed.fill(0);
252
+ privateKey.fill(0);
253
+ keyPair.secretKey.fill(0);
186
254
  return {
187
255
  privateKey: privateKeyHex,
188
256
  publicKey: bs58.encode(publicKeyBytes),
189
257
  };
190
258
  }
191
259
  catch (error) {
192
- console.error('Error generating wallet:', error);
193
- throw new Error('Failed to generate wallet');
260
+ throw new Error(`Failed to generate ephemeral key pair: ${error instanceof Error ? error.message : 'Unknown error'}`);
194
261
  }
195
262
  }
196
263
  getAddressFromUserId(userId) {
@@ -222,24 +289,60 @@ class MmnClient {
222
289
  };
223
290
  }
224
291
  /**
225
- * Sign a transaction with Ed25519
292
+ * Securely sign a transaction with Ed25519
293
+ * @param tx - Transaction message to sign
294
+ * @param privateKeyHex - Private key in PKCS#8 hex format
295
+ * @returns Base58 encoded signature
296
+ * @throws Error if signing fails
226
297
  */
227
298
  signTransaction(tx, privateKeyHex) {
228
- const serializedData = this.serializeTransaction(tx);
229
- // Extract the Ed25519 seed from the private key for nacl signing
230
- const privateKeyDer = Buffer.from(privateKeyHex, 'hex');
231
- const seed = privateKeyDer.slice(-32);
232
- const keyPair = nacl.sign.keyPair.fromSeed(seed);
233
- // Sign using Ed25519 (nacl)
234
- const signature = nacl.sign.detached(serializedData, keyPair.secretKey);
235
- if (tx.type === TX_TYPE.FAUCET) {
236
- return bs58.encode(Buffer.from(signature));
299
+ try {
300
+ // Validate inputs
301
+ if (!tx || typeof tx !== 'object') {
302
+ throw new Error('Invalid transaction object');
303
+ }
304
+ if (!privateKeyHex || typeof privateKeyHex !== 'string') {
305
+ throw new Error('Invalid private key format');
306
+ }
307
+ // Serialize transaction data
308
+ const serializedData = this.serializeTransaction(tx);
309
+ if (!serializedData || serializedData.length === 0) {
310
+ throw new Error('Failed to serialize transaction');
311
+ }
312
+ // Extract the Ed25519 seed from the private key for nacl signing
313
+ const privateKeyDer = Buffer.from(privateKeyHex, 'hex');
314
+ if (privateKeyDer.length < CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
315
+ throw new Error(`Invalid private key length: expected at least ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH} bytes, got ${privateKeyDer.length}`);
316
+ }
317
+ const seed = privateKeyDer.subarray(-CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH); // Last 32 bytes
318
+ const keyPair = nacl.sign.keyPair.fromSeed(seed);
319
+ // Validate key pair
320
+ if (!keyPair.publicKey || !keyPair.secretKey) {
321
+ throw new Error('Failed to create key pair from seed');
322
+ }
323
+ // Sign using Ed25519 (nacl) - constant time operation
324
+ const signature = nacl.sign.detached(serializedData, keyPair.secretKey);
325
+ if (!signature || signature.length === 0) {
326
+ throw new Error('Failed to generate signature');
327
+ }
328
+ // Clear sensitive data
329
+ privateKeyDer.fill(0);
330
+ seed.fill(0);
331
+ keyPair.secretKey.fill(0);
332
+ // Return signature based on transaction type
333
+ if (tx.type === TX_TYPE.FAUCET) {
334
+ return bs58.encode(Buffer.from(signature));
335
+ }
336
+ // For regular transactions, wrap signature with public key
337
+ const userSig = {
338
+ PubKey: Buffer.from(keyPair.publicKey).toString('base64'),
339
+ Sig: Buffer.from(signature).toString('base64'),
340
+ };
341
+ return bs58.encode(Buffer.from(JSON.stringify(userSig)));
342
+ }
343
+ catch (error) {
344
+ throw new Error(`Transaction signing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
237
345
  }
238
- const userSig = {
239
- PubKey: Buffer.from(keyPair.publicKey).toString('base64'),
240
- Sig: Buffer.from(signature).toString('base64'),
241
- };
242
- return bs58.encode(Buffer.from(JSON.stringify(userSig)));
243
346
  }
244
347
  /**
245
348
  * Serialize transaction for signing
@@ -267,7 +370,8 @@ class MmnClient {
267
370
  /**
268
371
  * Get current nonce for an account
269
372
  */
270
- async getCurrentNonce(address, tag = 'latest') {
373
+ async getCurrentNonce(userId, tag = 'latest') {
374
+ const address = this.getAddressFromUserId(userId);
271
375
  return this.makeRequest('account.getcurrentnonce', { address, tag });
272
376
  }
273
377
  async getAccountByUserId(userId) {
@@ -276,7 +380,7 @@ class MmnClient {
276
380
  address,
277
381
  });
278
382
  }
279
- scaleAmountToDecimals(originalAmount, decimals) {
383
+ scaleAmountToDecimals(originalAmount, decimals = DECIMALS) {
280
384
  let scaledAmount = BigInt(originalAmount);
281
385
  for (let i = 0; i < decimals; i++) {
282
386
  scaledAmount = scaledAmount * BigInt(10);
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/indexer-client.ts","../src/mmn-client.ts","../src/types.ts","../src/zk-client.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/indexer-client.ts","../src/mmn-client.ts","../src/types.ts","../src/zk-client.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -100,10 +100,21 @@ class IndexerClient {
100
100
 
101
101
  // MMN Client
102
102
  // This client provides a complete interface for interacting with MMN blockchain
103
+ // Cryptographic constants
104
+ const CRYPTO_CONSTANTS = {
105
+ ED25519_PRIVATE_KEY_LENGTH: 32,
106
+ ED25519_PUBLIC_KEY_LENGTH: 32,
107
+ MNEMONIC_ENTROPY_BITS: 128,
108
+ PKCS8_VERSION: 0,
109
+ ASN1_SEQUENCE_TAG: 0x30,
110
+ ASN1_OCTET_STRING_TAG: 0x04,
111
+ ASN1_INTEGER_TAG: 0x02,
112
+ };
103
113
  const TX_TYPE = {
104
114
  TRANSFER: 0,
105
115
  FAUCET: 1,
106
116
  };
117
+ const DECIMALS = 6;
107
118
  class MmnClient {
108
119
  constructor(config) {
109
120
  this.requestId = 0;
@@ -157,61 +168,117 @@ class MmnClient {
157
168
  throw new Error('Unknown error occurred');
158
169
  }
159
170
  }
171
+ /**
172
+ * Securely convert raw Ed25519 private key to PKCS#8 format
173
+ * @param raw - Raw 32-byte Ed25519 private key
174
+ * @returns PKCS#8 formatted private key in hex
175
+ * @throws Error if input validation fails
176
+ */
160
177
  rawEd25519ToPkcs8Hex(raw) {
161
- // Helpers: DER building
162
- const concat = (...parts) => {
163
- const total = parts.reduce((s, p) => s + p.length, 0);
164
- const out = new Uint8Array(total);
165
- let offset = 0;
166
- for (const p of parts) {
167
- out.set(p, offset);
168
- offset += p.length;
169
- }
170
- return out;
171
- };
172
- const derLen = (n) => {
173
- if (n < 0x80)
174
- return Uint8Array.of(n);
175
- // support up to 4 bytes length which is plenty here
176
- const bytes = [];
177
- let x = n;
178
- while (x > 0) {
179
- bytes.unshift(x & 0xff);
180
- x >>= 8;
181
- }
182
- return Uint8Array.of(0x80 | bytes.length, ...bytes);
183
- };
184
- const derIntegerZero = Uint8Array.of(0x02, 0x01, 0x00); // INTEGER 0
185
- // AlgorithmIdentifier = SEQUENCE { OID 1.3.101.112 (ed25519), parameters ABSENT }
186
- const oidEd25519 = Uint8Array.of(0x06, 0x03, 0x2b, 0x65, 0x70);
187
- const algId = concat(Uint8Array.of(0x30), derLen(oidEd25519.length), oidEd25519);
188
- // privateKey = OCTET STRING of inner OCTET STRING (RFC8410 commonly seen form)
189
- const innerOctet = concat(Uint8Array.of(0x04, 0x20), new Uint8Array(raw)); // 0x04, len=0x20, 32 bytes
190
- const privateKeyField = concat(Uint8Array.of(0x04), derLen(innerOctet.length), innerOctet);
191
- // PrivateKeyInfo = SEQUENCE { version, algId, privateKey }
192
- const body = concat(derIntegerZero, algId, privateKeyField);
193
- const pkcs8 = concat(Uint8Array.of(0x30), derLen(body.length), body);
194
- return Buffer.from(pkcs8).toString('hex');
178
+ // Input validation
179
+ if (!Buffer.isBuffer(raw)) {
180
+ throw new Error('Private key must be a Buffer');
181
+ }
182
+ if (raw.length !== CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
183
+ throw new Error(`Ed25519 private key must be exactly ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH} bytes`);
184
+ }
185
+ try {
186
+ // Ed25519 OID: 1.3.101.112 (constant-time)
187
+ const ED25519_OID = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
188
+ const VERSION_BYTES = Buffer.from([
189
+ CRYPTO_CONSTANTS.ASN1_INTEGER_TAG,
190
+ 0x01,
191
+ CRYPTO_CONSTANTS.PKCS8_VERSION,
192
+ ]); // INTEGER 0
193
+ // Create algorithm identifier sequence
194
+ const algorithmId = Buffer.concat([
195
+ Buffer.from([0x30, 0x0b]), // SEQUENCE, length 11
196
+ ED25519_OID,
197
+ ]);
198
+ // Create private key octet string
199
+ const privateKeyOctetString = Buffer.concat([
200
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_OCTET_STRING_TAG, 0x22]), // OCTET STRING, length 34
201
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_OCTET_STRING_TAG, 0x20]), // inner OCTET STRING, length 32
202
+ raw,
203
+ ]);
204
+ // Create PKCS#8 body
205
+ const pkcs8Body = Buffer.concat([
206
+ VERSION_BYTES,
207
+ algorithmId,
208
+ privateKeyOctetString,
209
+ ]);
210
+ // Create final PKCS#8 structure
211
+ const pkcs8 = Buffer.concat([
212
+ Buffer.from([CRYPTO_CONSTANTS.ASN1_SEQUENCE_TAG]), // SEQUENCE
213
+ this.encodeLength(pkcs8Body.length),
214
+ pkcs8Body,
215
+ ]);
216
+ const result = pkcs8.toString('hex');
217
+ // Clear sensitive data from memory
218
+ raw.fill(0);
219
+ privateKeyOctetString.fill(0);
220
+ pkcs8Body.fill(0);
221
+ pkcs8.fill(0);
222
+ return result;
223
+ }
224
+ catch (error) {
225
+ // Clear sensitive data on error
226
+ raw.fill(0);
227
+ throw new Error(`Failed to convert private key to PKCS#8: ${error instanceof Error ? error.message : 'Unknown error'}`);
228
+ }
195
229
  }
230
+ encodeLength(length) {
231
+ if (length < 0x80) {
232
+ return Buffer.from([length]);
233
+ }
234
+ const bytes = [];
235
+ let len = length;
236
+ while (len > 0) {
237
+ bytes.unshift(len & 0xff);
238
+ len >>= 8;
239
+ }
240
+ return Buffer.from([0x80 | bytes.length, ...bytes]);
241
+ }
242
+ /**
243
+ * Securely generate ephemeral key pair with proper entropy
244
+ * @returns Ephemeral key pair with private and public keys
245
+ * @throws Error if key generation fails
246
+ */
196
247
  generateEphemeralKeyPair() {
197
248
  try {
198
- const mnemonic = bip39__namespace.generateMnemonic(128);
249
+ // Generate cryptographically secure mnemonic
250
+ const mnemonic = bip39__namespace.generateMnemonic(CRYPTO_CONSTANTS.MNEMONIC_ENTROPY_BITS);
199
251
  if (!bip39__namespace.validateMnemonic(mnemonic)) {
200
252
  throw new Error('Generated mnemonic failed validation');
201
253
  }
254
+ // Convert mnemonic to seed
202
255
  const seed = bip39__namespace.mnemonicToSeedSync(mnemonic);
203
- const privateKey = seed.slice(0, 32);
204
- const kp = nacl.sign.keyPair.fromSeed(privateKey);
205
- const publicKeyBytes = kp.publicKey;
256
+ // Extract first 32 bytes as private key
257
+ const privateKey = seed.subarray(0, CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH);
258
+ // Validate private key length
259
+ if (privateKey.length !== CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
260
+ throw new Error(`Invalid private key length: expected ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH}, got ${privateKey.length}`);
261
+ }
262
+ // Generate key pair from seed
263
+ const keyPair = nacl.sign.keyPair.fromSeed(privateKey);
264
+ const publicKeyBytes = keyPair.publicKey;
265
+ // Validate public key
266
+ if (publicKeyBytes.length !== CRYPTO_CONSTANTS.ED25519_PUBLIC_KEY_LENGTH) {
267
+ throw new Error(`Invalid public key length: expected ${CRYPTO_CONSTANTS.ED25519_PUBLIC_KEY_LENGTH}, got ${publicKeyBytes.length}`);
268
+ }
269
+ // Convert private key to PKCS#8 format
206
270
  const privateKeyHex = this.rawEd25519ToPkcs8Hex(privateKey);
271
+ // Clear sensitive data
272
+ seed.fill(0);
273
+ privateKey.fill(0);
274
+ keyPair.secretKey.fill(0);
207
275
  return {
208
276
  privateKey: privateKeyHex,
209
277
  publicKey: bs58.encode(publicKeyBytes),
210
278
  };
211
279
  }
212
280
  catch (error) {
213
- console.error('Error generating wallet:', error);
214
- throw new Error('Failed to generate wallet');
281
+ throw new Error(`Failed to generate ephemeral key pair: ${error instanceof Error ? error.message : 'Unknown error'}`);
215
282
  }
216
283
  }
217
284
  getAddressFromUserId(userId) {
@@ -243,24 +310,60 @@ class MmnClient {
243
310
  };
244
311
  }
245
312
  /**
246
- * Sign a transaction with Ed25519
313
+ * Securely sign a transaction with Ed25519
314
+ * @param tx - Transaction message to sign
315
+ * @param privateKeyHex - Private key in PKCS#8 hex format
316
+ * @returns Base58 encoded signature
317
+ * @throws Error if signing fails
247
318
  */
248
319
  signTransaction(tx, privateKeyHex) {
249
- const serializedData = this.serializeTransaction(tx);
250
- // Extract the Ed25519 seed from the private key for nacl signing
251
- const privateKeyDer = Buffer.from(privateKeyHex, 'hex');
252
- const seed = privateKeyDer.slice(-32);
253
- const keyPair = nacl.sign.keyPair.fromSeed(seed);
254
- // Sign using Ed25519 (nacl)
255
- const signature = nacl.sign.detached(serializedData, keyPair.secretKey);
256
- if (tx.type === TX_TYPE.FAUCET) {
257
- return bs58.encode(Buffer.from(signature));
320
+ try {
321
+ // Validate inputs
322
+ if (!tx || typeof tx !== 'object') {
323
+ throw new Error('Invalid transaction object');
324
+ }
325
+ if (!privateKeyHex || typeof privateKeyHex !== 'string') {
326
+ throw new Error('Invalid private key format');
327
+ }
328
+ // Serialize transaction data
329
+ const serializedData = this.serializeTransaction(tx);
330
+ if (!serializedData || serializedData.length === 0) {
331
+ throw new Error('Failed to serialize transaction');
332
+ }
333
+ // Extract the Ed25519 seed from the private key for nacl signing
334
+ const privateKeyDer = Buffer.from(privateKeyHex, 'hex');
335
+ if (privateKeyDer.length < CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH) {
336
+ throw new Error(`Invalid private key length: expected at least ${CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH} bytes, got ${privateKeyDer.length}`);
337
+ }
338
+ const seed = privateKeyDer.subarray(-CRYPTO_CONSTANTS.ED25519_PRIVATE_KEY_LENGTH); // Last 32 bytes
339
+ const keyPair = nacl.sign.keyPair.fromSeed(seed);
340
+ // Validate key pair
341
+ if (!keyPair.publicKey || !keyPair.secretKey) {
342
+ throw new Error('Failed to create key pair from seed');
343
+ }
344
+ // Sign using Ed25519 (nacl) - constant time operation
345
+ const signature = nacl.sign.detached(serializedData, keyPair.secretKey);
346
+ if (!signature || signature.length === 0) {
347
+ throw new Error('Failed to generate signature');
348
+ }
349
+ // Clear sensitive data
350
+ privateKeyDer.fill(0);
351
+ seed.fill(0);
352
+ keyPair.secretKey.fill(0);
353
+ // Return signature based on transaction type
354
+ if (tx.type === TX_TYPE.FAUCET) {
355
+ return bs58.encode(Buffer.from(signature));
356
+ }
357
+ // For regular transactions, wrap signature with public key
358
+ const userSig = {
359
+ PubKey: Buffer.from(keyPair.publicKey).toString('base64'),
360
+ Sig: Buffer.from(signature).toString('base64'),
361
+ };
362
+ return bs58.encode(Buffer.from(JSON.stringify(userSig)));
363
+ }
364
+ catch (error) {
365
+ throw new Error(`Transaction signing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
258
366
  }
259
- const userSig = {
260
- PubKey: Buffer.from(keyPair.publicKey).toString('base64'),
261
- Sig: Buffer.from(signature).toString('base64'),
262
- };
263
- return bs58.encode(Buffer.from(JSON.stringify(userSig)));
264
367
  }
265
368
  /**
266
369
  * Serialize transaction for signing
@@ -288,7 +391,8 @@ class MmnClient {
288
391
  /**
289
392
  * Get current nonce for an account
290
393
  */
291
- async getCurrentNonce(address, tag = 'latest') {
394
+ async getCurrentNonce(userId, tag = 'latest') {
395
+ const address = this.getAddressFromUserId(userId);
292
396
  return this.makeRequest('account.getcurrentnonce', { address, tag });
293
397
  }
294
398
  async getAccountByUserId(userId) {
@@ -297,7 +401,7 @@ class MmnClient {
297
401
  address,
298
402
  });
299
403
  }
300
- scaleAmountToDecimals(originalAmount, decimals) {
404
+ scaleAmountToDecimals(originalAmount, decimals = DECIMALS) {
301
405
  let scaledAmount = BigInt(originalAmount);
302
406
  for (let i = 0; i < decimals; i++) {
303
407
  scaledAmount = scaledAmount * BigInt(10);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/indexer-client.ts","../src/mmn-client.ts","../src/types.ts","../src/zk-client.ts"],"sourcesContent":[null,null,null,null],"names":["bip39","createHash","ETransferType"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/indexer-client.ts","../src/mmn-client.ts","../src/types.ts","../src/zk-client.ts"],"sourcesContent":[null,null,null,null],"names":["bip39","createHash","ETransferType"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mmn-client-js",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "A comprehensive TypeScript client for interacting with MMN blockchain via JSON-RPC",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",