@cmdoss/memwal-sdk 0.6.2 → 0.8.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/ARCHITECTURE.md +547 -547
- package/BENCHMARKS.md +238 -238
- package/README.md +310 -181
- package/dist/ai-sdk/tools.d.ts +2 -2
- package/dist/ai-sdk/tools.js +2 -2
- package/dist/client/ClientMemoryManager.js +2 -2
- package/dist/client/ClientMemoryManager.js.map +1 -1
- package/dist/client/PersonalDataWallet.d.ts.map +1 -1
- package/dist/client/SimplePDWClient.d.ts +29 -1
- package/dist/client/SimplePDWClient.d.ts.map +1 -1
- package/dist/client/SimplePDWClient.js +45 -13
- package/dist/client/SimplePDWClient.js.map +1 -1
- package/dist/client/namespaces/EmbeddingsNamespace.d.ts +1 -1
- package/dist/client/namespaces/EmbeddingsNamespace.js +1 -1
- package/dist/client/namespaces/MemoryNamespace.d.ts +31 -0
- package/dist/client/namespaces/MemoryNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/MemoryNamespace.js +272 -39
- package/dist/client/namespaces/MemoryNamespace.js.map +1 -1
- package/dist/client/namespaces/consolidated/AINamespace.d.ts +2 -2
- package/dist/client/namespaces/consolidated/AINamespace.js +2 -2
- package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts +12 -2
- package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/consolidated/BlockchainNamespace.js +62 -4
- package/dist/client/namespaces/consolidated/BlockchainNamespace.js.map +1 -1
- package/dist/client/namespaces/consolidated/StorageNamespace.d.ts +67 -2
- package/dist/client/namespaces/consolidated/StorageNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/consolidated/StorageNamespace.js +549 -16
- package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -1
- package/dist/config/ConfigurationHelper.js +61 -61
- package/dist/config/defaults.js +2 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/graph/GraphService.js +21 -21
- package/dist/graph/GraphService.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/seal/EncryptionService.d.ts +9 -5
- package/dist/infrastructure/seal/EncryptionService.d.ts.map +1 -1
- package/dist/infrastructure/seal/EncryptionService.js +37 -15
- package/dist/infrastructure/seal/EncryptionService.js.map +1 -1
- package/dist/infrastructure/seal/SealService.d.ts +13 -5
- package/dist/infrastructure/seal/SealService.d.ts.map +1 -1
- package/dist/infrastructure/seal/SealService.js +36 -34
- package/dist/infrastructure/seal/SealService.js.map +1 -1
- package/dist/langchain/createPDWRAG.js +30 -30
- package/dist/retrieval/MemoryDecryptionPipeline.d.ts.map +1 -1
- package/dist/retrieval/MemoryDecryptionPipeline.js +2 -1
- package/dist/retrieval/MemoryDecryptionPipeline.js.map +1 -1
- package/dist/retrieval/MemoryRetrievalService.d.ts +31 -0
- package/dist/retrieval/MemoryRetrievalService.d.ts.map +1 -1
- package/dist/retrieval/MemoryRetrievalService.js +44 -4
- package/dist/retrieval/MemoryRetrievalService.js.map +1 -1
- package/dist/services/CapabilityService.d.ts.map +1 -1
- package/dist/services/CapabilityService.js +30 -14
- package/dist/services/CapabilityService.js.map +1 -1
- package/dist/services/CrossContextPermissionService.d.ts.map +1 -1
- package/dist/services/CrossContextPermissionService.js +9 -7
- package/dist/services/CrossContextPermissionService.js.map +1 -1
- package/dist/services/EmbeddingService.d.ts +28 -1
- package/dist/services/EmbeddingService.d.ts.map +1 -1
- package/dist/services/EmbeddingService.js +54 -0
- package/dist/services/EmbeddingService.js.map +1 -1
- package/dist/services/EncryptionService.d.ts.map +1 -1
- package/dist/services/EncryptionService.js +6 -5
- package/dist/services/EncryptionService.js.map +1 -1
- package/dist/services/GeminiAIService.js +309 -309
- package/dist/services/IndexManager.d.ts +5 -1
- package/dist/services/IndexManager.d.ts.map +1 -1
- package/dist/services/IndexManager.js +17 -40
- package/dist/services/IndexManager.js.map +1 -1
- package/dist/services/QueryService.js +1 -1
- package/dist/services/QueryService.js.map +1 -1
- package/dist/services/StorageService.d.ts +11 -0
- package/dist/services/StorageService.d.ts.map +1 -1
- package/dist/services/StorageService.js +73 -10
- package/dist/services/StorageService.js.map +1 -1
- package/dist/services/TransactionService.d.ts +20 -0
- package/dist/services/TransactionService.d.ts.map +1 -1
- package/dist/services/TransactionService.js +43 -0
- package/dist/services/TransactionService.js.map +1 -1
- package/dist/services/ViewService.js +2 -2
- package/dist/services/ViewService.js.map +1 -1
- package/dist/services/storage/QuiltBatchManager.d.ts +101 -1
- package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -1
- package/dist/services/storage/QuiltBatchManager.js +410 -20
- package/dist/services/storage/QuiltBatchManager.js.map +1 -1
- package/dist/services/storage/index.d.ts +1 -1
- package/dist/services/storage/index.d.ts.map +1 -1
- package/dist/services/storage/index.js.map +1 -1
- package/dist/utils/LRUCache.d.ts +106 -0
- package/dist/utils/LRUCache.d.ts.map +1 -0
- package/dist/utils/LRUCache.js +281 -0
- package/dist/utils/LRUCache.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/memoryIndexOnChain.d.ts +212 -0
- package/dist/utils/memoryIndexOnChain.d.ts.map +1 -0
- package/dist/utils/memoryIndexOnChain.js +312 -0
- package/dist/utils/memoryIndexOnChain.js.map +1 -0
- package/dist/utils/rebuildIndexNode.d.ts +29 -0
- package/dist/utils/rebuildIndexNode.d.ts.map +1 -1
- package/dist/utils/rebuildIndexNode.js +366 -98
- package/dist/utils/rebuildIndexNode.js.map +1 -1
- package/dist/vector/HnswWasmService.d.ts +20 -5
- package/dist/vector/HnswWasmService.d.ts.map +1 -1
- package/dist/vector/HnswWasmService.js +73 -40
- package/dist/vector/HnswWasmService.js.map +1 -1
- package/dist/vector/IHnswService.d.ts +10 -1
- package/dist/vector/IHnswService.d.ts.map +1 -1
- package/dist/vector/IHnswService.js.map +1 -1
- package/dist/vector/NodeHnswService.d.ts +16 -0
- package/dist/vector/NodeHnswService.d.ts.map +1 -1
- package/dist/vector/NodeHnswService.js +84 -5
- package/dist/vector/NodeHnswService.js.map +1 -1
- package/dist/vector/createHnswService.d.ts +1 -1
- package/dist/vector/createHnswService.js +1 -1
- package/dist/vector/index.d.ts +1 -1
- package/dist/vector/index.js +1 -1
- package/package.json +157 -157
- package/src/access/PermissionService.ts +635 -635
- package/src/aggregation/AggregationService.ts +389 -389
- package/src/ai-sdk/PDWVectorStore.ts +715 -715
- package/src/ai-sdk/index.ts +65 -65
- package/src/ai-sdk/tools.ts +460 -460
- package/src/ai-sdk/types.ts +404 -404
- package/src/batch/BatchManager.ts +597 -597
- package/src/batch/BatchingService.ts +429 -429
- package/src/batch/MemoryProcessingCache.ts +492 -492
- package/src/batch/index.ts +30 -30
- package/src/browser.ts +200 -200
- package/src/client/ClientMemoryManager.ts +987 -987
- package/src/client/PersonalDataWallet.ts +345 -345
- package/src/client/SimplePDWClient.ts +1289 -1222
- package/src/client/factory.ts +154 -154
- package/src/client/namespaces/AnalyticsNamespace.ts +377 -377
- package/src/client/namespaces/BatchNamespace.ts +356 -356
- package/src/client/namespaces/CacheNamespace.ts +123 -123
- package/src/client/namespaces/CapabilityNamespace.ts +217 -217
- package/src/client/namespaces/ClassifyNamespace.ts +169 -169
- package/src/client/namespaces/ContextNamespace.ts +297 -297
- package/src/client/namespaces/EmbeddingsNamespace.ts +99 -99
- package/src/client/namespaces/EncryptionNamespace.ts +221 -221
- package/src/client/namespaces/GraphNamespace.ts +468 -468
- package/src/client/namespaces/IndexNamespace.ts +361 -361
- package/src/client/namespaces/MemoryNamespace.ts +1422 -1135
- package/src/client/namespaces/PermissionsNamespace.ts +254 -254
- package/src/client/namespaces/PipelineNamespace.ts +220 -220
- package/src/client/namespaces/SearchNamespace.ts +1049 -1049
- package/src/client/namespaces/StorageNamespace.ts +458 -458
- package/src/client/namespaces/TxNamespace.ts +260 -260
- package/src/client/namespaces/WalletNamespace.ts +243 -243
- package/src/client/namespaces/consolidated/AINamespace.ts +449 -449
- package/src/client/namespaces/consolidated/BlockchainNamespace.ts +607 -546
- package/src/client/namespaces/consolidated/SecurityNamespace.ts +648 -648
- package/src/client/namespaces/consolidated/StorageNamespace.ts +1141 -497
- package/src/client/namespaces/consolidated/index.ts +39 -39
- package/src/client/signers/KeypairSigner.ts +108 -108
- package/src/client/signers/UnifiedSigner.ts +110 -110
- package/src/client/signers/WalletAdapterSigner.ts +159 -159
- package/src/client/signers/index.ts +26 -26
- package/src/config/ConfigurationHelper.ts +412 -412
- package/src/config/defaults.ts +51 -51
- package/src/config/index.ts +8 -8
- package/src/config/validation.ts +70 -70
- package/src/core/index.ts +14 -14
- package/src/core/interfaces/IService.ts +307 -307
- package/src/core/interfaces/index.ts +8 -8
- package/src/core/types/capability.ts +297 -297
- package/src/core/types/index.ts +870 -870
- package/src/core/types/wallet.ts +270 -270
- package/src/core/types.ts +9 -9
- package/src/core/wallet.ts +222 -222
- package/src/embedding/index.ts +19 -19
- package/src/embedding/types.ts +357 -357
- package/src/errors/index.ts +602 -602
- package/src/errors/recovery.ts +461 -461
- package/src/errors/validation.ts +567 -567
- package/src/generated/pdw/capability.ts +319 -319
- package/src/graph/GraphService.ts +887 -887
- package/src/graph/KnowledgeGraphManager.ts +728 -728
- package/src/graph/index.ts +25 -25
- package/src/index.ts +498 -474
- package/src/infrastructure/index.ts +22 -22
- package/src/infrastructure/seal/EncryptionService.ts +628 -603
- package/src/infrastructure/seal/SealService.ts +613 -615
- package/src/infrastructure/seal/index.ts +9 -9
- package/src/infrastructure/sui/BlockchainManager.ts +627 -627
- package/src/infrastructure/sui/SuiService.ts +888 -888
- package/src/infrastructure/sui/index.ts +9 -9
- package/src/infrastructure/walrus/StorageManager.ts +604 -604
- package/src/infrastructure/walrus/WalrusStorageService.ts +612 -612
- package/src/infrastructure/walrus/index.ts +9 -9
- package/src/langchain/PDWEmbeddings.ts +145 -145
- package/src/langchain/PDWVectorStore.ts +456 -456
- package/src/langchain/createPDWRAG.ts +303 -303
- package/src/langchain/index.ts +47 -47
- package/src/permissions/ConsentRepository.browser.ts +249 -249
- package/src/permissions/ConsentRepository.ts +364 -364
- package/src/pipeline/MemoryPipeline.ts +862 -862
- package/src/pipeline/PipelineManager.ts +683 -683
- package/src/pipeline/index.ts +26 -26
- package/src/retrieval/AdvancedSearchService.ts +629 -629
- package/src/retrieval/MemoryAnalyticsService.ts +711 -711
- package/src/retrieval/MemoryDecryptionPipeline.ts +825 -824
- package/src/retrieval/MemoryRetrievalService.ts +904 -830
- package/src/retrieval/index.ts +42 -42
- package/src/services/BatchService.ts +352 -352
- package/src/services/CapabilityService.ts +464 -448
- package/src/services/ClassifierService.ts +465 -465
- package/src/services/CrossContextPermissionService.ts +486 -484
- package/src/services/EmbeddingService.ts +771 -706
- package/src/services/EncryptionService.ts +712 -711
- package/src/services/GeminiAIService.ts +753 -753
- package/src/services/IndexManager.ts +977 -1004
- package/src/services/MemoryIndexService.ts +1003 -1003
- package/src/services/MemoryService.ts +369 -369
- package/src/services/QueryService.ts +890 -890
- package/src/services/StorageService.ts +1182 -1111
- package/src/services/TransactionService.ts +838 -790
- package/src/services/VectorService.ts +462 -462
- package/src/services/ViewService.ts +484 -484
- package/src/services/index.ts +25 -25
- package/src/services/storage/BlobAttributesManager.ts +333 -333
- package/src/services/storage/KnowledgeGraphManager.ts +425 -425
- package/src/services/storage/MemorySearchManager.ts +387 -387
- package/src/services/storage/QuiltBatchManager.ts +1130 -660
- package/src/services/storage/WalrusMetadataManager.ts +268 -268
- package/src/services/storage/WalrusStorageManager.ts +287 -287
- package/src/services/storage/index.ts +57 -52
- package/src/types/index.ts +13 -13
- package/src/utils/LRUCache.ts +378 -0
- package/src/utils/index.ts +76 -68
- package/src/utils/memoryIndexOnChain.ts +507 -0
- package/src/utils/rebuildIndex.ts +290 -290
- package/src/utils/rebuildIndexNode.ts +771 -424
- package/src/vector/BrowserHnswIndexService.ts +758 -758
- package/src/vector/HnswWasmService.ts +731 -679
- package/src/vector/IHnswService.ts +233 -224
- package/src/vector/NodeHnswService.ts +833 -735
- package/src/vector/VectorManager.ts +478 -478
- package/src/vector/createHnswService.ts +135 -135
- package/src/vector/index.ts +56 -56
- package/src/wallet/ContextWalletService.ts +656 -656
- package/src/wallet/MainWalletService.ts +317 -317
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet Adapter Signer Implementation
|
|
3
|
-
*
|
|
4
|
-
* Wraps browser wallet adapters (Sui Wallet, Ethos, Suiet, etc.)
|
|
5
|
-
* for use with SimplePDWClient in React dApps.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { WalletAdapterSigner } from 'personal-data-wallet-sdk/client';
|
|
10
|
-
*
|
|
11
|
-
* // With @mysten/dapp-kit
|
|
12
|
-
* const { currentWallet } = useCurrentWallet();
|
|
13
|
-
* const signer = new WalletAdapterSigner(currentWallet);
|
|
14
|
-
*
|
|
15
|
-
* const pdw = await createPDWClient({
|
|
16
|
-
* signer,
|
|
17
|
-
* network: 'testnet'
|
|
18
|
-
* });
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @module client/signers
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
import type { Transaction } from '@mysten/sui/transactions';
|
|
25
|
-
import type { Signer } from '@mysten/sui/cryptography';
|
|
26
|
-
import type {
|
|
27
|
-
UnifiedSigner,
|
|
28
|
-
SignAndExecuteResult,
|
|
29
|
-
SignPersonalMessageResult
|
|
30
|
-
} from './UnifiedSigner';
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Minimal wallet adapter interface
|
|
34
|
-
* Compatible with @mysten/dapp-kit and other wallet adapters
|
|
35
|
-
*/
|
|
36
|
-
export interface WalletAdapter {
|
|
37
|
-
/**
|
|
38
|
-
* Sign and execute transaction
|
|
39
|
-
*/
|
|
40
|
-
signAndExecuteTransaction(options: {
|
|
41
|
-
transaction: Transaction;
|
|
42
|
-
options?: {
|
|
43
|
-
showEffects?: boolean;
|
|
44
|
-
showEvents?: boolean;
|
|
45
|
-
showObjectChanges?: boolean;
|
|
46
|
-
};
|
|
47
|
-
}): Promise<{
|
|
48
|
-
digest: string;
|
|
49
|
-
effects?: any;
|
|
50
|
-
events?: any[];
|
|
51
|
-
objectChanges?: any[];
|
|
52
|
-
}>;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Sign personal message
|
|
56
|
-
*/
|
|
57
|
-
signPersonalMessage(options: {
|
|
58
|
-
message: Uint8Array;
|
|
59
|
-
}): Promise<{
|
|
60
|
-
signature: string;
|
|
61
|
-
bytes?: Uint8Array;
|
|
62
|
-
}>;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get account info
|
|
66
|
-
*/
|
|
67
|
-
account: {
|
|
68
|
-
address: string;
|
|
69
|
-
publicKey?: Uint8Array;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Wallet adapter-based signer for browser environments
|
|
75
|
-
*/
|
|
76
|
-
export class WalletAdapterSigner implements UnifiedSigner {
|
|
77
|
-
constructor(private walletAdapter: WalletAdapter) {
|
|
78
|
-
if (!walletAdapter) {
|
|
79
|
-
throw new Error('WalletAdapter is required');
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (!walletAdapter.account || !walletAdapter.account.address) {
|
|
83
|
-
throw new Error('Wallet not connected. Please connect wallet first.');
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Sign and execute transaction using wallet adapter
|
|
89
|
-
*/
|
|
90
|
-
async signAndExecuteTransaction(transaction: Transaction): Promise<SignAndExecuteResult> {
|
|
91
|
-
const result = await this.walletAdapter.signAndExecuteTransaction({
|
|
92
|
-
transaction,
|
|
93
|
-
options: {
|
|
94
|
-
showEffects: true,
|
|
95
|
-
showEvents: true,
|
|
96
|
-
showObjectChanges: true
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
return {
|
|
101
|
-
digest: result.digest,
|
|
102
|
-
effects: result.effects,
|
|
103
|
-
events: result.events,
|
|
104
|
-
objectChanges: result.objectChanges
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Sign personal message using wallet adapter
|
|
110
|
-
*/
|
|
111
|
-
async signPersonalMessage(message: Uint8Array): Promise<SignPersonalMessageResult> {
|
|
112
|
-
const result = await this.walletAdapter.signPersonalMessage({
|
|
113
|
-
message
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
return {
|
|
117
|
-
signature: result.signature,
|
|
118
|
-
bytes: result.bytes || message // Fallback to original message if bytes not provided
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Get Sui address from wallet
|
|
124
|
-
*/
|
|
125
|
-
getAddress(): string {
|
|
126
|
-
return this.walletAdapter.account.address;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Get public key from wallet
|
|
131
|
-
*/
|
|
132
|
-
getPublicKey(): Uint8Array | null {
|
|
133
|
-
return this.walletAdapter.account.publicKey || null;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Get underlying Signer
|
|
138
|
-
*
|
|
139
|
-
* Note: Wallet adapters don't expose full Signer interface,
|
|
140
|
-
* so this throws an error. Use KeypairSigner for services requiring Signer.
|
|
141
|
-
*/
|
|
142
|
-
getSigner(): Signer {
|
|
143
|
-
throw new Error(
|
|
144
|
-
'WalletAdapterSigner does not expose underlying Signer. ' +
|
|
145
|
-
'Some PDW operations require direct Keypair access. ' +
|
|
146
|
-
'Use KeypairSigner for backend/Node.js environments.'
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Get SuiClient instance
|
|
152
|
-
*
|
|
153
|
-
* Note: WalletAdapter doesn't provide SuiClient.
|
|
154
|
-
* Use DappKitSigner if you need client access.
|
|
155
|
-
*/
|
|
156
|
-
getClient(): null {
|
|
157
|
-
return null;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Wallet Adapter Signer Implementation
|
|
3
|
+
*
|
|
4
|
+
* Wraps browser wallet adapters (Sui Wallet, Ethos, Suiet, etc.)
|
|
5
|
+
* for use with SimplePDWClient in React dApps.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { WalletAdapterSigner } from 'personal-data-wallet-sdk/client';
|
|
10
|
+
*
|
|
11
|
+
* // With @mysten/dapp-kit
|
|
12
|
+
* const { currentWallet } = useCurrentWallet();
|
|
13
|
+
* const signer = new WalletAdapterSigner(currentWallet);
|
|
14
|
+
*
|
|
15
|
+
* const pdw = await createPDWClient({
|
|
16
|
+
* signer,
|
|
17
|
+
* network: 'testnet'
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @module client/signers
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
import type { Transaction } from '@mysten/sui/transactions';
|
|
25
|
+
import type { Signer } from '@mysten/sui/cryptography';
|
|
26
|
+
import type {
|
|
27
|
+
UnifiedSigner,
|
|
28
|
+
SignAndExecuteResult,
|
|
29
|
+
SignPersonalMessageResult
|
|
30
|
+
} from './UnifiedSigner';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Minimal wallet adapter interface
|
|
34
|
+
* Compatible with @mysten/dapp-kit and other wallet adapters
|
|
35
|
+
*/
|
|
36
|
+
export interface WalletAdapter {
|
|
37
|
+
/**
|
|
38
|
+
* Sign and execute transaction
|
|
39
|
+
*/
|
|
40
|
+
signAndExecuteTransaction(options: {
|
|
41
|
+
transaction: Transaction;
|
|
42
|
+
options?: {
|
|
43
|
+
showEffects?: boolean;
|
|
44
|
+
showEvents?: boolean;
|
|
45
|
+
showObjectChanges?: boolean;
|
|
46
|
+
};
|
|
47
|
+
}): Promise<{
|
|
48
|
+
digest: string;
|
|
49
|
+
effects?: any;
|
|
50
|
+
events?: any[];
|
|
51
|
+
objectChanges?: any[];
|
|
52
|
+
}>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Sign personal message
|
|
56
|
+
*/
|
|
57
|
+
signPersonalMessage(options: {
|
|
58
|
+
message: Uint8Array;
|
|
59
|
+
}): Promise<{
|
|
60
|
+
signature: string;
|
|
61
|
+
bytes?: Uint8Array;
|
|
62
|
+
}>;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get account info
|
|
66
|
+
*/
|
|
67
|
+
account: {
|
|
68
|
+
address: string;
|
|
69
|
+
publicKey?: Uint8Array;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Wallet adapter-based signer for browser environments
|
|
75
|
+
*/
|
|
76
|
+
export class WalletAdapterSigner implements UnifiedSigner {
|
|
77
|
+
constructor(private walletAdapter: WalletAdapter) {
|
|
78
|
+
if (!walletAdapter) {
|
|
79
|
+
throw new Error('WalletAdapter is required');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (!walletAdapter.account || !walletAdapter.account.address) {
|
|
83
|
+
throw new Error('Wallet not connected. Please connect wallet first.');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Sign and execute transaction using wallet adapter
|
|
89
|
+
*/
|
|
90
|
+
async signAndExecuteTransaction(transaction: Transaction): Promise<SignAndExecuteResult> {
|
|
91
|
+
const result = await this.walletAdapter.signAndExecuteTransaction({
|
|
92
|
+
transaction,
|
|
93
|
+
options: {
|
|
94
|
+
showEffects: true,
|
|
95
|
+
showEvents: true,
|
|
96
|
+
showObjectChanges: true
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
digest: result.digest,
|
|
102
|
+
effects: result.effects,
|
|
103
|
+
events: result.events,
|
|
104
|
+
objectChanges: result.objectChanges
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Sign personal message using wallet adapter
|
|
110
|
+
*/
|
|
111
|
+
async signPersonalMessage(message: Uint8Array): Promise<SignPersonalMessageResult> {
|
|
112
|
+
const result = await this.walletAdapter.signPersonalMessage({
|
|
113
|
+
message
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
signature: result.signature,
|
|
118
|
+
bytes: result.bytes || message // Fallback to original message if bytes not provided
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Get Sui address from wallet
|
|
124
|
+
*/
|
|
125
|
+
getAddress(): string {
|
|
126
|
+
return this.walletAdapter.account.address;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Get public key from wallet
|
|
131
|
+
*/
|
|
132
|
+
getPublicKey(): Uint8Array | null {
|
|
133
|
+
return this.walletAdapter.account.publicKey || null;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Get underlying Signer
|
|
138
|
+
*
|
|
139
|
+
* Note: Wallet adapters don't expose full Signer interface,
|
|
140
|
+
* so this throws an error. Use KeypairSigner for services requiring Signer.
|
|
141
|
+
*/
|
|
142
|
+
getSigner(): Signer {
|
|
143
|
+
throw new Error(
|
|
144
|
+
'WalletAdapterSigner does not expose underlying Signer. ' +
|
|
145
|
+
'Some PDW operations require direct Keypair access. ' +
|
|
146
|
+
'Use KeypairSigner for backend/Node.js environments.'
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Get SuiClient instance
|
|
152
|
+
*
|
|
153
|
+
* Note: WalletAdapter doesn't provide SuiClient.
|
|
154
|
+
* Use DappKitSigner if you need client access.
|
|
155
|
+
*/
|
|
156
|
+
getClient(): null {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signer Abstractions for SimplePDWClient
|
|
3
|
-
*
|
|
4
|
-
* Unified signer interface supporting multiple signing methods:
|
|
5
|
-
* - Keypair (Node.js, backend, CLI)
|
|
6
|
-
* - WalletAdapter (Browser, React dApps)
|
|
7
|
-
* - DappKit (Browser, @mysten/dapp-kit hooks)
|
|
8
|
-
*
|
|
9
|
-
* @module client/signers
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export type {
|
|
13
|
-
UnifiedSigner,
|
|
14
|
-
SignAndExecuteResult,
|
|
15
|
-
SignPersonalMessageResult
|
|
16
|
-
} from './UnifiedSigner';
|
|
17
|
-
|
|
18
|
-
export { KeypairSigner } from './KeypairSigner';
|
|
19
|
-
export { WalletAdapterSigner } from './WalletAdapterSigner';
|
|
20
|
-
export type { WalletAdapter } from './WalletAdapterSigner';
|
|
21
|
-
export { DappKitSigner } from './DappKitSigner';
|
|
22
|
-
export type {
|
|
23
|
-
DappKitSignerConfig,
|
|
24
|
-
DappKitSignAndExecuteFn,
|
|
25
|
-
DappKitSignPersonalMessageFn
|
|
26
|
-
} from './DappKitSigner';
|
|
1
|
+
/**
|
|
2
|
+
* Signer Abstractions for SimplePDWClient
|
|
3
|
+
*
|
|
4
|
+
* Unified signer interface supporting multiple signing methods:
|
|
5
|
+
* - Keypair (Node.js, backend, CLI)
|
|
6
|
+
* - WalletAdapter (Browser, React dApps)
|
|
7
|
+
* - DappKit (Browser, @mysten/dapp-kit hooks)
|
|
8
|
+
*
|
|
9
|
+
* @module client/signers
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export type {
|
|
13
|
+
UnifiedSigner,
|
|
14
|
+
SignAndExecuteResult,
|
|
15
|
+
SignPersonalMessageResult
|
|
16
|
+
} from './UnifiedSigner';
|
|
17
|
+
|
|
18
|
+
export { KeypairSigner } from './KeypairSigner';
|
|
19
|
+
export { WalletAdapterSigner } from './WalletAdapterSigner';
|
|
20
|
+
export type { WalletAdapter } from './WalletAdapterSigner';
|
|
21
|
+
export { DappKitSigner } from './DappKitSigner';
|
|
22
|
+
export type {
|
|
23
|
+
DappKitSignerConfig,
|
|
24
|
+
DappKitSignAndExecuteFn,
|
|
25
|
+
DappKitSignPersonalMessageFn
|
|
26
|
+
} from './DappKitSigner';
|