@beclab/olaresid 0.1.4 → 0.1.6

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 (52) hide show
  1. package/dist/business/index.d.ts +3 -3
  2. package/dist/business/index.d.ts.map +1 -1
  3. package/dist/business/index.js +49 -64
  4. package/dist/business/index.js.map +1 -1
  5. package/dist/cli.js +3 -3
  6. package/dist/cli.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +6 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/utils/crypto-utils.d.ts +32 -4
  12. package/dist/utils/crypto-utils.d.ts.map +1 -1
  13. package/dist/utils/crypto-utils.js +117 -30
  14. package/dist/utils/crypto-utils.js.map +1 -1
  15. package/examples/crypto-utilities.ts +3 -3
  16. package/examples/ed25519-jwk.ts +1 -1
  17. package/examples/encoding-utils.ts +96 -0
  18. package/examples/frontend-demo/.dockerignore +40 -0
  19. package/examples/frontend-demo/index.html +13 -0
  20. package/examples/frontend-demo/package-lock.json +5304 -0
  21. package/examples/frontend-demo/package.json +32 -0
  22. package/examples/frontend-demo/src/App.vue +1156 -0
  23. package/examples/frontend-demo/src/main.ts +5 -0
  24. package/examples/frontend-demo/src/style.css +323 -0
  25. package/examples/frontend-demo/tsconfig.json +24 -0
  26. package/examples/frontend-demo/webpack.config.js +86 -0
  27. package/examples/generate-mnemonic.ts +3 -3
  28. package/examples/register-subdomain.ts +4 -3
  29. package/examples/transfer-domain.ts +1 -1
  30. package/examples/wallet-management.ts +8 -8
  31. package/package.json +1 -3
  32. package/src/business/index.ts +46 -58
  33. package/src/cli.ts +3 -3
  34. package/src/index.ts +6 -1
  35. package/src/utils/crypto-utils.ts +134 -32
  36. package/examples/quasar-demo/.eslintrc.js +0 -23
  37. package/examples/quasar-demo/.quasar/app.js +0 -43
  38. package/examples/quasar-demo/.quasar/client-entry.js +0 -38
  39. package/examples/quasar-demo/.quasar/client-prefetch.js +0 -130
  40. package/examples/quasar-demo/.quasar/quasar-user-options.js +0 -16
  41. package/examples/quasar-demo/README.md +0 -49
  42. package/examples/quasar-demo/index.html +0 -11
  43. package/examples/quasar-demo/package-lock.json +0 -6407
  44. package/examples/quasar-demo/package.json +0 -36
  45. package/examples/quasar-demo/quasar.config.js +0 -73
  46. package/examples/quasar-demo/src/App.vue +0 -13
  47. package/examples/quasar-demo/src/css/app.scss +0 -1
  48. package/examples/quasar-demo/src/layouts/MainLayout.vue +0 -21
  49. package/examples/quasar-demo/src/pages/IndexPage.vue +0 -905
  50. package/examples/quasar-demo/src/router/index.ts +0 -25
  51. package/examples/quasar-demo/src/router/routes.ts +0 -11
  52. package/examples/quasar-demo/tsconfig.json +0 -28
@@ -40,6 +40,10 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  };
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.base64ToUint8Array = base64ToUint8Array;
44
+ exports.uint8ArrayToHex = uint8ArrayToHex;
45
+ exports.hexToUint8Array = hexToUint8Array;
46
+ exports.uint8ArrayToBase64 = uint8ArrayToBase64;
43
47
  exports.generateMnemonic = generateMnemonic;
44
48
  exports.getEthereumAddressFromMnemonic = getEthereumAddressFromMnemonic;
45
49
  exports.getEVMPrivateKeyFromMnemonic = getEVMPrivateKeyFromMnemonic;
@@ -48,11 +52,60 @@ exports.getEd25519JwkFromMnemonic = getEd25519JwkFromMnemonic;
48
52
  exports.deriveDIDFromMnemonic = deriveDIDFromMnemonic;
