@apibara/starknet 2.1.0-beta.38 → 2.1.0-beta.39

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.cts CHANGED
@@ -4,7 +4,7 @@ import _m0 from 'protobufjs/minimal.js';
4
4
  import { StreamConfig } from '@apibara/protocol';
5
5
  import { Abi } from 'abi-wan-kanabi';
6
6
  export { Abi } from 'abi-wan-kanabi';
7
- import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, StringToPrimitiveType } from 'abi-wan-kanabi/kanabi';
7
+ import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, ExtractAbiEnum, StringToPrimitiveType as StringToPrimitiveType$1 } from 'abi-wan-kanabi/kanabi';
8
8
 
9
9
  declare const protobufPackage$1 = "starknet.v2";
10
10
  /** Starknet DNA definitions (data). */
@@ -5983,6 +5983,26 @@ declare function getTransaction(transactionIndex: number, params: {
5983
5983
  transactions: readonly Transaction[];
5984
5984
  } | readonly Transaction[]): Transaction | undefined;
5985
5985
 
5986
+ type AbiParameter = {
5987
+ name: string;
5988
+ type: string;
5989
+ };
5990
+ type StringToPrimitiveType<TAbi extends Abi, T extends string> = ExtractAbiEnum<TAbi, T> extends never ? StringToPrimitiveType$1<TAbi, T> : ExtractAbiEnum<TAbi, T> extends {
5991
+ type: "enum";
5992
+ variants: infer TVariants extends readonly AbiParameter[];
5993
+ } ? {
5994
+ [Variant in TVariants[number] as Variant["name"]]: Variant["type"] extends "()" ? // Unit variant (no data): { _tag: "VariantName"; VariantName: null }
5995
+ {
5996
+ _tag: Variant["name"];
5997
+ } & {
5998
+ [K in Variant["name"]]: null;
5999
+ } : // Variant with data: { _tag: "VariantName"; VariantName: StringToPrimitiveType }
6000
+ {
6001
+ _tag: Variant["name"];
6002
+ } & {
6003
+ [K in Variant["name"]]: StringToPrimitiveType<TAbi, Variant["type"]>;
6004
+ };
6005
+ }[TVariants[number]["name"]] : never;
5986
6006
  type ResolveNestedVariantType<TAbi extends Abi, TTypeName extends string> = EventToPrimitiveType<TAbi, TTypeName>;
5987
6007
  type VariantToTaggedUnion<TAbi extends Abi, TVariant extends AbiEventMember> = TVariant extends {
5988
6008
  kind: "nested";
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ import _m0 from 'protobufjs/minimal.js';
4
4
  import { StreamConfig } from '@apibara/protocol';
5
5
  import { Abi } from 'abi-wan-kanabi';
6
6
  export { Abi } from 'abi-wan-kanabi';
7
- import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, StringToPrimitiveType } from 'abi-wan-kanabi/kanabi';
7
+ import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, ExtractAbiEnum, StringToPrimitiveType as StringToPrimitiveType$1 } from 'abi-wan-kanabi/kanabi';
8
8
 
9
9
  declare const protobufPackage$1 = "starknet.v2";
10
10
  /** Starknet DNA definitions (data). */
@@ -5983,6 +5983,26 @@ declare function getTransaction(transactionIndex: number, params: {
5983
5983
  transactions: readonly Transaction[];
5984
5984
  } | readonly Transaction[]): Transaction | undefined;
5985
5985
 
5986
+ type AbiParameter = {
5987
+ name: string;
5988
+ type: string;
5989
+ };
5990
+ type StringToPrimitiveType<TAbi extends Abi, T extends string> = ExtractAbiEnum<TAbi, T> extends never ? StringToPrimitiveType$1<TAbi, T> : ExtractAbiEnum<TAbi, T> extends {
5991
+ type: "enum";
5992
+ variants: infer TVariants extends readonly AbiParameter[];
5993
+ } ? {
5994
+ [Variant in TVariants[number] as Variant["name"]]: Variant["type"] extends "()" ? // Unit variant (no data): { _tag: "VariantName"; VariantName: null }
5995
+ {
5996
+ _tag: Variant["name"];
5997
+ } & {
5998
+ [K in Variant["name"]]: null;
5999
+ } : // Variant with data: { _tag: "VariantName"; VariantName: StringToPrimitiveType }
6000
+ {
6001
+ _tag: Variant["name"];
6002
+ } & {
6003
+ [K in Variant["name"]]: StringToPrimitiveType<TAbi, Variant["type"]>;
6004
+ };
6005
+ }[TVariants[number]["name"]] : never;
5986
6006
  type ResolveNestedVariantType<TAbi extends Abi, TTypeName extends string> = EventToPrimitiveType<TAbi, TTypeName>;
