@waiaas/adapter-solana 2.11.0-rc.7 → 2.11.0

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/README.md CHANGED
@@ -133,7 +133,7 @@ waiaas quickset # Creates wallets + sessions automatically
133
133
  waiaas set-master # (Later) Harden password, then delete recovery.key
134
134
  ```
135
135
 
136
- The `--auto-provision` flag generates a cryptographically random master password and saves it to `~/.waiaas/recovery.key`. All subsequent CLI commands read it automatically. See the [Agent Self-Setup Guide](docs/guides/agent-self-setup.md) for the complete flow.
136
+ The `--auto-provision` flag generates a cryptographically random master password and saves it to `~/.waiaas/recovery.key`. All subsequent CLI commands read it automatically. See the [Agent Self-Setup Guide](docs/agent-guides/agent-self-setup.md) for the complete flow.
137
137
 
138
138
  For manual setup with human-guided password entry, install skills and follow `waiaas-setup/SKILL.md`:
139
139
 
@@ -215,10 +215,10 @@ Enabled by default (`admin_ui = true` in config.toml).
215
215
  | [Security Model](docs/security-model.md) | Authentication, policy engine, Kill Switch, AutoStop |
216
216
  | [Deployment Guide](docs/deployment.md) | Docker, npm, configuration reference |
217
217
  | [API Reference](docs/api-reference.md) | REST API endpoints and authentication |
218
- | [Agent Self-Setup Guide](docs/guides/agent-self-setup.md) | Fully autonomous setup with auto-provision |
219
- | [Agent Skills Integration](docs/guides/agent-skills-integration.md) | Universal guide for 27+ AI agent platforms |
220
- | [Claude Code Integration](docs/guides/claude-code-integration.md) | Skill files + MCP server setup for Claude Code |
221
- | [OpenClaw Integration](docs/guides/openclaw-integration.md) | Quick setup for OpenClaw bot |
218
+ | [Agent Self-Setup Guide](docs/agent-guides/agent-self-setup.md) | Fully autonomous setup with auto-provision |
219
+ | [Agent Skills Integration](docs/agent-guides/agent-skills-integration.md) | Universal guide for 27+ AI agent platforms |
220
+ | [Claude Code Integration](docs/agent-guides/claude-code-integration.md) | Skill files + MCP server setup for Claude Code |
221
+ | [OpenClaw Integration](docs/agent-guides/openclaw-integration.md) | Quick setup for OpenClaw bot |
222
222
  | [Wallet SDK Integration](docs/wallet-sdk-integration.md) | Integration guide for wallet developers |
223
223
  | [Why WAIaaS?](docs/why-waiaas/) | Background on AI agent wallet security |
224
224
  | [Contributing](CONTRIBUTING.md) | Development setup, code style, testing, PR guidelines |
package/dist/adapter.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * Addresses use `address()` branded type from @solana/addresses.
9
9
  * Signing uses `signBytes()` with Ed25519 CryptoKey from `createKeyPairFromBytes()`.
10
10
  */
11
- import type { IChainAdapter, ChainType, NetworkType, TransferRequest, UnsignedTransaction, SimulationResult, SubmitResult, BalanceInfo, HealthInfo, AssetInfo, FeeEstimate, TokenInfo, SweepResult, TokenTransferParams, ContractCallParams, ApproveParams, BatchParams, ParsedTransaction, SignedTransaction, NftTransferParams, NftApproveParams } from '@waiaas/core';
11
+ import type { IChainAdapter, ChainType, NetworkType, TransferRequest, UnsignedTransaction, SimulationResult, SubmitResult, BalanceInfo, HealthInfo, AssetInfo, FeeEstimate, TokenInfo, TokenTransferParams, ContractCallParams, ApproveParams, BatchParams, ParsedTransaction, SignedTransaction, NftTransferParams, NftApproveParams } from '@waiaas/core';
12
12
  /**
13
13
  * Solana chain adapter implementing the 22-method IChainAdapter contract.
14
14
  *
@@ -21,7 +21,7 @@ import type { IChainAdapter, ChainType, NetworkType, TransferRequest, UnsignedTr
21
21
  * Token: buildTokenTransfer, getTokenInfo
22
22
  * Contract: buildContractCall, buildApprove
23
23
  * Batch: buildBatch
24
- * Utility: getTransactionFee, getCurrentNonce, sweepAll
24
+ * Utility: getTransactionFee, getCurrentNonce
25
25
  * Sign-only: parseTransaction, signExternalTransaction
26
26
  */
27
27
  export declare class SolanaAdapter implements IChainAdapter {
@@ -63,12 +63,18 @@ export declare class SolanaAdapter implements IChainAdapter {
63
63
  private convertBatchInstruction;
64
64
  getTransactionFee(tx: UnsignedTransaction): Promise<bigint>;
65
65
  getCurrentNonce(_address: string): Promise<number>;
66
- sweepAll(_from: string, _to: string, _privateKey: Uint8Array): Promise<SweepResult>;
67
66
  parseTransaction(rawTx: string): Promise<ParsedTransaction>;
68
67
  signExternalTransaction(rawTx: string, privateKey: Uint8Array): Promise<SignedTransaction>;
69
68
  buildNftTransferTx(request: NftTransferParams): Promise<UnsignedTransaction>;
70
69
  transferNft(request: NftTransferParams, privateKey: Uint8Array): Promise<SubmitResult>;
71
70
  approveNft(request: NftApproveParams): Promise<UnsignedTransaction>;
71
+ /**
72
+ * Centralized error mapping for catch blocks.
73
+ * - WAIaaSError: re-throw as-is
74
+ * - ChainError: re-throw as-is (Stage 5 converts to WAIaaSError)
75
+ * - Other: wrap in WAIaaSError('CHAIN_ERROR')
76
+ */
77
+ private mapError;
72
78
  private ensureConnected;
73
79
  /**
74
80
  * Wraps an RPC call with exponential backoff retry for 429/408/5xx errors (#187).
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6BH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAiCtB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAY;IACrC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAE9B,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,WAAW;IAM1B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,WAAW,IAAI,OAAO;IAIhB,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAkBhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB9C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkG7C,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8DxE,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2BvE,eAAe,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAuCrF,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IA0B9D,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IAsC9E,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4DjF,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwI9E,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAiDtD,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgJ5E,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkGlE,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqFpE;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;OAGG;YACW,uBAAuB;IAwN/B,iBAAiB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAMnF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAM3D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkE1F,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwI5E,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAMtF,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2GzE,OAAO,CAAC,eAAe;IAQvB;;;OAGG;YACW,YAAY;IAkB1B,OAAO,CAAC,MAAM;CAIf"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/adapter.js CHANGED
@@ -8,10 +8,10 @@
8
8
  * Addresses use `address()` branded type from @solana/addresses.
9
9
  * Signing uses `signBytes()` with Ed25519 CryptoKey from `createKeyPairFromBytes()`.
10
10
  */
11
- import { address, AccountRole, createNoopSigner, createSolanaRpc, createTransactionMessage, setTransactionMessageFeePayer, appendTransactionMessageInstruction, setTransactionMessageLifetimeUsingBlockhash, compileTransaction, getTransactionEncoder, getTransactionDecoder, getBase64EncodedWireTransaction, pipe, signBytes, createKeyPairFromBytes, createKeyPairFromPrivateKeyBytes, getAddressFromPublicKey, } from '@solana/kit';
11
+ import { address, AccountRole, createNoopSigner, createSolanaRpc, createTransactionMessage, setTransactionMessageFeePayer, appendTransactionMessageInstruction, setTransactionMessageLifetimeUsingBlockhash, compileTransaction, getTransactionEncoder, getTransactionDecoder, getBase64EncodedWireTransaction, pipe, signBytes, createKeyPairFromBytes, createKeyPairFromPrivateKeyBytes, getAddressFromPublicKey, fetchAddressesForLookupTables, compressTransactionMessageUsingAddressLookupTables, } from '@solana/kit';
12
12
  import { getTransferSolInstruction } from '@solana-program/system';
13
13
  import { findAssociatedTokenPda, getCreateAssociatedTokenIdempotentInstruction, getTransferCheckedInstruction, getApproveCheckedInstruction, TOKEN_PROGRAM_ADDRESS, } from '@solana-program/token';
14
- import { WAIaaSError, ChainError } from '@waiaas/core';
14
+ import { WAIaaSError, ChainError, sleep } from '@waiaas/core';
15
15
  import { parseSolanaTransaction } from './tx-parser.js';
16
16
  /** Default SOL transfer fee in lamports (5000 = 0.000005 SOL). */
17
17
  const DEFAULT_SOL_TRANSFER_FEE = 5000n;
@@ -44,7 +44,7 @@ const txDecoder = getTransactionDecoder();
44
44
  * Token: buildTokenTransfer, getTokenInfo
45
45
  * Contract: buildContractCall, buildApprove
46
46
  * Batch: buildBatch
47
- * Utility: getTransactionFee, getCurrentNonce, sweepAll
47
+ * Utility: getTransactionFee, getCurrentNonce
48
48
  * Sign-only: parseTransaction, signExternalTransaction
49
49
  */
50
50
  export class SolanaAdapter {
@@ -96,10 +96,7 @@ export class SolanaAdapter {
96
96
  };
97
97
  }
98
98
  catch (error) {
99
- throw new WAIaaSError('CHAIN_ERROR', {
100
- message: `Failed to get balance: ${error instanceof Error ? error.message : String(error)}`,
101
- cause: error instanceof Error ? error : undefined,
102
- });
99
+ this.mapError('get balance', error);
103
100
  }
104
101
  }
105
102
  // -- Asset query (1) --
@@ -175,12 +172,7 @@ export class SolanaAdapter {
175
172
  return assets;
176
173
  }
177
174
  catch (error) {
178
- if (error instanceof WAIaaSError)
179
- throw error;
180
- throw new WAIaaSError('CHAIN_ERROR', {
181
- message: `Failed to get assets: ${error instanceof Error ? error.message : String(error)}`,
182
- cause: error instanceof Error ? error : undefined,
183
- });
175
+ this.mapError('get assets', error);
184
176
  }
185
177
  }
186
178
  // -- Transaction 4-stage pipeline (4) --
@@ -220,12 +212,7 @@ export class SolanaAdapter {
220
212
  };
221
213
  }
222
214
  catch (error) {
223
- if (error instanceof WAIaaSError)
224
- throw error;
225
- throw new WAIaaSError('CHAIN_ERROR', {
226
- message: `Failed to build transaction: ${error instanceof Error ? error.message : String(error)}`,
227
- cause: error instanceof Error ? error : undefined,
228
- });
215
+ this.mapError('build transaction', error);
229
216
  }
230
217
  }
231
218
  async simulateTransaction(tx) {
@@ -246,12 +233,7 @@ export class SolanaAdapter {
246
233
  };
247
234
  }
248
235
  catch (error) {
249
- if (error instanceof WAIaaSError)
250
- throw error;
251
- throw new WAIaaSError('CHAIN_ERROR', {
252
- message: `Failed to simulate transaction: ${error instanceof Error ? error.message : String(error)}`,
253
- cause: error instanceof Error ? error : undefined,
254
- });
236
+ this.mapError('simulate transaction', error);
255
237
  }
256
238
  }
257
239
  async signTransaction(tx, privateKey) {
@@ -280,12 +262,7 @@ export class SolanaAdapter {
280
262
  return new Uint8Array(txEncoder.encode(signedTx));
281
263
  }
282
264
  catch (error) {
283
- if (error instanceof WAIaaSError)
284
- throw error;
285
- throw new WAIaaSError('CHAIN_ERROR', {
286
- message: `Failed to sign transaction: ${error instanceof Error ? error.message : String(error)}`,
287
- cause: error instanceof Error ? error : undefined,
288
- });
265
+ this.mapError('sign transaction', error);
289
266
  }
290
267
  }
291
268
  async submitTransaction(signedTx) {
@@ -303,12 +280,7 @@ export class SolanaAdapter {
303
280
  };
304
281
  }
305
282
  catch (error) {
306
- if (error instanceof WAIaaSError)
307
- throw error;
308
- throw new WAIaaSError('CHAIN_ERROR', {
309
- message: `Failed to submit transaction: ${error instanceof Error ? error.message : String(error)}`,
310
- cause: error instanceof Error ? error : undefined,
311
- });
283
+ this.mapError('submit transaction', error);
312
284
  }
313
285
  }
314
286
  // -- Confirmation wait (1) --
@@ -387,14 +359,7 @@ export class SolanaAdapter {
387
359
  return { fee: DEFAULT_SOL_TRANSFER_FEE };
388
360
  }
389
361
  catch (error) {
390
- if (error instanceof ChainError)
391
- throw error;
392
- if (error instanceof WAIaaSError)
393
- throw error;
394
- throw new WAIaaSError('CHAIN_ERROR', {
395
- message: `Failed to estimate fee: ${error instanceof Error ? error.message : String(error)}`,
396
- cause: error instanceof Error ? error : undefined,
397
- });
362
+ this.mapError('estimate fee', error);
398
363
  }
399
364
  }
400
365
  // -- Token operations (2) --
@@ -495,14 +460,7 @@ export class SolanaAdapter {
495
460
  };
496
461
  }
497
462
  catch (error) {
498
- if (error instanceof ChainError)
499
- throw error;
500
- if (error instanceof WAIaaSError)
501
- throw error;
502
- throw new WAIaaSError('CHAIN_ERROR', {
503
- message: `Failed to build token transfer: ${error instanceof Error ? error.message : String(error)}`,
504
- cause: error instanceof Error ? error : undefined,
505
- });
463
+ this.mapError('build token transfer', error);
506
464
  }
507
465
  }
508
466
  async getTokenInfo(tokenAddress) {
@@ -539,14 +497,7 @@ export class SolanaAdapter {
539
497
  };
540
498
  }
541
499
  catch (error) {
542
- if (error instanceof ChainError)
543
- throw error;
544
- if (error instanceof WAIaaSError)
545
- throw error;
546
- throw new WAIaaSError('CHAIN_ERROR', {
547
- message: `Failed to get token info: ${error instanceof Error ? error.message : String(error)}`,
548
- cause: error instanceof Error ? error : undefined,
549
- });
500
+ this.mapError('get token info', error);
550
501
  }
551
502
  }
552
503
  // -- Contract operations (2) --
@@ -605,37 +556,41 @@ export class SolanaAdapter {
605
556
  accounts: mappedAccounts,
606
557
  data: dataBytes,
607
558
  };
608
- // Build pre-instructions (e.g., ATA creation for Jito staking)
559
+ // Helper to map account role
560
+ const mapRole = (acc) => {
561
+ if (acc.isSigner && acc.isWritable)
562
+ return AccountRole.WRITABLE_SIGNER;
563
+ if (acc.isSigner && !acc.isWritable)
564
+ return AccountRole.READONLY_SIGNER;
565
+ if (!acc.isSigner && acc.isWritable)
566
+ return AccountRole.WRITABLE;
567
+ return AccountRole.READONLY;
568
+ };
569
+ // Helper to decode instruction data (Uint8Array or base64 string)
570
+ const decodeData = (data) => {
571
+ if (data instanceof Uint8Array)
572
+ return data;
573
+ return new Uint8Array(Buffer.from(data, 'base64'));
574
+ };
575
+ // Build pre-instructions (e.g., computeBudget + setup instructions from Jupiter)
609
576
  const preInstructions = [];
610
577
  if (request.preInstructions && request.preInstructions.length > 0) {
611
578
  for (const pre of request.preInstructions) {
612
- const preAccounts = pre.accounts.map((acc) => {
613
- let role;
614
- if (acc.isSigner && acc.isWritable) {
615
- role = AccountRole.WRITABLE_SIGNER;
616
- }
617
- else if (acc.isSigner && !acc.isWritable) {
618
- role = AccountRole.READONLY_SIGNER;
619
- }
620
- else if (!acc.isSigner && acc.isWritable) {
621
- role = AccountRole.WRITABLE;
622
- }
623
- else {
624
- role = AccountRole.READONLY;
625
- }
626
- return { address: address(acc.pubkey), role };
627
- });
628
- let preData;
629
- if (pre.data instanceof Uint8Array) {
630
- preData = pre.data;
631
- }
632
- else {
633
- preData = new Uint8Array(Buffer.from(pre.data, 'base64'));
634
- }
635
579
  preInstructions.push({
636
580
  programAddress: address(pre.programId),
637
- accounts: preAccounts,
638
- data: preData,
581
+ accounts: pre.accounts.map((acc) => ({ address: address(acc.pubkey), role: mapRole(acc) })),
582
+ data: decodeData(pre.data),
583
+ });
584
+ }
585
+ }
586
+ // Build post-instructions (e.g., cleanup instruction from Jupiter)
587
+ const postInstructions = [];
588
+ if (request.postInstructions && request.postInstructions.length > 0) {
589
+ for (const post of request.postInstructions) {
590
+ postInstructions.push({
591
+ programAddress: address(post.programId),
592
+ accounts: post.accounts.map((acc) => ({ address: address(acc.pubkey), role: mapRole(acc) })),
593
+ data: decodeData(post.data),
639
594
  });
640
595
  }
641
596
  }
@@ -646,7 +601,7 @@ export class SolanaAdapter {
646
601
  blockhash: blockhashInfo.blockhash,
647
602
  lastValidBlockHeight: blockhashInfo.lastValidBlockHeight,
648
603
  }, tx));
649
- // Append pre-instructions first (e.g., ATA creation)
604
+ // Append pre-instructions first (e.g., computeBudget + ATA creation)
650
605
  for (const preIx of preInstructions) {
651
606
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
652
607
  txMessage = appendTransactionMessageInstruction(preIx, txMessage);
@@ -654,6 +609,23 @@ export class SolanaAdapter {
654
609
  // Append main instruction
655
610
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
656
611
  txMessage = appendTransactionMessageInstruction(instruction, txMessage);
612
+ // Append post-instructions (e.g., cleanup)
613
+ for (const postIx of postInstructions) {
614
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
615
+ txMessage = appendTransactionMessageInstruction(postIx, txMessage);
616
+ }
617
+ // Apply Address Lookup Table compression if ALT addresses are provided.
618
+ // This replaces full account pubkeys with compact ALT index references,
619
+ // allowing transactions with many accounts (like Jupiter swaps) to fit
620
+ // within the 1232-byte transaction size limit.
621
+ if (request.addressLookupTableAddresses && request.addressLookupTableAddresses.length > 0) {
622
+ const altAddresses = request.addressLookupTableAddresses.map((a) => address(a));
623
+ const addressesByLookupTable = await fetchAddressesForLookupTables(altAddresses,
624
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
625
+ rpc);
626
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
627
+ txMessage = compressTransactionMessageUsingAddressLookupTables(txMessage, addressesByLookupTable);
628
+ }
657
629
  // Compile and encode
658
630
  const compiled = compileTransaction(txMessage);
659
631
  const serialized = new Uint8Array(txEncoder.encode(compiled));
@@ -671,14 +643,7 @@ export class SolanaAdapter {
671
643
  };
672
644
  }
673
645
  catch (error) {
674
- if (error instanceof ChainError)
675
- throw error;
676
- if (error instanceof WAIaaSError)
677
- throw error;
678
- throw new WAIaaSError('CHAIN_ERROR', {
679
- message: `Failed to build contract call: ${error instanceof Error ? error.message : String(error)}`,
680
- cause: error instanceof Error ? error : undefined,
681
- });
646
+ this.mapError('build contract call', error);
682
647
  }
683
648
  }
684
649
  async buildApprove(request) {
@@ -752,14 +717,7 @@ export class SolanaAdapter {
752
717
  };
753
718
  }
754
719
  catch (error) {
755
- if (error instanceof ChainError)
756
- throw error;
757
- if (error instanceof WAIaaSError)
758
- throw error;
759
- throw new WAIaaSError('CHAIN_ERROR', {
760
- message: `Failed to build approve: ${error instanceof Error ? error.message : String(error)}`,
761
- cause: error instanceof Error ? error : undefined,
762
- });
720
+ this.mapError('build approve', error);
763
721
  }
764
722
  }
765
723
  // -- Batch operations (1) --
@@ -822,14 +780,7 @@ export class SolanaAdapter {
822
780
  };
823
781
  }
824
782
  catch (error) {
825
- if (error instanceof ChainError)
826
- throw error;
827
- if (error instanceof WAIaaSError)
828
- throw error;
829
- throw new WAIaaSError('CHAIN_ERROR', {
830
- message: `Failed to build batch: ${error instanceof Error ? error.message : String(error)}`,
831
- cause: error instanceof Error ? error : undefined,
832
- });
783
+ this.mapError('build batch', error);
833
784
  }
834
785
  }
835
786
  // -- Batch helpers --
@@ -1038,9 +989,6 @@ export class SolanaAdapter {
1038
989
  // Solana doesn't use nonces in the EVM sense; return 0 as specified.
1039
990
  return 0;
1040
991
  }
1041
- async sweepAll(_from, _to, _privateKey) {
1042
- throw new Error('Not implemented: sweepAll will be implemented in Phase 80');
1043
- }
1044
992
  // -- Sign-only operations (2) -- v1.4.7
1045
993
  async parseTransaction(rawTx) {
1046
994
  // Offline operation -- no RPC connection needed.
@@ -1205,14 +1153,7 @@ export class SolanaAdapter {
1205
1153
  };
1206
1154
  }
1207
1155
  catch (error) {
1208
- if (error instanceof ChainError)
1209
- throw error;
1210
- if (error instanceof WAIaaSError)
1211
- throw error;
1212
- throw new WAIaaSError('CHAIN_ERROR', {
1213
- message: `Failed to build NFT transfer: ${error instanceof Error ? error.message : String(error)}`,
1214
- cause: error instanceof Error ? error : undefined,
1215
- });
1156
+ this.mapError('build NFT transfer', error);
1216
1157
  }
1217
1158
  }
1218
1159
  async transferNft(request, privateKey) {
@@ -1298,17 +1239,26 @@ export class SolanaAdapter {
1298
1239
  };
1299
1240
  }
1300
1241
  catch (error) {
1301
- if (error instanceof ChainError)
1302
- throw error;
1303
- if (error instanceof WAIaaSError)
1304
- throw error;
1305
- throw new WAIaaSError('CHAIN_ERROR', {
1306
- message: `Failed to build NFT approval: ${error instanceof Error ? error.message : String(error)}`,
1307
- cause: error instanceof Error ? error : undefined,
1308
- });
1242
+ this.mapError('build NFT approval', error);
1309
1243
  }
1310
1244
  }
1311
1245
  // -- Private helpers --
1246
+ /**
1247
+ * Centralized error mapping for catch blocks.
1248
+ * - WAIaaSError: re-throw as-is
1249
+ * - ChainError: re-throw as-is (Stage 5 converts to WAIaaSError)
1250
+ * - Other: wrap in WAIaaSError('CHAIN_ERROR')
1251
+ */
1252
+ mapError(operation, error) {
1253
+ if (error instanceof WAIaaSError)
1254
+ throw error;
1255
+ if (error instanceof ChainError)
1256
+ throw error;
1257
+ throw new WAIaaSError('CHAIN_ERROR', {
1258
+ message: `Failed to ${operation}: ${error instanceof Error ? error.message : String(error)}`,
1259
+ cause: error instanceof Error ? error : undefined,
1260
+ });
1261
+ }
1312
1262
  ensureConnected() {
1313
1263
  if (!this._connected || !this._rpc) {
1314
1264
  throw new WAIaaSError('ADAPTER_NOT_AVAILABLE', {
@@ -1345,9 +1295,6 @@ export class SolanaAdapter {
1345
1295
  return this._rpc;
1346
1296
  }
1347
1297
  }
1348
- function sleep(ms) {
1349
- return new Promise((resolve) => setTimeout(resolve, ms));
1350
- }
1351
1298
  /** Check if an RPC error is retryable (429/408/5xx or network errors). */
1352
1299
  function isRetryableRpcError(err) {
1353
1300
  if (!(err instanceof Error))
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waiaas/adapter-solana",
3
- "version": "2.11.0-rc.7",
3
+ "version": "2.11.0",
4
4
  "description": "WAIaaS Solana chain adapter - SPL/Token-2022 support",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "@solana-program/system": "^0.11.0",
32
32
  "@solana-program/token": "^0.10.0",
33
33
  "@solana/kit": "^6.0.1",
34
- "@waiaas/core": "2.11.0-rc.7"
34
+ "@waiaas/core": "2.11.0"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsc -p tsconfig.build.json",