@kadi.build/deploy-ability 0.0.3 → 0.0.5

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 (110) hide show
  1. package/dist/targets/akash/bids.d.ts +183 -0
  2. package/dist/targets/akash/bids.d.ts.map +1 -0
  3. package/dist/targets/akash/bids.js +247 -0
  4. package/dist/targets/akash/bids.js.map +1 -0
  5. package/dist/targets/akash/certificate-manager.d.ts +89 -167
  6. package/dist/targets/akash/certificate-manager.d.ts.map +1 -1
  7. package/dist/targets/akash/certificate-manager.js +193 -301
  8. package/dist/targets/akash/certificate-manager.js.map +1 -1
  9. package/dist/targets/akash/client.d.ts +644 -0
  10. package/dist/targets/akash/client.d.ts.map +1 -0
  11. package/dist/targets/akash/client.js +972 -0
  12. package/dist/targets/akash/client.js.map +1 -0
  13. package/dist/targets/akash/constants.d.ts +12 -149
  14. package/dist/targets/akash/constants.d.ts.map +1 -1
  15. package/dist/targets/akash/constants.js +14 -136
  16. package/dist/targets/akash/constants.js.map +1 -1
  17. package/dist/targets/akash/deployer.d.ts +3 -82
  18. package/dist/targets/akash/deployer.d.ts.map +1 -1
  19. package/dist/targets/akash/deployer.js +122 -160
  20. package/dist/targets/akash/deployer.js.map +1 -1
  21. package/dist/targets/akash/environment.d.ts +16 -214
  22. package/dist/targets/akash/environment.d.ts.map +1 -1
  23. package/dist/targets/akash/environment.js +20 -210
  24. package/dist/targets/akash/environment.js.map +1 -1
  25. package/dist/targets/akash/index.d.ts +95 -189
  26. package/dist/targets/akash/index.d.ts.map +1 -1
  27. package/dist/targets/akash/index.js +69 -197
  28. package/dist/targets/akash/index.js.map +1 -1
  29. package/dist/targets/akash/lease-monitor.d.ts +3 -21
  30. package/dist/targets/akash/lease-monitor.d.ts.map +1 -1
  31. package/dist/targets/akash/lease-monitor.js +39 -56
  32. package/dist/targets/akash/lease-monitor.js.map +1 -1
  33. package/dist/targets/akash/logs.d.ts +103 -4
  34. package/dist/targets/akash/logs.d.ts.map +1 -1
  35. package/dist/targets/akash/logs.js +12 -3
  36. package/dist/targets/akash/logs.js.map +1 -1
  37. package/dist/targets/akash/pricing.d.ts +12 -191
  38. package/dist/targets/akash/pricing.d.ts.map +1 -1
  39. package/dist/targets/akash/pricing.js +12 -188
  40. package/dist/targets/akash/pricing.js.map +1 -1
  41. package/dist/targets/akash/provider-manager.d.ts +120 -0
  42. package/dist/targets/akash/provider-manager.d.ts.map +1 -0
  43. package/dist/targets/akash/provider-manager.js +574 -0
  44. package/dist/targets/akash/provider-manager.js.map +1 -0
  45. package/dist/targets/akash/sdl-generator.d.ts +2 -2
  46. package/dist/targets/akash/sdl-generator.d.ts.map +1 -1
  47. package/dist/targets/akash/sdl-generator.js +6 -39
  48. package/dist/targets/akash/sdl-generator.js.map +1 -1
  49. package/dist/targets/akash/types.d.ts +66 -243
  50. package/dist/targets/akash/types.d.ts.map +1 -1
  51. package/dist/targets/akash/types.js +4 -41
  52. package/dist/targets/akash/types.js.map +1 -1
  53. package/dist/targets/akash/wallet-manager.d.ts +35 -352
  54. package/dist/targets/akash/wallet-manager.d.ts.map +1 -1
  55. package/dist/targets/akash/wallet-manager.js +37 -439
  56. package/dist/targets/akash/wallet-manager.js.map +1 -1
  57. package/dist/targets/local/compose-generator.d.ts.map +1 -1
  58. package/dist/targets/local/compose-generator.js +1 -0
  59. package/dist/targets/local/compose-generator.js.map +1 -1
  60. package/dist/targets/local/deployer.js +4 -4
  61. package/dist/targets/local/deployer.js.map +1 -1
  62. package/dist/targets/local/types.d.ts +4 -0
  63. package/dist/targets/local/types.d.ts.map +1 -1
  64. package/dist/types/index.d.ts +1 -1
  65. package/dist/types/index.d.ts.map +1 -1
  66. package/dist/types/index.js.map +1 -1
  67. package/dist/types/options.d.ts +45 -4
  68. package/dist/types/options.d.ts.map +1 -1
  69. package/dist/utils/registry/manager.js +6 -6
  70. package/dist/utils/registry/manager.js.map +1 -1
  71. package/dist/utils/registry/setup.js +4 -4
  72. package/dist/utils/registry/setup.js.map +1 -1
  73. package/docs/KADI_ABILITY_CONVERSION.md +1365 -0
  74. package/docs/PIPELINE_BUILDER_DESIGN.md +1149 -0
  75. package/package.json +8 -11
  76. package/dist/targets/akash/bid-selectors.d.ts +0 -251
  77. package/dist/targets/akash/bid-selectors.d.ts.map +0 -1
  78. package/dist/targets/akash/bid-selectors.js +0 -322
  79. package/dist/targets/akash/bid-selectors.js.map +0 -1
  80. package/dist/targets/akash/bid-types.d.ts +0 -297
  81. package/dist/targets/akash/bid-types.d.ts.map +0 -1
  82. package/dist/targets/akash/bid-types.js +0 -89
  83. package/dist/targets/akash/bid-types.js.map +0 -1
  84. package/dist/targets/akash/blockchain-client.d.ts +0 -577
  85. package/dist/targets/akash/blockchain-client.d.ts.map +0 -1
  86. package/dist/targets/akash/blockchain-client.js +0 -803
  87. package/dist/targets/akash/blockchain-client.js.map +0 -1
  88. package/dist/targets/akash/logs.types.d.ts +0 -102
  89. package/dist/targets/akash/logs.types.d.ts.map +0 -1
  90. package/dist/targets/akash/logs.types.js +0 -9
  91. package/dist/targets/akash/logs.types.js.map +0 -1
  92. package/dist/targets/akash/provider-client.d.ts +0 -114
  93. package/dist/targets/akash/provider-client.d.ts.map +0 -1
  94. package/dist/targets/akash/provider-client.js +0 -318
  95. package/dist/targets/akash/provider-client.js.map +0 -1
  96. package/dist/targets/akash/provider-metadata.d.ts +0 -228
  97. package/dist/targets/akash/provider-metadata.d.ts.map +0 -1
  98. package/dist/targets/akash/provider-metadata.js +0 -14
  99. package/dist/targets/akash/provider-metadata.js.map +0 -1
  100. package/dist/targets/akash/provider-service.d.ts +0 -133
  101. package/dist/targets/akash/provider-service.d.ts.map +0 -1
  102. package/dist/targets/akash/provider-service.js +0 -391
  103. package/dist/targets/akash/provider-service.js.map +0 -1
  104. package/dist/targets/akash/query-client.d.ts +0 -125
  105. package/dist/targets/akash/query-client.d.ts.map +0 -1
  106. package/dist/targets/akash/query-client.js +0 -332
  107. package/dist/targets/akash/query-client.js.map +0 -1
  108. package/docs/EXAMPLES.md +0 -293
  109. package/docs/PLACEMENT.md +0 -433
  110. package/docs/STORAGE.md +0 -318