5987
6007
  type VariantToTaggedUnion<TAbi extends Abi, TVariant extends AbiEventMember> = TVariant extends {
5988
6008
  kind: "nested";
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import _m0 from 'protobufjs/minimal.js';
4
4
  import { StreamConfig } from '@apibara/protocol';
5
5
  import { Abi } from 'abi-wan-kanabi';
6
6
  export { Abi } from 'abi-wan-kanabi';
7
- import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, StringToPrimitiveType } from 'abi-wan-kanabi/kanabi';
7
+ import { ExtractAbiEventNames, ExtractAbiEvent, AbiEventMember, ExtractAbiEnum, StringToPrimitiveType as StringToPrimitiveType$1 } from 'abi-wan-kanabi/kanabi';
8
8
 
9
9
  declare const protobufPackage$1 = "starknet.v2";
10
10
  /** Starknet DNA definitions (data). */
@@ -5983,6 +5983,26 @@ declare function getTransaction(transactionIndex: number, params: {
5983
5983
  transactions: readonly Transaction[];
5984
5984
  } | readonly Transaction[]): Transaction | undefined;
5985
5985
 
5986
+ type AbiParameter = {
5987
+ name: string;
5988
+ type: string;
5989
+ };
5990
+ type StringToPrimitiveType<TAbi extends Abi, T extends string> = ExtractAbiEnum<TAbi, T> extends never ? StringToPrimitiveType$1<TAbi, T> : ExtractAbiEnum<TAbi, T> extends {
5991
+ type: "enum";
5992
+ variants: infer TVariants extends readonly AbiParameter[];
5993
+ } ? {
5994
+ [Variant in TVariants[number] as Variant["name"]]: Variant["type"] extends "()" ? // Unit variant (no data): { _tag: "VariantName"; VariantName: null }
5995
+ {
5996
+ _tag: Variant["name"];
5997
+ } & {
5998
+ [K in Variant["name"]]: null;
5999
+ } : // Variant with data: { _tag: "VariantName"; VariantName: StringToPrimitiveType }
6000
+ {
6001
+ _tag: Variant["name"];
6002
+ } & {
6003
+ [K in Variant["name"]]: StringToPrimitiveType<TAbi, Variant["type"]>;
6004
+ };
6005
+ }[TVariants[number]["name"]] : never;
5986
6006
  type ResolveNestedVariantType<TAbi extends Abi, TTypeName extends string> = EventToPrimitiveType<TAbi, TTypeName>;
5987
6007
  type VariantToTaggedUnion<TAbi extends Abi, TVariant extends AbiEventMember> = TVariant extends {
5988
6008
  kind: "nested";
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { MessageCodec, OptionalCodec, RequiredCodec, BigIntCodec, DateCodec, Str
3
3
  import Long from 'long';
4
4
  import _m0 from 'protobufjs/minimal.js';
5
5
  import { keccak } from '@scure/starknet';
6
- import { parseBool, parseFelt252, parseU8, parseU16, parseU32, parseU64, parseU128, parseU256, parseBytes31, parseContractAddress, ParseError, parseStruct, parseArray, parseSpan, parseOption, parseEmpty, parseByteArray } from './parser.mjs';
6
+ import { parseBool, parseFelt252, parseU8, parseU16, parseU32, parseU64, parseU128, parseU256, parseBytes31, parseContractAddress, ParseError, parseStruct, parseArray, parseSpan, parseOption, parseEmpty, parseByteArray, parseEnum } from './parser.mjs';
7
7
 
8
8
  const MAX_U64 = 0xffffffffffffffffn;
9
9
  const FieldElement$1 = {
@@ -8536,7 +8536,7 @@ function compileTypeParser(abi, type) {
8536
8536
  return compileStructParser(abi, typeAbi.members);
8537
8537
  }
8538
8538
  case "enum": {
8539
- throw new DecodeEventError(`Enum types are not supported: ${type}`);
8539
+ return compileEnumParser(abi, typeAbi);
8540
8540
  }
8541
8541
  default:
8542
8542
  throw new DecodeEventError(`Invalid type ${typeAbi.type}`);
@@ -8552,6 +8552,16 @@ function compileStructParser(abi, members) {
8552
8552
  }
8553
8553
  return parseStruct(parsers);
8554
8554
  }
8555
+ function compileEnumParser(abi, enumAbi) {
8556
+ const parsers = {};
8557
+ for (const [index, variant] of enumAbi.variants.entries()) {
8558
+ parsers[variant.name] = {
8559
+ index,
8560
+ parser: compileTypeParser(abi, variant.type)
8561
+ };
8562
+ }
8563
+ return parseEnum(parsers);
8564
+ }
8555
8565
 
8556
8566
  const StarknetStream = new StreamConfig(
8557
8567
  FilterFromBytes,