@orbinum/sdk 0.7.2 → 0.7.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.
package/dist/index.d.mts CHANGED
@@ -494,7 +494,13 @@ interface ShieldedCommitment {
494
494
  blockNumber: number;
495
495
  extrinsicIndex: number | null;
496
496
  leafIndex: number;
497
- /** Asset ID as decimal string (e.g. "0"). */
497
+ /**
498
+ * Asset ID as decimal string.
499
+ * For `source: 'shield'` and `source: 'unshield'` this reflects the real asset.
500
+ * For `source: 'transfer'` it is always `"0"` — the chain intentionally omits the asset ID
501
+ * from `CommitmentsInserted` events to prevent graph correlation across assets.
502
+ * The true asset is recoverable only by decrypting `encryptedMemo`.
503
+ */
498
504
  assetId: string;
499
505
  /** Origin of the commitment: direct shield, output of private transfer, or change from unshield. */
500
506
  source: 'shield' | 'transfer' | 'unshield';
@@ -519,6 +525,18 @@ interface PrivateTransferTimestamp {
519
525
  /** Blake2-256 hash of the raw extrinsic, 0x-prefixed. Null if the extrinsic was not decoded. */
520
526
  hash: string | null;
521
527
  timestampMs: number | null;
528
+ /**
529
+ * Subset of the queried nullifiers that were spent in this specific extrinsic.
530
+ * Returned by `getTransfersByNullifiers`. Use to identify which input vault notes
531
+ * belong to this transfer for local reconstruction.
532
+ */
533
+ matchedNullifiers?: string[];
534
+ /**
535
+ * Subset of the queried commitments that were inserted in this specific extrinsic.
536
+ * Returned by `getTransfersByCommitments`. Use to identify which output vault notes
537
+ * (change notes or received notes) belong to this transfer.
538
+ */
539
+ matchedCommitments?: string[];
522
540
  }
523
541
  /** An unshield event stored by the indexer. */
524
542
  interface Unshield {
@@ -691,7 +709,13 @@ type ShieldedAddressEvent = ({
691
709
  interface StealthScanHint {
692
710
  leafIndex: number;
693
711
  commitmentHex: string;
694
- /** Asset ID as decimal string (e.g. "0"). */
712
+ /**
713
+ * Asset ID as decimal string.
714
+ * For shield-origin commitments this is the real asset ID.
715
+ * For transfer-origin commitments this is always `"0"` — the chain does not emit the asset ID
716
+ * in `CommitmentsInserted` events by design (privacy: prevents cross-asset graph correlation).
717
+ * Recover the true asset by decrypting `encryptedMemo`.
718
+ */
695
719
  assetId: string;
696
720
  /** Ephemeral public key (last 32 bytes of encrypted_memo), 0x-prefixed. null if memo absent. */
697
721
  ephPkHex: string | null;
package/dist/index.d.ts CHANGED
@@ -494,7 +494,13 @@ interface ShieldedCommitment {
494
494
  blockNumber: number;
495
495
  extrinsicIndex: number | null;
496
496
  leafIndex: number;
497
- /** Asset ID as decimal string (e.g. "0"). */
497
+ /**
498
+ * Asset ID as decimal string.
499
+ * For `source: 'shield'` and `source: 'unshield'` this reflects the real asset.
500
+ * For `source: 'transfer'` it is always `"0"` — the chain intentionally omits the asset ID
501
+ * from `CommitmentsInserted` events to prevent graph correlation across assets.
502
+ * The true asset is recoverable only by decrypting `encryptedMemo`.
503
+ */
498
504
  assetId: string;
499
505
  /** Origin of the commitment: direct shield, output of private transfer, or change from unshield. */
500
506
  source: 'shield' | 'transfer' | 'unshield';
@@ -519,6 +525,18 @@ interface PrivateTransferTimestamp {
519
525
  /** Blake2-256 hash of the raw extrinsic, 0x-prefixed. Null if the extrinsic was not decoded. */
520
526
  hash: string | null;
521
527
  timestampMs: number | null;
528
+ /**
529
+ * Subset of the queried nullifiers that were spent in this specific extrinsic.
530
+ * Returned by `getTransfersByNullifiers`. Use to identify which input vault notes
531
+ * belong to this transfer for local reconstruction.
532
+ */
533
+ matchedNullifiers?: string[];
534
+ /**
535
+ * Subset of the queried commitments that were inserted in this specific extrinsic.
536
+ * Returned by `getTransfersByCommitments`. Use to identify which output vault notes
537
+ * (change notes or received notes) belong to this transfer.
538
+ */
539
+ matchedCommitments?: string[];
522
540
  }
523
541
  /** An unshield event stored by the indexer. */
524
542
  interface Unshield {
@@ -691,7 +709,13 @@ type ShieldedAddressEvent = ({
691
709
  interface StealthScanHint {
692
710
  leafIndex: number;
693
711
  commitmentHex: string;
694
- /** Asset ID as decimal string (e.g. "0"). */
712
+ /**
713
+ * Asset ID as decimal string.
714
+ * For shield-origin commitments this is the real asset ID.
715
+ * For transfer-origin commitments this is always `"0"` — the chain does not emit the asset ID
716
+ * in `CommitmentsInserted` events by design (privacy: prevents cross-asset graph correlation).
717
+ * Recover the true asset by decrypting `encryptedMemo`.
718
+ */
695
719
  assetId: string;
696
720
  /** Ephemeral public key (last 32 bytes of encrypted_memo), 0x-prefixed. null if memo absent. */
697
721
  ephPkHex: string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbinum/sdk",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Official TypeScript SDK for Orbinum.",
5
5
  "author": "Orbinum",
6
6
  "license": "MIT",