@etherkit/viem-tx-tracker 0.0.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,11 +40,22 @@ function inferTxType(params) {
40
40
  }
41
41
  return undefined; // Wallet will determine
42
42
  }
43
+ /**
44
+ * Resolve the configured source option into a value.
45
+ *
46
+ * A thunk is called every time (at broadcast), never memoized: one client can
47
+ * serve different wallets/accounts over its lifetime.
48
+ */
49
+ function resolveSource(source) {
50
+ return typeof source === 'function'
51
+ ? source()
52
+ : source;
53
+ }
43
54
  /**
44
55
  * Create an UnknownTrackedTransaction for immediate emission.
45
56
  * Populates all known intended values from the transaction parameters.
46
57
  */
47
- function createUnknownTrackedTransaction(hash, from, nonce, chainId, metadata, broadcastTimestampMs, params) {
58
+ function createUnknownTrackedTransaction(hash, from, nonce, chainId, carried, broadcastTimestampMs, params) {
48
59
  const base = {
49
60
  known: false,
50
61
  chainId,
@@ -52,7 +63,7 @@ function createUnknownTrackedTransaction(hash, from, nonce, chainId, metadata, b
52
63
  from,
53
64
  nonce,
54
65
  broadcastTimestampMs,
55
- metadata,
66
+ ...carried,
56
67
  to: params.to,
57
68
  value: params.value,
58
69
  data: params.data,
@@ -144,8 +155,12 @@ function extractTransactionTypeFields(tx) {
144
155
  }
145
156
  /**
146
157
  * Create a KnownTrackedTransaction from a fetched transaction.
158
+ *
159
+ * Note: this object is rebuilt from the chain fetch, not copied from the
160
+ * broadcasted one, so every carried-but-not-observed field (metadata, source,
161
+ * correlation) must be threaded in explicitly.
147
162
  */
148
- function createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs) {
163
+ function createKnownTrackedTransaction(tx, carried, broadcastTimestampMs) {
149
164
  const base = {
150
165
  known: true,
151
166
  hash: tx.hash,
@@ -155,7 +170,7 @@ function createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs) {
155
170
  value: tx.value,
156
171
  data: tx.input,
157
172
  broadcastTimestampMs,
158
- metadata,
173
+ ...carried,
159
174
  };
160
175
  const typeFields = extractTransactionTypeFields(tx);
161
176
  return {
@@ -166,7 +181,7 @@ function createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs) {
166
181
  /**
167
182
  * Create a KnownTrackedTransaction from a parsed raw transaction.
168
183
  */
169
- function createKnownTrackedTransactionFromRaw(parsedTx, from, hash, metadata, chainId, broadcastTimestampMs) {
184
+ function createKnownTrackedTransactionFromRaw(parsedTx, from, hash, carried, chainId, broadcastTimestampMs) {
170
185
  const base = {
171
186
  known: true,
172
187
  hash,
@@ -176,7 +191,7 @@ function createKnownTrackedTransactionFromRaw(parsedTx, from, hash, metadata, ch
176
191
  value: parsedTx.value ?? 0n,
177
192
  data: parsedTx.data ?? '0x',
178
193
  broadcastTimestampMs,
179
- metadata,
194
+ ...carried,
180
195
  };
181
196
  // Determine transaction type from parsed tx
182
197
  if ('maxFeePerGas' in parsedTx && parsedTx.maxFeePerGas !== undefined) {
@@ -268,8 +283,10 @@ function extractIntendedParamsFromWriteContract(args) {
268
283
  export function createTrackedWalletClient(options) {
269
284
  const populateMetadata = options?.populateMetadata ?? false;
270
285
  const clock = options?.clock ?? Date.now;
286
+ // Kept unresolved: a thunk is evaluated at each broadcast, not here.
287
+ const sourceOption = options?.source;
271
288
  if (populateMetadata) {
272
- return createAutoPopulateBuilder(clock);
289
+ return createAutoPopulateBuilder(clock, sourceOption);
273
290
  }
274
291
  return {
275
292
  using(walletClient, publicClient) {
@@ -314,29 +331,40 @@ export function createTrackedWalletClient(options) {
314
331
  return { from, intendedNonce };
315
332
  }
316
333
  /**
317
- * Fetch full transaction data and emit transaction:fetched event.
334
+ * Fetch full transaction data and emit transaction:known event.
318
335
  * Non-blocking, runs in background. Does not throw.
319
336
  */
320
- async function fetchAndEmitFullData(hash, metadata, broadcastTimestampMs) {
337
+ async function fetchAndEmitFullData(hash, carried, broadcastTimestampMs) {
321
338
  try {
322
339
  const tx = await publicClient.getTransaction({ hash });
323
- const knownTx = createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs);
324
- emitter.emit('transaction:fetched', knownTx);
340
+ const knownTx = createKnownTrackedTransaction(tx, carried, broadcastTimestampMs);
341
+ emitter.emit('transaction:known', knownTx);
325
342
  }
326
343
  catch (error) {
327
- // Log but don't throw - transaction:fetched simply won't fire
344
+ // Log but don't throw - transaction:known simply won't fire
328
345
  console.warn(`[TrackedWalletClient] Could not fetch tx ${hash}. ` +
329
- `transaction:fetched event will not be emitted. Error: ${error}`);
346
+ `transaction:known event will not be emitted. Error: ${error}`);
330
347
  }
331
348
  }
332
349
  /**
333
350
  * Common wrapper for transaction methods that broadcast (sendTransaction, writeContract).
334
351
  * Emits transaction:broadcasted immediately with intended values,
335
- * then fetches and emits transaction:fetched with actual values.
352
+ * then fetches and emits transaction:known with actual values.
336
353
  */
337
354
  async function executeTrackedTransaction(args) {
338
- const { metadata, restArgs, intendedParams, execute, extractHash } = args;
355
+ const { metadata, correlation, restArgs, intendedParams, execute, extractHash, } = args;
339
356
  const broadcastTimestampMs = clock();
357
+ // Stamped here, in the same step as from/nonce/broadcastTimestampMs.
358
+ // A thunk is re-evaluated on every send, never captured once.
359
+ const source = resolveSource(sourceOption);
360
+ // The carried values travel as one bundle from here on: metadata (what
361
+ // the tx means), source (which route signed) and correlation (which
362
+ // caller-side request this send answers). None is interpreted.
363
+ const carried = {
364
+ metadata,
365
+ source,
366
+ correlation,
367
+ };
340
368
  // Extract common context
341
369
  const { from, intendedNonce } = await extractTransactionContext(args);
342
370
  // Execute the underlying transaction with nonce injected
@@ -346,10 +374,10 @@ export function createTrackedWalletClient(options) {
346
374
  });
347
375
  const hash = extractHash(result);
348
376
  // Emit transaction:broadcasted immediately with intended values
349
- const unknownTx = createUnknownTrackedTransaction(hash, from, intendedNonce, walletClient.chain?.id, metadata, broadcastTimestampMs, intendedParams);
377
+ const unknownTx = createUnknownTrackedTransaction(hash, from, intendedNonce, walletClient.chain?.id, carried, broadcastTimestampMs, intendedParams);
350
378
  emitter.emit('transaction:broadcasted', unknownTx);
351
- // Fire-and-forget: fetch full data and emit transaction:fetched
352
- fetchAndEmitFullData(hash, metadata, broadcastTimestampMs);
379
+ // Fire-and-forget: fetch full data and emit transaction:known
380
+ fetchAndEmitFullData(hash, carried, broadcastTimestampMs);
353
381
  return result;
354
382
  }
355
383
  /**
@@ -358,19 +386,30 @@ export function createTrackedWalletClient(options) {
358
386
  * Emits KnownTrackedTransaction directly to transaction:broadcasted.
359
387
  */
360
388
  async function executeTrackedRawTransaction(args) {
361
- const { serializedTransaction, metadata, execute, extractHash } = args;
389
+ const { serializedTransaction, metadata, correlation, execute, extractHash, } = args;
362
390
  const broadcastTimestampMs = clock();
391
+ // Stamped here, in the same step as from/nonce/broadcastTimestampMs.
392
+ // A thunk is re-evaluated on every send, never captured once.
393
+ const source = resolveSource(sourceOption);
394
+ const carried = {
395
+ metadata,
396
+ source,
397
+ correlation,
398
+ };
363
399
  const from = await recoverTransactionAddress({ serializedTransaction });
364
400
  const parsedTx = parseTransaction(serializedTransaction);
365
401
  // Execute the broadcast
366
402
  const result = await execute();
367
403
  const hash = extractHash(result);
368
404
  // For raw transactions, we can parse full data immediately
369
- const knownTx = createKnownTrackedTransactionFromRaw(parsedTx, from, hash, metadata, walletClient.chain?.id, broadcastTimestampMs);
405
+ const knownTx = createKnownTrackedTransactionFromRaw(parsedTx, from, hash, carried, walletClient.chain?.id, broadcastTimestampMs);
370
406
  // Emit as KnownTrackedTransaction since we have all data
371
407
  emitter.emit('transaction:broadcasted', knownTx);
372
- // Also emit to transaction:fetched for consistency
373
- emitter.emit('transaction:fetched', knownTx);
408
+ // The values are final (parsed from the signed payload, not merely
409
+ // intended), which is exactly what transaction:known promises, so it
410
+ // is emitted here too: every tracked transaction reaches that event,
411
+ // and a consumer can persist on it alone.
412
+ emitter.emit('transaction:known', knownTx);
374
413
  return result;
375
414
  }
376
415
  return {
@@ -380,12 +419,13 @@ export function createTrackedWalletClient(options) {
380
419
  // Async methods (return hash)
381
420
  // ============================================
382
421
  async writeContract(args) {
383
- const { metadata, nonce, ...writeArgs } = args;
422
+ const { metadata, correlation, nonce, ...writeArgs } = args;
384
423
  const intendedParams = extractIntendedParamsFromWriteContract(args);
385
424
  return executeTrackedTransaction({
386
425
  account: normalizeAccount(args.account),
387
426
  nonce,
388
427
  metadata: metadata,
428
+ correlation,
389
429
  restArgs: writeArgs,
390
430
  intendedParams,
391
431
  execute: (argsWithNonce) => walletClient.writeContract(argsWithNonce),
@@ -393,12 +433,13 @@ export function createTrackedWalletClient(options) {
393
433
  });
394
434
  },
395
435
  async sendTransaction(args) {
396
- const { metadata, nonce, ...sendArgs } = args;
436
+ const { metadata, correlation, nonce, ...sendArgs } = args;
397
437
  const intendedParams = extractIntendedParamsFromSendTransaction(args);
398
438
  return executeTrackedTransaction({
399
439
  account: normalizeAccount(args.account),
400
440
  nonce,
401
441
  metadata: metadata,
442
+ correlation,
402
443
  restArgs: sendArgs,
403
444
  intendedParams,
404
445
  execute: (argsWithNonce) => walletClient.sendTransaction(argsWithNonce),
@@ -406,10 +447,11 @@ export function createTrackedWalletClient(options) {
406
447
  });
407
448
  },
408
449
  async sendRawTransaction(args) {
409
- const { metadata, serializedTransaction } = args;
450
+ const { metadata, correlation, serializedTransaction } = args;
410
451
  return executeTrackedRawTransaction({
411
452
  serializedTransaction,
412
453
  metadata: metadata,
454
+ correlation,
413
455
  execute: () => walletClient.sendRawTransaction({ serializedTransaction }),
414
456
  extractHash: (hash) => hash,
415
457
  });
@@ -418,12 +460,13 @@ export function createTrackedWalletClient(options) {
418
460
  // Sync methods (return receipt, wait for confirmation)
419
461
  // ============================================
420
462
  async writeContractSync(args) {
421
- const { metadata, nonce, ...writeArgs } = args;
463
+ const { metadata, correlation, nonce, ...writeArgs } = args;
422
464
  const intendedParams = extractIntendedParamsFromWriteContract(args);
423
465
  return executeTrackedTransaction({
424
466
  account: normalizeAccount(args.account),
425
467
  nonce,
426
468
  metadata: metadata,
469
+ correlation,
427
470
  restArgs: writeArgs,
428
471
  intendedParams,
429
472
  execute: (argsWithNonce) => walletClient.writeContractSync(argsWithNonce),
@@ -431,12 +474,13 @@ export function createTrackedWalletClient(options) {
431
474
  });
432
475
  },
433
476
  async sendTransactionSync(args) {
434
- const { metadata, nonce, ...sendArgs } = args;
477
+ const { metadata, correlation, nonce, ...sendArgs } = args;
435
478
  const intendedParams = extractIntendedParamsFromSendTransaction(args);
436
479
  return executeTrackedTransaction({
437
480
  account: normalizeAccount(args.account),
438
481
  nonce,
439
482
  metadata: metadata,
483
+ correlation,
440
484
  restArgs: sendArgs,
441
485
  intendedParams,
442
486
  execute: (argsWithNonce) => walletClient.sendTransactionSync(argsWithNonce),
@@ -444,10 +488,11 @@ export function createTrackedWalletClient(options) {
444
488
  });
445
489
  },
446
490
  async sendRawTransactionSync(args) {
447
- const { metadata, serializedTransaction } = args;
491
+ const { metadata, correlation, serializedTransaction } = args;
448
492
  return executeTrackedRawTransaction({
449
493
  serializedTransaction,
450
494
  metadata: metadata,
495
+ correlation,
451
496
  execute: () => walletClient.sendRawTransactionSync({ serializedTransaction }),
452
497
  extractHash: (receipt) => receipt.transactionHash,
453
498
  });
@@ -465,7 +510,7 @@ export function createTrackedWalletClient(options) {
465
510
  * Create an auto-populate builder for TrackedWalletClient.
466
511
  * This builder auto-populates operation, functionName and args in writeContract metadata.
467
512
  */
468
- function createAutoPopulateBuilder(clock) {
513
+ function createAutoPopulateBuilder(clock, sourceOption) {
469
514
  return {
470
515
  using(walletClient, publicClient) {
471
516
  // Create emitter for transaction events
@@ -497,19 +542,19 @@ function createAutoPopulateBuilder(clock) {
497
542
  return { from, intendedNonce };
498
543
  }
499
544
  /**
500
- * Fetch full transaction data and emit transaction:fetched event.
545
+ * Fetch full transaction data and emit transaction:known event.
501
546
  * Non-blocking, runs in background. Does not throw.
502
547
  */
503
- async function fetchAndEmitFullData(hash, metadata, broadcastTimestampMs) {
548
+ async function fetchAndEmitFullData(hash, carried, broadcastTimestampMs) {
504
549
  try {
505
550
  const tx = await publicClient.getTransaction({ hash });
506
- const knownTx = createKnownTrackedTransaction(tx, metadata, broadcastTimestampMs);
507
- emitter.emit('transaction:fetched', knownTx);
551
+ const knownTx = createKnownTrackedTransaction(tx, carried, broadcastTimestampMs);
552
+ emitter.emit('transaction:known', knownTx);
508
553
  }
509
554
  catch (error) {
510
- // Log but don't throw - transaction:fetched simply won't fire
555
+ // Log but don't throw - transaction:known simply won't fire
511
556
  console.warn(`[TrackedWalletClient] Could not fetch tx ${hash}. ` +
512
- `transaction:fetched event will not be emitted. Error: ${error}`);
557
+ `transaction:known event will not be emitted. Error: ${error}`);
513
558
  }
514
559
  }
515
560
  /**
@@ -535,11 +580,22 @@ function createAutoPopulateBuilder(clock) {
535
580
  /**
536
581
  * Common wrapper for transaction methods that broadcast.
537
582
  * Emits transaction:broadcasted immediately with intended values,
538
- * then fetches and emits transaction:fetched with actual values.
583
+ * then fetches and emits transaction:known with actual values.
539
584
  */
540
585
  async function executeTrackedTransaction(args) {
541
- const { metadata, restArgs, intendedParams, execute, extractHash } = args;
586
+ const { metadata, correlation, restArgs, intendedParams, execute, extractHash, } = args;
542
587
  const broadcastTimestampMs = clock();
588
+ // Stamped here, in the same step as from/nonce/broadcastTimestampMs.
589
+ // A thunk is re-evaluated on every send, never captured once.
590
+ const source = resolveSource(sourceOption);
591
+ // The carried values travel as one bundle from here on: metadata (what
592
+ // the tx means), source (which route signed) and correlation (which
593
+ // caller-side request this send answers). None is interpreted.
594
+ const carried = {
595
+ metadata,
596
+ source,
597
+ correlation,
598
+ };
543
599
  const { from, intendedNonce } = await extractTransactionContext(args);
544
600
  const result = await execute({
545
601
  ...restArgs,
@@ -547,10 +603,10 @@ function createAutoPopulateBuilder(clock) {
547
603
  });
548
604
  const hash = extractHash(result);
549
605
  // Emit transaction:broadcasted immediately with intended values
550
- const unknownTx = createUnknownTrackedTransaction(hash, from, intendedNonce, walletClient.chain?.id, metadata, broadcastTimestampMs, intendedParams);
606
+ const unknownTx = createUnknownTrackedTransaction(hash, from, intendedNonce, walletClient.chain?.id, carried, broadcastTimestampMs, intendedParams);
551
607
  emitter.emit('transaction:broadcasted', unknownTx);
552
- // Fire-and-forget: fetch full data and emit transaction:fetched
553
- fetchAndEmitFullData(hash, metadata, broadcastTimestampMs);
608
+ // Fire-and-forget: fetch full data and emit transaction:known
609
+ fetchAndEmitFullData(hash, carried, broadcastTimestampMs);
554
610
  return result;
555
611
  }
556
612
  /**
@@ -559,18 +615,30 @@ function createAutoPopulateBuilder(clock) {
559
615
  * Emits KnownTrackedTransaction directly to transaction:broadcasted.
560
616
  */
561
617
  async function executeTrackedRawTransaction(args) {
562
- const { serializedTransaction, metadata, execute, extractHash } = args;
618
+ const { serializedTransaction, metadata, correlation, execute, extractHash, } = args;
563
619
  const broadcastTimestampMs = clock();
620
+ // Stamped here, in the same step as from/nonce/broadcastTimestampMs.
621
+ // A thunk is re-evaluated on every send, never captured once.
622
+ const source = resolveSource(sourceOption);
623
+ const carried = {
624
+ metadata,
625
+ source,
626
+ correlation,
627
+ };
564
628
  const from = await recoverTransactionAddress({ serializedTransaction });
565
629
  const parsedTx = parseTransaction(serializedTransaction);
566
630
  // Execute the broadcast
567
631
  const result = await execute();
568
632
  const hash = extractHash(result);
569
633
  // For raw transactions, we can parse full data immediately
570
- const knownTx = createKnownTrackedTransactionFromRaw(parsedTx, from, hash, metadata, walletClient.chain?.id, broadcastTimestampMs);
634
+ const knownTx = createKnownTrackedTransactionFromRaw(parsedTx, from, hash, carried, walletClient.chain?.id, broadcastTimestampMs);
571
635
  // Emit as KnownTrackedTransaction since we have all data
572
636
  emitter.emit('transaction:broadcasted', knownTx);
573
- // We do not emit fetched as the tx is already known
637
+ // The values are final (parsed from the signed payload, not merely
638
+ // intended), which is exactly what transaction:known promises, so it
639
+ // is emitted here too: every tracked transaction reaches that event,
640
+ // and a consumer can persist on it alone.
641
+ emitter.emit('transaction:known', knownTx);
574
642
  return result;
575
643
  }
576
644
  return {
@@ -580,7 +648,7 @@ function createAutoPopulateBuilder(clock) {
580
648
  // Async methods (return hash)
581
649
  // ============================================
582
650
  async writeContract(args) {
583
- const { metadata: userMetadata, nonce, ...writeArgs } = args;
651
+ const { metadata: userMetadata, correlation, nonce, ...writeArgs } = args;
584
652
  // Validate that user didn't provide operation, functionName or args
585
653
  validateNoAutoPopulatedFieldsInMetadata(userMetadata);
586
654
  // Auto-populate type, functionName and args
@@ -595,6 +663,7 @@ function createAutoPopulateBuilder(clock) {
595
663
  account: normalizeAccount(args.account),
596
664
  nonce,
597
665
  metadata: finalMetadata,
666
+ correlation,
598
667
  restArgs: writeArgs,
599
668
  intendedParams,
600
669
  execute: (argsWithNonce) => walletClient.writeContract(argsWithNonce),
@@ -602,12 +671,13 @@ function createAutoPopulateBuilder(clock) {
602
671
  });
603
672
  },
604
673
  async sendTransaction(args) {
605
- const { metadata, nonce, ...sendArgs } = args;
674
+ const { metadata, correlation, nonce, ...sendArgs } = args;
606
675
  const intendedParams = extractIntendedParamsFromSendTransaction(args);
607
676
  return executeTrackedTransaction({
608
677
  account: normalizeAccount(args.account),
609
678
  nonce,
610
679
  metadata: metadata,
680
+ correlation,
611
681
  restArgs: sendArgs,
612
682
  intendedParams,
613
683
  execute: (argsWithNonce) => walletClient.sendTransaction(argsWithNonce),
@@ -615,10 +685,11 @@ function createAutoPopulateBuilder(clock) {
615
685
  });
616
686
  },
617
687
  async sendRawTransaction(args) {
618
- const { metadata, serializedTransaction } = args;
688
+ const { metadata, correlation, serializedTransaction } = args;
619
689
  return executeTrackedRawTransaction({
620
690
  serializedTransaction,
621
691
  metadata: metadata,
692
+ correlation,
622
693
  execute: () => walletClient.sendRawTransaction({ serializedTransaction }),
623
694
  extractHash: (hash) => hash,
624
695
  });
@@ -627,7 +698,7 @@ function createAutoPopulateBuilder(clock) {
627
698
  // Sync methods (return receipt, wait for confirmation)
628
699
  // ============================================
629
700
  async writeContractSync(args) {
630
- const { metadata: userMetadata, nonce, ...writeArgs } = args;
701
+ const { metadata: userMetadata, correlation, nonce, ...writeArgs } = args;
631
702
  // Validate that user didn't provide operation, functionName or args
632
703
  validateNoAutoPopulatedFieldsInMetadata(userMetadata);
633
704
  // Auto-populate type, functionName and args
@@ -642,6 +713,7 @@ function createAutoPopulateBuilder(clock) {
642
713
  account: normalizeAccount(args.account),
643
714
  nonce,
644
715
  metadata: finalMetadata,
716
+ correlation,
645
717
  restArgs: writeArgs,
646
718
  intendedParams,
647
719
  execute: (argsWithNonce) => walletClient.writeContractSync(argsWithNonce),
@@ -649,12 +721,13 @@ function createAutoPopulateBuilder(clock) {
649
721
  });
650
722
  },
651
723
  async sendTransactionSync(args) {
652
- const { metadata, nonce, ...sendArgs } = args;
724
+ const { metadata, correlation, nonce, ...sendArgs } = args;
653
725
  const intendedParams = extractIntendedParamsFromSendTransaction(args);
654
726
  return executeTrackedTransaction({
655
727
  account: normalizeAccount(args.account),
656
728
  nonce,
657
729
  metadata: metadata,
730
+ correlation,
658
731
  restArgs: sendArgs,
659
732
  intendedParams,
660
733
  execute: (argsWithNonce) => walletClient.sendTransactionSync(argsWithNonce),
@@ -662,10 +735,11 @@ function createAutoPopulateBuilder(clock) {
662
735
  });
663
736
  },
664
737
  async sendRawTransactionSync(args) {
665
- const { metadata, serializedTransaction } = args;
738
+ const { metadata, correlation, serializedTransaction } = args;
666
739
  return executeTrackedRawTransaction({
667
740
  serializedTransaction,
668
741
  metadata: metadata,
742
+ correlation,
669
743
  execute: () => walletClient.sendRawTransactionSync({ serializedTransaction }),
670
744
  extractHash: (receipt) => receipt.transactionHash,
671
745
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TrackedWalletClient.js","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrackedWalletClient.js","sourceRoot":"","sources":["../src/TrackedWalletClient.ts"],"names":[],"mappings":"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"}