hybrid 1.2.2 → 1.2.3

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,1860 @@
1
+ import { z } from 'zod';
2
+ import { T as Tool } from '../tool-CoVdD8Fb.js';
3
+ import * as viem_chains from 'viem/chains';
4
+ import * as viem from 'viem';
5
+ import 'ai';
6
+ import '@hybrd/xmtp';
7
+
8
+ declare const SUPPORTED_CHAINS: {
9
+ readonly mainnet: {
10
+ blockExplorers: {
11
+ readonly default: {
12
+ readonly name: "Etherscan";
13
+ readonly url: "https://etherscan.io";
14
+ readonly apiUrl: "https://api.etherscan.io/api";
15
+ };
16
+ };
17
+ blockTime: 12000;
18
+ contracts: {
19
+ readonly ensRegistry: {
20
+ readonly address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";
21
+ };
22
+ readonly ensUniversalResolver: {
23
+ readonly address: "0xce01f8eee7E479C928F8919abD53E553a36CeF67";
24
+ readonly blockCreated: 19258213;
25
+ };
26
+ readonly multicall3: {
27
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
28
+ readonly blockCreated: 14353601;
29
+ };
30
+ };
31
+ ensTlds?: readonly string[] | undefined;
32
+ id: 1;
33
+ name: "Ethereum";
34
+ nativeCurrency: {
35
+ readonly name: "Ether";
36
+ readonly symbol: "ETH";
37
+ readonly decimals: 18;
38
+ };
39
+ experimental_preconfirmationTime?: number | undefined | undefined;
40
+ rpcUrls: {
41
+ readonly default: {
42
+ readonly http: readonly ["https://eth.merkle.io"];
43
+ };
44
+ };
45
+ sourceId?: number | undefined | undefined;
46
+ testnet?: boolean | undefined | undefined;
47
+ custom?: Record<string, unknown> | undefined;
48
+ fees?: viem.ChainFees<undefined> | undefined;
49
+ formatters?: undefined;
50
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
51
+ };
52
+ readonly sepolia: {
53
+ blockExplorers: {
54
+ readonly default: {
55
+ readonly name: "Etherscan";
56
+ readonly url: "https://sepolia.etherscan.io";
57
+ readonly apiUrl: "https://api-sepolia.etherscan.io/api";
58
+ };
59
+ };
60
+ blockTime?: number | undefined | undefined;
61
+ contracts: {
62
+ readonly multicall3: {
63
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
64
+ readonly blockCreated: 751532;
65
+ };
66
+ readonly ensRegistry: {
67
+ readonly address: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";
68
+ };
69
+ readonly ensUniversalResolver: {
70
+ readonly address: "0xc8Af999e38273D658BE1b921b88A9Ddf005769cC";
71
+ readonly blockCreated: 5317080;
72
+ };
73
+ };
74
+ ensTlds?: readonly string[] | undefined;
75
+ id: 11155111;
76
+ name: "Sepolia";
77
+ nativeCurrency: {
78
+ readonly name: "Sepolia Ether";
79
+ readonly symbol: "ETH";
80
+ readonly decimals: 18;
81
+ };
82
+ experimental_preconfirmationTime?: number | undefined | undefined;
83
+ rpcUrls: {
84
+ readonly default: {
85
+ readonly http: readonly ["https://sepolia.drpc.org"];
86
+ };
87
+ };
88
+ sourceId?: number | undefined | undefined;
89
+ testnet: true;
90
+ custom?: Record<string, unknown> | undefined;
91
+ fees?: viem.ChainFees<undefined> | undefined;
92
+ formatters?: undefined;
93
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
94
+ };
95
+ readonly polygon: {
96
+ blockExplorers: {
97
+ readonly default: {
98
+ readonly name: "PolygonScan";
99
+ readonly url: "https://polygonscan.com";
100
+ readonly apiUrl: "https://api.polygonscan.com/api";
101
+ };
102
+ };
103
+ blockTime?: number | undefined | undefined;
104
+ contracts: {
105
+ readonly multicall3: {
106
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
107
+ readonly blockCreated: 25770160;
108
+ };
109
+ };
110
+ ensTlds?: readonly string[] | undefined;
111
+ id: 137;
112
+ name: "Polygon";
113
+ nativeCurrency: {
114
+ readonly name: "POL";
115
+ readonly symbol: "POL";
116
+ readonly decimals: 18;
117
+ };
118
+ experimental_preconfirmationTime?: number | undefined | undefined;
119
+ rpcUrls: {
120
+ readonly default: {
121
+ readonly http: readonly ["https://polygon-rpc.com"];
122
+ };
123
+ };
124
+ sourceId?: number | undefined | undefined;
125
+ testnet?: boolean | undefined | undefined;
126
+ custom?: Record<string, unknown> | undefined;
127
+ fees?: viem.ChainFees<undefined> | undefined;
128
+ formatters?: undefined;
129
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
130
+ };
131
+ readonly arbitrum: {
132
+ blockExplorers: {
133
+ readonly default: {
134
+ readonly name: "Arbiscan";
135
+ readonly url: "https://arbiscan.io";
136
+ readonly apiUrl: "https://api.arbiscan.io/api";
137
+ };
138
+ };
139
+ blockTime: 250;
140
+ contracts: {
141
+ readonly multicall3: {
142
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
143
+ readonly blockCreated: 7654707;
144
+ };
145
+ };
146
+ ensTlds?: readonly string[] | undefined;
147
+ id: 42161;
148
+ name: "Arbitrum One";
149
+ nativeCurrency: {
150
+ readonly name: "Ether";
151
+ readonly symbol: "ETH";
152
+ readonly decimals: 18;
153
+ };
154
+ experimental_preconfirmationTime?: number | undefined | undefined;
155
+ rpcUrls: {
156
+ readonly default: {
157
+ readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
158
+ };
159
+ };
160
+ sourceId?: number | undefined | undefined;
161
+ testnet?: boolean | undefined | undefined;
162
+ custom?: Record<string, unknown> | undefined;
163
+ fees?: viem.ChainFees<undefined> | undefined;
164
+ formatters?: undefined;
165
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
166
+ };
167
+ readonly optimism: {
168
+ blockExplorers: {
169
+ readonly default: {
170
+ readonly name: "Optimism Explorer";
171
+ readonly url: "https://optimistic.etherscan.io";
172
+ readonly apiUrl: "https://api-optimistic.etherscan.io/api";
173
+ };
174
+ };
175
+ blockTime: 2000;
176
+ contracts: {
177
+ readonly disputeGameFactory: {
178
+ readonly 1: {
179
+ readonly address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9";
180
+ };
181
+ };
182
+ readonly l2OutputOracle: {
183
+ readonly 1: {
184
+ readonly address: "0xdfe97868233d1aa22e815a266982f2cf17685a27";
185
+ };
186
+ };
187
+ readonly multicall3: {
188
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
189
+ readonly blockCreated: 4286263;
190
+ };
191
+ readonly portal: {
192
+ readonly 1: {
193
+ readonly address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed";
194
+ };
195
+ };
196
+ readonly l1StandardBridge: {
197
+ readonly 1: {
198
+ readonly address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1";
199
+ };
200
+ };
201
+ readonly gasPriceOracle: {
202
+ readonly address: "0x420000000000000000000000000000000000000F";
203
+ };
204
+ readonly l1Block: {
205
+ readonly address: "0x4200000000000000000000000000000000000015";
206
+ };
207
+ readonly l2CrossDomainMessenger: {
208
+ readonly address: "0x4200000000000000000000000000000000000007";
209
+ };
210
+ readonly l2Erc721Bridge: {
211
+ readonly address: "0x4200000000000000000000000000000000000014";
212
+ };
213
+ readonly l2StandardBridge: {
214
+ readonly address: "0x4200000000000000000000000000000000000010";
215
+ };
216
+ readonly l2ToL1MessagePasser: {
217
+ readonly address: "0x4200000000000000000000000000000000000016";
218
+ };
219
+ };
220
+ ensTlds?: readonly string[] | undefined;
221
+ id: 10;
222
+ name: "OP Mainnet";
223
+ nativeCurrency: {
224
+ readonly name: "Ether";
225
+ readonly symbol: "ETH";
226
+ readonly decimals: 18;
227
+ };
228
+ experimental_preconfirmationTime?: number | undefined | undefined;
229
+ rpcUrls: {
230
+ readonly default: {
231
+ readonly http: readonly ["https://mainnet.optimism.io"];
232
+ };
233
+ };
234
+ sourceId: 1;
235
+ testnet?: boolean | undefined | undefined;
236
+ custom?: Record<string, unknown> | undefined;
237
+ fees?: viem.ChainFees<undefined> | undefined;
238
+ formatters: {
239
+ readonly block: {
240
+ exclude: [] | undefined;
241
+ format: (args: viem_chains.OpStackRpcBlock) => {
242
+ baseFeePerGas: bigint | null;
243
+ blobGasUsed: bigint;
244
+ difficulty: bigint;
245
+ excessBlobGas: bigint;
246
+ extraData: viem.Hex;
247
+ gasLimit: bigint;
248
+ gasUsed: bigint;
249
+ hash: `0x${string}` | null;
250
+ logsBloom: `0x${string}` | null;
251
+ miner: `0x${string}`;
252
+ mixHash: viem.Hash;
253
+ nonce: `0x${string}` | null;
254
+ number: bigint | null;
255
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
256
+ parentHash: viem.Hash;
257
+ receiptsRoot: viem.Hex;
258
+ sealFields: viem.Hex[];
259
+ sha3Uncles: viem.Hash;
260
+ size: bigint;
261
+ stateRoot: viem.Hash;
262
+ timestamp: bigint;
263
+ totalDifficulty: bigint | null;
264
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
265
+ transactionsRoot: viem.Hash;
266
+ uncles: viem.Hash[];
267
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
268
+ withdrawalsRoot?: `0x${string}` | undefined;
269
+ } & {};
270
+ type: "block";
271
+ };
272
+ readonly transaction: {
273
+ exclude: [] | undefined;
274
+ format: (args: viem_chains.OpStackRpcTransaction) => ({
275
+ blockHash: `0x${string}` | null;
276
+ blockNumber: bigint | null;
277
+ from: `0x${string}`;
278
+ gas: bigint;
279
+ hash: viem.Hash;
280
+ input: viem.Hex;
281
+ nonce: number;
282
+ r: viem.Hex;
283
+ s: viem.Hex;
284
+ to: `0x${string}` | null;
285
+ transactionIndex: number | null;
286
+ typeHex: viem.Hex | null;
287
+ v: bigint;
288
+ value: bigint;
289
+ yParity: number;
290
+ gasPrice?: undefined | undefined;
291
+ maxFeePerBlobGas?: undefined | undefined;
292
+ maxFeePerGas: bigint;
293
+ maxPriorityFeePerGas: bigint;
294
+ isSystemTx?: boolean;
295
+ mint?: bigint | undefined | undefined;
296
+ sourceHash: viem.Hex;
297
+ type: "deposit";
298
+ } | {
299
+ r: viem.Hex;
300
+ s: viem.Hex;
301
+ v: bigint;
302
+ to: `0x${string}` | null;
303
+ from: `0x${string}`;
304
+ gas: bigint;
305
+ nonce: number;
306
+ value: bigint;
307
+ blockHash: `0x${string}` | null;
308
+ blockNumber: bigint | null;
309
+ hash: viem.Hash;
310
+ input: viem.Hex;
311
+ transactionIndex: number | null;
312
+ typeHex: viem.Hex | null;
313
+ accessList?: undefined | undefined;
314
+ authorizationList?: undefined | undefined;
315
+ blobVersionedHashes?: undefined | undefined;
316
+ chainId?: number | undefined;
317
+ yParity?: undefined | undefined;
318
+ type: "legacy";
319
+ gasPrice: bigint;
320
+ maxFeePerBlobGas?: undefined | undefined;
321
+ maxFeePerGas?: undefined | undefined;
322
+ maxPriorityFeePerGas?: undefined | undefined;
323
+ isSystemTx?: undefined | undefined;
324
+ mint?: undefined | undefined;
325
+ sourceHash?: undefined | undefined;
326
+ } | {
327
+ blockHash: `0x${string}` | null;
328
+ blockNumber: bigint | null;
329
+ from: `0x${string}`;
330
+ gas: bigint;
331
+ hash: viem.Hash;
332
+ input: viem.Hex;
333
+ nonce: number;
334
+ r: viem.Hex;
335
+ s: viem.Hex;
336
+ to: `0x${string}` | null;
337
+ transactionIndex: number | null;
338
+ typeHex: viem.Hex | null;
339
+ v: bigint;
340
+ value: bigint;
341
+ yParity: number;
342
+ accessList: viem.AccessList;
343
+ authorizationList?: undefined | undefined;
344
+ blobVersionedHashes?: undefined | undefined;
345
+ chainId: number;
346
+ type: "eip2930";
347
+ gasPrice: bigint;
348
+ maxFeePerBlobGas?: undefined | undefined;
349
+ maxFeePerGas?: undefined | undefined;
350
+ maxPriorityFeePerGas?: undefined | undefined;
351
+ isSystemTx?: undefined | undefined;
352
+ mint?: undefined | undefined;
353
+ sourceHash?: undefined | undefined;
354
+ } | {
355
+ blockHash: `0x${string}` | null;
356
+ blockNumber: bigint | null;
357
+ from: `0x${string}`;
358
+ gas: bigint;
359
+ hash: viem.Hash;
360
+ input: viem.Hex;
361
+ nonce: number;
362
+ r: viem.Hex;
363
+ s: viem.Hex;
364
+ to: `0x${string}` | null;
365
+ transactionIndex: number | null;
366
+ typeHex: viem.Hex | null;
367
+ v: bigint;
368
+ value: bigint;
369
+ yParity: number;
370
+ accessList: viem.AccessList;
371
+ authorizationList?: undefined | undefined;
372
+ blobVersionedHashes?: undefined | undefined;
373
+ chainId: number;
374
+ type: "eip1559";
375
+ gasPrice?: undefined | undefined;
376
+ maxFeePerBlobGas?: undefined | undefined;
377
+ maxFeePerGas: bigint;
378
+ maxPriorityFeePerGas: bigint;
379
+ isSystemTx?: undefined | undefined;
380
+ mint?: undefined | undefined;
381
+ sourceHash?: undefined | undefined;
382
+ } | {
383
+ blockHash: `0x${string}` | null;
384
+ blockNumber: bigint | null;
385
+ from: `0x${string}`;
386
+ gas: bigint;
387
+ hash: viem.Hash;
388
+ input: viem.Hex;
389
+ nonce: number;
390
+ r: viem.Hex;
391
+ s: viem.Hex;
392
+ to: `0x${string}` | null;
393
+ transactionIndex: number | null;
394
+ typeHex: viem.Hex | null;
395
+ v: bigint;
396
+ value: bigint;
397
+ yParity: number;
398
+ accessList: viem.AccessList;
399
+ authorizationList?: undefined | undefined;
400
+ blobVersionedHashes: readonly viem.Hex[];
401
+ chainId: number;
402
+ type: "eip4844";
403
+ gasPrice?: undefined | undefined;
404
+ maxFeePerBlobGas: bigint;
405
+ maxFeePerGas: bigint;
406
+ maxPriorityFeePerGas: bigint;
407
+ isSystemTx?: undefined | undefined;
408
+ mint?: undefined | undefined;
409
+ sourceHash?: undefined | undefined;
410
+ } | {
411
+ blockHash: `0x${string}` | null;
412
+ blockNumber: bigint | null;
413
+ from: `0x${string}`;
414
+ gas: bigint;
415
+ hash: viem.Hash;
416
+ input: viem.Hex;
417
+ nonce: number;
418
+ r: viem.Hex;
419
+ s: viem.Hex;
420
+ to: `0x${string}` | null;
421
+ transactionIndex: number | null;
422
+ typeHex: viem.Hex | null;
423
+ v: bigint;
424
+ value: bigint;
425
+ yParity: number;
426
+ accessList: viem.AccessList;
427
+ authorizationList: viem.SignedAuthorizationList;
428
+ blobVersionedHashes?: undefined | undefined;
429
+ chainId: number;
430
+ type: "eip7702";
431
+ gasPrice?: undefined | undefined;
432
+ maxFeePerBlobGas?: undefined | undefined;
433
+ maxFeePerGas: bigint;
434
+ maxPriorityFeePerGas: bigint;
435
+ isSystemTx?: undefined | undefined;
436
+ mint?: undefined | undefined;
437
+ sourceHash?: undefined | undefined;
438
+ }) & {};
439
+ type: "transaction";
440
+ };
441
+ readonly transactionReceipt: {
442
+ exclude: [] | undefined;
443
+ format: (args: viem_chains.OpStackRpcTransactionReceipt) => {
444
+ blobGasPrice?: bigint | undefined;
445
+ blobGasUsed?: bigint | undefined;
446
+ blockHash: viem.Hash;
447
+ blockNumber: bigint;
448
+ contractAddress: `0x${string}` | null | undefined;
449
+ cumulativeGasUsed: bigint;
450
+ effectiveGasPrice: bigint;
451
+ from: `0x${string}`;
452
+ gasUsed: bigint;
453
+ logs: viem.Log<bigint, number, false>[];
454
+ logsBloom: viem.Hex;
455
+ root?: `0x${string}` | undefined;
456
+ status: "success" | "reverted";
457
+ to: `0x${string}` | null;
458
+ transactionHash: viem.Hash;
459
+ transactionIndex: number;
460
+ type: viem.TransactionType;
461
+ l1GasPrice: bigint | null;
462
+ l1GasUsed: bigint | null;
463
+ l1Fee: bigint | null;
464
+ l1FeeScalar: number | null;
465
+ } & {};
466
+ type: "transactionReceipt";
467
+ };
468
+ };
469
+ serializers: {
470
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
471
+ };
472
+ };
473
+ readonly base: {
474
+ blockExplorers: {
475
+ readonly default: {
476
+ readonly name: "Basescan";
477
+ readonly url: "https://basescan.org";
478
+ readonly apiUrl: "https://api.basescan.org/api";
479
+ };
480
+ };
481
+ blockTime: 2000;
482
+ contracts: {
483
+ readonly disputeGameFactory: {
484
+ readonly 1: {
485
+ readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
486
+ };
487
+ };
488
+ readonly l2OutputOracle: {
489
+ readonly 1: {
490
+ readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
491
+ };
492
+ };
493
+ readonly multicall3: {
494
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
495
+ readonly blockCreated: 5022;
496
+ };
497
+ readonly portal: {
498
+ readonly 1: {
499
+ readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
500
+ readonly blockCreated: 17482143;
501
+ };
502
+ };
503
+ readonly l1StandardBridge: {
504
+ readonly 1: {
505
+ readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
506
+ readonly blockCreated: 17482143;
507
+ };
508
+ };
509
+ readonly gasPriceOracle: {
510
+ readonly address: "0x420000000000000000000000000000000000000F";
511
+ };
512
+ readonly l1Block: {
513
+ readonly address: "0x4200000000000000000000000000000000000015";
514
+ };
515
+ readonly l2CrossDomainMessenger: {
516
+ readonly address: "0x4200000000000000000000000000000000000007";
517
+ };
518
+ readonly l2Erc721Bridge: {
519
+ readonly address: "0x4200000000000000000000000000000000000014";
520
+ };
521
+ readonly l2StandardBridge: {
522
+ readonly address: "0x4200000000000000000000000000000000000010";
523
+ };
524
+ readonly l2ToL1MessagePasser: {
525
+ readonly address: "0x4200000000000000000000000000000000000016";
526
+ };
527
+ };
528
+ ensTlds?: readonly string[] | undefined;
529
+ id: 8453;
530
+ name: "Base";
531
+ nativeCurrency: {
532
+ readonly name: "Ether";
533
+ readonly symbol: "ETH";
534
+ readonly decimals: 18;
535
+ };
536
+ experimental_preconfirmationTime?: number | undefined | undefined;
537
+ rpcUrls: {
538
+ readonly default: {
539
+ readonly http: readonly ["https://mainnet.base.org"];
540
+ };
541
+ };
542
+ sourceId: 1;
543
+ testnet?: boolean | undefined | undefined;
544
+ custom?: Record<string, unknown> | undefined;
545
+ fees?: viem.ChainFees<undefined> | undefined;
546
+ formatters: {
547
+ readonly block: {
548
+ exclude: [] | undefined;
549
+ format: (args: viem_chains.OpStackRpcBlock) => {
550
+ baseFeePerGas: bigint | null;
551
+ blobGasUsed: bigint;
552
+ difficulty: bigint;
553
+ excessBlobGas: bigint;
554
+ extraData: viem.Hex;
555
+ gasLimit: bigint;
556
+ gasUsed: bigint;
557
+ hash: `0x${string}` | null;
558
+ logsBloom: `0x${string}` | null;
559
+ miner: `0x${string}`;
560
+ mixHash: viem.Hash;
561
+ nonce: `0x${string}` | null;
562
+ number: bigint | null;
563
+ parentBeaconBlockRoot?: `0x${string}` | undefined;
564
+ parentHash: viem.Hash;
565
+ receiptsRoot: viem.Hex;
566
+ sealFields: viem.Hex[];
567
+ sha3Uncles: viem.Hash;
568
+ size: bigint;
569
+ stateRoot: viem.Hash;
570
+ timestamp: bigint;
571
+ totalDifficulty: bigint | null;
572
+ transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
573
+ transactionsRoot: viem.Hash;
574
+ uncles: viem.Hash[];
575
+ withdrawals?: viem.Withdrawal[] | undefined | undefined;
576
+ withdrawalsRoot?: `0x${string}` | undefined;
577
+ } & {};
578
+ type: "block";
579
+ };
580
+ readonly transaction: {
581
+ exclude: [] | undefined;
582
+ format: (args: viem_chains.OpStackRpcTransaction) => ({
583
+ blockHash: `0x${string}` | null;
584
+ blockNumber: bigint | null;
585
+ from: `0x${string}`;
586
+ gas: bigint;
587
+ hash: viem.Hash;
588
+ input: viem.Hex;
589
+ nonce: number;
590
+ r: viem.Hex;
591
+ s: viem.Hex;
592
+ to: `0x${string}` | null;
593
+ transactionIndex: number | null;
594
+ typeHex: viem.Hex | null;
595
+ v: bigint;
596
+ value: bigint;
597
+ yParity: number;
598
+ gasPrice?: undefined | undefined;
599
+ maxFeePerBlobGas?: undefined | undefined;
600
+ maxFeePerGas: bigint;
601
+ maxPriorityFeePerGas: bigint;
602
+ isSystemTx?: boolean;
603
+ mint?: bigint | undefined | undefined;
604
+ sourceHash: viem.Hex;
605
+ type: "deposit";
606
+ } | {
607
+ r: viem.Hex;
608
+ s: viem.Hex;
609
+ v: bigint;
610
+ to: `0x${string}` | null;
611
+ from: `0x${string}`;
612
+ gas: bigint;
613
+ nonce: number;
614
+ value: bigint;
615
+ blockHash: `0x${string}` | null;
616
+ blockNumber: bigint | null;
617
+ hash: viem.Hash;
618
+ input: viem.Hex;
619
+ transactionIndex: number | null;
620
+ typeHex: viem.Hex | null;
621
+ accessList?: undefined | undefined;
622
+ authorizationList?: undefined | undefined;
623
+ blobVersionedHashes?: undefined | undefined;
624
+ chainId?: number | undefined;
625
+ yParity?: undefined | undefined;
626
+ type: "legacy";
627
+ gasPrice: bigint;
628
+ maxFeePerBlobGas?: undefined | undefined;
629
+ maxFeePerGas?: undefined | undefined;
630
+ maxPriorityFeePerGas?: undefined | undefined;
631
+ isSystemTx?: undefined | undefined;
632
+ mint?: undefined | undefined;
633
+ sourceHash?: undefined | undefined;
634
+ } | {
635
+ blockHash: `0x${string}` | null;
636
+ blockNumber: bigint | null;
637
+ from: `0x${string}`;
638
+ gas: bigint;
639
+ hash: viem.Hash;
640
+ input: viem.Hex;
641
+ nonce: number;
642
+ r: viem.Hex;
643
+ s: viem.Hex;
644
+ to: `0x${string}` | null;
645
+ transactionIndex: number | null;
646
+ typeHex: viem.Hex | null;
647
+ v: bigint;
648
+ value: bigint;
649
+ yParity: number;
650
+ accessList: viem.AccessList;
651
+ authorizationList?: undefined | undefined;
652
+ blobVersionedHashes?: undefined | undefined;
653
+ chainId: number;
654
+ type: "eip2930";
655
+ gasPrice: bigint;
656
+ maxFeePerBlobGas?: undefined | undefined;
657
+ maxFeePerGas?: undefined | undefined;
658
+ maxPriorityFeePerGas?: undefined | undefined;
659
+ isSystemTx?: undefined | undefined;
660
+ mint?: undefined | undefined;
661
+ sourceHash?: undefined | undefined;
662
+ } | {
663
+ blockHash: `0x${string}` | null;
664
+ blockNumber: bigint | null;
665
+ from: `0x${string}`;
666
+ gas: bigint;
667
+ hash: viem.Hash;
668
+ input: viem.Hex;
669
+ nonce: number;
670
+ r: viem.Hex;
671
+ s: viem.Hex;
672
+ to: `0x${string}` | null;
673
+ transactionIndex: number | null;
674
+ typeHex: viem.Hex | null;
675
+ v: bigint;
676
+ value: bigint;
677
+ yParity: number;
678
+ accessList: viem.AccessList;
679
+ authorizationList?: undefined | undefined;
680
+ blobVersionedHashes?: undefined | undefined;
681
+ chainId: number;
682
+ type: "eip1559";
683
+ gasPrice?: undefined | undefined;
684
+ maxFeePerBlobGas?: undefined | undefined;
685
+ maxFeePerGas: bigint;
686
+ maxPriorityFeePerGas: bigint;
687
+ isSystemTx?: undefined | undefined;
688
+ mint?: undefined | undefined;
689
+ sourceHash?: undefined | undefined;
690
+ } | {
691
+ blockHash: `0x${string}` | null;
692
+ blockNumber: bigint | null;
693
+ from: `0x${string}`;
694
+ gas: bigint;
695
+ hash: viem.Hash;
696
+ input: viem.Hex;
697
+ nonce: number;
698
+ r: viem.Hex;
699
+ s: viem.Hex;
700
+ to: `0x${string}` | null;
701
+ transactionIndex: number | null;
702
+ typeHex: viem.Hex | null;
703
+ v: bigint;
704
+ value: bigint;
705
+ yParity: number;
706
+ accessList: viem.AccessList;
707
+ authorizationList?: undefined | undefined;
708
+ blobVersionedHashes: readonly viem.Hex[];
709
+ chainId: number;
710
+ type: "eip4844";
711
+ gasPrice?: undefined | undefined;
712
+ maxFeePerBlobGas: bigint;
713
+ maxFeePerGas: bigint;
714
+ maxPriorityFeePerGas: bigint;
715
+ isSystemTx?: undefined | undefined;
716
+ mint?: undefined | undefined;
717
+ sourceHash?: undefined | undefined;
718
+ } | {
719
+ blockHash: `0x${string}` | null;
720
+ blockNumber: bigint | null;
721
+ from: `0x${string}`;
722
+ gas: bigint;
723
+ hash: viem.Hash;
724
+ input: viem.Hex;
725
+ nonce: number;
726
+ r: viem.Hex;
727
+ s: viem.Hex;
728
+ to: `0x${string}` | null;
729
+ transactionIndex: number | null;
730
+ typeHex: viem.Hex | null;
731
+ v: bigint;
732
+ value: bigint;
733
+ yParity: number;
734
+ accessList: viem.AccessList;
735
+ authorizationList: viem.SignedAuthorizationList;
736
+ blobVersionedHashes?: undefined | undefined;
737
+ chainId: number;
738
+ type: "eip7702";
739
+ gasPrice?: undefined | undefined;
740
+ maxFeePerBlobGas?: undefined | undefined;
741
+ maxFeePerGas: bigint;
742
+ maxPriorityFeePerGas: bigint;
743
+ isSystemTx?: undefined | undefined;
744
+ mint?: undefined | undefined;
745
+ sourceHash?: undefined | undefined;
746
+ }) & {};
747
+ type: "transaction";
748
+ };
749
+ readonly transactionReceipt: {
750
+ exclude: [] | undefined;
751
+ format: (args: viem_chains.OpStackRpcTransactionReceipt) => {
752
+ blobGasPrice?: bigint | undefined;
753
+ blobGasUsed?: bigint | undefined;
754
+ blockHash: viem.Hash;
755
+ blockNumber: bigint;
756
+ contractAddress: `0x${string}` | null | undefined;
757
+ cumulativeGasUsed: bigint;
758
+ effectiveGasPrice: bigint;
759
+ from: `0x${string}`;
760
+ gasUsed: bigint;
761
+ logs: viem.Log<bigint, number, false>[];
762
+ logsBloom: viem.Hex;
763
+ root?: `0x${string}` | undefined;
764
+ status: "success" | "reverted";
765
+ to: `0x${string}` | null;
766
+ transactionHash: viem.Hash;
767
+ transactionIndex: number;
768
+ type: viem.TransactionType;
769
+ l1GasPrice: bigint | null;
770
+ l1GasUsed: bigint | null;
771
+ l1Fee: bigint | null;
772
+ l1FeeScalar: number | null;
773
+ } & {};
774
+ type: "transactionReceipt";
775
+ };
776
+ };
777
+ serializers: {
778
+ readonly transaction: typeof viem_chains.serializeTransactionOpStack;
779
+ };
780
+ };
781
+ };
782
+ type SupportedChain = keyof typeof SUPPORTED_CHAINS;
783
+ interface BlockchainRuntimeExtension {
784
+ rpcUrl?: string;
785
+ privateKey?: string;
786
+ defaultChain?: SupportedChain;
787
+ }
788
+ /**
789
+ * Get Balance Tool
790
+ *
791
+ * Retrieves the native token balance for a given address on a specified chain.
792
+ *
793
+ * @tool getBalance
794
+ * @category Blockchain
795
+ *
796
+ * @param {string} address - The wallet address to check balance for
797
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
798
+ *
799
+ * @returns {Promise<{success: boolean, balance: string, balanceWei: string, address: string, chain: string, error?: string}>}
800
+ */
801
+ declare const getBalanceTool: Tool<z.ZodObject<{
802
+ address: z.ZodString;
803
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
804
+ }, "strip", z.ZodTypeAny, {
805
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
806
+ address: string;
807
+ }, {
808
+ address: string;
809
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
810
+ }>, z.ZodObject<{
811
+ success: z.ZodBoolean;
812
+ balance: z.ZodString;
813
+ balanceWei: z.ZodString;
814
+ address: z.ZodString;
815
+ chain: z.ZodString;
816
+ error: z.ZodOptional<z.ZodString>;
817
+ }, "strip", z.ZodTypeAny, {
818
+ chain: string;
819
+ address: string;
820
+ success: boolean;
821
+ balance: string;
822
+ balanceWei: string;
823
+ error?: string | undefined;
824
+ }, {
825
+ chain: string;
826
+ address: string;
827
+ success: boolean;
828
+ balance: string;
829
+ balanceWei: string;
830
+ error?: string | undefined;
831
+ }>, {
832
+ [x: string]: never;
833
+ }>;
834
+ /**
835
+ * Get Transaction Tool
836
+ *
837
+ * Retrieves transaction details by transaction hash.
838
+ *
839
+ * @tool getTransaction
840
+ * @category Blockchain
841
+ *
842
+ * @param {string} hash - The transaction hash to look up
843
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
844
+ *
845
+ * @returns {Promise<{success: boolean, transaction?: object, error?: string}>}
846
+ */
847
+ declare const getTransactionTool: Tool<z.ZodObject<{
848
+ hash: z.ZodString;
849
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
850
+ }, "strip", z.ZodTypeAny, {
851
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
852
+ hash: string;
853
+ }, {
854
+ hash: string;
855
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
856
+ }>, z.ZodObject<{
857
+ success: z.ZodBoolean;
858
+ transaction: z.ZodOptional<z.ZodObject<{
859
+ hash: z.ZodString;
860
+ from: z.ZodString;
861
+ to: z.ZodNullable<z.ZodString>;
862
+ value: z.ZodString;
863
+ gasUsed: z.ZodOptional<z.ZodString>;
864
+ gasPrice: z.ZodOptional<z.ZodString>;
865
+ blockNumber: z.ZodOptional<z.ZodString>;
866
+ status: z.ZodOptional<z.ZodString>;
867
+ }, "strip", z.ZodTypeAny, {
868
+ from: string;
869
+ hash: string;
870
+ to: string | null;
871
+ value: string;
872
+ status?: string | undefined;
873
+ blockNumber?: string | undefined;
874
+ gasPrice?: string | undefined;
875
+ gasUsed?: string | undefined;
876
+ }, {
877
+ from: string;
878
+ hash: string;
879
+ to: string | null;
880
+ value: string;
881
+ status?: string | undefined;
882
+ blockNumber?: string | undefined;
883
+ gasPrice?: string | undefined;
884
+ gasUsed?: string | undefined;
885
+ }>>;
886
+ error: z.ZodOptional<z.ZodString>;
887
+ }, "strip", z.ZodTypeAny, {
888
+ success: boolean;
889
+ transaction?: {
890
+ from: string;
891
+ hash: string;
892
+ to: string | null;
893
+ value: string;
894
+ status?: string | undefined;
895
+ blockNumber?: string | undefined;
896
+ gasPrice?: string | undefined;
897
+ gasUsed?: string | undefined;
898
+ } | undefined;
899
+ error?: string | undefined;
900
+ }, {
901
+ success: boolean;
902
+ transaction?: {
903
+ from: string;
904
+ hash: string;
905
+ to: string | null;
906
+ value: string;
907
+ status?: string | undefined;
908
+ blockNumber?: string | undefined;
909
+ gasPrice?: string | undefined;
910
+ gasUsed?: string | undefined;
911
+ } | undefined;
912
+ error?: string | undefined;
913
+ }>, {
914
+ [x: string]: never;
915
+ }>;
916
+ /**
917
+ * Send Transaction Tool
918
+ *
919
+ * Sends a native token transaction to another address.
920
+ * Requires a private key to be configured in the runtime.
921
+ *
922
+ * @tool sendTransaction
923
+ * @category Blockchain
924
+ *
925
+ * @param {string} to - The recipient address
926
+ * @param {string} amount - The amount to send (in ETH, MATIC, etc.)
927
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
928
+ *
929
+ * @returns {Promise<{success: boolean, hash?: string, error?: string}>}
930
+ */
931
+ declare const sendTransactionTool: Tool<z.ZodObject<{
932
+ to: z.ZodString;
933
+ amount: z.ZodString;
934
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
935
+ }, "strip", z.ZodTypeAny, {
936
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
937
+ to: string;
938
+ amount: string;
939
+ }, {
940
+ to: string;
941
+ amount: string;
942
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
943
+ }>, z.ZodObject<{
944
+ success: z.ZodBoolean;
945
+ hash: z.ZodOptional<z.ZodString>;
946
+ from: z.ZodOptional<z.ZodString>;
947
+ to: z.ZodString;
948
+ amount: z.ZodString;
949
+ chain: z.ZodString;
950
+ error: z.ZodOptional<z.ZodString>;
951
+ }, "strip", z.ZodTypeAny, {
952
+ chain: string;
953
+ to: string;
954
+ success: boolean;
955
+ amount: string;
956
+ from?: string | undefined;
957
+ hash?: string | undefined;
958
+ error?: string | undefined;
959
+ }, {
960
+ chain: string;
961
+ to: string;
962
+ success: boolean;
963
+ amount: string;
964
+ from?: string | undefined;
965
+ hash?: string | undefined;
966
+ error?: string | undefined;
967
+ }>, {
968
+ [x: string]: never;
969
+ }>;
970
+ /**
971
+ * Get Block Tool
972
+ *
973
+ * Retrieves information about a specific block.
974
+ *
975
+ * @tool getBlock
976
+ * @category Blockchain
977
+ *
978
+ * @param {string} [blockNumber] - Block number (defaults to latest)
979
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
980
+ *
981
+ * @returns {Promise<{success: boolean, block?: object, error?: string}>}
982
+ */
983
+ declare const getBlockTool: Tool<z.ZodObject<{
984
+ blockNumber: z.ZodOptional<z.ZodString>;
985
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
986
+ }, "strip", z.ZodTypeAny, {
987
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
988
+ blockNumber?: string | undefined;
989
+ }, {
990
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
991
+ blockNumber?: string | undefined;
992
+ }>, z.ZodObject<{
993
+ success: z.ZodBoolean;
994
+ block: z.ZodOptional<z.ZodObject<{
995
+ number: z.ZodString;
996
+ hash: z.ZodString;
997
+ timestamp: z.ZodString;
998
+ transactionCount: z.ZodNumber;
999
+ gasUsed: z.ZodString;
1000
+ gasLimit: z.ZodString;
1001
+ }, "strip", z.ZodTypeAny, {
1002
+ number: string;
1003
+ hash: string;
1004
+ gasLimit: string;
1005
+ gasUsed: string;
1006
+ timestamp: string;
1007
+ transactionCount: number;
1008
+ }, {
1009
+ number: string;
1010
+ hash: string;
1011
+ gasLimit: string;
1012
+ gasUsed: string;
1013
+ timestamp: string;
1014
+ transactionCount: number;
1015
+ }>>;
1016
+ error: z.ZodOptional<z.ZodString>;
1017
+ }, "strip", z.ZodTypeAny, {
1018
+ success: boolean;
1019
+ block?: {
1020
+ number: string;
1021
+ hash: string;
1022
+ gasLimit: string;
1023
+ gasUsed: string;
1024
+ timestamp: string;
1025
+ transactionCount: number;
1026
+ } | undefined;
1027
+ error?: string | undefined;
1028
+ }, {
1029
+ success: boolean;
1030
+ block?: {
1031
+ number: string;
1032
+ hash: string;
1033
+ gasLimit: string;
1034
+ gasUsed: string;
1035
+ timestamp: string;
1036
+ transactionCount: number;
1037
+ } | undefined;
1038
+ error?: string | undefined;
1039
+ }>, {
1040
+ [x: string]: never;
1041
+ }>;
1042
+ /**
1043
+ * Get Gas Price Tool
1044
+ *
1045
+ * Retrieves current gas price information for a blockchain.
1046
+ *
1047
+ * @tool getGasPrice
1048
+ * @category Blockchain
1049
+ *
1050
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
1051
+ *
1052
+ * @returns {Promise<{success: boolean, gasPrice?: string, error?: string}>}
1053
+ */
1054
+ declare const getGasPriceTool: Tool<z.ZodObject<{
1055
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1056
+ }, "strip", z.ZodTypeAny, {
1057
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1058
+ }, {
1059
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1060
+ }>, z.ZodObject<{
1061
+ success: z.ZodBoolean;
1062
+ gasPrice: z.ZodOptional<z.ZodString>;
1063
+ gasPriceWei: z.ZodOptional<z.ZodString>;
1064
+ chain: z.ZodString;
1065
+ error: z.ZodOptional<z.ZodString>;
1066
+ }, "strip", z.ZodTypeAny, {
1067
+ chain: string;
1068
+ success: boolean;
1069
+ gasPrice?: string | undefined;
1070
+ error?: string | undefined;
1071
+ gasPriceWei?: string | undefined;
1072
+ }, {
1073
+ chain: string;
1074
+ success: boolean;
1075
+ gasPrice?: string | undefined;
1076
+ error?: string | undefined;
1077
+ gasPriceWei?: string | undefined;
1078
+ }>, {
1079
+ [x: string]: never;
1080
+ }>;
1081
+ /**
1082
+ * Estimate Gas Tool
1083
+ *
1084
+ * Estimates gas required for a transaction.
1085
+ *
1086
+ * @tool estimateGas
1087
+ * @category Blockchain
1088
+ *
1089
+ * @param {string} to - The recipient address
1090
+ * @param {string} [amount] - The amount to send (defaults to 0)
1091
+ * @param {string} [data] - Transaction data (for contract calls)
1092
+ * @param {string} [chain] - The blockchain network (defaults to mainnet)
1093
+ *
1094
+ * @returns {Promise<{success: boolean, gasEstimate?: string, error?: string}>}
1095
+ */
1096
+ declare const estimateGasTool: Tool<z.ZodObject<{
1097
+ to: z.ZodString;
1098
+ amount: z.ZodDefault<z.ZodString>;
1099
+ data: z.ZodOptional<z.ZodString>;
1100
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1101
+ }, "strip", z.ZodTypeAny, {
1102
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1103
+ to: string;
1104
+ amount: string;
1105
+ data?: string | undefined;
1106
+ }, {
1107
+ to: string;
1108
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1109
+ data?: string | undefined;
1110
+ amount?: string | undefined;
1111
+ }>, z.ZodObject<{
1112
+ success: z.ZodBoolean;
1113
+ gasEstimate: z.ZodOptional<z.ZodString>;
1114
+ to: z.ZodString;
1115
+ amount: z.ZodString;
1116
+ chain: z.ZodString;
1117
+ error: z.ZodOptional<z.ZodString>;
1118
+ }, "strip", z.ZodTypeAny, {
1119
+ chain: string;
1120
+ to: string;
1121
+ success: boolean;
1122
+ amount: string;
1123
+ error?: string | undefined;
1124
+ gasEstimate?: string | undefined;
1125
+ }, {
1126
+ chain: string;
1127
+ to: string;
1128
+ success: boolean;
1129
+ amount: string;
1130
+ error?: string | undefined;
1131
+ gasEstimate?: string | undefined;
1132
+ }>, {
1133
+ [x: string]: never;
1134
+ }>;
1135
+ /**
1136
+ * Collection of blockchain tools for crypto agents
1137
+ *
1138
+ * These tools provide comprehensive blockchain interaction capabilities including
1139
+ * balance checking, transaction sending, gas estimation, and more.
1140
+ *
1141
+ * @namespace blockchainTools
1142
+ *
1143
+ * @property {Tool} getBalance - Get native token balance for an address
1144
+ * @property {Tool} getTransaction - Get transaction details by hash
1145
+ * @property {Tool} sendTransaction - Send native tokens to another address
1146
+ * @property {Tool} getBlock - Get information about a blockchain block
1147
+ * @property {Tool} getGasPrice - Get current gas price for a blockchain
1148
+ * @property {Tool} estimateGas - Estimate gas required for a transaction
1149
+ */
1150
+ declare const blockchainTools: {
1151
+ getBalance: Tool<z.ZodObject<{
1152
+ address: z.ZodString;
1153
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1154
+ }, "strip", z.ZodTypeAny, {
1155
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1156
+ address: string;
1157
+ }, {
1158
+ address: string;
1159
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1160
+ }>, z.ZodObject<{
1161
+ success: z.ZodBoolean;
1162
+ balance: z.ZodString;
1163
+ balanceWei: z.ZodString;
1164
+ address: z.ZodString;
1165
+ chain: z.ZodString;
1166
+ error: z.ZodOptional<z.ZodString>;
1167
+ }, "strip", z.ZodTypeAny, {
1168
+ chain: string;
1169
+ address: string;
1170
+ success: boolean;
1171
+ balance: string;
1172
+ balanceWei: string;
1173
+ error?: string | undefined;
1174
+ }, {
1175
+ chain: string;
1176
+ address: string;
1177
+ success: boolean;
1178
+ balance: string;
1179
+ balanceWei: string;
1180
+ error?: string | undefined;
1181
+ }>, {
1182
+ [x: string]: never;
1183
+ }>;
1184
+ getTransaction: Tool<z.ZodObject<{
1185
+ hash: z.ZodString;
1186
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1187
+ }, "strip", z.ZodTypeAny, {
1188
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1189
+ hash: string;
1190
+ }, {
1191
+ hash: string;
1192
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1193
+ }>, z.ZodObject<{
1194
+ success: z.ZodBoolean;
1195
+ transaction: z.ZodOptional<z.ZodObject<{
1196
+ hash: z.ZodString;
1197
+ from: z.ZodString;
1198
+ to: z.ZodNullable<z.ZodString>;
1199
+ value: z.ZodString;
1200
+ gasUsed: z.ZodOptional<z.ZodString>;
1201
+ gasPrice: z.ZodOptional<z.ZodString>;
1202
+ blockNumber: z.ZodOptional<z.ZodString>;
1203
+ status: z.ZodOptional<z.ZodString>;
1204
+ }, "strip", z.ZodTypeAny, {
1205
+ from: string;
1206
+ hash: string;
1207
+ to: string | null;
1208
+ value: string;
1209
+ status?: string | undefined;
1210
+ blockNumber?: string | undefined;
1211
+ gasPrice?: string | undefined;
1212
+ gasUsed?: string | undefined;
1213
+ }, {
1214
+ from: string;
1215
+ hash: string;
1216
+ to: string | null;
1217
+ value: string;
1218
+ status?: string | undefined;
1219
+ blockNumber?: string | undefined;
1220
+ gasPrice?: string | undefined;
1221
+ gasUsed?: string | undefined;
1222
+ }>>;
1223
+ error: z.ZodOptional<z.ZodString>;
1224
+ }, "strip", z.ZodTypeAny, {
1225
+ success: boolean;
1226
+ transaction?: {
1227
+ from: string;
1228
+ hash: string;
1229
+ to: string | null;
1230
+ value: string;
1231
+ status?: string | undefined;
1232
+ blockNumber?: string | undefined;
1233
+ gasPrice?: string | undefined;
1234
+ gasUsed?: string | undefined;
1235
+ } | undefined;
1236
+ error?: string | undefined;
1237
+ }, {
1238
+ success: boolean;
1239
+ transaction?: {
1240
+ from: string;
1241
+ hash: string;
1242
+ to: string | null;
1243
+ value: string;
1244
+ status?: string | undefined;
1245
+ blockNumber?: string | undefined;
1246
+ gasPrice?: string | undefined;
1247
+ gasUsed?: string | undefined;
1248
+ } | undefined;
1249
+ error?: string | undefined;
1250
+ }>, {
1251
+ [x: string]: never;
1252
+ }>;
1253
+ sendTransaction: Tool<z.ZodObject<{
1254
+ to: z.ZodString;
1255
+ amount: z.ZodString;
1256
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1257
+ }, "strip", z.ZodTypeAny, {
1258
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1259
+ to: string;
1260
+ amount: string;
1261
+ }, {
1262
+ to: string;
1263
+ amount: string;
1264
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1265
+ }>, z.ZodObject<{
1266
+ success: z.ZodBoolean;
1267
+ hash: z.ZodOptional<z.ZodString>;
1268
+ from: z.ZodOptional<z.ZodString>;
1269
+ to: z.ZodString;
1270
+ amount: z.ZodString;
1271
+ chain: z.ZodString;
1272
+ error: z.ZodOptional<z.ZodString>;
1273
+ }, "strip", z.ZodTypeAny, {
1274
+ chain: string;
1275
+ to: string;
1276
+ success: boolean;
1277
+ amount: string;
1278
+ from?: string | undefined;
1279
+ hash?: string | undefined;
1280
+ error?: string | undefined;
1281
+ }, {
1282
+ chain: string;
1283
+ to: string;
1284
+ success: boolean;
1285
+ amount: string;
1286
+ from?: string | undefined;
1287
+ hash?: string | undefined;
1288
+ error?: string | undefined;
1289
+ }>, {
1290
+ [x: string]: never;
1291
+ }>;
1292
+ getBlock: Tool<z.ZodObject<{
1293
+ blockNumber: z.ZodOptional<z.ZodString>;
1294
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1295
+ }, "strip", z.ZodTypeAny, {
1296
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1297
+ blockNumber?: string | undefined;
1298
+ }, {
1299
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1300
+ blockNumber?: string | undefined;
1301
+ }>, z.ZodObject<{
1302
+ success: z.ZodBoolean;
1303
+ block: z.ZodOptional<z.ZodObject<{
1304
+ number: z.ZodString;
1305
+ hash: z.ZodString;
1306
+ timestamp: z.ZodString;
1307
+ transactionCount: z.ZodNumber;
1308
+ gasUsed: z.ZodString;
1309
+ gasLimit: z.ZodString;
1310
+ }, "strip", z.ZodTypeAny, {
1311
+ number: string;
1312
+ hash: string;
1313
+ gasLimit: string;
1314
+ gasUsed: string;
1315
+ timestamp: string;
1316
+ transactionCount: number;
1317
+ }, {
1318
+ number: string;
1319
+ hash: string;
1320
+ gasLimit: string;
1321
+ gasUsed: string;
1322
+ timestamp: string;
1323
+ transactionCount: number;
1324
+ }>>;
1325
+ error: z.ZodOptional<z.ZodString>;
1326
+ }, "strip", z.ZodTypeAny, {
1327
+ success: boolean;
1328
+ block?: {
1329
+ number: string;
1330
+ hash: string;
1331
+ gasLimit: string;
1332
+ gasUsed: string;
1333
+ timestamp: string;
1334
+ transactionCount: number;
1335
+ } | undefined;
1336
+ error?: string | undefined;
1337
+ }, {
1338
+ success: boolean;
1339
+ block?: {
1340
+ number: string;
1341
+ hash: string;
1342
+ gasLimit: string;
1343
+ gasUsed: string;
1344
+ timestamp: string;
1345
+ transactionCount: number;
1346
+ } | undefined;
1347
+ error?: string | undefined;
1348
+ }>, {
1349
+ [x: string]: never;
1350
+ }>;
1351
+ getGasPrice: Tool<z.ZodObject<{
1352
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1353
+ }, "strip", z.ZodTypeAny, {
1354
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1355
+ }, {
1356
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1357
+ }>, z.ZodObject<{
1358
+ success: z.ZodBoolean;
1359
+ gasPrice: z.ZodOptional<z.ZodString>;
1360
+ gasPriceWei: z.ZodOptional<z.ZodString>;
1361
+ chain: z.ZodString;
1362
+ error: z.ZodOptional<z.ZodString>;
1363
+ }, "strip", z.ZodTypeAny, {
1364
+ chain: string;
1365
+ success: boolean;
1366
+ gasPrice?: string | undefined;
1367
+ error?: string | undefined;
1368
+ gasPriceWei?: string | undefined;
1369
+ }, {
1370
+ chain: string;
1371
+ success: boolean;
1372
+ gasPrice?: string | undefined;
1373
+ error?: string | undefined;
1374
+ gasPriceWei?: string | undefined;
1375
+ }>, {
1376
+ [x: string]: never;
1377
+ }>;
1378
+ estimateGas: Tool<z.ZodObject<{
1379
+ to: z.ZodString;
1380
+ amount: z.ZodDefault<z.ZodString>;
1381
+ data: z.ZodOptional<z.ZodString>;
1382
+ chain: z.ZodDefault<z.ZodEnum<["mainnet", "sepolia", "polygon", "arbitrum", "optimism", "base"]>>;
1383
+ }, "strip", z.ZodTypeAny, {
1384
+ chain: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base";
1385
+ to: string;
1386
+ amount: string;
1387
+ data?: string | undefined;
1388
+ }, {
1389
+ to: string;
1390
+ chain?: "mainnet" | "sepolia" | "polygon" | "arbitrum" | "optimism" | "base" | undefined;
1391
+ data?: string | undefined;
1392
+ amount?: string | undefined;
1393
+ }>, z.ZodObject<{
1394
+ success: z.ZodBoolean;
1395
+ gasEstimate: z.ZodOptional<z.ZodString>;
1396
+ to: z.ZodString;
1397
+ amount: z.ZodString;
1398
+ chain: z.ZodString;
1399
+ error: z.ZodOptional<z.ZodString>;
1400
+ }, "strip", z.ZodTypeAny, {
1401
+ chain: string;
1402
+ to: string;
1403
+ success: boolean;
1404
+ amount: string;
1405
+ error?: string | undefined;
1406
+ gasEstimate?: string | undefined;
1407
+ }, {
1408
+ chain: string;
1409
+ to: string;
1410
+ success: boolean;
1411
+ amount: string;
1412
+ error?: string | undefined;
1413
+ gasEstimate?: string | undefined;
1414
+ }>, {
1415
+ [x: string]: never;
1416
+ }>;
1417
+ };
1418
+
1419
+ /**
1420
+ * Send Reaction Tool
1421
+ *
1422
+ * Sends an emoji reaction to a specific message to indicate the message has been seen.
1423
+ * This is used to acknowledge receipt of messages before responding.
1424
+ *
1425
+ * @tool sendReaction
1426
+ * @category Communication
1427
+ *
1428
+ * @param {string} emoji - The emoji to send as a reaction (defaults to 👀)
1429
+ * @param {string} [referenceMessageId] - The message ID to react to (uses current message if not provided)
1430
+ *
1431
+ * @returns {Promise<{success: boolean, emoji: string, error?: string}>}
1432
+ */
1433
+ declare const sendReactionTool: Tool<z.ZodObject<{
1434
+ emoji: z.ZodDefault<z.ZodString>;
1435
+ referenceMessageId: z.ZodOptional<z.ZodString>;
1436
+ }, "strip", z.ZodTypeAny, {
1437
+ emoji: string;
1438
+ referenceMessageId?: string | undefined;
1439
+ }, {
1440
+ referenceMessageId?: string | undefined;
1441
+ emoji?: string | undefined;
1442
+ }>, z.ZodObject<{
1443
+ success: z.ZodBoolean;
1444
+ emoji: z.ZodString;
1445
+ error: z.ZodOptional<z.ZodString>;
1446
+ }, "strip", z.ZodTypeAny, {
1447
+ emoji: string;
1448
+ success: boolean;
1449
+ error?: string | undefined;
1450
+ }, {
1451
+ emoji: string;
1452
+ success: boolean;
1453
+ error?: string | undefined;
1454
+ }>, {
1455
+ [x: string]: never;
1456
+ }>;
1457
+ /**
1458
+ * Send Message Tool
1459
+ *
1460
+ * Sends a message to an XMTP conversation or creates a new conversation.
1461
+ *
1462
+ * @tool sendMessage
1463
+ * @category Communication
1464
+ *
1465
+ * @param {string} content - The message content to send
1466
+ * @param {string} [recipientAddress] - Recipient address for new conversations
1467
+ * @param {string} [conversationId] - Existing conversation ID to send to
1468
+ *
1469
+ * @returns {Promise<{success: boolean, messageId?: string, conversationId?: string, error?: string}>}
1470
+ */
1471
+ declare const sendMessageTool: Tool<z.ZodEffects<z.ZodObject<{
1472
+ content: z.ZodString;
1473
+ recipientAddress: z.ZodOptional<z.ZodString>;
1474
+ conversationId: z.ZodOptional<z.ZodString>;
1475
+ }, "strip", z.ZodTypeAny, {
1476
+ content: string;
1477
+ conversationId?: string | undefined;
1478
+ recipientAddress?: string | undefined;
1479
+ }, {
1480
+ content: string;
1481
+ conversationId?: string | undefined;
1482
+ recipientAddress?: string | undefined;
1483
+ }>, {
1484
+ content: string;
1485
+ conversationId?: string | undefined;
1486
+ recipientAddress?: string | undefined;
1487
+ }, {
1488
+ content: string;
1489
+ conversationId?: string | undefined;
1490
+ recipientAddress?: string | undefined;
1491
+ }>, z.ZodObject<{
1492
+ success: z.ZodBoolean;
1493
+ messageId: z.ZodOptional<z.ZodString>;
1494
+ conversationId: z.ZodOptional<z.ZodString>;
1495
+ content: z.ZodString;
1496
+ error: z.ZodOptional<z.ZodString>;
1497
+ }, "strip", z.ZodTypeAny, {
1498
+ content: string;
1499
+ success: boolean;
1500
+ conversationId?: string | undefined;
1501
+ error?: string | undefined;
1502
+ messageId?: string | undefined;
1503
+ }, {
1504
+ content: string;
1505
+ success: boolean;
1506
+ conversationId?: string | undefined;
1507
+ error?: string | undefined;
1508
+ messageId?: string | undefined;
1509
+ }>, {
1510
+ [x: string]: never;
1511
+ }>;
1512
+ /**
1513
+ * Send Reply Tool
1514
+ *
1515
+ * Sends a reply to a specific message in an XMTP conversation.
1516
+ *
1517
+ * @tool sendReply
1518
+ * @category Communication
1519
+ *
1520
+ * @param {string} content - The reply content to send
1521
+ * @param {string} [replyToMessageId] - Message ID to reply to (uses current message if not provided)
1522
+ *
1523
+ * @returns {Promise<{success: boolean, messageId?: string, replyToMessageId?: string, error?: string}>}
1524
+ */
1525
+ declare const sendReplyTool: Tool<z.ZodObject<{
1526
+ content: z.ZodString;
1527
+ replyToMessageId: z.ZodOptional<z.ZodString>;
1528
+ }, "strip", z.ZodTypeAny, {
1529
+ content: string;
1530
+ replyToMessageId?: string | undefined;
1531
+ }, {
1532
+ content: string;
1533
+ replyToMessageId?: string | undefined;
1534
+ }>, z.ZodObject<{
1535
+ success: z.ZodBoolean;
1536
+ messageId: z.ZodOptional<z.ZodString>;
1537
+ replyToMessageId: z.ZodOptional<z.ZodString>;
1538
+ content: z.ZodString;
1539
+ error: z.ZodOptional<z.ZodString>;
1540
+ }, "strip", z.ZodTypeAny, {
1541
+ content: string;
1542
+ success: boolean;
1543
+ error?: string | undefined;
1544
+ messageId?: string | undefined;
1545
+ replyToMessageId?: string | undefined;
1546
+ }, {
1547
+ content: string;
1548
+ success: boolean;
1549
+ error?: string | undefined;
1550
+ messageId?: string | undefined;
1551
+ replyToMessageId?: string | undefined;
1552
+ }>, {
1553
+ [x: string]: never;
1554
+ }>;
1555
+ /**
1556
+ * Get Message Tool
1557
+ *
1558
+ * Retrieves a specific message by ID from the XMTP service.
1559
+ *
1560
+ * @tool getMessage
1561
+ * @category Communication
1562
+ *
1563
+ * @param {string} messageId - The message ID to retrieve
1564
+ *
1565
+ * @returns {Promise<{success: boolean, message?: object, error?: string}>}
1566
+ */
1567
+ declare const getMessageTool: Tool<z.ZodObject<{
1568
+ messageId: z.ZodString;
1569
+ }, "strip", z.ZodTypeAny, {
1570
+ messageId: string;
1571
+ }, {
1572
+ messageId: string;
1573
+ }>, z.ZodObject<{
1574
+ success: z.ZodBoolean;
1575
+ message: z.ZodOptional<z.ZodObject<{
1576
+ id: z.ZodString;
1577
+ conversationId: z.ZodString;
1578
+ content: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
1579
+ senderInboxId: z.ZodString;
1580
+ sentAt: z.ZodString;
1581
+ contentType: z.ZodOptional<z.ZodObject<{
1582
+ typeId: z.ZodString;
1583
+ authorityId: z.ZodOptional<z.ZodString>;
1584
+ versionMajor: z.ZodOptional<z.ZodNumber>;
1585
+ versionMinor: z.ZodOptional<z.ZodNumber>;
1586
+ }, "strip", z.ZodTypeAny, {
1587
+ typeId: string;
1588
+ authorityId?: string | undefined;
1589
+ versionMajor?: number | undefined;
1590
+ versionMinor?: number | undefined;
1591
+ }, {
1592
+ typeId: string;
1593
+ authorityId?: string | undefined;
1594
+ versionMajor?: number | undefined;
1595
+ versionMinor?: number | undefined;
1596
+ }>>;
1597
+ }, "strip", z.ZodTypeAny, {
1598
+ conversationId: string;
1599
+ content: string | Record<string, unknown>;
1600
+ id: string;
1601
+ senderInboxId: string;
1602
+ sentAt: string;
1603
+ contentType?: {
1604
+ typeId: string;
1605
+ authorityId?: string | undefined;
1606
+ versionMajor?: number | undefined;
1607
+ versionMinor?: number | undefined;
1608
+ } | undefined;
1609
+ }, {
1610
+ conversationId: string;
1611
+ content: string | Record<string, unknown>;
1612
+ id: string;
1613
+ senderInboxId: string;
1614
+ sentAt: string;
1615
+ contentType?: {
1616
+ typeId: string;
1617
+ authorityId?: string | undefined;
1618
+ versionMajor?: number | undefined;
1619
+ versionMinor?: number | undefined;
1620
+ } | undefined;
1621
+ }>>;
1622
+ error: z.ZodOptional<z.ZodString>;
1623
+ }, "strip", z.ZodTypeAny, {
1624
+ success: boolean;
1625
+ message?: {
1626
+ conversationId: string;
1627
+ content: string | Record<string, unknown>;
1628
+ id: string;
1629
+ senderInboxId: string;
1630
+ sentAt: string;
1631
+ contentType?: {
1632
+ typeId: string;
1633
+ authorityId?: string | undefined;
1634
+ versionMajor?: number | undefined;
1635
+ versionMinor?: number | undefined;
1636
+ } | undefined;
1637
+ } | undefined;
1638
+ error?: string | undefined;
1639
+ }, {
1640
+ success: boolean;
1641
+ message?: {
1642
+ conversationId: string;
1643
+ content: string | Record<string, unknown>;
1644
+ id: string;
1645
+ senderInboxId: string;
1646
+ sentAt: string;
1647
+ contentType?: {
1648
+ typeId: string;
1649
+ authorityId?: string | undefined;
1650
+ versionMajor?: number | undefined;
1651
+ versionMinor?: number | undefined;
1652
+ } | undefined;
1653
+ } | undefined;
1654
+ error?: string | undefined;
1655
+ }>, {
1656
+ [x: string]: never;
1657
+ }>;
1658
+ /**
1659
+ * Collection of XMTP communication tools for crypto agents
1660
+ *
1661
+ * These tools provide comprehensive messaging capabilities including sending messages,
1662
+ * replies, reactions, and retrieving message information.
1663
+ *
1664
+ * @namespace xmtpTools
1665
+ *
1666
+ * @property {Tool} sendMessage - Send a message to an XMTP conversation
1667
+ * @property {Tool} sendReply - Send a reply to a specific message
1668
+ * @property {Tool} sendReaction - Send an emoji reaction to a message
1669
+ * @property {Tool} getMessage - Get a specific message by ID
1670
+ */
1671
+ declare const xmtpTools: {
1672
+ sendMessage: Tool<z.ZodEffects<z.ZodObject<{
1673
+ content: z.ZodString;
1674
+ recipientAddress: z.ZodOptional<z.ZodString>;
1675
+ conversationId: z.ZodOptional<z.ZodString>;
1676
+ }, "strip", z.ZodTypeAny, {
1677
+ content: string;
1678
+ conversationId?: string | undefined;
1679
+ recipientAddress?: string | undefined;
1680
+ }, {
1681
+ content: string;
1682
+ conversationId?: string | undefined;
1683
+ recipientAddress?: string | undefined;
1684
+ }>, {
1685
+ content: string;
1686
+ conversationId?: string | undefined;
1687
+ recipientAddress?: string | undefined;
1688
+ }, {
1689
+ content: string;
1690
+ conversationId?: string | undefined;
1691
+ recipientAddress?: string | undefined;
1692
+ }>, z.ZodObject<{
1693
+ success: z.ZodBoolean;
1694
+ messageId: z.ZodOptional<z.ZodString>;
1695
+ conversationId: z.ZodOptional<z.ZodString>;
1696
+ content: z.ZodString;
1697
+ error: z.ZodOptional<z.ZodString>;
1698
+ }, "strip", z.ZodTypeAny, {
1699
+ content: string;
1700
+ success: boolean;
1701
+ conversationId?: string | undefined;
1702
+ error?: string | undefined;
1703
+ messageId?: string | undefined;
1704
+ }, {
1705
+ content: string;
1706
+ success: boolean;
1707
+ conversationId?: string | undefined;
1708
+ error?: string | undefined;
1709
+ messageId?: string | undefined;
1710
+ }>, {
1711
+ [x: string]: never;
1712
+ }>;
1713
+ sendReply: Tool<z.ZodObject<{
1714
+ content: z.ZodString;
1715
+ replyToMessageId: z.ZodOptional<z.ZodString>;
1716
+ }, "strip", z.ZodTypeAny, {
1717
+ content: string;
1718
+ replyToMessageId?: string | undefined;
1719
+ }, {
1720
+ content: string;
1721
+ replyToMessageId?: string | undefined;
1722
+ }>, z.ZodObject<{
1723
+ success: z.ZodBoolean;
1724
+ messageId: z.ZodOptional<z.ZodString>;
1725
+ replyToMessageId: z.ZodOptional<z.ZodString>;
1726
+ content: z.ZodString;
1727
+ error: z.ZodOptional<z.ZodString>;
1728
+ }, "strip", z.ZodTypeAny, {
1729
+ content: string;
1730
+ success: boolean;
1731
+ error?: string | undefined;
1732
+ messageId?: string | undefined;
1733
+ replyToMessageId?: string | undefined;
1734
+ }, {
1735
+ content: string;
1736
+ success: boolean;
1737
+ error?: string | undefined;
1738
+ messageId?: string | undefined;
1739
+ replyToMessageId?: string | undefined;
1740
+ }>, {
1741
+ [x: string]: never;
1742
+ }>;
1743
+ sendReaction: Tool<z.ZodObject<{
1744
+ emoji: z.ZodDefault<z.ZodString>;
1745
+ referenceMessageId: z.ZodOptional<z.ZodString>;
1746
+ }, "strip", z.ZodTypeAny, {
1747
+ emoji: string;
1748
+ referenceMessageId?: string | undefined;
1749
+ }, {
1750
+ referenceMessageId?: string | undefined;
1751
+ emoji?: string | undefined;
1752
+ }>, z.ZodObject<{
1753
+ success: z.ZodBoolean;
1754
+ emoji: z.ZodString;
1755
+ error: z.ZodOptional<z.ZodString>;
1756
+ }, "strip", z.ZodTypeAny, {
1757
+ emoji: string;
1758
+ success: boolean;
1759
+ error?: string | undefined;
1760
+ }, {
1761
+ emoji: string;
1762
+ success: boolean;
1763
+ error?: string | undefined;
1764
+ }>, {
1765
+ [x: string]: never;
1766
+ }>;
1767
+ getMessage: Tool<z.ZodObject<{
1768
+ messageId: z.ZodString;
1769
+ }, "strip", z.ZodTypeAny, {
1770
+ messageId: string;
1771
+ }, {
1772
+ messageId: string;
1773
+ }>, z.ZodObject<{
1774
+ success: z.ZodBoolean;
1775
+ message: z.ZodOptional<z.ZodObject<{
1776
+ id: z.ZodString;
1777
+ conversationId: z.ZodString;
1778
+ content: z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
1779
+ senderInboxId: z.ZodString;
1780
+ sentAt: z.ZodString;
1781
+ contentType: z.ZodOptional<z.ZodObject<{
1782
+ typeId: z.ZodString;
1783
+ authorityId: z.ZodOptional<z.ZodString>;
1784
+ versionMajor: z.ZodOptional<z.ZodNumber>;
1785
+ versionMinor: z.ZodOptional<z.ZodNumber>;
1786
+ }, "strip", z.ZodTypeAny, {
1787
+ typeId: string;
1788
+ authorityId?: string | undefined;
1789
+ versionMajor?: number | undefined;
1790
+ versionMinor?: number | undefined;
1791
+ }, {
1792
+ typeId: string;
1793
+ authorityId?: string | undefined;
1794
+ versionMajor?: number | undefined;
1795
+ versionMinor?: number | undefined;
1796
+ }>>;
1797
+ }, "strip", z.ZodTypeAny, {
1798
+ conversationId: string;
1799
+ content: string | Record<string, unknown>;
1800
+ id: string;
1801
+ senderInboxId: string;
1802
+ sentAt: string;
1803
+ contentType?: {
1804
+ typeId: string;
1805
+ authorityId?: string | undefined;
1806
+ versionMajor?: number | undefined;
1807
+ versionMinor?: number | undefined;
1808
+ } | undefined;
1809
+ }, {
1810
+ conversationId: string;
1811
+ content: string | Record<string, unknown>;
1812
+ id: string;
1813
+ senderInboxId: string;
1814
+ sentAt: string;
1815
+ contentType?: {
1816
+ typeId: string;
1817
+ authorityId?: string | undefined;
1818
+ versionMajor?: number | undefined;
1819
+ versionMinor?: number | undefined;
1820
+ } | undefined;
1821
+ }>>;
1822
+ error: z.ZodOptional<z.ZodString>;
1823
+ }, "strip", z.ZodTypeAny, {
1824
+ success: boolean;
1825
+ message?: {
1826
+ conversationId: string;
1827
+ content: string | Record<string, unknown>;
1828
+ id: string;
1829
+ senderInboxId: string;
1830
+ sentAt: string;
1831
+ contentType?: {
1832
+ typeId: string;
1833
+ authorityId?: string | undefined;
1834
+ versionMajor?: number | undefined;
1835
+ versionMinor?: number | undefined;
1836
+ } | undefined;
1837
+ } | undefined;
1838
+ error?: string | undefined;
1839
+ }, {
1840
+ success: boolean;
1841
+ message?: {
1842
+ conversationId: string;
1843
+ content: string | Record<string, unknown>;
1844
+ id: string;
1845
+ senderInboxId: string;
1846
+ sentAt: string;
1847
+ contentType?: {
1848
+ typeId: string;
1849
+ authorityId?: string | undefined;
1850
+ versionMajor?: number | undefined;
1851
+ versionMinor?: number | undefined;
1852
+ } | undefined;
1853
+ } | undefined;
1854
+ error?: string | undefined;
1855
+ }>, {
1856
+ [x: string]: never;
1857
+ }>;
1858
+ };
1859
+
1860
+ export { type BlockchainRuntimeExtension, blockchainTools, estimateGasTool, getBalanceTool, getBlockTool, getGasPriceTool, getMessageTool, getTransactionTool, sendMessageTool, sendReactionTool, sendReplyTool, sendTransactionTool, xmtpTools };