49
53
  exports.generateDIDKeyData = generateDIDKeyData;
50
54
  exports.createRsaKeyPair = createRsaKeyPair;
51
- const bip39 = __importStar(require("bip39"));
52
55
  const varint = __importStar(require("varint"));
53
56
  const base58_1 = require("multiformats/bases/base58");
54
57
  const base64_1 = require("multiformats/bases/base64");
55
58
  // ============================================================================
59
+ // Cross-platform encoding utilities (Browser + Node.js compatible)
60
+ // ============================================================================
61
+ /**
62
+ * Convert base64 string to Uint8Array (cross-platform)
63
+ * Works in both browser and Node.js environments
64
+ * @param base64 base64 encoded string
65
+ * @returns Uint8Array
66
+ */
67
+ function base64ToUint8Array(base64) {
68
+ const binaryString = atob(base64);
69
+ const bytes = new Uint8Array(binaryString.length);
70
+ for (let i = 0; i < binaryString.length; i++) {
71
+ bytes[i] = binaryString.charCodeAt(i);
72
+ }
73
+ return bytes;
74
+ }
75
+ /**
76
+ * Convert Uint8Array to hex string (cross-platform)
77
+ * @param bytes Uint8Array to convert
78
+ * @returns hex string without '0x' prefix
79
+ */
80
+ function uint8ArrayToHex(bytes) {
81
+ return Array.from(bytes)
82
+ .map((b) => b.toString(16).padStart(2, '0'))
83
+ .join('');
84
+ }
85
+ /**
86
+ * Convert hex string to Uint8Array (cross-platform)
87
+ * @param hex hex string (with or without '0x' prefix)
88
+ * @returns Uint8Array
89
+ */
90
+ function hexToUint8Array(hex) {
91
+ const cleanHex = hex.startsWith('0x') ? hex.slice(2) : hex;
92
+ const bytes = new Uint8Array(cleanHex.length / 2);
93
+ for (let i = 0; i < cleanHex.length; i += 2) {
94
+ bytes[i / 2] = parseInt(cleanHex.slice(i, i + 2), 16);
95
+ }
96
+ return bytes;
97
+ }
98
+ /**
99
+ * Convert Uint8Array to base64 string (cross-platform)
100
+ * Works in both browser and Node.js environments
101
+ * @param bytes Uint8Array to convert
102
+ * @returns base64 encoded string
103
+ */
104
+ function uint8ArrayToBase64(bytes) {
105
+ const binaryString = String.fromCharCode(...bytes);
106
+ return btoa(binaryString);
107
+ }
108
+ // ============================================================================
56
109
  // Trust Wallet Core Management
57
110
  // ============================================================================
58
111
  let walletCore = null;
@@ -61,6 +114,7 @@ let loadingPromise = null;
61
114
  /**
62
115
  * Load Trust Wallet Core (lazy loading)
63
116
  * Works in both Node.js and browser environments
117
+ * Handles different module export formats (CommonJS vs ESM)
64
118
  */