@@ -4,31 +4,6 @@
4
4
  * Provides a clean, step-by-step API for connecting to Keplr wallet via WalletConnect.
5
5
  * This is a LIBRARY - no QR code display, no prompts, just pure wallet operations.
6
6
  *
7
- * Key Improvements from kadi-deploy:
8
- * - ✅ ZERO CLI dependencies (no QRCode, chalk, enquirer)
9
- * - ✅ ZERO `any` types (was 5 any types)
10
- * - ✅ Split into 4 clear steps for composability
11
- * - ✅ Result types for all operations
12
- * - ✅ Natural, intuitive API design
13
- *
14
- * Architecture:
15
- * ```
16
- * Step 1: initWalletConnect() → Create SignClient
17
- * ↓
18
- * Step 2: generateConnectionUri() → Get URI for QR code
19
- * ↓
20
- * Step 3: waitForApproval() → Poll for user approval
21
- * ↓
22
- * Step 4: createWalletContext() → Get ready-to-use wallet
23
- * ```
24
- *
25
- * Design Philosophy:
26
- * Each step is independent and composable. Callers can:
27
- * - Display QR codes however they want (terminal, web, mobile)
28
- * - Add their own timeout logic
29
- * - Implement custom retry mechanisms
30
- * - Show progress however they prefer
31
- *
32
7
  * @module targets/akash/wallet
