@dainprotocol/service-sdk 1.1.13 → 1.1.15

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,412 @@
1
+ "use strict";
2
+ // File: src/__tests__/crypto-plugin.test.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("tslib");
5
+ const client_auth_1 = require("@/client/client-auth");
6
+ const client_1 = require("@/client/client");
7
+ const ed25519_1 = require("@noble/curves/ed25519");
8
+ const bs58_1 = tslib_1.__importDefault(require("bs58"));
9
+ const nodeService_1 = require("@/service/nodeService");
10
+ const core_1 = require("@/service/core");
11
+ const zod_1 = require("zod");
12
+ const crypto_plugin_1 = require("@/plugins/crypto-plugin");
13
+ const cuid2_1 = require("@paralleldrive/cuid2");
14
+ describe("DAIN Framework CryptoPlugin System", () => {
15
+ // Generate test keys
16
+ const servicePrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
17
+ const servicePublicKey = ed25519_1.ed25519.getPublicKey(servicePrivateKey);
18
+ const serviceAddress = bs58_1.default.encode(servicePublicKey);
19
+ const clientPrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
20
+ // Set up client authentication
21
+ const agentAuth = new client_auth_1.DainClientAuth({
22
+ privateKeyBase58: bs58_1.default.encode(clientPrivateKey),
23
+ agentId: "agent-crypto-test",
24
+ orgId: "org-crypto-test",
25
+ });
26
+ // Create a test wallet configuration
27
+ const testWallets = [
28
+ { chain: "sol", address: "Sol11111111111111111111111111111111111111111" },
29
+ { chain: "eth", address: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" },
30
+ { chain: "arb", address: "0x70997970C51812dc3A010C7d01b50e0d17dc79C8" }
31
+ ];
32
+ // Create separate CryptoPlugin instances for client and service
33
+ const clientCryptoPlugin = new crypto_plugin_1.CryptoPlugin(testWallets);
34
+ const serviceCryptoPlugin = new crypto_plugin_1.CryptoPlugin(); // Service doesn't need wallet information
35
+ // Initialize the connection to the DAIN service with the client crypto plugin
36
+ const dainConnection = new client_1.DainServiceConnection("http://localhost:4485", agentAuth, {
37
+ plugins: [clientCryptoPlugin]
38
+ });
39
+ // Create a mock Solana transaction (added id field)
40
+ const mockSolanaTransaction = {
41
+ encodedTx: "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
42
+ chain: "sol",
43
+ signer: "Sol11111111111111111111111111111111111111111",
44
+ metadata: {
45
+ description: "Test SOL Transfer",
46
+ amount: 0.01,
47
+ recipient: "SolRecipient111111111111111111111111111111111"
48
+ }
49
+ };
50
+ // Create a mock Ethereum transaction (added id field)
51
+ const mockEthereumTransaction = {
52
+ encodedTx: "0xf86c0a85046c7cfe0083016dea94d1310c1e0aa1b9d5dfe80aa9ee4a8b0a48d0f2a780a46057361d00000000000000000000000000000000000000000000000000000000000003e880820a95a0f5d4c5201602ddf5110f112a85fb0cf39a85e3a3174cd237b8383670cab7a3b5a048f2be5cc9f0a0b3f22e60f709c649d5a6a4ad3d70ce44ec80b96ffe7843508c",
53
+ chain: "eth",
54
+ signer: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
55
+ metadata: {
56
+ description: "Test ETH Transfer",
57
+ amount: 0.1,
58
+ recipient: "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
59
+ gasLimit: 21000
60
+ }
61
+ };
62
+ // Create a test tool that uses wallet information and creates unsigned transactions
63
+ const cryptoTransferTool = (0, core_1.createTool)({
64
+ id: "crypto-transfer",
65
+ name: "Cryptocurrency Transfer Tool",
66
+ description: "Creates unsigned transactions for cryptocurrency transfers",
67
+ input: zod_1.z.object({
68
+ amount: zod_1.z.number().positive(),
69
+ chain: zod_1.z.enum(["sol", "eth", "arb"]),
70
+ recipientAddress: zod_1.z.string(),
71
+ executeSimultaneously: zod_1.z.boolean().optional(),
72
+ waitForConfirmation: zod_1.z.boolean().optional()
73
+ }),
74
+ output: zod_1.z.object({
75
+ success: zod_1.z.boolean(),
76
+ message: zod_1.z.string(),
77
+ signatureRequests: zod_1.z.array(zod_1.z.object({
78
+ txs: zod_1.z.array(zod_1.z.object({
79
+ id: zod_1.z.string(),
80
+ encodedTx: zod_1.z.string(),
81
+ chain: zod_1.z.enum(["sol", "eth", "arb"]),
82
+ signer: zod_1.z.string(),
83
+ metadata: zod_1.z.any().optional()
84
+ })),
85
+ executeSimultaneously: zod_1.z.boolean().optional(),
86
+ toolsShouldWaitForConfirmation: zod_1.z.boolean().optional()
87
+ })).optional()
88
+ }),
89
+ handler: async ({ amount, chain, recipientAddress, executeSimultaneously, waitForConfirmation }, agentInfo, context) => {
90
+ // Use the SERVICE-SIDE plugin (serviceCryptoPlugin) helper to get the user's wallets
91
+ const wallets = serviceCryptoPlugin.getUserWallets(context);
92
+ console.log(`[SERVICE] Available user wallets:`, wallets);
93
+ // Get the wallet for the specified chain
94
+ const userWallet = serviceCryptoPlugin.getUserWalletForChain(context, chain);
95
+ if (!userWallet) {
96
+ return {
97
+ text: `No wallet found for ${chain} chain`,
98
+ data: {
99
+ success: false,
100
+ message: `No ${chain} wallet found for this user. Please connect a ${chain} wallet.`
101
+ },
102
+ ui: null
103
+ };
104
+ }
105
+ console.log(`[SERVICE] Using ${chain} wallet: ${userWallet} for transfer of ${amount} to ${recipientAddress}`);
106
+ // Create mock transactions based on the chain
107
+ let mockTransaction;
108
+ if (chain === "sol") {
109
+ mockTransaction = {
110
+ ...mockSolanaTransaction,
111
+ signer: userWallet,
112
+ metadata: {
113
+ ...mockSolanaTransaction.metadata,
114
+ amount: amount,
115
+ recipient: recipientAddress
116
+ }
117
+ };
118
+ }
119
+ else if (chain === "eth" || chain === "arb") {
120
+ mockTransaction = {
121
+ ...mockEthereumTransaction,
122
+ chain: chain,
123
+ signer: userWallet,
124
+ metadata: {
125
+ ...mockEthereumTransaction.metadata,
126
+ amount: amount,
127
+ recipient: recipientAddress
128
+ }
129
+ };
130
+ }
131
+ else {
132
+ return {
133
+ text: `Unsupported chain: ${chain}`,
134
+ data: {
135
+ success: false,
136
+ message: `Chain ${chain} is not supported yet.`
137
+ },
138
+ ui: null
139
+ };
140
+ }
141
+ // Create a transaction with a unique ID using the service plugin helper
142
+ const transactionWithId = serviceCryptoPlugin.createTransaction(mockTransaction);
143
+ // Log the transaction ID for debugging
144
+ console.log(`[SERVICE] Created transaction with ID: ${transactionWithId.id}`);
145
+ // Create a signature request using the SERVICE-SIDE plugin helper
146
+ const signatureRequest = serviceCryptoPlugin.createTransactionRequest([transactionWithId], {
147
+ executeSimultaneously: executeSimultaneously,
148
+ toolsShouldWaitForConfirmation: waitForConfirmation
149
+ });
150
+ return {
151
+ text: `Created unsigned ${chain} transaction for ${amount} to ${recipientAddress}`,
152
+ data: {
153
+ success: true,
154
+ message: `Created unsigned ${chain} transaction. Please sign to complete the transfer.`,
155
+ signatureRequests: [signatureRequest]
156
+ },
157
+ ui: null
158
+ };
159
+ },
160
+ });
161
+ // Initialize the DAIN service with the SERVICE crypto plugin instance
162
+ const dainService = (0, nodeService_1.defineDAINService)({
163
+ metadata: {
164
+ title: "Crypto Plugin Test Service",
165
+ description: "A DAIN service for testing the crypto plugin",
166
+ version: "1.0.0",
167
+ author: "Test Author",
168
+ tags: ["crypto", "plugin", "test"],
169
+ },
170
+ identity: {
171
+ publicKey: bs58_1.default.encode(servicePublicKey),
172
+ agentId: "crypto-agent",
173
+ orgId: "crypto-org",
174
+ privateKey: bs58_1.default.encode(servicePrivateKey),
175
+ },
176
+ tools: [cryptoTransferTool],
177
+ plugins: [serviceCryptoPlugin] // Using service-side plugin instance
178
+ });
179
+ let server;
180
+ beforeAll(async () => {
181
+ server = await dainService.startNode({ port: 4485 });
182
+ await new Promise(resolve => setTimeout(resolve, 500)); // Give server time to start
183
+ });
184
+ afterAll(async () => {
185
+ await server.shutdown();
186
+ });
187
+ it("should assign unique IDs to transactions", async () => {
188
+ console.log("[CLIENT] Using client plugin with wallets:", clientCryptoPlugin.getWallets());
189
+ console.log("[SERVICE] Using service plugin with wallets:", serviceCryptoPlugin.getWallets());
190
+ // Call the tool WITHOUT providing wallet information in the params
191
+ // The client plugin should automatically add wallet info
192
+ const params = {
193
+ amount: 0.05,
194
+ chain: "sol",
195
+ recipientAddress: "SolRecipient222222222222222222222222222222222"
196
+ // No wallets provided - they should come from the client plugin
197
+ };
198
+ // Call the tool
199
+ const result = await dainConnection.callTool("crypto-transfer", params);
200
+ console.log("[CLIENT] Received response:", JSON.stringify(result, null, 2));
201
+ // Verify the response
202
+ expect(result.data.success).toBe(true);
203
+ expect(result.data.message).toContain("Created unsigned sol transaction");
204
+ // Use the CLIENT plugin helper to extract transaction requests
205
+ const signatureRequests = clientCryptoPlugin.getRequestedCryptoSignatures(result);
206
+ console.log("[CLIENT] Extracted signature requests:", JSON.stringify(signatureRequests, null, 2));
207
+ expect(signatureRequests).toBeDefined();
208
+ expect(signatureRequests.length).toBe(1);
209
+ expect(signatureRequests[0].txs.length).toBe(1);
210
+ const transaction = signatureRequests[0].txs[0];
211
+ expect(transaction.chain).toBe("sol");
212
+ expect(transaction.signer).toBe(testWallets[0].address);
213
+ expect(transaction.encodedTx).toBeDefined();
214
+ // Verify the transaction has an ID
215
+ expect(transaction.id).toBeDefined();
216
+ expect(typeof transaction.id).toBe("string");
217
+ expect(transaction.id.length).toBeGreaterThan(10);
218
+ // Save the transaction ID for later use
219
+ const txId = transaction.id;
220
+ console.log(`[CLIENT] Transaction ID: ${txId}`);
221
+ // Test getTransactionById method
222
+ const foundTx = clientCryptoPlugin.getTransactionById(result, txId);
223
+ expect(foundTx).toBeDefined();
224
+ expect(foundTx?.id).toBe(txId);
225
+ });
226
+ it("should handle Ethereum transactions with unique IDs", async () => {
227
+ // Prepare the tool parameters without wallet information
228
+ const params = {
229
+ amount: 0.25,
230
+ chain: "eth",
231
+ recipientAddress: "0xRecipientEthereumAddress0123456789abcdef"
232
+ // No wallets provided - they should come from the client plugin
233
+ };
234
+ // Call the tool
235
+ const result = await dainConnection.callTool("crypto-transfer", params);
236
+ // Verify the response
237
+ expect(result.data.success).toBe(true);
238
+ expect(result.data.message).toContain("Created unsigned eth transaction");
239
+ // Get transaction requests using the CLIENT plugin
240
+ const signatureRequests = clientCryptoPlugin.getRequestedCryptoSignatures(result);
241
+ const transaction = signatureRequests[0].txs[0];
242
+ expect(transaction.chain).toBe("eth");
243
+ expect(transaction.signer).toBe(testWallets[1].address);
244
+ expect(transaction.metadata?.amount).toBe(0.25);
245
+ expect(transaction.metadata?.recipient).toBe("0xRecipientEthereumAddress0123456789abcdef");
246
+ // Verify the transaction has an ID
247
+ expect(transaction.id).toBeDefined();
248
+ expect(typeof transaction.id).toBe("string");
249
+ console.log(`[CLIENT] Ethereum transaction ID: ${transaction.id}`);
250
+ });
251
+ it("should show wallet information flow and transaction IDs", async () => {
252
+ // Add a new custom wallet to the client plugin
253
+ clientCryptoPlugin.addWallet({
254
+ chain: "sol",
255
+ address: "CustomSolAddress123456789"
256
+ });
257
+ // Call the tool with the updated client plugin
258
+ const result = await dainConnection.callTool("crypto-transfer", {
259
+ amount: 0.75,
260
+ chain: "sol",
261
+ recipientAddress: "NewRecipientAddress"
262
+ });
263
+ // Verify the result uses the updated wallet
264
+ const signatureRequests = clientCryptoPlugin.getRequestedCryptoSignatures(result);
265
+ const transaction = signatureRequests[0].txs[0];
266
+ // The address should be the new custom one we just added
267
+ expect(transaction.signer).toBe("CustomSolAddress123456789");
268
+ expect(transaction.metadata?.amount).toBe(0.75);
269
+ // Verify the transaction has an ID
270
+ expect(transaction.id).toBeDefined();
271
+ console.log(`[CLIENT] Updated wallet transaction ID: ${transaction.id}`);
272
+ });
273
+ it("should demonstrate creating and accessing transactions with IDs", async () => {
274
+ // Create a transaction directly with the createTransaction method
275
+ const txData = {
276
+ encodedTx: "0xManuallyCreatedTx",
277
+ chain: "eth",
278
+ signer: "0xManualAddress",
279
+ metadata: { test: true, purpose: "Demo" }
280
+ };
281
+ // Create a transaction with the client plugin
282
+ const tx1 = clientCryptoPlugin.createTransaction(txData);
283
+ // Create another transaction with the same data
284
+ const tx2 = clientCryptoPlugin.createTransaction(txData);
285
+ // Create a transaction with a predefined ID
286
+ const customId = (0, cuid2_1.createId)();
287
+ const tx3 = clientCryptoPlugin.createTransaction({
288
+ ...txData,
289
+ id: customId
290
+ });
291
+ // Verify each transaction has a unique ID
292
+ expect(tx1.id).toBeDefined();
293
+ expect(tx2.id).toBeDefined();
294
+ expect(tx3.id).toBeDefined();
295
+ // Transaction IDs should be unique
296
+ expect(tx1.id).not.toBe(tx2.id);
297
+ // Custom ID should be preserved
298
+ expect(tx3.id).toBe(customId);
299
+ console.log(`[TEST] Manual transaction IDs:`, {
300
+ tx1Id: tx1.id,
301
+ tx2Id: tx2.id,
302
+ tx3Id: tx3.id
303
+ });
304
+ // Create a signature request with multiple transactions
305
+ const signatureRequest = clientCryptoPlugin.createTransactionRequest([tx1, tx2, tx3]);
306
+ // Verify the signature request contains all transactions
307
+ expect(signatureRequest.txs.length).toBe(3);
308
+ expect(signatureRequest.txs.map(tx => tx.id)).toContain(tx1.id);
309
+ expect(signatureRequest.txs.map(tx => tx.id)).toContain(tx2.id);
310
+ expect(signatureRequest.txs.map(tx => tx.id)).toContain(tx3.id);
311
+ });
312
+ it("should demonstrate new transaction option parameters", async () => {
313
+ // Create transaction data
314
+ const txData = {
315
+ encodedTx: "0xTestTransactionForOptions",
316
+ chain: "eth",
317
+ signer: "0xTestAddress",
318
+ metadata: { test: true, purpose: "Testing Options" }
319
+ };
320
+ // Create transactions
321
+ const tx1 = clientCryptoPlugin.createTransaction(txData);
322
+ const tx2 = clientCryptoPlugin.createTransaction({
323
+ ...txData,
324
+ signer: "0xAnotherTestAddress"
325
+ });
326
+ // Create a transaction request with options
327
+ const signatureRequest = clientCryptoPlugin.createTransactionRequest([tx1, tx2], {
328
+ executeSimultaneously: true,
329
+ toolsShouldWaitForConfirmation: true
330
+ });
331
+ // Verify the request has the correct options
332
+ expect(signatureRequest.executeSimultaneously).toBe(true);
333
+ expect(signatureRequest.toolsShouldWaitForConfirmation).toBe(true);
334
+ expect(signatureRequest.txs.length).toBe(2);
335
+ // Test calling the tool with options
336
+ const result = await dainConnection.callTool("crypto-transfer", {
337
+ amount: 1.5,
338
+ chain: "eth",
339
+ recipientAddress: "0xOptionTestRecipientAddress",
340
+ executeSimultaneously: true,
341
+ waitForConfirmation: true
342
+ });
343
+ // Extract the signature requests
344
+ const requests = clientCryptoPlugin.getRequestedCryptoSignatures(result);
345
+ // Verify the options were passed through
346
+ expect(requests.length).toBe(1);
347
+ expect(requests[0].executeSimultaneously).toBe(true);
348
+ expect(requests[0].toolsShouldWaitForConfirmation).toBe(true);
349
+ // Verify the transaction was created correctly
350
+ expect(requests[0].txs.length).toBe(1);
351
+ expect(requests[0].txs[0].chain).toBe("eth");
352
+ expect(requests[0].txs[0].metadata?.amount).toBe(1.5);
353
+ expect(requests[0].txs[0].metadata?.recipient).toBe("0xOptionTestRecipientAddress");
354
+ });
355
+ it("should allow service plugin to process transactions with additional data", async () => {
356
+ // Create a new test with a local function that adds metadata
357
+ // We'll use a real function instead of adding to the plugin instance
358
+ const addServiceMetadata = (tx) => {
359
+ return {
360
+ ...tx,
361
+ metadata: {
362
+ ...tx.metadata,
363
+ timestamp: Date.now(),
364
+ serviceId: "test-service-id",
365
+ enhanced: true
366
+ }
367
+ };
368
+ };
369
+ // Create a simple tool handler that would use this function
370
+ // This simulates what a service would do
371
+ const processTransaction = async (chain, userWallet, options) => {
372
+ // Create a basic transaction with ID
373
+ const baseTx = {
374
+ encodedTx: "0xBasicTransaction",
375
+ chain: chain,
376
+ signer: userWallet,
377
+ metadata: { basic: true }
378
+ };
379
+ // Create transaction with ID using the helper
380
+ const tx = serviceCryptoPlugin.createTransaction(baseTx);
381
+ // Enhance it with service-side metadata
382
+ const enhancedTx = addServiceMetadata(tx);
383
+ // Create the signature request
384
+ const request = serviceCryptoPlugin.createTransactionRequest([enhancedTx], options);
385
+ return {
386
+ success: true,
387
+ signatureRequests: [request]
388
+ };
389
+ };
390
+ // Simulate processing with options
391
+ const testWallet = "0xTestWalletAddress";
392
+ const result = await processTransaction("eth", testWallet, {
393
+ executeSimultaneously: true,
394
+ toolsShouldWaitForConfirmation: false
395
+ });
396
+ // Verify the metadata was added
397
+ expect(result.signatureRequests[0].txs[0].metadata?.enhanced).toBe(true);
398
+ expect(result.signatureRequests[0].txs[0].metadata?.serviceId).toBe("test-service-id");
399
+ expect(result.signatureRequests[0].txs[0].metadata?.timestamp).toBeDefined();
400
+ expect(result.signatureRequests[0].txs[0].metadata?.basic).toBe(true); // Original data preserved
401
+ // Verify the transaction options
402
+ expect(result.signatureRequests[0].executeSimultaneously).toBe(true);
403
+ expect(result.signatureRequests[0].toolsShouldWaitForConfirmation).toBe(false);
404
+ // Make sure the transaction info is correct
405
+ expect(result.signatureRequests[0].txs[0].chain).toBe("eth");
406
+ expect(result.signatureRequests[0].txs[0].signer).toBe(testWallet);
407
+ // Verify the transaction has an ID
408
+ expect(result.signatureRequests[0].txs[0].id).toBeDefined();
409
+ console.log(`[TEST] Service processed transaction ID: ${result.signatureRequests[0].txs[0].id}`);
410
+ });
411
+ });
412
+ //# sourceMappingURL=crypto-plugin.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-plugin.test.js","sourceRoot":"","sources":["../../src/__tests__/crypto-plugin.test.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ const convertToVercelTool_1 = require("@/lib/convertToVercelTool");
12
12
  const schemaStructure_1 = require("@/lib/schemaStructure");
13
13
  const client_auth_1 = require("@/client/client-auth");
14
14
  const client_1 = require("@/client/client");
15
- const fs_1 = tslib_1.__importDefault(require("fs"));
16
15
  describe("DAIN Framework Integration", () => {
17
16
  const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
18
17
  const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
@@ -417,7 +416,7 @@ describe("DAIN Framework Integration", () => {
417
416
  const port = app.port;
418
417
  const response = await dainConnection.makeRequest("GET", "/getAllToolsAsJsonSchema", {});
419
418
  console.log("JSON SCHEMA", JSON.stringify(response, null, 2));
420
- fs_1.default.writeFileSync("jsonSchema.json", JSON.stringify(response, null, 2));
419
+ // fs.writeFileSync("jsonSchema.json", JSON.stringify(response, null, 2));
421
420
  expect(response).toEqual({
422
421
  "tools": [
423
422
  {
@@ -1 +1 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './service';
2
2
  export * as DAINServiceClient from "./client";
3
3
  export { createTool, createService, createToolbox, CoreUtils } from './service';
4
+ export * as DAINPlugins from "./plugins";
4
5
  export * as DAINServicePayments from "./lib/payments";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DAINServicePayments = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = exports.DAINServiceClient = void 0;
3
+ exports.DAINServicePayments = exports.DAINPlugins = exports.CoreUtils = exports.createToolbox = exports.createService = exports.createTool = exports.DAINServiceClient = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./service"), exports);
6
6
  exports.DAINServiceClient = tslib_1.__importStar(require("./client"));
@@ -10,6 +10,8 @@ Object.defineProperty(exports, "createTool", { enumerable: true, get: function (
10
10
  Object.defineProperty(exports, "createService", { enumerable: true, get: function () { return service_1.createService; } });
11
11
  Object.defineProperty(exports, "createToolbox", { enumerable: true, get: function () { return service_1.createToolbox; } });
12
12
  Object.defineProperty(exports, "CoreUtils", { enumerable: true, get: function () { return service_1.CoreUtils; } });
13
+ // Export plugins for easy access
14
+ exports.DAINPlugins = tslib_1.__importStar(require("./plugins"));
13
15
  // If you want to keep the previous naming convention, you can do:
14
16
  // export * as DAINService from './service';
15
17
  // This will create a namespace DAINService containing all exports from './service'
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,sEAA8C;AAE9C,6CAA6C;AAC7C,qCAAgF;AAAvE,qGAAA,UAAU,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE5D,kEAAkE;AAClE,4CAA4C;AAC5C,mFAAmF;AAEnF,8EAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,sEAA8C;AAE9C,6CAA6C;AAC7C,qCAAgF;AAAvE,qGAAA,UAAU,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE5D,iCAAiC;AACjC,iEAAyC;AAEzC,kEAAkE;AAClE,4CAA4C;AAC5C,mFAAmF;AAEnF,8EAAsD"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * DAIN Crypto Plugin
3
+ *
4
+ * This plugin provides cryptocurrency wallet integration and transaction handling
5
+ * functionality for DAIN services.
6
+ */
7
+ export * from '../crypto-plugin';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * DAIN Crypto Plugin
4
+ *
5
+ * This plugin provides cryptocurrency wallet integration and transaction handling
6
+ * functionality for DAIN services.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const tslib_1 = require("tslib");
10
+ tslib_1.__exportStar(require("../crypto-plugin"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/crypto/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2DAAiC"}
@@ -0,0 +1,156 @@
1
+ import { BaseDainPlugin } from './base';
2
+ export type BlockchainNetwork = 'eth' | 'sol' | 'arb';
3
+ export interface WalletInfo {
4
+ chain: BlockchainNetwork;
5
+ address: string;
6
+ }
7
+ export interface UnsignedTransaction {
8
+ id: string;
9
+ encodedTx: string;
10
+ chain: BlockchainNetwork;
11
+ signer: string;
12
+ metadata?: Record<string, any>;
13
+ }
14
+ export interface TransactionSignatureRequest {
15
+ txs: UnsignedTransaction[];
16
+ executeSimultaneously?: boolean;
17
+ toolsShouldWaitForConfirmation?: boolean;
18
+ }
19
+ export interface CryptoPluginConfig {
20
+ supportedChains?: BlockchainNetwork[];
21
+ wallets?: WalletInfo[];
22
+ }
23
+ export interface CryptoPluginInput {
24
+ wallets: WalletInfo[];
25
+ }
26
+ export interface CryptoPluginOutput {
27
+ signatureRequests?: TransactionSignatureRequest[];
28
+ }
29
+ /**
30
+ * CryptoPlugin for handling cryptocurrency transaction workflows
31
+ *
32
+ * This plugin allows services to request transaction signatures from clients
33
+ * by sending back unsigned transactions. Clients can provide their wallet
34
+ * addresses which tools can access and use to create appropriate transactions.
35
+ */
36
+ export declare class CryptoPlugin extends BaseDainPlugin<CryptoPluginConfig, CryptoPluginInput, CryptoPluginOutput> {
37
+ id: string;
38
+ name: string;
39
+ version: string;
40
+ description: string;
41
+ type: "both";
42
+ config: CryptoPluginConfig;
43
+ private wallets;
44
+ /**
45
+ * Create a new CryptoPlugin instance
46
+ * @param config Plugin configuration or array of wallet information
47
+ *
48
+ * @example
49
+ * // Initialize with wallet information directly
50
+ * const cryptoPlugin = new CryptoPlugin([
51
+ * { chain: 'eth', address: '0x1234...' },
52
+ * { chain: 'sol', address: 'Sol456...' }
53
+ * ]);
54
+ *
55
+ * @example
56
+ * // Initialize with full configuration
57
+ * const cryptoPlugin = new CryptoPlugin({
58
+ * supportedChains: ['eth', 'sol'],
59
+ * wallets: [
60
+ * { chain: 'eth', address: '0x1234...' },
61
+ * { chain: 'sol', address: 'Sol456...' }
62
+ * ]
63
+ * });
64
+ */
65
+ constructor(configOrWallets?: CryptoPluginConfig | WalletInfo[]);
66
+ /**
67
+ * Set or update wallet information
68
+ * @param wallets Array of wallet information
69
+ */
70
+ setWallets(wallets: WalletInfo[]): void;
71
+ /**
72
+ * Add a single wallet
73
+ * @param wallet Wallet information to add
74
+ */
75
+ addWallet(wallet: WalletInfo): void;
76
+ /**
77
+ * Get all configured wallets
78
+ * @returns Array of wallet information
79
+ */
80
+ getWallets(): WalletInfo[];
81
+ /**
82
+ * Get plugin input data from a tool context with proper typing
83
+ */
84
+ getInputData(context: any): CryptoPluginInput | undefined;
85
+ /**
86
+ * Get plugin output data from a response with proper typing
87
+ */
88
+ getResponseData(response: any): CryptoPluginOutput | undefined;
89
+ /**
90
+ * Create a standardized response for this plugin with proper typing
91
+ */
92
+ createResponse(data: Partial<CryptoPluginOutput>): CryptoPluginOutput;
93
+ /**
94
+ * Get user wallets from context
95
+ * @param context Tool context
96
+ * @returns Array of wallet information or empty array if none found
97
+ */
98
+ getUserWallets(context: any): WalletInfo[];
99
+ /**
100
+ * Get wallet address for a specific chain
101
+ * @param context Tool context
102
+ * @param chain Blockchain network
103
+ * @returns Wallet address or undefined if not found
104
+ */
105
+ getUserWalletForChain(context: any, chain: BlockchainNetwork): string | undefined;
106
+ /**
107
+ * Helper to create a transaction signature request
108
+ * @param transactions Array of unsigned transactions
109
+ * @param options Optional configuration for the transaction request
110
+ * @param options.executeSimultaneously Whether to execute all transactions simultaneously
111
+ * @param options.toolsShouldWaitForConfirmation Whether to wait for transaction confirmation before completing
112
+ * @returns Properly formatted transaction signature request
113
+ */
114
+ createTransactionRequest(transactions: UnsignedTransaction[], options?: {
115
+ executeSimultaneously?: boolean;
116
+ toolsShouldWaitForConfirmation?: boolean;
117
+ }): TransactionSignatureRequest;
118
+ /**
119
+ * Create a single transaction with a unique ID
120
+ * @param transaction Transaction data, ID will be generated if not provided
121
+ * @returns Transaction with a guaranteed unique ID
122
+ */
123
+ createTransaction(transaction: Omit<UnsignedTransaction, 'id'> & {
124
+ id?: string;
125
+ }): UnsignedTransaction;
126
+ /**
127
+ * Get requested transaction signatures from a response
128
+ * @param response Tool response
129
+ * @returns Array of transaction signature requests or empty array if none
130
+ */
131
+ getRequestedCryptoSignatures(response: any): TransactionSignatureRequest[];
132
+ /**
133
+ * Get a specific transaction by ID from all signature requests
134
+ * @param response Tool response
135
+ * @param id Transaction ID to find
136
+ * @returns Transaction or undefined if not found
137
+ */
138
+ getTransactionById(response: any, id: string): UnsignedTransaction | undefined;
139
+ /**
140
+ * Process client input before sending to service
141
+ * Automatically adds wallet information to the request
142
+ */
143
+ processInputClient(input: any): Promise<CryptoPluginInput>;
144
+ /**
145
+ * Process service output before sending to client
146
+ */
147
+ processOutputService(output: any): Promise<CryptoPluginOutput>;
148
+ /**
149
+ * Process client output after receiving service response
150
+ */
151
+ processOutputClient(output: any): Promise<any>;
152
+ /**
153
+ * Process service input before handling the request
154
+ */
155
+ processInputService(input: any): Promise<any>;
156
+ }
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CryptoPlugin = void 0;
4
+ const base_1 = require("./base");
5
+ const cuid2_1 = require("@paralleldrive/cuid2");
6
+ /**
7
+ * CryptoPlugin for handling cryptocurrency transaction workflows
8
+ *
9
+ * This plugin allows services to request transaction signatures from clients
10
+ * by sending back unsigned transactions. Clients can provide their wallet
11
+ * addresses which tools can access and use to create appropriate transactions.
12
+ */
13
+ class CryptoPlugin extends base_1.BaseDainPlugin {
14
+ id = 'crypto-plugin';
15
+ name = 'Crypto Plugin';
16
+ version = '1.0.0';
17
+ description = 'Handles cryptocurrency wallet information and transaction signing requests';
18
+ type = 'both';
19
+ config;
20
+ wallets;
21
+ /**
22
+ * Create a new CryptoPlugin instance
23
+ * @param config Plugin configuration or array of wallet information
24
+ *
25
+ * @example
26
+ * // Initialize with wallet information directly
27
+ * const cryptoPlugin = new CryptoPlugin([
28
+ * { chain: 'eth', address: '0x1234...' },
29
+ * { chain: 'sol', address: 'Sol456...' }
30
+ * ]);
31
+ *
32
+ * @example
33
+ * // Initialize with full configuration
34
+ * const cryptoPlugin = new CryptoPlugin({
35
+ * supportedChains: ['eth', 'sol'],
36
+ * wallets: [
37
+ * { chain: 'eth', address: '0x1234...' },
38
+ * { chain: 'sol', address: 'Sol456...' }
39
+ * ]
40
+ * });
41
+ */
42
+ constructor(configOrWallets = {}) {
43
+ super();
44
+ // Handle the case where an array of wallets is passed directly
45
+ if (Array.isArray(configOrWallets)) {
46
+ this.config = { supportedChains: ['eth', 'sol', 'arb'] };
47
+ this.wallets = [...configOrWallets];
48
+ }
49
+ else {
50
+ // Set default supported chains if not provided
51
+ this.config = {
52
+ supportedChains: configOrWallets.supportedChains || ['eth', 'sol', 'arb'],
53
+ wallets: configOrWallets.wallets
54
+ };
55
+ this.wallets = configOrWallets.wallets || [];
56
+ }
57
+ }
58
+ /**
59
+ * Set or update wallet information
60
+ * @param wallets Array of wallet information
61
+ */
62
+ setWallets(wallets) {
63
+ this.wallets = [...wallets];
64
+ // Update config as well for consistency
65
+ this.config.wallets = [...wallets];
66
+ }
67
+ /**
68
+ * Add a single wallet
69
+ * @param wallet Wallet information to add
70
+ */
71
+ addWallet(wallet) {
72
+ // Remove any existing wallet for the same chain
73
+ this.wallets = this.wallets.filter(w => w.chain !== wallet.chain);
74
+ // Add the new wallet
75
+ this.wallets.push(wallet);
76
+ // Update config as well
77
+ this.config.wallets = [...this.wallets];
78
+ }
79
+ /**
80
+ * Get all configured wallets
81
+ * @returns Array of wallet information
82
+ */
83
+ getWallets() {
84
+ return [...this.wallets];
85
+ }
86
+ /**
87
+ * Get plugin input data from a tool context with proper typing
88
+ */
89
+ getInputData(context) {
90
+ return super.getInputData(context);
91
+ }
92
+ /**
93
+ * Get plugin output data from a response with proper typing
94
+ */
95
+ getResponseData(response) {
96
+ return super.getResponseData(response);
97
+ }
98
+ /**
99
+ * Create a standardized response for this plugin with proper typing
100
+ */
101
+ createResponse(data) {
102
+ return super.createResponse(data);
103
+ }
104
+ /**
105
+ * Get user wallets from context
106
+ * @param context Tool context
107
+ * @returns Array of wallet information or empty array if none found
108
+ */
109
+ getUserWallets(context) {
110
+ const pluginData = this.getInputData(context);
111
+ if (!pluginData || !pluginData.wallets) {
112
+ return [];
113
+ }
114
+ return pluginData.wallets;
115
+ }
116
+ /**
117
+ * Get wallet address for a specific chain
118
+ * @param context Tool context
119
+ * @param chain Blockchain network
120
+ * @returns Wallet address or undefined if not found
121
+ */
122
+ getUserWalletForChain(context, chain) {
123
+ const wallets = this.getUserWallets(context);
124
+ const wallet = wallets.find(w => w.chain === chain);
125
+ return wallet?.address;
126
+ }
127
+ /**
128
+ * Helper to create a transaction signature request
129
+ * @param transactions Array of unsigned transactions
130
+ * @param options Optional configuration for the transaction request
131
+ * @param options.executeSimultaneously Whether to execute all transactions simultaneously
132
+ * @param options.toolsShouldWaitForConfirmation Whether to wait for transaction confirmation before completing
133
+ * @returns Properly formatted transaction signature request
134
+ */
135
+ createTransactionRequest(transactions, options) {
136
+ // Ensure each transaction has a unique ID
137
+ const txsWithIds = transactions.map(tx => {
138
+ if (!tx.id) {
139
+ return {
140
+ ...tx,
141
+ id: (0, cuid2_1.createId)()
142
+ };
143
+ }
144
+ return tx;
145
+ });
146
+ return {
147
+ txs: txsWithIds,
148
+ executeSimultaneously: options?.executeSimultaneously,
149
+ toolsShouldWaitForConfirmation: options?.toolsShouldWaitForConfirmation
150
+ };
151
+ }
152
+ /**
153
+ * Create a single transaction with a unique ID
154
+ * @param transaction Transaction data, ID will be generated if not provided
155
+ * @returns Transaction with a guaranteed unique ID
156
+ */
157
+ createTransaction(transaction) {
158
+ return {
159
+ ...transaction,
160
+ id: transaction.id || (0, cuid2_1.createId)()
161
+ };
162
+ }
163
+ /**
164
+ * Get requested transaction signatures from a response
165
+ * @param response Tool response
166
+ * @returns Array of transaction signature requests or empty array if none
167
+ */
168
+ getRequestedCryptoSignatures(response) {
169
+ const pluginData = this.getResponseData(response);
170
+ if (!pluginData || !pluginData.signatureRequests) {
171
+ // Try to extract from data property if not found in plugin data
172
+ if (response.data?.signatureRequests) {
173
+ return response.data.signatureRequests;
174
+ }
175
+ return [];
176
+ }
177
+ return pluginData.signatureRequests;
178
+ }
179
+ /**
180
+ * Get a specific transaction by ID from all signature requests
181
+ * @param response Tool response
182
+ * @param id Transaction ID to find
183
+ * @returns Transaction or undefined if not found
184
+ */
185
+ getTransactionById(response, id) {
186
+ const requests = this.getRequestedCryptoSignatures(response);
187
+ for (const request of requests) {
188
+ const tx = request.txs.find(tx => tx.id === id);
189
+ if (tx)
190
+ return tx;
191
+ }
192
+ return undefined;
193
+ }
194
+ /**
195
+ * Process client input before sending to service
196
+ * Automatically adds wallet information to the request
197
+ */
198
+ async processInputClient(input) {
199
+ // Combine explicitly provided wallets with configured wallets
200
+ const inputWallets = input.wallets || [];
201
+ // Create a map of chains to addresses for quick lookup
202
+ const walletMap = new Map();
203
+ // Add the explicitly provided wallets first
204
+ for (const wallet of inputWallets) {
205
+ walletMap.set(wallet.chain, wallet.address);
206
+ }
207
+ // Add the configured wallets where there isn't already a wallet for that chain
208
+ for (const wallet of this.wallets) {
209
+ if (!walletMap.has(wallet.chain)) {
210
+ walletMap.set(wallet.chain, wallet.address);
211
+ }
212
+ }
213
+ // Convert back to array
214
+ const combinedWallets = Array.from(walletMap.entries()).map(([chain, address]) => ({ chain: chain, address }));
215
+ return {
216
+ wallets: combinedWallets
217
+ };
218
+ }
219
+ /**
220
+ * Process service output before sending to client
221
+ */
222
+ async processOutputService(output) {
223
+ // Extract signature requests from the data property if they exist
224
+ let signatureRequests = [];
225
+ // Check if output has data property with signatureRequests
226
+ if (output?.data?.signatureRequests) {
227
+ signatureRequests = output.data.signatureRequests.map((req) => {
228
+ // Ensure all transactions have IDs
229
+ const txsWithIds = req.txs.map(tx => {
230
+ if (!tx.id) {
231
+ return {
232
+ ...tx,
233
+ id: (0, cuid2_1.createId)()
234
+ };
235
+ }
236
+ return tx;
237
+ });
238
+ return {
239
+ txs: txsWithIds,
240
+ executeSimultaneously: req.executeSimultaneously,
241
+ toolsShouldWaitForConfirmation: req.toolsShouldWaitForConfirmation
242
+ };
243
+ });
244
+ }
245
+ // Also check if it's a context response where toolResult contains the data
246
+ if (output?.toolResult?.data?.signatureRequests) {
247
+ signatureRequests = output.toolResult.data.signatureRequests.map((req) => {
248
+ // Ensure all transactions have IDs
249
+ const txsWithIds = req.txs.map(tx => {
250
+ if (!tx.id) {
251
+ return {
252
+ ...tx,
253
+ id: (0, cuid2_1.createId)()
254
+ };
255
+ }
256
+ return tx;
257
+ });
258
+ return {
259
+ txs: txsWithIds,
260
+ executeSimultaneously: req.executeSimultaneously,
261
+ toolsShouldWaitForConfirmation: req.toolsShouldWaitForConfirmation
262
+ };
263
+ });
264
+ }
265
+ // Return the extracted signatureRequests
266
+ return {
267
+ signatureRequests: signatureRequests.length > 0 ? signatureRequests : undefined
268
+ };
269
+ }
270
+ /**
271
+ * Process client output after receiving service response
272
+ */
273
+ async processOutputClient(output) {
274
+ // Ensure all transactions in the response have IDs
275
+ if (output?.plugins?.[this.id]?.signatureRequests) {
276
+ output.plugins[this.id].signatureRequests = output.plugins[this.id].signatureRequests.map((req) => {
277
+ // Ensure all transactions have IDs
278
+ const txsWithIds = req.txs.map(tx => {
279
+ if (!tx.id) {
280
+ return {
281
+ ...tx,
282
+ id: (0, cuid2_1.createId)()
283
+ };
284
+ }
285
+ return tx;
286
+ });
287
+ return {
288
+ txs: txsWithIds,
289
+ executeSimultaneously: req.executeSimultaneously,
290
+ toolsShouldWaitForConfirmation: req.toolsShouldWaitForConfirmation
291
+ };
292
+ });
293
+ }
294
+ // Also check data object for signatureRequests
295
+ if (output?.data?.signatureRequests) {
296
+ output.data.signatureRequests = output.data.signatureRequests.map((req) => {
297
+ // Ensure all transactions have IDs
298
+ const txsWithIds = req.txs.map(tx => {
299
+ if (!tx.id) {
300
+ return {
301
+ ...tx,
302
+ id: (0, cuid2_1.createId)()
303
+ };
304
+ }
305
+ return tx;
306
+ });
307
+ return {
308
+ txs: txsWithIds,
309
+ executeSimultaneously: req.executeSimultaneously,
310
+ toolsShouldWaitForConfirmation: req.toolsShouldWaitForConfirmation
311
+ };
312
+ });
313
+ }
314
+ return output;
315
+ }
316
+ /**
317
+ * Process service input before handling the request
318
+ */
319
+ async processInputService(input) {
320
+ // No modifications needed for service input processing
321
+ return input;
322
+ }
323
+ }
324
+ exports.CryptoPlugin = CryptoPlugin;
325
+ //# sourceMappingURL=crypto-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-plugin.js","sourceRoot":"","sources":["../../src/plugins/crypto-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './base';
3
3
  export * from './time-plugin';
4
+ export * from './crypto-plugin';
@@ -5,4 +5,5 @@ const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./types"), exports);
6
6
  tslib_1.__exportStar(require("./base"), exports);
7
7
  tslib_1.__exportStar(require("./time-plugin"), exports);
8
+ tslib_1.__exportStar(require("./crypto-plugin"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;AAE7B,kDAAwB;AACxB,iDAAuB;AACvB,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;AAE7B,kDAAwB;AACxB,iDAAuB;AACvB,wDAA8B;AAC9B,0DAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dainprotocol/service-sdk",
3
- "version": "1.1.13",
3
+ "version": "1.1.15",
4
4
  "description": "DAIN Service SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -57,6 +57,10 @@
57
57
  "types": "./dist/lib/payments/index.d.ts",
58
58
  "default": "./dist/lib/payments/index.js"
59
59
  },
60
+ "./plugins": {
61
+ "types": "./dist/plugins/index.d.ts",
62
+ "default": "./dist/plugins/index.js"
63
+ },
60
64
  "./client/*": {
61
65
  "types": "./dist/client/*.d.ts",
62
66
  "default": "./dist/client/*.js"
@@ -81,6 +85,9 @@
81
85
  "service": [
82
86
  "./dist/service/index.d.ts"
83
87
  ],
88
+ "plugins": [
89
+ "./dist/plugins/index.d.ts"
90
+ ],
84
91
  "client/*": [
85
92
  "./dist/client/*.d.ts"
86
93
  ],