@d9-network/ink 1.2.1 → 1.2.6

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.cjs CHANGED
@@ -496,6 +496,8 @@ function createAsciiEventTopic(contractName, eventLabel) {
496
496
  var ContractEventParser = class {
497
497
  eventDecoders;
498
498
  eventSignatures;
499
+ /** Maps ink! variant index (first byte of event data) to event label */
500
+ eventVariantMap;
499
501
  contractAddressBytes;
500
502
  contractAddress;
501
503
  metadata;
@@ -506,10 +508,13 @@ var ContractEventParser = class {
506
508
  this.eventDecoders = buildAllEventDecoders(this.metadata);
507
509
  this.contractAddressBytes = (0, _polkadot_labs_hdkd_helpers.ss58Decode)(contractAddress)[0];
508
510
  this.eventSignatures = /* @__PURE__ */ new Map();
511
+ this.eventVariantMap = /* @__PURE__ */ new Map();
509
512
  const events = this.metadata.spec.events;
510
- for (const event of events) {
513
+ for (let i = 0; i < events.length; i++) {
514
+ const event = events[i];
511
515
  const sig = getEventSignature(event.label);
512
516
  this.eventSignatures.set(event.label, sig);
517
+ this.eventVariantMap.set(i, event.label);
513
518
  }
514
519
  }
515
520
  /**
@@ -541,6 +546,11 @@ var ContractEventParser = class {
541
546
  break;
542
547
  }
543
548
  }
549
+ if (!eventLabel && data.length > 0) {
550
+ const variantIndex = data[0];
551
+ const candidateLabel = this.eventVariantMap.get(variantIndex);
552
+ if (candidateLabel && this.eventDecoders.has(candidateLabel)) eventLabel = candidateLabel;
553
+ }
544
554
  if (!eventLabel) {
545
555
  console.warn("Unknown event signature:", signature);
546
556
  return null;