33
8
  */
34
9
  import { SignClient } from '@walletconnect/sign-client';
@@ -40,25 +15,16 @@ import { getNetworkConfig } from './environment.js';
40
15
  /**
41
16
  * Step 1: Initialize WalletConnect client
42
17
  *
43
- * Creates a WalletConnect SignClient with proper configuration.
44
- * This is a one-time setup that can be reused for multiple connections.
45
- *
46
18
  * @param projectId - WalletConnect Cloud project ID
47
19
  * @param metadata - Optional app metadata (defaults to KADI Deploy)
48
20
  * @returns Result with WalletConnect client or error
49
21
  *
50
22
  * @example
51
23
  * ```typescript
52
- * // Initialize with your project ID
53
24
  * const clientResult = await initWalletConnect('your-project-id-here');
54
- *
55
- * if (!clientResult.success) {
56
- * console.error('Failed to initialize:', clientResult.error);
57
- * return;
25
+ * if (clientResult.success) {
26
+ * console.log('WalletConnect ready!');
58
27
  * }
59
- *
60
- * const wcClient = clientResult.data;
61
- * console.log('WalletConnect ready!');
62
28
  * ```
63
29
  */
64
30
  export async function initWalletConnect(projectId, metadata) {
@@ -112,21 +78,10 @@ export async function initWalletConnect(projectId, metadata) {
112
78
  *
113
79
  * @example
114
80
  * ```typescript
115
- * // Generate URI for QR code
116
81
  * const uriResult = await generateConnectionUri(wcClient, 'mainnet');
117
- *
118
- * if (!uriResult.success) {
119
- * console.error('Failed to generate URI:', uriResult.error);
120
- * return;
82
+ * if (uriResult.success) {
83
+ * console.log('Scan this QR code:', uriResult.data.uri);
121
84
  * }
122
- *
123
- * const { uri, pairingTopic, approval } = uriResult.data;
124
- *
125
- * // Caller displays QR code however they want:
126
- * // - Terminal: QRCode.generate(uri)
127
- * // - Web: <QRCode value={uri} />
128
- * // - Or just show as text: console.log(uri)
129
- * console.log('Scan this QR code:', uri);
130
85
  * ```
131
86
  */
132
87
  export async function generateConnectionUri(wcClient, network) {
@@ -182,7 +137,6 @@ export async function generateConnectionUri(wcClient, network) {
182
137
  * Step 3: Wait for user to approve connection
183
138
  *
184
139
  * Polls for wallet approval with configurable timeout.
185
- * Returns immediately when user approves or rejects.
186
140
  *
187
141
  * @param approval - Approval promise from step 2
188
142
  * @param timeoutMs - Maximum wait time in milliseconds (default: 5 minutes)
@@ -190,25 +144,10 @@ export async function generateConnectionUri(wcClient, network) {
190
144
  *
191
145
  * @example
192
146
  * ```typescript
193
- * // Wait for user to scan QR and approve
194
- * console.log('Waiting for approval...');
195
- *
196
- * const approvalResult = await waitForApproval(
197
- * approval,
198
- * 60000 // 60 second timeout
199
- * );
200
- *
201
- * if (!approvalResult.success) {
202
- * if (approvalResult.error.code === 'APPROVAL_TIMEOUT') {
203
- * console.log('User did not approve in time');
204
- * } else if (approvalResult.error.code === 'APPROVAL_REJECTED') {
205
- * console.log('User rejected connection');
206
- * }
207
- * return;
147
+ * const approvalResult = await waitForApproval(approval, 60000);
148
+ * if (approvalResult.success) {
149
+ * console.log(`Connected to ${approvalResult.data.address}`);
208
150
  * }
209
- *
210
- * const { session, address } = approvalResult.data;
211
- * console.log(`Connected to ${address}!`);
212
151
  * ```
213
152
  */
214
153
  export async function waitForApproval(approval, timeoutMs = 300000 // 5 minutes default
@@ -282,7 +221,6 @@ export async function waitForApproval(approval, timeoutMs = 300000 // 5 minutes
282
221
  * Step 4: Create complete wallet context for Akash operations
283
222
  *
284
223
  * Finalizes the connection by creating signers and querying account data.
285
- * Returns a ready-to-use WalletContext for all Akash operations.
286
224
  *
287
225
  * @param wcClient - WalletConnect client from step 1
288
226
  * @param approvalResult - Approval result from step 3
@@ -291,25 +229,10 @@ export async function waitForApproval(approval, timeoutMs = 300000 // 5 minutes
291
229
  *
292
230
  * @example
293
231
  * ```typescript
294
- * // Create final wallet context
295
- * const walletResult = await createWalletContext(
296
- * wcClient,
297
- * approvalResult.data,
298
- * 'mainnet'
299
- * );
300
- *
301
- * if (!walletResult.success) {
302
- * console.error('Failed to create wallet:', walletResult.error);
303
- * return;
232
+ * const walletResult = await createWalletContext(wcClient, approvalResult.data, 'mainnet');
233
+ * if (walletResult.success) {
234
+ * console.log('Wallet ready:', walletResult.data.address);
304
235
  * }
305
- *
306
- * const wallet = walletResult.data;
307
- * console.log('Wallet ready!');
308
- * console.log('Address:', wallet.address);
309
- * console.log('Chain:', wallet.chainId);
310
- *
311
- * // Now ready for Akash operations
312
- * const deployment = await deployToAkash({ wallet, ... });
313
236
  * ```
314
237
  */
315
238
  export async function createWalletContext(wcClient, approvalResult, network) {
@@ -386,89 +309,21 @@ export async function createWalletContext(wcClient, approvalResult, network) {
386
309
  /**
387
310
  * Create wallet context from any offline signer
388
311
  *
389
- * Use this for **automated deployments** where you have direct access to a signer
390
- * (e.g., agent wallet, CI/CD, hardware wallet, KMS) instead of interactive wallet
391
- * connection via browser or WalletConnect.
392
- *
393
- * **Security Model:**
394
- * This function accepts a **signer interface**, NOT a private key or mnemonic!
395
- * The signer can sign transactions without exposing the underlying key.
396
- *
397
- * **Common Use Cases:**
398
- * - Self-deploying agents (signer from encrypted storage)
399
- * - CI/CD pipelines (signer from secrets manager)
400
- * - Hardware wallets (Ledger - key never leaves device)
401
- * - Cloud KMS (AWS/GCP - key stays in cloud)
402
- * - Multi-signature wallets (threshold signing)
312
+ * Use this for automated deployments where you have direct access to a signer (e.g., agent wallet,
313
+ * CI/CD, hardware wallet, KMS). The signer can sign transactions without exposing the underlying key.
403
314
  *
404
315
  * @param signer - Any offline signer (must implement OfflineAminoSigner & OfflineDirectSigner)
405
316
  * @param network - Akash network to connect to
406
317
  * @returns Result with wallet context ready for deployments
407
318
  *
408
- * @example Agent with encrypted wallet
319
+ * @example
409
320
  * ```typescript
410
- * import { DirectSecp256k1Wallet } from '@cosmjs/proto-signing';
411
- * import { createWalletContextFromSigner } from '@kadi.build/deploy-ability/akash';
412
- *
413
- * // Agent loads signer from secure storage (mnemonic never exposed to caller)
414
321
  * const agentSigner = await myAgent.wallet.getSigner();
415
- *
416
- * // Create wallet context
417
322
  * const walletCtx = await createWalletContextFromSigner(agentSigner, 'mainnet');
418
- *
419
323
  * if (walletCtx.success) {
420
- * // Ready to deploy - signer will handle signing internally
421
- * await deployToAkash({
422
- * wallet: walletCtx.data,
423
- * certificate: cert,
424
- * projectRoot: './',
425
- * profile: 'prod'
426
- * });
324
+ * await deployToAkash({ wallet: walletCtx.data, ... });
427
325
  * }
428
326
  * ```
429
- *
430
- * @example CI/CD with secrets manager
431
- * ```typescript
432
- * // Load signer from AWS Secrets Manager / GitHub Secrets
433
- * const mnemonic = await loadFromSecretsManager('deploy-wallet-key');
434
- * const signer = await DirectSecp256k1Wallet.fromMnemonic(mnemonic, {
435
- * prefix: 'akash'
436
- * });
437
- *
438
- * const walletCtx = await createWalletContextFromSigner(signer, 'testnet');
439
- * // Now deploy without any user interaction
440
- * ```
441
- *
442
- * @example Hardware wallet (Ledger)
443
- * ```typescript
444
- * import Ledger from '@cosmjs/ledger-amino';
445
- *
446
- * // Connect to Ledger - key never leaves device
447
- * const transport = await TransportWebUSB.create();
448
- * const ledgerSigner = new Ledger(transport, {
449
- * hdPaths: [makeCosmoshubPath(0)],
450
- * prefix: 'akash'
451
- * });
452
- *
453
- * const walletCtx = await createWalletContextFromSigner(ledgerSigner, 'mainnet');
454
- * // Ledger will prompt for approval when signing
455
- * ```
456
- *
457
- * @example Cloud KMS
458
- * ```typescript
459
- * // Custom signer using AWS KMS / GCP KMS
460
- * class KmsSigner implements OfflineSigner {
461
- * constructor(private keyId: string) {}
462
- *
463
- * async signDirect(address: string, signDoc: SignDoc) {
464
- * // Sign using KMS - key never leaves cloud
465
- * return await kms.sign(this.keyId, signDoc);
466
- * }
467
- * }
468
- *
469
- * const kmsSigner = new KmsSigner('arn:aws:kms:...');
470
- * const walletCtx = await createWalletContextFromSigner(kmsSigner, 'mainnet');
471
- * ```
472
327
  */
473
328
  export async function createWalletContextFromSigner(signer, network) {
474
329
  try {
@@ -528,30 +383,20 @@ export async function createWalletContextFromSigner(signer, network) {
528
383
  /**
529
384
  * Disconnect an active WalletConnect session
530
385
  *
531
- * Cleanly disconnects from the wallet, clearing the session and cleaning up
532
- * all internal resources (relay transport, heartbeat, event listeners).
533
- *
534
- * This ensures the Node.js event loop can exit by releasing all timers and
535
- * connections. Without this cleanup, the WalletConnect client keeps the
536
- * process alive indefinitely.
386
+ * Cleanly disconnects from the wallet and cleans up all internal resources. Always call this
387
+ * when done with wallet operations to allow Node.js event loop to exit.
537
388
  *
538
- * Always call this when done with wallet operations to prevent hanging.
539
- *
540
- * Note: This only applies to WalletConnect sessions. Wallets created
541
- * with `createWalletContextFromSigner()` don't need disconnection.
389
+ * Note: This only applies to WalletConnect sessions. Wallets created with
390
+ * createWalletContextFromSigner() don't need disconnection.
542
391
  *
543
392
  * @param wallet - Wallet context to disconnect
544
393
  * @returns Result indicating success or error
545
394
  *
546
395
  * @example
547
396
  * ```typescript
548
- * // Disconnect when done
549
397
  * const result = await disconnectWallet(wallet);
550
- *
551
398
  * if (result.success) {
552
399
  * console.log('Wallet disconnected');
553
- * } else {
554
- * console.warn('Disconnect failed:', result.error);
555
400
  * }
556
401
  * ```
557
402
  */
@@ -603,58 +448,15 @@ export async function disconnectWallet(wallet) {
603
448
  // Ignore listener removal errors
604
449
  }
605
450
  try {
606
- // ================================================================
607
- // STORAGE CLEANUP - THE RUSSIAN DOLL PROBLEM
608
- // ================================================================
609
- //
610
- // WHY IS THIS NECESSARY?
611
- // WalletConnect persists session data to disk using the "unstorage" library.
612
- // Unstorage uses a filesystem driver that creates a "chokidar" file watcher
613
- // to monitor the storage files for changes. File watchers keep Node.js alive
614
- // indefinitely - the process will NEVER exit until they're explicitly closed.
615
- //
616
- // WHY THE WEIRD NESTING?
617
- // WalletConnect uses a "wrapper pattern" (like Russian dolls 🪆):
618
- //
619
- // Layer 1: storage (wrapper with high-level API)
620
- // └─ Has methods: getItem(), setItem(), initialize()
621
- // └─ DOES NOT have cleanup methods!
622
- //
623
- // Layer 2: storage.database (queue manager)
624
- // └─ Manages write operations with a queue
625
- // └─ Still DOES NOT have cleanup methods!
626
- //
627
- // Layer 3: storage.database.database (ACTUAL DRIVER)
628
- // └─ This is the real filesystem driver (unstorage/fs)
629
- // └─ THIS is where unwatch() and dispose() live!
630
- // └─ THIS is where the chokidar file watcher exists!
631
- //
632
- // WHY DESIGN IT THIS WAY?
633
- // Each wrapper adds functionality:
634
- // - Outer wrapper: Simple API for WalletConnect to use
635
- // - Middle wrapper: Batches writes for better performance
636
- // - Inner driver: Actually talks to the filesystem
637
- //
638
- // It's like a restaurant:
639
- // - Customer (WalletConnect) → talks to waiter (storage wrapper)
640
- // - Waiter → gives orders to kitchen manager (database queue)
641
- // - Kitchen manager → tells chef (actual fs driver) to cook
642
- //
643
- // To turn off the stove (file watcher), you need to tell the chef directly,
644
- // not the waiter! That's why we must drill down to the innermost layer.
645
- //
646
- // ================================================================
451
+ // Storage cleanup: WalletConnect uses nested storage wrappers.
452
+ // The innermost layer (storage.database.database) has the file watcher
453
+ // that keeps Node.js alive. We must drill down to stop it.
647
454
  const storage = wallet.signClient.core?.storage;
648
- // DRILL DOWN: storage → database → database (innermost layer)
649
- // This is where the actual filesystem driver lives with the file watcher
650
455
  const innerDb = storage?.database?.database;
651
456
  if (innerDb) {
652
- // Call unwatch() to stop the chokidar file watcher
653
- // Without this, the file watcher keeps Node.js event loop alive forever!
654
457
  if (typeof innerDb.unwatch === 'function') {
655
458
  await innerDb.unwatch().catch(() => { });
656
459
  }
657
- // Call dispose() to clean up any other resources (file handles, caches, etc.)
658
460
  if (typeof innerDb.dispose === 'function') {
659
461
  await innerDb.dispose().catch(() => { });
660
462
  }
@@ -679,7 +481,6 @@ export async function disconnectWallet(wallet) {
679
481
  * Complete wallet connection flow (convenience function)
680
482
  *
681
483
  * Combines all 4 steps into a single function for simple use cases.
682
- * For more control, use the individual step functions.
683
484
  *
684
485
  * @param projectId - WalletConnect project ID
685
486
  * @param network - Akash network to connect to
@@ -688,27 +489,13 @@ export async function disconnectWallet(wallet) {
688
489
  *
689
490
  * @example
690
491
  * ```typescript
691
- * // Simple one-call connection
692
- * const walletResult = await connectWallet(
693
- * 'your-project-id',
694
- * 'mainnet',
695
- * {
696
- * onUriGenerated: (uri) => {
697
- * // Display QR code
698
- * QRCode.generate(uri);
699
- * console.log('Scan QR code with Keplr');
700
- * },
701
- * timeoutMs: 60000
702
- * }
703
- * );
704
- *
705
- * if (!walletResult.success) {
706
- * console.error('Connection failed:', walletResult.error);
707
- * return;
492
+ * const walletResult = await connectWallet('your-project-id', 'mainnet', {
493
+ * onUriGenerated: (uri) => console.log('Scan QR code:', uri),
494
+ * timeoutMs: 60000
495
+ * });
496
+ * if (walletResult.success) {
497
+ * console.log('Connected to:', walletResult.data.address);
708
498
  * }
709
- *
710
- * const wallet = walletResult.data;
711
- * console.log('Connected to:', wallet.address);
712
499
  * ```
713
500
  */
714
501
  export async function connectWallet(projectId, network, options) {
@@ -737,217 +524,28 @@ export async function connectWallet(projectId, network, options) {
737
524
  /**
738
525
  * Create wallet context from mnemonic (for agent-controlled wallets)
739
526
  *
740
- * ⚠️ **CRITICAL SECURITY WARNING** ⚠️
741
- *
742
- * This function is ONLY for scenarios where YOU control the mnemonic:
743
- * - ✅ Your own automation (CI/CD, personal scripts)
744
- * - ✅ Your own agent (running on infrastructure you control)
745
- * - ✅ Custodial services YOU operate (creating wallets for your users)
746
- *
747
- * **NEVER use this if:**
748
- * - ❌ Someone else's agent asks for your mnemonic
749
- * - ❌ Third-party service requests your mnemonic
750
- * - ❌ You don't fully control where the mnemonic is stored/used
751
- *
752
- * **For third-party agents/services:**
753
- * Use `connectWallet()` with WalletConnect instead! This lets you approve
754
- * transactions on YOUR device without exposing your mnemonic.
527
+ * **SECURITY WARNING:** Only use this for automation YOU control (CI/CD, your own agents).
528
+ * For third-party services, use connectWallet() with WalletConnect instead to avoid
529
+ * exposing your mnemonic.
755
530
  *
756
- * **Security Model:**
757
- * ```
758
- * ┌─────────────────────────────────────────────────────────────┐
759
- * │ WHO CONTROLS THE AGENT? │
760
- * ├─────────────────────────────────────────────────────────────┤
761
- * │ │
762
- * │ YOU control it: │
763
- * │ ✅ createWalletFromMnemonic() - You trust your own code │
764
- * │ │
765
- * │ SOMEONE ELSE controls it: │
766
- * │ ✅ connectWallet() - WalletConnect for approval │
767
- * │ ❌ createWalletFromMnemonic() - NEVER share mnemonic! │
768
- * │ │
769
- * └─────────────────────────────────────────────────────────────┘
770
- * ```
771
- *
772
- * **Common Use Cases:**
531
+ * @param mnemonic - BIP39 mnemonic phrase (12 or 24 words)
532
+ * @param network - Akash network to connect to
533
+ * @returns Result with wallet context or error
773
534
  *
774
- * @example 1. Your own CI/CD pipeline
535
+ * @example
775
536
  * ```typescript
776
- * // Mnemonic stored in GitHub Secrets / GitLab CI Variables
777
537
  * const mnemonic = process.env.DEPLOYMENT_WALLET_MNEMONIC!;
778
538
  * const wallet = await createWalletFromMnemonic(mnemonic, 'mainnet');
779
- *
780
539
  * if (wallet.success) {
781
- * // Automated deployment from CI/CD
782
- * await deployToAkash({
783
- * wallet: wallet.data,
784
- * projectRoot: './',
785
- * profile: 'production'
786
- * });
787
- * }
788
- * ```
789
- *
790
- * @example 2. Your own agent with encrypted storage
791
- * ```typescript
792
- * // Agent loads its OWN mnemonic (not user's!)
793
- * class DeploymentAgent {
794
- * async deploy(projectConfig: Config) {
795
- * // Agent uses its own wallet to pay for deployments
796
- * const mnemonic = await this.secrets.getEncryptedMnemonic();
797
- * const wallet = await createWalletFromMnemonic(mnemonic, 'mainnet');
798
- *
799
- * if (wallet.success) {
800
- * // Agent deploys using its own funds
801
- * return deployToAkash({
802
- * wallet: wallet.data,
803
- * ...projectConfig
804
- * });
805
- * }
806
- * }
807
- * }
808
- * ```
809
- *
810
- * @example 3. Custodial wallet service (you operate the service)
811
- * ```typescript
812
- * // Service creates and manages wallets FOR users
813
- * class CustodialWalletService {
814
- * async createUserWallet(userId: string) {
815
- * // Generate new wallet for user
816
- * const { DirectSecp256k1HdWallet } = await import('@cosmjs/proto-signing');
817
- * const newWallet = await DirectSecp256k1HdWallet.generate(24);
818
- * const mnemonic = newWallet.mnemonic;
819
- *
820
- * // Store encrypted mnemonic in your secure database
821
- * await this.db.storeEncryptedMnemonic(userId, mnemonic);
822
- *
823
- * return { userId, address: (await newWallet.getAccounts())[0].address };
824
- * }
825
- *
826
- * async deployForUser(userId: string, projectConfig: Config) {
827
- * // Load user's mnemonic from secure storage
828
- * const mnemonic = await this.db.getDecryptedMnemonic(userId);
829
- * const wallet = await createWalletFromMnemonic(mnemonic, 'mainnet');
830
- *
831
- * if (wallet.success) {
832
- * // Deploy on user's behalf
833
- * return deployToAkash({
834
- * wallet: wallet.data,
835
- * ...projectConfig
836
- * });
837
- * }
838
- * }
540
+ * await deployToAkash({ wallet: wallet.data, ... });
839
541
  * }
840
542
  * ```
841
- *
842
- * @example 4. WRONG - Never do this!
843
- * ```typescript
844
- * // ❌ DANGEROUS - Third-party agent asking for your mnemonic!
845
- * const thirdPartyAgent = new SomeoneElsesAgent();
846
- *
847
- * // ❌ DO NOT DO THIS!
848
- * await thirdPartyAgent.deploy({
849
- * mnemonic: myMnemonic, // ❌ Now they can steal all your funds!
850
- * project: './my-app'
851
- * });
852
- *
853
- * // ✅ DO THIS INSTEAD - Use WalletConnect!
854
- * const wallet = await connectWallet(projectId, 'mainnet', {
855
- * onUriGenerated: (uri) => {
856
- * console.log('Scan QR code to approve');
857
- * // You approve on YOUR device, agent never gets mnemonic
858
- * }
859
- * });
860
- * await thirdPartyAgent.deploy({ wallet: wallet.data, ... });
861
- * ```
862
- *
863
- * **Implementation Notes for Future:**
864
- *
865
- * This function should:
866
- * 1. Import DirectSecp256k1HdWallet from @cosmjs/proto-signing
867
- * 2. Create signer with proper network prefix:
868
- * - mainnet/testnet → 'akash'
869
- * - sandbox → 'akash'
870
- * 3. Call createWalletContextFromSigner() with the signer
871
- * 4. Return Result<WalletContext, WalletError>
872
- *
873
- * Dependencies needed:
874
- * - @cosmjs/proto-signing (DirectSecp256k1HdWallet)
875
- *
876
- * Error handling:
877
- * - Invalid mnemonic format
878
- * - Network configuration issues
879
- * - Account fetch failures
880
- *
881
- * @param mnemonic - BIP39 mnemonic phrase (12 or 24 words)
882
- * @param network - Akash network to connect to
883
- * @returns Result with wallet context or error
884
543
  */
885
544
  export async function createWalletFromMnemonic(_mnemonic, network) {
886
- // TODO: Implement mnemonic wallet conversion
887
- //
888
- // Implementation plan:
889
- //
890
- // 1. Validate mnemonic format (should be 12 or 24 words)
891
- // - Split by whitespace and count words
892
- // - Return error if invalid length
893
- //
894
- // 2. Import DirectSecp256k1HdWallet from @cosmjs/proto-signing
895
- // - This is the standard CosmJS wallet for Cosmos chains
896
- // - Handles BIP39 mnemonic → keypair derivation
897
- //
898
- // 3. Create signer with Akash address prefix
899
- // const signer = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
900
- // prefix: 'akash' // All Akash networks use 'akash' prefix
901
- // });
902
- //
903
- // 4. Delegate to existing createWalletContextFromSigner()
904
- // return createWalletContextFromSigner(signer, network);
905
- //
906
- // Error cases to handle:
907
- // - Invalid mnemonic (wrong word count, invalid words)
908
- // - Network configuration issues (passed through from createWalletContextFromSigner)
909
- // - Account fetch failures (passed through from createWalletContextFromSigner)
910
- //
911
- // Example implementation:
912
- //
913
- // try {
914
- // // Validate mnemonic word count
915
- // const words = mnemonic.trim().split(/\s+/);
916
- // if (![12, 15, 18, 21, 24].includes(words.length)) {
917
- // return {
918
- // success: false,
919
- // error: new WalletError(
920
- // `Invalid mnemonic: expected 12, 15, 18, 21, or 24 words, got ${words.length}`,
921
- // WalletErrorCodes.INVALID_MNEMONIC,
922
- // { wordCount: words.length }
923
- // ),
924
- // };
925
- // }
926
- //
927
- // // Import CosmJS wallet
928
- // const { DirectSecp256k1HdWallet } = await import('@cosmjs/proto-signing');
929
- //
930
- // // Create signer from mnemonic
931
- // const signer = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
932
- // prefix: 'akash'
933
- // });
934
- //
935
- // // Delegate to existing function
936
- // return createWalletContextFromSigner(signer, network);
937
- // } catch (error) {
938
- // return {
939
- // success: false,
940
- // error: new WalletError(
941
- // `Failed to create wallet from mnemonic: ${error}`,
942
- // WalletErrorCodes.MNEMONIC_CREATION_FAILED,
943
- // { error: String(error), network }
944
- // ),
945
- // };
946
- // }
947
- // Temporary implementation - will be replaced with above
545
+ // TODO: Implement using DirectSecp256k1HdWallet from @cosmjs/proto-signing
948
546
  return {
949
547
  success: false,
950
- error: new WalletError('createWalletFromMnemonic() not yet implemented - see TODO in function body', WalletErrorCodes.NOT_IMPLEMENTED, { network }),
548
+ error: new WalletError('createWalletFromMnemonic() not yet implemented', WalletErrorCodes.NOT_IMPLEMENTED, { network }),
951
549
  };
952
550
  }
953
551
  //# sourceMappingURL=wallet-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../../src/targets/akash/wallet-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../../src/targets/akash/wallet-manager.ts"],"names":[],"mappings":"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"}