@apibara/starknet 2.1.0-beta.37 → 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.cjs +11 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -1
- package/dist/index.d.mts +21 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.mjs +12 -2
- package/dist/index.mjs.map +1 -1
- package/dist/parser.cjs +19 -0
- package/dist/parser.cjs.map +1 -1
- package/dist/parser.d.cts +7 -1
- package/dist/parser.d.mts +7 -1
- package/dist/parser.d.ts +7 -1
- package/dist/parser.mjs +19 -1
- package/dist/parser.mjs.map +1 -1
- package/package.json +2 -2
- package/src/abi-wan-helpers.ts +42 -1
- package/src/event.ts +15 -3
- package/src/parser.ts +28 -0
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
|
-
|
|
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,
|