65
119
  async function loadWalletCore() {
66
120
  // Return cached instance if already loaded
@@ -74,17 +128,33 @@ async function loadWalletCore() {
74
128
  // Start loading
75
129
  loadingPromise = (async () => {
76
130
  try {
77
- // Check if running in browser or Node.js
78
- if (typeof window !== 'undefined' &&
79
- typeof require === 'undefined') {
80
- // Browser environment with ES modules
81
- const { initWasm } = await Promise.resolve().then(() => __importStar(require('@trustwallet/wallet-core')));
82
- walletCore = await initWasm();
131
+ // Dynamic import works in both Node.js ESM and browser ESM
132
+ const WalletCoreModule = await Promise.resolve().then(() => __importStar(require('@trustwallet/wallet-core')));
133
+ // Handle different export formats (CommonJS vs ESM)
134
+ let initWasmFunc;
135
+ if (WalletCoreModule.initWasm) {
136
+ // ESM named export
137
+ initWasmFunc = WalletCoreModule.initWasm;
138
+ }
139
+ else if (WalletCoreModule.default &&
140
+ WalletCoreModule.default.initWasm) {
141
+ // ESM default export with initWasm
142
+ initWasmFunc = WalletCoreModule.default.initWasm;
143
+ }
144
+ else if (WalletCoreModule.default) {
145
+ // Default export is the function itself
146
+ initWasmFunc = WalletCoreModule.default;
147
+ }
148
+ else {
149
+ // Module itself is the function
150
+ initWasmFunc = WalletCoreModule;
151
+ }
152
+ // Call the init function
153
+ if (typeof initWasmFunc === 'function') {
154
+ walletCore = await initWasmFunc();
83
155
  }
84
156
  else {
85
- // Node.js environment
86
- const { initWasm } = require('@trustwallet/wallet-core');
87
- walletCore = await initWasm();
157
+ throw new Error('initWasm is not a function');
88
158
  }
89
159
  walletCoreLoaded = true;
90
160
  return walletCore;
@@ -98,22 +168,34 @@ async function loadWalletCore() {
98
168
  }
99
169
  // multicodec code for Ed25519 keys (0xed)
100
170
  const ED25519_CODEC_ID = varint.encode(parseInt('0xed', 16));
171
+ /**
172
+ * Simple mnemonic validation (checks word count)
173
+ * @param mnemonic BIP39 mnemonic phrase
174
+ * @returns true if mnemonic has valid word count (12, 15, 18, 21, or 24 words)
175
+ */
176
+ function validateMnemonic(mnemonic) {
177
+ const words = mnemonic.trim().split(/\s+/);
178
+ const validWordCounts = [12, 15, 18, 21, 24];
179
+ return validWordCounts.includes(words.length);
180
+ }
101
181
  // ============================================================================
102
182
  // Mnemonic and Key Derivation Functions
103
183
  // ============================================================================
104
184
  /**
105
- * Generate a random BIP39 mnemonic phrase
185
+ * Generate a random BIP39 mnemonic phrase using Trust Wallet Core
186
+ * Works in both Node.js and browser environments
187
+ *
106
188
  * @param wordCount Number of words (12, 15, 18, 21, or 24), default is 12
107
- * @returns A mnemonic phrase string
189
+ * @returns A promise that resolves to a mnemonic phrase string
108
190
  *
109
191
  * @example
110
192
  * ```typescript
111
- * const mnemonic = generateMnemonic(12);
193
+ * const mnemonic = await generateMnemonic(12);
112
194
  * console.log(mnemonic);
113
195
  * // Output: "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
114
196
  * ```
115
197
  */
116
- function generateMnemonic(wordCount = 12) {
198
+ async function generateMnemonic(wordCount = 12) {
117
199
  // Convert word count to entropy bits
118
200
  // 12 words = 128 bits, 15 words = 160 bits, etc.
119
201
  const strengthMap = {
@@ -127,7 +209,12 @@ function generateMnemonic(wordCount = 12) {
127
209
  if (!strength) {
128
210
  throw new Error('Invalid word count. Must be one of: 12, 15, 18, 21, 24');
129
211
  }
130
- return bip39.generateMnemonic(strength);
212
+ // Ensure Wallet Core is loaded
213
+ const core = await loadWalletCore();
214
+ const { HDWallet } = core;
215
+ const wallet = HDWallet.create(strength, '');
216
+ const mnemonic = wallet.mnemonic();
217
+ return mnemonic;
131
218
  }
132
219
  /**
133
220
  * Derive Ethereum address from mnemonic using Trust Wallet Core
@@ -144,8 +231,8 @@ function generateMnemonic(wordCount = 12) {
144
231
  */
145
232
  async function getEthereumAddressFromMnemonic(mnemonic) {
146
233
  // Validate mnemonic
147
- if (!bip39.validateMnemonic(mnemonic)) {
148
- throw new Error('Invalid mnemonic phrase');
234
+ if (!validateMnemonic(mnemonic)) {
235
+ throw new Error('Invalid mnemonic phrase: must have 12, 15, 18, 21, or 24 words');
149
236
  }
150
237
  const core = await loadWalletCore();
151
238
  const { HDWallet, CoinType } = core;
@@ -168,16 +255,17 @@ async function getEthereumAddressFromMnemonic(mnemonic) {
168
255
  */
169
256
  async function getEVMPrivateKeyFromMnemonic(mnemonic) {
170
257
  // Validate mnemonic
171
- if (!bip39.validateMnemonic(mnemonic)) {
172
- throw new Error('Invalid mnemonic phrase');
258
+ if (!validateMnemonic(mnemonic)) {
259
+ throw new Error('Invalid mnemonic phrase: must have 12, 15, 18, 21, or 24 words');
173
260
  }
174
261
  const core = await loadWalletCore();
175
262
  const { HDWallet, CoinType } = core;
176
263
  const wallet = HDWallet.createWithMnemonic(mnemonic, '');
177
264
  // Get private key for Ethereum
178
265
  const privateKeyData = wallet.getKeyForCoin(CoinType.ethereum);
179
- // Convert to hex string with 0x prefix
180
- const privateKeyHex = '0x' + Buffer.from(privateKeyData.data()).toString('hex');
266
+ // Convert to hex string with 0x prefix (cross-platform)
267
+ const privateKeyBytes = new Uint8Array(privateKeyData.data());
268
+ const privateKeyHex = '0x' + uint8ArrayToHex(privateKeyBytes);
181
269
  return privateKeyHex;
182
270
  }
183
271
  /**
@@ -218,8 +306,8 @@ async function getID(mnemonic) {
218
306
  */
219
307
  async function getDIDFromMnemonic(mnemonic) {
220
308
  // Validate mnemonic
221
- if (!bip39.validateMnemonic(mnemonic)) {
222
- throw new Error('Invalid mnemonic phrase');
309
+ if (!validateMnemonic(mnemonic)) {
310
+ throw new Error('Invalid mnemonic phrase: must have 12, 15, 18, 21, or 24 words');
223
311
  }
224
312
  const id = await getID(mnemonic);
225
313
  return `did:key:${id}`;
@@ -261,8 +349,8 @@ async function getDIDFromMnemonic(mnemonic) {
261
349
  */
262
350
  async function getEd25519JwkFromMnemonic(mnemonic) {
263
351
  // Validate mnemonic
264
- if (!bip39.validateMnemonic(mnemonic)) {
265
- throw new Error('Invalid mnemonic phrase');
352
+ if (!validateMnemonic(mnemonic)) {
353
+ throw new Error('Invalid mnemonic phrase: must have 12, 15, 18, 21, or 24 words');
266
354
  }
267
355
  const core = await loadWalletCore();
268
356
  const { HDWallet, Curve } = core;
@@ -277,7 +365,6 @@ async function getEd25519JwkFromMnemonic(mnemonic) {
277
365
  idBytes.set(publicKeyBytes, ED25519_CODEC_ID.length);
278
366
  const id = base58_1.base58btc.encode(idBytes);
279
367
  const did = `did:key:${id}`;
280
- const keyId = `${did}#${id}`;
281
368
  // Base64url encode the keys
282
369
  const x = base64_1.base64url.baseEncode(publicKeyBytes);
283
370
  const d = base64_1.base64url.baseEncode(privateKeyBytes);
@@ -287,7 +374,7 @@ async function getEd25519JwkFromMnemonic(mnemonic) {
287
374
  crv: 'Ed25519', // Curve: Ed25519
288
375
  alg: 'EdDSA', // Algorithm: EdDSA
289
376
  use: 'sig', // Use: signature
290
- kid: keyId, // Key ID
377
+ kid: did, // DID
291
378
  x: x // Public key parameter
292
379
  };
293
380
  // Private JWK (contains both public and private key material)
@@ -312,8 +399,8 @@ async function getEd25519JwkFromMnemonic(mnemonic) {
312
399
  */
313
400
  async function deriveDIDFromMnemonic(mnemonic) {
314
401
  // Validate mnemonic once upfront
315
- if (!bip39.validateMnemonic(mnemonic)) {
316
- throw new Error('Invalid mnemonic phrase');
402
+ if (!validateMnemonic(mnemonic)) {
403
+ throw new Error('Invalid mnemonic phrase: must have 12, 15, 18, 21, or 24 words');
317
404
  }
318
405
  // Derive both in parallel for better performance
319
406
  const [owner, did] = await Promise.all([
@@ -337,7 +424,7 @@ async function deriveDIDFromMnemonic(mnemonic) {
337
424
  * ```
338
425
  */
339
426
  async function generateDIDKeyData(wordCount = 12) {
340
- const mnemonic = generateMnemonic(wordCount);
427
+ const mnemonic = await generateMnemonic(wordCount);
341
428
  const { owner, did } = await deriveDIDFromMnemonic(mnemonic);
342
429
  return {
343
430
  mnemonic,
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../src/utils/crypto-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../src/utils/crypto-utils.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,10 @@ async function main() {
29
29
  console.log('\n📝 Example 1: Generate Mnemonic Phrases');
30
30
  console.log('-'.repeat(60));
31
31
 
32
- const mnemonic12 = generateMnemonic(12);
32
+ const mnemonic12 = await generateMnemonic(12);
33
33
  console.log('12-word mnemonic:', mnemonic12);
34
34
 
35
- const mnemonic24 = generateMnemonic(24);
35
+ const mnemonic24 = await generateMnemonic(24);
36
36
  console.log('24-word mnemonic:', mnemonic24);
37
37
 
38
38
  // =========================================================================
@@ -105,7 +105,7 @@ async function main() {
105
105
  console.log('\n✅ Example 7: Verify Consistency');
106
106
  console.log('-'.repeat(60));
107
107
 
108
- const verifyMnemonic = generateMnemonic(12);
108
+ const verifyMnemonic = await generateMnemonic(12);
109
109
  console.log('Testing mnemonic:', verifyMnemonic);
110
110
 
111
111
  const addr1 = await getEthereumAddressFromMnemonic(verifyMnemonic);
@@ -20,7 +20,7 @@ async function example_generateEd25519JWK() {
20
20
  try {
21
21
  // Step 1: Generate a new mnemonic phrase
22
22
  console.log('\n🔑 Step 1: Generating BIP39 mnemonic...');
23
- const mnemonic = generateMnemonic(12);
23
+ const mnemonic = await generateMnemonic(12);
24
24
  console.log(`Mnemonic: ${mnemonic}`);
25
25
 
26
26
  // Step 2: Derive Ed25519 key pair and DID from mnemonic
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Test encoding utilities exported from olaresid
3
+ */
4
+
5
+ import {
6
+ base64ToUint8Array,
7
+ uint8ArrayToHex,
8
+ hexToUint8Array,
9
+ uint8ArrayToBase64
10
+ } from '../src/index';
11
+
12
+ async function main() {
13
+ console.log('============================================================');
14
+ console.log('Testing Cross-platform Encoding Utilities');
15
+ console.log(
16
+ '============================================================\n'
17
+ );
18
+
19
+ // Test data
20
+ const testString = 'Hello, Olares!';
21
+ const testBytes = new TextEncoder().encode(testString);
22
+
23
+ console.log('📝 Original text:', testString);
24
+ console.log('📦 Original bytes:', testBytes);
25
+ console.log('');
26
+
27
+ // Test 1: Uint8Array to Hex
28
+ console.log('🔄 Test 1: uint8ArrayToHex()');
29
+ console.log('------------------------------------------------------------');
30
+ const hexString = uint8ArrayToHex(testBytes);
31
+ console.log('✅ Hex string:', hexString);
32
+ console.log('');
33
+
34
+ // Test 2: Hex to Uint8Array
35
+ console.log('🔄 Test 2: hexToUint8Array()');
36
+ console.log('------------------------------------------------------------');
37
+ const bytesFromHex = hexToUint8Array(hexString);
38
+ console.log('✅ Bytes from hex:', bytesFromHex);
39
+ console.log(
40
+ '✅ Matches original:',
41
+ JSON.stringify(bytesFromHex) === JSON.stringify(testBytes)
42
+ );
43
+ console.log('');
44
+
45
+ // Test 3: Uint8Array to Base64
46
+ console.log('🔄 Test 3: uint8ArrayToBase64()');
47
+ console.log('------------------------------------------------------------');
48
+ const base64String = uint8ArrayToBase64(testBytes);
49
+ console.log('✅ Base64 string:', base64String);
50
+ console.log('');
51
+
52
+ // Test 4: Base64 to Uint8Array
53
+ console.log('🔄 Test 4: base64ToUint8Array()');
54
+ console.log('------------------------------------------------------------');
55
+ const bytesFromBase64 = base64ToUint8Array(base64String);
56
+ console.log('✅ Bytes from base64:', bytesFromBase64);
57
+ console.log(
58
+ '✅ Matches original:',
59
+ JSON.stringify(bytesFromBase64) === JSON.stringify(testBytes)
60
+ );
61
+ console.log('');
62
+
63
+ // Test 5: Round-trip conversion
64
+ console.log('🔄 Test 5: Round-trip conversion (hex)');
65
+ console.log('------------------------------------------------------------');
66
+ const hex1 = uint8ArrayToHex(testBytes);
67
+ const bytes1 = hexToUint8Array(hex1);
68
+ const hex2 = uint8ArrayToHex(bytes1);
69
+ console.log('✅ Round-trip hex successful:', hex1 === hex2);
70
+ console.log('');
71
+
72
+ console.log('🔄 Test 6: Round-trip conversion (base64)');
73
+ console.log('------------------------------------------------------------');
74
+ const b64_1 = uint8ArrayToBase64(testBytes);
75
+ const bytes2 = base64ToUint8Array(b64_1);
76
+ const b64_2 = uint8ArrayToBase64(bytes2);
77
+ console.log('✅ Round-trip base64 successful:', b64_1 === b64_2);
78
+ console.log('');
79
+
80
+ // Test 7: Hex with 0x prefix
81
+ console.log('🔄 Test 7: Hex with 0x prefix');
82
+ console.log('------------------------------------------------------------');
83
+ const hexWithPrefix = '0x' + hexString;
84
+ const bytesFromPrefixedHex = hexToUint8Array(hexWithPrefix);
85
+ console.log(
86
+ '✅ Can handle 0x prefix:',
87
+ JSON.stringify(bytesFromPrefixedHex) === JSON.stringify(testBytes)
88
+ );
89
+ console.log('');
90
+
91
+ console.log('============================================================');
92
+ console.log('✅ All encoding utility tests passed!');
93
+ console.log('============================================================');
94
+ }
95
+
96
+ main().catch(console.error);
@@ -0,0 +1,40 @@
1
+ # Dependencies
2
+ node_modules
3
+ npm-debug.log*
4
+ yarn-debug.log*
5
+ yarn-error.log*
6
+ pnpm-debug.log*
7
+
8
+ # Build output
9
+ dist
10
+ .vite
11
+
12
+ # Environment files
13
+ .env
14
+ .env.local
15
+ .env.*.local
16
+
17
+ # IDE
18
+ .vscode
19
+ .idea
20
+ *.swp
21
+ *.swo
22
+ *~
23
+
24
+ # OS
25
+ .DS_Store
26
+ Thumbs.db
27
+
28
+ # Git
29
+ .git
30
+ .gitignore
31
+ .github
32
+
33
+ # Documentation
34
+ README.md
35
+ QUICKSTART.md
36
+ *.md
37
+
38
+ # Logs
39
+ logs
40
+ *.log
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <meta name="description" content="DID Gate - Decentralized Identity Service" />
7
+ <title>DID Gate</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.ts"></script>
12
+ </body>
13
+ </html>