@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.
- package/dist/targets/akash/bids.d.ts +183 -0
- package/dist/targets/akash/bids.d.ts.map +1 -0
- package/dist/targets/akash/bids.js +247 -0
- package/dist/targets/akash/bids.js.map +1 -0
- package/dist/targets/akash/certificate-manager.d.ts +89 -167
- package/dist/targets/akash/certificate-manager.d.ts.map +1 -1
- package/dist/targets/akash/certificate-manager.js +193 -301
- package/dist/targets/akash/certificate-manager.js.map +1 -1
- package/dist/targets/akash/client.d.ts +644 -0
- package/dist/targets/akash/client.d.ts.map +1 -0
- package/dist/targets/akash/client.js +972 -0
- package/dist/targets/akash/client.js.map +1 -0
- package/dist/targets/akash/constants.d.ts +12 -149
- package/dist/targets/akash/constants.d.ts.map +1 -1
- package/dist/targets/akash/constants.js +14 -136
- package/dist/targets/akash/constants.js.map +1 -1
- package/dist/targets/akash/deployer.d.ts +3 -82
- package/dist/targets/akash/deployer.d.ts.map +1 -1
- package/dist/targets/akash/deployer.js +122 -160
- package/dist/targets/akash/deployer.js.map +1 -1
- package/dist/targets/akash/environment.d.ts +16 -214
- package/dist/targets/akash/environment.d.ts.map +1 -1
- package/dist/targets/akash/environment.js +20 -210
- package/dist/targets/akash/environment.js.map +1 -1
- package/dist/targets/akash/index.d.ts +95 -189
- package/dist/targets/akash/index.d.ts.map +1 -1
- package/dist/targets/akash/index.js +69 -197
- package/dist/targets/akash/index.js.map +1 -1
- package/dist/targets/akash/lease-monitor.d.ts +3 -21
- package/dist/targets/akash/lease-monitor.d.ts.map +1 -1
- package/dist/targets/akash/lease-monitor.js +39 -56
- package/dist/targets/akash/lease-monitor.js.map +1 -1
- package/dist/targets/akash/logs.d.ts +103 -4
- package/dist/targets/akash/logs.d.ts.map +1 -1
- package/dist/targets/akash/logs.js +12 -3
- package/dist/targets/akash/logs.js.map +1 -1
- package/dist/targets/akash/pricing.d.ts +12 -191
- package/dist/targets/akash/pricing.d.ts.map +1 -1
- package/dist/targets/akash/pricing.js +12 -188
- package/dist/targets/akash/pricing.js.map +1 -1
- package/dist/targets/akash/provider-manager.d.ts +120 -0
- package/dist/targets/akash/provider-manager.d.ts.map +1 -0
- package/dist/targets/akash/provider-manager.js +574 -0
- package/dist/targets/akash/provider-manager.js.map +1 -0
- package/dist/targets/akash/sdl-generator.d.ts +2 -2
- package/dist/targets/akash/sdl-generator.d.ts.map +1 -1
- package/dist/targets/akash/sdl-generator.js +6 -39
- package/dist/targets/akash/sdl-generator.js.map +1 -1
- package/dist/targets/akash/types.d.ts +66 -243
- package/dist/targets/akash/types.d.ts.map +1 -1
- package/dist/targets/akash/types.js +4 -41
- package/dist/targets/akash/types.js.map +1 -1
- package/dist/targets/akash/wallet-manager.d.ts +35 -352
- package/dist/targets/akash/wallet-manager.d.ts.map +1 -1
- package/dist/targets/akash/wallet-manager.js +37 -439
- package/dist/targets/akash/wallet-manager.js.map +1 -1
- package/dist/targets/local/compose-generator.d.ts.map +1 -1
- package/dist/targets/local/compose-generator.js +1 -0
- package/dist/targets/local/compose-generator.js.map +1 -1
- package/dist/targets/local/deployer.js +4 -4
- package/dist/targets/local/deployer.js.map +1 -1
- package/dist/targets/local/types.d.ts +4 -0
- package/dist/targets/local/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/options.d.ts +45 -4
- package/dist/types/options.d.ts.map +1 -1
- package/dist/utils/registry/manager.js +6 -6
- package/dist/utils/registry/manager.js.map +1 -1
- package/dist/utils/registry/setup.js +4 -4
- package/dist/utils/registry/setup.js.map +1 -1
- package/docs/KADI_ABILITY_CONVERSION.md +1365 -0
- package/docs/PIPELINE_BUILDER_DESIGN.md +1149 -0
- package/package.json +8 -11
- package/dist/targets/akash/bid-selectors.d.ts +0 -251
- package/dist/targets/akash/bid-selectors.d.ts.map +0 -1
- package/dist/targets/akash/bid-selectors.js +0 -322
- package/dist/targets/akash/bid-selectors.js.map +0 -1
- package/dist/targets/akash/bid-types.d.ts +0 -297
- package/dist/targets/akash/bid-types.d.ts.map +0 -1
- package/dist/targets/akash/bid-types.js +0 -89
- package/dist/targets/akash/bid-types.js.map +0 -1
- package/dist/targets/akash/blockchain-client.d.ts +0 -577
- package/dist/targets/akash/blockchain-client.d.ts.map +0 -1
- package/dist/targets/akash/blockchain-client.js +0 -803
- package/dist/targets/akash/blockchain-client.js.map +0 -1
- package/dist/targets/akash/logs.types.d.ts +0 -102
- package/dist/targets/akash/logs.types.d.ts.map +0 -1
- package/dist/targets/akash/logs.types.js +0 -9
- package/dist/targets/akash/logs.types.js.map +0 -1
- package/dist/targets/akash/provider-client.d.ts +0 -114
- package/dist/targets/akash/provider-client.d.ts.map +0 -1
- package/dist/targets/akash/provider-client.js +0 -318
- package/dist/targets/akash/provider-client.js.map +0 -1
- package/dist/targets/akash/provider-metadata.d.ts +0 -228
- package/dist/targets/akash/provider-metadata.d.ts.map +0 -1
- package/dist/targets/akash/provider-metadata.js +0 -14
- package/dist/targets/akash/provider-metadata.js.map +0 -1
- package/dist/targets/akash/provider-service.d.ts +0 -133
- package/dist/targets/akash/provider-service.d.ts.map +0 -1
- package/dist/targets/akash/provider-service.js +0 -391
- package/dist/targets/akash/provider-service.js.map +0 -1
- package/dist/targets/akash/query-client.d.ts +0 -125
- package/dist/targets/akash/query-client.d.ts.map +0 -1
- package/dist/targets/akash/query-client.js +0 -332
- package/dist/targets/akash/query-client.js.map +0 -1
- package/docs/EXAMPLES.md +0 -293
- package/docs/PLACEMENT.md +0 -433
- 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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
194
|
-
*
|
|
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
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
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
|
|
390
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
532
|
-
*
|
|
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
|
-
*
|
|
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
|
-
//
|
|
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
|
-
*
|
|
692
|
-
*
|
|
693
|
-
*
|
|
694
|
-
*
|
|
695
|
-
*
|
|
696
|
-
*
|
|
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
|
-
*
|
|
741
|
-
*
|
|
742
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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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"}
|