starknet 8.1.2 → 8.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.
package/dist/index.d.ts CHANGED
@@ -620,6 +620,16 @@ type ByteArray = {
620
620
  type Calldata = string[] & {
621
621
  readonly __compiled__?: true;
622
622
  };
623
+ /**
624
+ * "Abi Entry type"
625
+ * @example
626
+ * 'core::bytes_31::bytes31'
627
+ * 'core::bool'
628
+ * 'core::felt'
629
+ * 'core::uint256'
630
+ * 'core::uint512'
631
+ */
632
+ type AbiEntryType = AbiEntry['type'];
623
633
  /**
624
634
  * Represents an integer in the range [0, 2^256)
625
635
  */
@@ -1840,9 +1850,9 @@ type TipAnalysisOptions = {
1840
1850
  declare function getTipStatsFromBlocks(provider: ProviderInterface, blockIdentifier?: BlockIdentifier, options?: TipAnalysisOptions): Promise<TipEstimate>;
1841
1851
 
1842
1852
  type TransactionStatusReceiptSets = {
1843
- success: SuccessfulTransactionReceiptResponse;
1844
- reverted: RevertedTransactionReceiptResponse;
1845
- error: Error;
1853
+ SUCCEEDED: SuccessfulTransactionReceiptResponse;
1854
+ REVERTED: RevertedTransactionReceiptResponse;
1855
+ ERROR: Error;
1846
1856
  };
1847
1857
  type TransactionReceiptStatus = keyof TransactionStatusReceiptSets;
1848
1858
  type TransactionReceiptValue = TransactionStatusReceiptSets[TransactionReceiptStatus];
@@ -1853,14 +1863,31 @@ type TransactionReceiptCallbacksDefault = Partial<TransactionReceiptCallbacksDef
1853
1863
  _: () => void;
1854
1864
  };
1855
1865
  type TransactionReceiptCallbacks = TransactionReceiptCallbacksDefined | TransactionReceiptCallbacksDefault;
1856
- type TransactionReceiptStatusFromMethod<T extends `is${Capitalize<TransactionReceiptStatus>}`> = T extends `is${infer R}` ? Uncapitalize<R> : never;
1857
- type GetTransactionReceiptResponse<T extends TransactionReceiptStatus = TransactionReceiptStatus> = {
1858
- readonly statusReceipt: T;
1859
- readonly value: TransactionStatusReceiptSets[T];
1866
+ type SuccessfulTransactionReceiptResponseHelper = SuccessfulTransactionReceiptResponse & {
1867
+ readonly statusReceipt: 'SUCCEEDED';
1868
+ readonly value: SuccessfulTransactionReceiptResponse;
1860
1869
  match(callbacks: TransactionReceiptCallbacks): void;
1861
- } & {
1862
- [key in `is${Capitalize<TransactionReceiptStatus>}`]: () => this is GetTransactionReceiptResponse<TransactionReceiptStatusFromMethod<key>>;
1870
+ isSuccess(): this is SuccessfulTransactionReceiptResponseHelper;
1871
+ isReverted(): this is RevertedTransactionReceiptResponseHelper;
1872
+ isError(): this is ErrorReceiptResponseHelper;
1873
+ };
1874
+ type RevertedTransactionReceiptResponseHelper = RevertedTransactionReceiptResponse & {
1875
+ readonly statusReceipt: 'REVERTED';
1876
+ readonly value: RevertedTransactionReceiptResponse;
1877
+ match(callbacks: TransactionReceiptCallbacks): void;
1878
+ isSuccess(): this is SuccessfulTransactionReceiptResponseHelper;
1879
+ isReverted(): this is RevertedTransactionReceiptResponseHelper;
1880
+ isError(): this is ErrorReceiptResponseHelper;
1863
1881
  };
1882
+ type ErrorReceiptResponseHelper = {
1883
+ readonly statusReceipt: 'ERROR';
1884
+ readonly value: Error;
1885
+ match(callbacks: TransactionReceiptCallbacks): void;
1886
+ isSuccess(): this is SuccessfulTransactionReceiptResponseHelper;
1887
+ isReverted(): this is RevertedTransactionReceiptResponseHelper;
1888
+ isError(): this is ErrorReceiptResponseHelper;
1889
+ };
1890
+ type GetTransactionReceiptResponse = SuccessfulTransactionReceiptResponseHelper | RevertedTransactionReceiptResponseHelper | ErrorReceiptResponseHelper;
1864
1891
 
1865
1892
  declare abstract class ResponseParser {
1866
1893
  abstract parseGetBlockResponse(res: BlockWithTxHashes): GetBlockResponse;
@@ -2508,11 +2535,20 @@ declare const Uint: {
2508
2535
  readonly u16: "core::integer::u16";
2509
2536
  readonly u32: "core::integer::u32";
2510
2537
  readonly u64: "core::integer::u64";
2538
+ readonly u96: "core::integer::u96";
2511
2539
  readonly u128: "core::integer::u128";
2512
2540
  readonly u256: "core::integer::u256";
2513
2541
  readonly u512: "core::integer::u512";
2514
2542
  };
2515
2543
  type Uint = ValuesType<typeof Uint>;
2544
+ declare const Int: {
2545
+ readonly i8: "core::integer::i8";
2546
+ readonly i16: "core::integer::i16";
2547
+ readonly i32: "core::integer::i32";
2548
+ readonly i64: "core::integer::i64";
2549
+ readonly i128: "core::integer::i128";
2550
+ };
2551
+ type Int = ValuesType<typeof Int>;
2516
2552
  declare const Literal: {
2517
2553
  readonly ClassHash: "core::starknet::class_hash::ClassHash";
2518
2554
  readonly ContractAddress: "core::starknet::contract_address::ContractAddress";
@@ -2954,6 +2990,178 @@ declare abstract class AccountInterface extends ProviderInterface {
2954
2990
  abstract declareIfNot(contractPayload: DeclareContractPayload, transactionsDetail?: InvocationsDetails): Promise<DeclareContractResponse>;
2955
2991
  }
2956
2992
 
2993
+ /**
2994
+ * Abi parser interface
2995
+ */
2996
+ declare abstract class AbiParserInterface {
2997
+ /**
2998
+ * Helper to calculate inputs length from abi
2999
+ * @param abiMethod FunctionAbi
3000
+ * @return number
3001
+ */
3002
+ abstract methodInputsLength(abiMethod: FunctionAbi): number;
3003
+ /**
3004
+ * get method definition from abi
3005
+ * @param name string
3006
+ * @returns FunctionAbi | undefined
3007
+ */
3008
+ abstract getMethod(name: string): FunctionAbi | undefined;
3009
+ /**
3010
+ * Return Abi in legacy format
3011
+ * @return Abi
3012
+ */
3013
+ abstract getLegacyFormat(): Abi;
3014
+ /**
3015
+ * Get request parser for the given abi type
3016
+ * @param abiType AbiEntryType
3017
+ * @returns Parser function
3018
+ */
3019
+ abstract getRequestParser(abiType: AbiEntryType): (val: unknown) => any;
3020
+ /**
3021
+ * Get response parser for the given abi type
3022
+ * @param abiType AbiEntryType
3023
+ * @returns Parser function
3024
+ */
3025
+ abstract getResponseParser(abiType: AbiEntryType): (responseIterator: Iterator<string>) => any;
3026
+ }
3027
+
3028
+ /**
3029
+ * Parsing map for parser, request and response parsers are separated
3030
+ * Configure parsing strategy for each abi type
3031
+ */
3032
+ type ParsingStrategy = {
3033
+ request: Record<AbiEntryType, (val: unknown) => any>;
3034
+ response: Record<AbiEntryType, (responseIterator: Iterator<string>) => any>;
3035
+ };
3036
+ /**
3037
+ * More robust parsing strategy
3038
+ * Configuration mapping - data-driven approach
3039
+ * Configure parsing strategy for each abi type
3040
+ */
3041
+ declare const hdParsingStrategy: {
3042
+ readonly request: {
3043
+ readonly [x: string]: (val: unknown) => string[];
3044
+ readonly "core::bytes_31::bytes31": (val: unknown) => string[];
3045
+ readonly "core::byte_array::ByteArray": (val: unknown) => string[];
3046
+ readonly "core::felt252": (val: unknown) => string[];
3047
+ readonly "core::integer::u256": (val: unknown) => string[];
3048
+ };
3049
+ readonly response: {
3050
+ readonly [x: string]: ((responseIterator: Iterator<string>) => string) | ((responseIterator: Iterator<string>) => bigint);
3051
+ readonly "core::bytes_31::bytes31": (responseIterator: Iterator<string>) => string;
3052
+ readonly "core::byte_array::ByteArray": (responseIterator: Iterator<string>) => string;
3053
+ readonly "core::felt252": (responseIterator: Iterator<string>) => bigint;
3054
+ readonly "core::integer::u256": (responseIterator: Iterator<string>) => bigint;
3055
+ };
3056
+ };
3057
+ /**
3058
+ * Faster parsing strategy
3059
+ * Configuration mapping - data-driven approach
3060
+ * Configure parsing strategy for each abi type
3061
+ */
3062
+ declare const fastParsingStrategy: ParsingStrategy;
3063
+
3064
+ declare class AbiParser1 implements AbiParserInterface {
3065
+ abi: Abi;
3066
+ parsingStrategy: ParsingStrategy;
3067
+ constructor(abi: Abi, parsingStrategy?: ParsingStrategy);
3068
+ getRequestParser(abiType: AbiEntryType): (val: unknown) => any;
3069
+ getResponseParser(abiType: AbiEntryType): (responseIterator: Iterator<string>) => any;
3070
+ /**
3071
+ * abi method inputs length without '_len' inputs
3072
+ * cairo 0 reducer
3073
+ * @param abiMethod FunctionAbi
3074
+ * @returns number
3075
+ */
3076
+ methodInputsLength(abiMethod: FunctionAbi): number;
3077
+ /**
3078
+ * get method definition from abi
3079
+ * @param name string
3080
+ * @returns FunctionAbi | undefined
3081
+ */
3082
+ getMethod(name: string): FunctionAbi | undefined;
3083
+ /**
3084
+ * Get Abi in legacy format
3085
+ * @returns Abi
3086
+ */
3087
+ getLegacyFormat(): Abi;
3088
+ }
3089
+
3090
+ declare class AbiParser2 implements AbiParserInterface {
3091
+ abi: Abi;
3092
+ parsingStrategy: ParsingStrategy;
3093
+ constructor(abi: Abi, parsingStrategy?: ParsingStrategy);
3094
+ getRequestParser(abiType: AbiEntryType): (val: unknown) => any;
3095
+ getResponseParser(abiType: AbiEntryType): (responseIterator: Iterator<string>) => any;
3096
+ /**
3097
+ * abi method inputs length
3098
+ * @param abiMethod FunctionAbi
3099
+ * @returns number
3100
+ */
3101
+ methodInputsLength(abiMethod: FunctionAbi): number;
3102
+ /**
3103
+ * get method definition from abi
3104
+ * @param name string
3105
+ * @returns FunctionAbi | undefined
3106
+ */
3107
+ getMethod(name: string): FunctionAbi | undefined;
3108
+ /**
3109
+ * Get Abi in legacy format
3110
+ * @returns Abi
3111
+ */
3112
+ getLegacyFormat(): Abi;
3113
+ }
3114
+
3115
+ /**
3116
+ * Creates ABI parser
3117
+ *
3118
+ * @param {Abi} abi
3119
+ * @returns {AbiParserInterface} abi parser interface
3120
+ *
3121
+ * @example
3122
+ * const abiParser2 = createAbiParser([getInterfaceAbi('struct')]);
3123
+ * // abiParser2 instanceof AbiParser2 === true
3124
+ *
3125
+ * const abiParser1 = createAbiParser([getFunctionAbi('struct')]);
3126
+ * // abiParser1 instanceof AbiParser1 === true
3127
+ */
3128
+ declare function createAbiParser(abi: Abi, parsingStrategy?: ParsingStrategy): AbiParserInterface;
3129
+ /**
3130
+ * Retrieves ABI version
3131
+ *
3132
+ * @param {Abi} abi
3133
+ * @returns {1 | 2 | 0} abi 1, 2 or 0 version
3134
+ *
3135
+ * @example
3136
+ * // Example 1: Return ABI version 2
3137
+ * const version = getAbiVersion([getInterfaceAbi()]);
3138
+ * // version === 2
3139
+ *
3140
+ * // Example 2: Return ABI version 1
3141
+ * const version = getAbiVersion([getInterfaceAbi('core::bool')]);
3142
+ * // version === 1
3143
+ *
3144
+ * // Example 3: Return ABI version 0
3145
+ * const version = getAbiVersion([getInterfaceAbi('felt')]);
3146
+ * // version === 0
3147
+ */
3148
+ declare function getAbiVersion(abi: Abi): 1 | 2 | 0;
3149
+ /**
3150
+ * Checks if no constructor valid
3151
+ *
3152
+ * @param {string} method
3153
+ * @param {RawArgs} argsCalldata
3154
+ * @param {FunctionAbi} abiMethod
3155
+ * @returns boolean
3156
+ *
3157
+ * @example
3158
+ * const result1 = isNoConstructorValid('constructor', [])
3159
+ * // result1 === true
3160
+ * const result2 = isNoConstructorValid('test', ['test'])
3161
+ * // result2 === false
3162
+ */
3163
+ declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
3164
+
2957
3165
  type AsyncContractFunction<T = any> = (...args: ArgsOrCalldataWithOptions) => Promise<T>;
2958
3166
  type ContractFunction = (...args: ArgsOrCalldataWithOptions) => any;
2959
3167
  type CallResult = {
@@ -2972,6 +3180,10 @@ type CommonContractOptions = {
2972
3180
  * @default true
2973
3181
  */
2974
3182
  parseResponse?: boolean;
3183
+ /**
3184
+ * Custom parsing strategy for request/response processing
3185
+ */
3186
+ parsingStrategy?: ParsingStrategy;
2975
3187
  };
2976
3188
  type ContractOptions = {
2977
3189
  abi: Abi;
@@ -2996,6 +3208,11 @@ type ExecuteOptions = Pick<CommonContractOptions, 'parseRequest'> & {
2996
3208
  * Deployer contract salt
2997
3209
  */
2998
3210
  salt?: string;
3211
+ /**
3212
+ * Wait for transaction to be included in a block
3213
+ * @default false
3214
+ */
3215
+ waitForTransaction?: boolean;
2999
3216
  } & Partial<UniversalDetails>;
3000
3217
  type CallOptions = CommonContractOptions & {
3001
3218
  formatResponse?: FormatResponse;
@@ -3008,7 +3225,9 @@ type ParsedEvent = {
3008
3225
  block_number?: BlockNumber;
3009
3226
  transaction_hash?: TransactionHash;
3010
3227
  };
3011
- type ParsedEvents = Array<ParsedEvent>;
3228
+ type ParsedEvents = Array<ParsedEvent> & {
3229
+ getByPath?(path: string): ParsedStruct | null;
3230
+ };
3012
3231
  /**
3013
3232
  * Advance formatting used to get js types data as result
3014
3233
  * @description https://starknetjs.com/docs/guides/define_call_message/#formatresponse
@@ -3050,7 +3269,7 @@ type DeployOnlyParams = FactoryParamsBase & {
3050
3269
  constructorCalldata?: RawArgs;
3051
3270
  abi?: Abi;
3052
3271
  };
3053
- type FactoryParams = DeclareAndDeployParams | DeployOnlyParams;
3272
+ type FactoryParams = (DeclareAndDeployParams | DeployOnlyParams) & CommonContractOptions;
3054
3273
 
3055
3274
  type RPC_ERROR_SET = {
3056
3275
  FAILED_TO_RECEIVE_TXN: FAILED_TO_RECEIVE_TXN;
@@ -3237,7 +3456,18 @@ declare function arrayBufferToString(array: ArrayBuffer): string;
3237
3456
  * // result = Uint8Array(2) [ 72, 105 ]
3238
3457
  * ```
3239
3458
  */
3240
- declare function utf8ToArray(str: string): Uint8Array;
3459
+ declare function utf8ToUint8Array(str: string): Uint8Array;
3460
+ /**
3461
+ * @deprecated use utf8ToUint8Array instead
3462
+ */
3463
+ declare const utf8ToArray: typeof utf8ToUint8Array;
3464
+ /**
3465
+ * Convert utf8-string to bigint
3466
+ *
3467
+ * @param str The UTF-8 string to convert.
3468
+ * @returns The converted bigint.
3469
+ */
3470
+ declare function utf8ToBigInt(str: string): bigint;
3241
3471
  /**
3242
3472
  * Convert string to array buffer (browser and node compatible)
3243
3473
  *
@@ -3413,23 +3643,100 @@ declare const pascalToSnake: (text: string) => string;
3413
3643
  * ```
3414
3644
  */
3415
3645
  declare function concatenateArrayBuffer(uint8arrays: Uint8Array[]): Uint8Array;
3646
+ /**
3647
+ * Convert hex string to Uint8Array
3648
+ *
3649
+ * @param {string} hex The hex string to convert (with or without '0x' prefix)
3650
+ * @returns {Uint8Array} The converted byte array
3651
+ * @throws {Error} If the string contains non-hexadecimal characters
3652
+ *
3653
+ * @example
3654
+ * ```typescript
3655
+ * const hexString = '0x48656c6c6f';
3656
+ * const result = encode.hexStringToUint8Array(hexString);
3657
+ * // result = Uint8Array(5) [ 72, 101, 108, 108, 111 ]
3658
+ * ```
3659
+ */
3660
+ declare function hexStringToUint8Array(hex: string): Uint8Array;
3661
+ /**
3662
+ * Convert any string to Uint8Array
3663
+ *
3664
+ * Handles three types of strings:
3665
+ * - Hex strings (e.g., '0x123f') - converts hex bytes to Uint8Array
3666
+ * - Decimal strings (e.g., '124324332') - converts decimal number to bytes
3667
+ * - Text strings (e.g., 'I am cool ☥') - converts UTF-8 text to bytes
3668
+ *
3669
+ * @param {string} str The string to convert
3670
+ * @returns {Uint8Array} The converted byte array
3671
+ *
3672
+ * @example
3673
+ * ```typescript
3674
+ * // Hex string
3675
+ * const hex = stringToUint8Array('0x48656c6c6f');
3676
+ * // result = Uint8Array(5) [ 72, 101, 108, 108, 111 ]
3677
+ *
3678
+ * // Decimal string
3679
+ * const decimal = stringToUint8Array('256');
3680
+ * // result = Uint8Array(2) [ 1, 0 ]
3681
+ *
3682
+ * // Text string
3683
+ * const text = stringToUint8Array('Hello ☥');
3684
+ * // result = UTF-8 encoded bytes
3685
+ * ```
3686
+ */
3687
+ declare function stringToUint8Array(str: string): Uint8Array;
3688
+ /**
3689
+ * Convert bigint to Uint8Array (big-endian)
3690
+ *
3691
+ * @param {bigint} value The bigint value to convert (must be non-negative)
3692
+ * @returns {Uint8Array} The converted byte array in big-endian byte order
3693
+ * @throws {Error} If value is negative
3694
+ *
3695
+ * @example
3696
+ * ```typescript
3697
+ * const value = 256n; // 0x0100
3698
+ * const result = encode.bigIntToUint8Array(value);
3699
+ * // result = Uint8Array([1, 0]) - big-endian, MSB first
3700
+ * ```
3701
+ */
3702
+ declare function bigIntToUint8Array(value: bigint): Uint8Array;
3703
+ /**
3704
+ * Convert Uint8Array to bigint (big-endian)
3705
+ *
3706
+ * @param {Uint8Array} data The Uint8Array to convert (interpreted as big-endian)
3707
+ * @returns {bigint} The converted bigint value
3708
+ *
3709
+ * @example
3710
+ * ```typescript
3711
+ * const data = new Uint8Array([1, 0]); // Big-endian representation
3712
+ * const result = encode.uint8ArrayToBigInt(data);
3713
+ * // result = 256n (0x0100)
3714
+ * ```
3715
+ */
3716
+ declare function uint8ArrayToBigInt(data: Uint8Array): bigint;
3416
3717
 
3417
3718
  declare const encode_IS_BROWSER: typeof IS_BROWSER;
3418
3719
  declare const encode_addHexPrefix: typeof addHexPrefix;
3419
3720
  declare const encode_arrayBufferToString: typeof arrayBufferToString;
3420
3721
  declare const encode_atobUniversal: typeof atobUniversal;
3722
+ declare const encode_bigIntToUint8Array: typeof bigIntToUint8Array;
3421
3723
  declare const encode_btoaUniversal: typeof btoaUniversal;
3422
3724
  declare const encode_buf2hex: typeof buf2hex;
3423
3725
  declare const encode_calcByteLength: typeof calcByteLength;
3424
3726
  declare const encode_concatenateArrayBuffer: typeof concatenateArrayBuffer;
3727
+ declare const encode_hexStringToUint8Array: typeof hexStringToUint8Array;
3425
3728
  declare const encode_padLeft: typeof padLeft;
3426
3729
  declare const encode_pascalToSnake: typeof pascalToSnake;
3427
3730
  declare const encode_removeHexPrefix: typeof removeHexPrefix;
3428
3731
  declare const encode_sanitizeBytes: typeof sanitizeBytes;
3429
3732
  declare const encode_sanitizeHex: typeof sanitizeHex;
3733
+ declare const encode_stringToUint8Array: typeof stringToUint8Array;
3734
+ declare const encode_uint8ArrayToBigInt: typeof uint8ArrayToBigInt;
3430
3735
  declare const encode_utf8ToArray: typeof utf8ToArray;
3736
+ declare const encode_utf8ToBigInt: typeof utf8ToBigInt;
3737
+ declare const encode_utf8ToUint8Array: typeof utf8ToUint8Array;
3431
3738
  declare namespace encode {
3432
- export { encode_IS_BROWSER as IS_BROWSER, encode_addHexPrefix as addHexPrefix, encode_arrayBufferToString as arrayBufferToString, encode_atobUniversal as atobUniversal, encode_btoaUniversal as btoaUniversal, encode_buf2hex as buf2hex, encode_calcByteLength as calcByteLength, encode_concatenateArrayBuffer as concatenateArrayBuffer, encode_padLeft as padLeft, encode_pascalToSnake as pascalToSnake, encode_removeHexPrefix as removeHexPrefix, encode_sanitizeBytes as sanitizeBytes, encode_sanitizeHex as sanitizeHex, encode_utf8ToArray as utf8ToArray };
3739
+ export { encode_IS_BROWSER as IS_BROWSER, encode_addHexPrefix as addHexPrefix, encode_arrayBufferToString as arrayBufferToString, encode_atobUniversal as atobUniversal, encode_bigIntToUint8Array as bigIntToUint8Array, encode_btoaUniversal as btoaUniversal, encode_buf2hex as buf2hex, encode_calcByteLength as calcByteLength, encode_concatenateArrayBuffer as concatenateArrayBuffer, encode_hexStringToUint8Array as hexStringToUint8Array, encode_padLeft as padLeft, encode_pascalToSnake as pascalToSnake, encode_removeHexPrefix as removeHexPrefix, encode_sanitizeBytes as sanitizeBytes, encode_sanitizeHex as sanitizeHex, encode_stringToUint8Array as stringToUint8Array, encode_uint8ArrayToBigInt as uint8ArrayToBigInt, encode_utf8ToArray as utf8ToArray, encode_utf8ToBigInt as utf8ToBigInt, encode_utf8ToUint8Array as utf8ToUint8Array };
3433
3740
  }
3434
3741
 
3435
3742
  /**
@@ -3447,7 +3754,23 @@ declare const RANGE_FELT: {
3447
3754
  readonly min: bigint;
3448
3755
  readonly max: bigint;
3449
3756
  };
3450
- declare const RANGE_I128: {
3757
+ declare const RANGE_U8: {
3758
+ readonly min: bigint;
3759
+ readonly max: bigint;
3760
+ };
3761
+ declare const RANGE_U16: {
3762
+ readonly min: bigint;
3763
+ readonly max: bigint;
3764
+ };
3765
+ declare const RANGE_U32: {
3766
+ readonly min: bigint;
3767
+ readonly max: bigint;
3768
+ };
3769
+ declare const RANGE_U64: {
3770
+ readonly min: bigint;
3771
+ readonly max: bigint;
3772
+ };
3773
+ declare const RANGE_U96: {
3451
3774
  readonly min: bigint;
3452
3775
  readonly max: bigint;
3453
3776
  };
@@ -3455,6 +3778,26 @@ declare const RANGE_U128: {
3455
3778
  readonly min: bigint;
3456
3779
  readonly max: bigint;
3457
3780
  };
3781
+ declare const RANGE_I8: {
3782
+ readonly min: bigint;
3783
+ readonly max: bigint;
3784
+ };
3785
+ declare const RANGE_I16: {
3786
+ readonly min: bigint;
3787
+ readonly max: bigint;
3788
+ };
3789
+ declare const RANGE_I32: {
3790
+ readonly min: bigint;
3791
+ readonly max: bigint;
3792
+ };
3793
+ declare const RANGE_I64: {
3794
+ readonly min: bigint;
3795
+ readonly max: bigint;
3796
+ };
3797
+ declare const RANGE_I128: {
3798
+ readonly min: bigint;
3799
+ readonly max: bigint;
3800
+ };
3458
3801
  declare const LegacyUDC: {
3459
3802
  readonly ADDRESS: "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf";
3460
3803
  readonly ENTRYPOINT: "deployContract";
@@ -3516,6 +3859,7 @@ declare const DEFAULT_GLOBAL_CONFIG: {
3516
3859
  defaultTipType: TipType;
3517
3860
  fetch: any;
3518
3861
  websocket: any;
3862
+ buffer: any;
3519
3863
  };
3520
3864
  declare const RPC_DEFAULT_NODES: {
3521
3865
  readonly SN_MAIN: readonly ["https://starknet-mainnet.public.blastapi.io/rpc/"];
@@ -3534,6 +3878,9 @@ declare const SYSTEM_MESSAGES: {
3534
3878
  maxFeeInV3: string;
3535
3879
  declareNonSierra: string;
3536
3880
  unsupportedMethodForRpcVersion: string;
3881
+ txEvictedFromMempool: string;
3882
+ consensusFailed: string;
3883
+ txFailsBlockBuildingValidation: string;
3537
3884
  };
3538
3885
 
3539
3886
  declare const constants_ADDR_BOUND: typeof ADDR_BOUND;
@@ -3551,7 +3898,16 @@ declare const constants_PAYMASTER_RPC_NODES: typeof PAYMASTER_RPC_NODES;
3551
3898
  declare const constants_PRIME: typeof PRIME;
3552
3899
  declare const constants_RANGE_FELT: typeof RANGE_FELT;
3553
3900
  declare const constants_RANGE_I128: typeof RANGE_I128;
3901
+ declare const constants_RANGE_I16: typeof RANGE_I16;
3902
+ declare const constants_RANGE_I32: typeof RANGE_I32;
3903
+ declare const constants_RANGE_I64: typeof RANGE_I64;
3904
+ declare const constants_RANGE_I8: typeof RANGE_I8;
3554
3905
  declare const constants_RANGE_U128: typeof RANGE_U128;
3906
+ declare const constants_RANGE_U16: typeof RANGE_U16;
3907
+ declare const constants_RANGE_U32: typeof RANGE_U32;
3908
+ declare const constants_RANGE_U64: typeof RANGE_U64;
3909
+ declare const constants_RANGE_U8: typeof RANGE_U8;
3910
+ declare const constants_RANGE_U96: typeof RANGE_U96;
3555
3911
  declare const constants_RPC_DEFAULT_NODES: typeof RPC_DEFAULT_NODES;
3556
3912
  declare const constants_SNIP9_V1_INTERFACE_ID: typeof SNIP9_V1_INTERFACE_ID;
3557
3913
  declare const constants_SNIP9_V2_INTERFACE_ID: typeof SNIP9_V2_INTERFACE_ID;
@@ -3562,7 +3918,7 @@ declare const constants_TEXT_TO_FELT_MAX_LEN: typeof TEXT_TO_FELT_MAX_LEN;
3562
3918
  declare const constants_UDC: typeof UDC;
3563
3919
  declare const constants_ZERO: typeof ZERO;
3564
3920
  declare namespace constants {
3565
- export { constants_ADDR_BOUND as ADDR_BOUND, constants_API_VERSION as API_VERSION, _BaseUrl as BaseUrl, constants_DEFAULT_GLOBAL_CONFIG as DEFAULT_GLOBAL_CONFIG, constants_HARDENING_4BYTES as HARDENING_4BYTES, constants_HARDENING_BYTE as HARDENING_BYTE, constants_IS_BROWSER as IS_BROWSER, constants_LegacyUDC as LegacyUDC, constants_MASK_250 as MASK_250, constants_MASK_31 as MASK_31, constants_MAX_STORAGE_ITEM_SIZE as MAX_STORAGE_ITEM_SIZE, _NetworkName as NetworkName, constants_OutsideExecutionCallerAny as OutsideExecutionCallerAny, constants_PAYMASTER_RPC_NODES as PAYMASTER_RPC_NODES, constants_PRIME as PRIME, constants_RANGE_FELT as RANGE_FELT, constants_RANGE_I128 as RANGE_I128, constants_RANGE_U128 as RANGE_U128, constants_RPC_DEFAULT_NODES as RPC_DEFAULT_NODES, constants_SNIP9_V1_INTERFACE_ID as SNIP9_V1_INTERFACE_ID, constants_SNIP9_V2_INTERFACE_ID as SNIP9_V2_INTERFACE_ID, constants_SYSTEM_MESSAGES as SYSTEM_MESSAGES, _StarknetChainId as StarknetChainId, type constants_SupportedCairoVersion as SupportedCairoVersion, _SupportedRpcVersion as SupportedRpcVersion, type constants_SupportedTransactionVersion as SupportedTransactionVersion, constants_TEXT_TO_FELT_MAX_LEN as TEXT_TO_FELT_MAX_LEN, _TransactionHashPrefix as TransactionHashPrefix, constants_UDC as UDC, constants_ZERO as ZERO };
3921
+ export { constants_ADDR_BOUND as ADDR_BOUND, constants_API_VERSION as API_VERSION, _BaseUrl as BaseUrl, constants_DEFAULT_GLOBAL_CONFIG as DEFAULT_GLOBAL_CONFIG, constants_HARDENING_4BYTES as HARDENING_4BYTES, constants_HARDENING_BYTE as HARDENING_BYTE, constants_IS_BROWSER as IS_BROWSER, constants_LegacyUDC as LegacyUDC, constants_MASK_250 as MASK_250, constants_MASK_31 as MASK_31, constants_MAX_STORAGE_ITEM_SIZE as MAX_STORAGE_ITEM_SIZE, _NetworkName as NetworkName, constants_OutsideExecutionCallerAny as OutsideExecutionCallerAny, constants_PAYMASTER_RPC_NODES as PAYMASTER_RPC_NODES, constants_PRIME as PRIME, constants_RANGE_FELT as RANGE_FELT, constants_RANGE_I128 as RANGE_I128, constants_RANGE_I16 as RANGE_I16, constants_RANGE_I32 as RANGE_I32, constants_RANGE_I64 as RANGE_I64, constants_RANGE_I8 as RANGE_I8, constants_RANGE_U128 as RANGE_U128, constants_RANGE_U16 as RANGE_U16, constants_RANGE_U32 as RANGE_U32, constants_RANGE_U64 as RANGE_U64, constants_RANGE_U8 as RANGE_U8, constants_RANGE_U96 as RANGE_U96, constants_RPC_DEFAULT_NODES as RPC_DEFAULT_NODES, constants_SNIP9_V1_INTERFACE_ID as SNIP9_V1_INTERFACE_ID, constants_SNIP9_V2_INTERFACE_ID as SNIP9_V2_INTERFACE_ID, constants_SYSTEM_MESSAGES as SYSTEM_MESSAGES, _StarknetChainId as StarknetChainId, type constants_SupportedCairoVersion as SupportedCairoVersion, _SupportedRpcVersion as SupportedRpcVersion, type constants_SupportedTransactionVersion as SupportedTransactionVersion, constants_TEXT_TO_FELT_MAX_LEN as TEXT_TO_FELT_MAX_LEN, _TransactionHashPrefix as TransactionHashPrefix, constants_UDC as UDC, constants_ZERO as ZERO };
3566
3922
  }
3567
3923
 
3568
3924
  declare class RpcChannel$1 {
@@ -4224,7 +4580,7 @@ declare class RpcError<BaseErrorT extends RPC_ERROR = RPC_ERROR> extends Library
4224
4580
  params: any;
4225
4581
  };
4226
4582
  constructor(baseError: BaseErrorT, method: string, params: any);
4227
- get code(): 1 | 66 | 10 | 31 | 20 | 32 | 40 | 33 | 21 | 24 | 27 | 28 | 29 | 34 | 41 | 42 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 67 | 68 | 100 | 150 | 151 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 163;
4583
+ get code(): 1 | 66 | 10 | 31 | 20 | 21 | 24 | 27 | 28 | 29 | 32 | 33 | 34 | 40 | 41 | 42 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 67 | 68 | 100 | 150 | 151 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 163;
4228
4584
  /**
4229
4585
  * Verifies the underlying RPC error, also serves as a type guard for the _baseError_ property
4230
4586
  * @example
@@ -4882,6 +5238,8 @@ declare class Contract implements ContractInterface {
4882
5238
  address: string;
4883
5239
  providerOrAccount: ProviderOrAccount;
4884
5240
  classHash?: string;
5241
+ parseRequest: boolean;
5242
+ parseResponse: boolean;
4885
5243
  private structs;
4886
5244
  private events;
4887
5245
  readonly functions: {
@@ -4899,6 +5257,7 @@ declare class Contract implements ContractInterface {
4899
5257
  readonly [key: string]: AsyncContractFunction | any;
4900
5258
  private callData;
4901
5259
  withOptionsProps?: WithOptions;
5260
+ private parsingStrategy?;
4902
5261
  /**
4903
5262
  * @param options
4904
5263
  * - abi: Abi of the contract object (required)
@@ -4906,13 +5265,20 @@ declare class Contract implements ContractInterface {
4906
5265
  * - providerOrAccount?: Provider or Account to attach to (fallback to defaultProvider)
4907
5266
  * - parseRequest?: compile and validate arguments (optional, default true)
4908
5267
  * - parseResponse?: Parse elements of the response array and structuring them into response object (optional, default true)
5268
+ * - parser?: Abi parser (optional, default createAbiParser(options.abi))
4909
5269
  */
4910
5270
  constructor(options: ContractOptions);
4911
5271
  withOptions(options: WithOptions): this;
4912
5272
  attach(address: string, abi?: Abi): void;
4913
- isDeployed(): Promise<Contract>;
5273
+ isDeployed(): Promise<this>;
4914
5274
  call(method: string, args?: ArgsOrCalldata, { parseRequest, parseResponse, formatResponse, blockIdentifier, }?: CallOptions): Promise<CallResult>;
4915
- invoke(method: string, args?: ArgsOrCalldata, { parseRequest, signature, ...RestInvokeOptions }?: ExecuteOptions): Promise<InvokeFunctionResponse>;
5275
+ invoke(method: string, args: ArgsOrCalldata, options: ExecuteOptions & {
5276
+ waitForTransaction: true;
5277
+ }): Promise<SuccessfulTransactionReceiptResponseHelper>;
5278
+ invoke(method: string, args: ArgsOrCalldata, options: ExecuteOptions & {
5279
+ waitForTransaction: false;
5280
+ }): Promise<InvokeFunctionResponse>;
5281
+ invoke(method: string, args?: ArgsOrCalldata, options?: ExecuteOptions): Promise<InvokeFunctionResponse>;
4916
5282
  estimate(method: string, args?: ArgsOrCalldata, estimateDetails?: UniversalDetails): Promise<EstimateFeeResponseOverhead>;
4917
5283
  populate(method: string, args?: RawArgs): Call;
4918
5284
  parseEvents(receipt: GetTransactionReceiptResponse): ParsedEvents;
@@ -5507,6 +5873,7 @@ declare namespace json {
5507
5873
  * ```
5508
5874
  */
5509
5875
  declare function isHex(hex: string): boolean;
5876
+ declare const isHexString: typeof isHex;
5510
5877
  /**
5511
5878
  * Convert BigNumberish to bigint
5512
5879
  *
@@ -5764,7 +6131,7 @@ declare function addPercent(number: BigNumberish, percent: number): bigint;
5764
6131
  declare function stringToSha256ToArrayBuff4(str: string): Uint8Array;
5765
6132
  /**
5766
6133
  * Checks if a given value is of BigNumberish type.
5767
- * 234, 234n, "234", "0xea" are valid
6134
+ * 234, 234n, "234", "0xea" are valid, exclude boolean and string
5768
6135
  * @param {unknown} input a value
5769
6136
  * @returns {boolean} true if type of input is `BigNumberish`
5770
6137
  * @example
@@ -5774,6 +6141,14 @@ declare function stringToSha256ToArrayBuff4(str: string): Uint8Array;
5774
6141
  * ```
5775
6142
  */
5776
6143
  declare function isBigNumberish(input: unknown): input is BigNumberish;
6144
+ /**
6145
+ * Expect the next value from an iterator
6146
+ *
6147
+ * @param iterator The iterator to get the next value from.
6148
+ * @returns The next value from the iterator.
6149
+ * @throws Error if the iterator is done.
6150
+ */
6151
+ declare function getNext(iterator: Iterator<string>): string;
5777
6152
 
5778
6153
  declare const num_addPercent: typeof addPercent;
5779
6154
  declare const num_assertInRange: typeof assertInRange;
@@ -5783,10 +6158,12 @@ declare const num_cleanHex: typeof cleanHex;
5783
6158
  declare const num_getDecimalString: typeof getDecimalString;
5784
6159
  declare const num_getHexString: typeof getHexString;
5785
6160
  declare const num_getHexStringArray: typeof getHexStringArray;
6161
+ declare const num_getNext: typeof getNext;
5786
6162
  declare const num_hexToBytes: typeof hexToBytes;
5787
6163
  declare const num_hexToDecimalString: typeof hexToDecimalString;
5788
6164
  declare const num_isBigNumberish: typeof isBigNumberish;
5789
6165
  declare const num_isHex: typeof isHex;
6166
+ declare const num_isHexString: typeof isHexString;
5790
6167
  declare const num_isStringWholeNumber: typeof isStringWholeNumber;
5791
6168
  declare const num_stringToSha256ToArrayBuff4: typeof stringToSha256ToArrayBuff4;
5792
6169
  declare const num_toBigInt: typeof toBigInt;
@@ -5797,7 +6174,7 @@ declare const num_toHexString: typeof toHexString;
5797
6174
  declare const num_toStorageKey: typeof toStorageKey;
5798
6175
  declare const num_tryToBigInt: typeof tryToBigInt;
5799
6176
  declare namespace num {
5800
- export { num_addPercent as addPercent, num_assertInRange as assertInRange, num_bigNumberishArrayToDecimalStringArray as bigNumberishArrayToDecimalStringArray, num_bigNumberishArrayToHexadecimalStringArray as bigNumberishArrayToHexadecimalStringArray, num_cleanHex as cleanHex, num_getDecimalString as getDecimalString, num_getHexString as getHexString, num_getHexStringArray as getHexStringArray, num_hexToBytes as hexToBytes, num_hexToDecimalString as hexToDecimalString, num_isBigNumberish as isBigNumberish, num_isHex as isHex, num_isStringWholeNumber as isStringWholeNumber, num_stringToSha256ToArrayBuff4 as stringToSha256ToArrayBuff4, num_toBigInt as toBigInt, num_toCairoBool as toCairoBool, num_toHex as toHex, num_toHex64 as toHex64, num_toHexString as toHexString, num_toStorageKey as toStorageKey, num_tryToBigInt as tryToBigInt };
6177
+ export { num_addPercent as addPercent, num_assertInRange as assertInRange, num_bigNumberishArrayToDecimalStringArray as bigNumberishArrayToDecimalStringArray, num_bigNumberishArrayToHexadecimalStringArray as bigNumberishArrayToHexadecimalStringArray, num_cleanHex as cleanHex, num_getDecimalString as getDecimalString, num_getHexString as getHexString, num_getHexStringArray as getHexStringArray, num_getNext as getNext, num_hexToBytes as hexToBytes, num_hexToDecimalString as hexToDecimalString, num_isBigNumberish as isBigNumberish, num_isHex as isHex, num_isHexString as isHexString, num_isStringWholeNumber as isStringWholeNumber, num_stringToSha256ToArrayBuff4 as stringToSha256ToArrayBuff4, num_toBigInt as toBigInt, num_toCairoBool as toCairoBool, num_toHex as toHex, num_toHex64 as toHex64, num_toHexString as toHexString, num_toStorageKey as toStorageKey, num_tryToBigInt as tryToBigInt };
5801
6178
  }
5802
6179
 
5803
6180
  /**
@@ -6464,7 +6841,7 @@ declare function isDecimalString(str: string): boolean;
6464
6841
  * // result = false
6465
6842
  * ```
6466
6843
  */
6467
- declare function isText(val: any): boolean;
6844
+ declare function isText(val: any): val is string;
6468
6845
  /**
6469
6846
  * Test if value is short text
6470
6847
  * @param {any} val - The item to test
@@ -6499,6 +6876,7 @@ declare const isLongText: (val: any) => boolean;
6499
6876
  */
6500
6877
  declare function splitLongString(longStr: string): string[];
6501
6878
  /**
6879
+ * @deprecated use Utf8 instead
6502
6880
  * Convert an ASCII short string to a hexadecimal string.
6503
6881
  * @param {string} str short string (ASCII string, 31 characters max)
6504
6882
  * @returns {string} hex-string with 248 bits max
@@ -6510,6 +6888,7 @@ declare function splitLongString(longStr: string): string[];
6510
6888
  */
6511
6889
  declare function encodeShortString(str: string): string;
6512
6890
  /**
6891
+ * @deprecated use Utf8 instead
6513
6892
  * Convert a hexadecimal or decimal string to an ASCII string.
6514
6893
  * @param {string} str representing a 248 bit max number (ex. "0x1A4F64EA56" or "236942575435676423")
6515
6894
  * @returns {string} short string; 31 characters max
@@ -7250,7 +7629,7 @@ declare function getAbiEvents(abi: Abi): AbiEvents;
7250
7629
  }}]
7251
7630
  * ```
7252
7631
  */
7253
- declare function parseEvents(providerReceivedEvents: EmittedEvent$1[], abiEvents: AbiEvents, abiStructs: AbiStructs, abiEnums: AbiEnums): ParsedEvents;
7632
+ declare function parseEvents(providerReceivedEvents: EmittedEvent$1[], abiEvents: AbiEvents, abiStructs: AbiStructs, abiEnums: AbiEnums, parser: AbiParserInterface): ParsedEvents;
7254
7633
 
7255
7634
  declare const index_getAbiEvents: typeof getAbiEvents;
7256
7635
  declare const index_isAbiEvent: typeof isAbiEvent;
@@ -7538,6 +7917,96 @@ declare class BatchClient<T extends {
7538
7917
  }>(method: M, params?: T[M]['params'], id?: string | number): Promise<TResponse>;
7539
7918
  }
7540
7919
 
7920
+ declare class CairoUint8 {
7921
+ data: bigint;
7922
+ static abiSelector: string;
7923
+ constructor(data: BigNumberish | boolean | unknown);
7924
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
7925
+ toApiRequest(): string[];
7926
+ toBigInt(): bigint;
7927
+ decodeUtf8(): string;
7928
+ toHexString(): string;
7929
+ static validate(data: BigNumberish | boolean | unknown): void;
7930
+ static is(data: BigNumberish | boolean | unknown): boolean;
7931
+ /**
7932
+ * Check if provided abi type is this data type
7933
+ */
7934
+ static isAbiType(abiType: string): boolean;
7935
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint8;
7936
+ }
7937
+
7938
+ declare class CairoUint16 {
7939
+ data: bigint;
7940
+ static abiSelector: string;
7941
+ constructor(data: BigNumberish | boolean | unknown);
7942
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
7943
+ toApiRequest(): string[];
7944
+ toBigInt(): bigint;
7945
+ decodeUtf8(): string;
7946
+ toHexString(): string;
7947
+ static validate(data: BigNumberish | boolean | unknown): void;
7948
+ static is(data: BigNumberish | boolean | unknown): boolean;
7949
+ /**
7950
+ * Check if provided abi type is this data type
7951
+ */
7952
+ static isAbiType(abiType: string): boolean;
7953
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint16;
7954
+ }
7955
+
7956
+ declare class CairoUint64 {
7957
+ data: bigint;
7958
+ static abiSelector: string;
7959
+ constructor(data: BigNumberish | boolean | unknown);
7960
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
7961
+ toApiRequest(): string[];
7962
+ toBigInt(): bigint;
7963
+ decodeUtf8(): string;
7964
+ toHexString(): string;
7965
+ static validate(data: BigNumberish | boolean | unknown): void;
7966
+ static is(data: BigNumberish | boolean | unknown): boolean;
7967
+ /**
7968
+ * Check if provided abi type is this data type
7969
+ */
7970
+ static isAbiType(abiType: string): boolean;
7971
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint64;
7972
+ }
7973
+
7974
+ declare class CairoUint96 {
7975
+ data: bigint;
7976
+ static abiSelector: string;
7977
+ constructor(data: BigNumberish | boolean | unknown);
7978
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
7979
+ toApiRequest(): string[];
7980
+ toBigInt(): bigint;
7981
+ decodeUtf8(): string;
7982
+ toHexString(): string;
7983
+ static validate(data: BigNumberish | boolean | unknown): void;
7984
+ static is(data: BigNumberish | boolean | unknown): boolean;
7985
+ /**
7986
+ * Check if provided abi type is this data type
7987
+ */
7988
+ static isAbiType(abiType: string): boolean;
7989
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint96;
7990
+ }
7991
+
7992
+ declare class CairoUint128 {
7993
+ data: bigint;
7994
+ static abiSelector: string;
7995
+ constructor(data: BigNumberish | boolean | unknown);
7996
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
7997
+ toApiRequest(): string[];
7998
+ toBigInt(): bigint;
7999
+ decodeUtf8(): string;
8000
+ toHexString(): string;
8001
+ static validate(data: BigNumberish | boolean | unknown): void;
8002
+ static is(data: BigNumberish | boolean | unknown): boolean;
8003
+ /**
8004
+ * Check if provided abi type is this data type
8005
+ */
8006
+ static isAbiType(abiType: string): boolean;
8007
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint128;
8008
+ }
8009
+
7541
8010
  /**
7542
8011
  * Singular class handling cairo u256 data type
7543
8012
  */
@@ -7552,24 +8021,19 @@ declare const UINT_256_HIGH_MIN = 0n;
7552
8021
  declare class CairoUint256 {
7553
8022
  low: bigint;
7554
8023
  high: bigint;
7555
- static abiSelector: string;
8024
+ static abiSelector: "core::integer::u256";
7556
8025
  /**
7557
8026
  * Default constructor (Lib usage)
7558
- * @param bigNumberish BigNumberish value representing uin256
7559
8027
  */
7560
- constructor(bigNumberish: BigNumberish);
8028
+ constructor(data: BigNumberish | Uint256 | unknown);
7561
8029
  /**
7562
8030
  * Direct props initialization (Api response)
7563
8031
  */
7564
8032
  constructor(low: BigNumberish, high: BigNumberish);
7565
- /**
7566
- * Initialization from Uint256 object
7567
- */
7568
- constructor(uint256: Uint256);
7569
8033
  /**
7570
8034
  * Validate if BigNumberish can be represented as Unit256
7571
8035
  */
7572
- static validate(bigNumberish: BigNumberish): bigint;
8036
+ static validate(bigNumberish: BigNumberish | unknown): bigint;
7573
8037
  /**
7574
8038
  * Validate if low and high can be represented as Unit256
7575
8039
  */
@@ -7580,11 +8044,12 @@ declare class CairoUint256 {
7580
8044
  /**
7581
8045
  * Check if BigNumberish can be represented as Unit256
7582
8046
  */
7583
- static is(bigNumberish: BigNumberish): boolean;
8047
+ static is(bigNumberish: BigNumberish | unknown): boolean;
7584
8048
  /**
7585
8049
  * Check if provided abi type is this data type
7586
8050
  */
7587
- static isAbiType(abiType: string): boolean;
8051
+ static isAbiType(abiType: string): abiType is "core::integer::u256";
8052
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint256;
7588
8053
  /**
7589
8054
  * Return bigint representation
7590
8055
  */
@@ -7626,21 +8091,16 @@ declare class CairoUint512 {
7626
8091
  static abiSelector: string;
7627
8092
  /**
7628
8093
  * Default constructor (Lib usage)
7629
- * @param bigNumberish BigNumberish value representing u512
7630
8094
  */
7631
- constructor(bigNumberish: BigNumberish);
8095
+ constructor(bigNumberish: BigNumberish | Uint512 | unknown);
7632
8096
  /**
7633
8097
  * Direct props initialization (Api response)
7634
8098
  */
7635
8099
  constructor(limb0: BigNumberish, limb1: BigNumberish, limb2: BigNumberish, limb3: BigNumberish);
7636
- /**
7637
- * Initialization from Uint512 object
7638
- */
7639
- constructor(uint512: Uint512);
7640
8100
  /**
7641
8101
  * Validate if BigNumberish can be represented as Uint512
7642
8102
  */
7643
- static validate(bigNumberish: BigNumberish): bigint;
8103
+ static validate(bigNumberish: BigNumberish | unknown): bigint;
7644
8104
  /**
7645
8105
  * Validate if limbs can be represented as Uint512
7646
8106
  */
@@ -7653,11 +8113,12 @@ declare class CairoUint512 {
7653
8113
  /**
7654
8114
  * Check if BigNumberish can be represented as Uint512
7655
8115
  */
7656
- static is(bigNumberish: BigNumberish): boolean;
8116
+ static is(bigNumberish: BigNumberish | unknown): boolean;
7657
8117
  /**
7658
8118
  * Check if provided abi type is this data type
7659
8119
  */
7660
8120
  static isAbiType(abiType: string): boolean;
8121
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint512;
7661
8122
  /**
7662
8123
  * Return bigint representation
7663
8124
  */
@@ -7688,6 +8149,116 @@ declare class CairoUint512 {
7688
8149
  toApiRequest(): string[];
7689
8150
  }
7690
8151
 
8152
+ declare class CairoInt8 {
8153
+ data: bigint;
8154
+ static abiSelector: string;
8155
+ constructor(data: BigNumberish | boolean | unknown);
8156
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
8157
+ toApiRequest(): string[];
8158
+ toBigInt(): bigint;
8159
+ decodeUtf8(): string;
8160
+ /**
8161
+ * For negative values field element representation as positive hex string.
8162
+ * @returns cairo field arithmetic hex string
8163
+ */
8164
+ toHexString(): string;
8165
+ static validate(data: BigNumberish | boolean | unknown): void;
8166
+ static is(data: BigNumberish | boolean | unknown): boolean;
8167
+ /**
8168
+ * Check if provided abi type is this data type
8169
+ */
8170
+ static isAbiType(abiType: string): boolean;
8171
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoInt8;
8172
+ }
8173
+
8174
+ declare class CairoInt16 {
8175
+ data: bigint;
8176
+ static abiSelector: string;
8177
+ constructor(data: BigNumberish | boolean | unknown);
8178
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
8179
+ toApiRequest(): string[];
8180
+ toBigInt(): bigint;
8181
+ decodeUtf8(): string;
8182
+ /**
8183
+ * For negative values field element representation as positive hex string.
8184
+ * @returns cairo field arithmetic hex string
8185
+ */
8186
+ toHexString(): string;
8187
+ static validate(data: BigNumberish | boolean | unknown): void;
8188
+ static is(data: BigNumberish | boolean | unknown): boolean;
8189
+ /**
8190
+ * Check if provided abi type is this data type
8191
+ */
8192
+ static isAbiType(abiType: string): boolean;
8193
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoInt16;
8194
+ }
8195
+
8196
+ declare class CairoInt32 {
8197
+ data: bigint;
8198
+ static abiSelector: string;
8199
+ constructor(data: BigNumberish | boolean | unknown);
8200
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
8201
+ toApiRequest(): string[];
8202
+ toBigInt(): bigint;
8203
+ decodeUtf8(): string;
8204
+ /**
8205
+ * For negative values field element representation as positive hex string.
8206
+ * @returns cairo field arithmetic hex string
8207
+ */
8208
+ toHexString(): string;
8209
+ static validate(data: BigNumberish | boolean | unknown): void;
8210
+ static is(data: BigNumberish | boolean | unknown): boolean;
8211
+ /**
8212
+ * Check if provided abi type is this data type
8213
+ */
8214
+ static isAbiType(abiType: string): boolean;
8215
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoInt32;
8216
+ }
8217
+
8218
+ declare class CairoInt64 {
8219
+ data: bigint;
8220
+ static abiSelector: string;
8221
+ constructor(data: BigNumberish | boolean | unknown);
8222
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
8223
+ toApiRequest(): string[];
8224
+ toBigInt(): bigint;
8225
+ decodeUtf8(): string;
8226
+ /**
8227
+ * For negative values field element representation as positive hex string.
8228
+ * @returns cairo field arithmetic hex string
8229
+ */
8230
+ toHexString(): string;
8231
+ static validate(data: BigNumberish | boolean | unknown): void;
8232
+ static is(data: BigNumberish | boolean | unknown): boolean;
8233
+ /**
8234
+ * Check if provided abi type is this data type
8235
+ */
8236
+ static isAbiType(abiType: string): boolean;
8237
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoInt64;
8238
+ }
8239
+
8240
+ declare class CairoInt128 {
8241
+ data: bigint;
8242
+ static abiSelector: string;
8243
+ constructor(data: BigNumberish | boolean | unknown);
8244
+ static __processData(data: BigNumberish | boolean | unknown): bigint;
8245
+ toApiRequest(): string[];
8246
+ toBigInt(): bigint;
8247
+ decodeUtf8(): string;
8248
+ /**
8249
+ * For negative values field element representation as positive hex string.
8250
+ * @returns cairo field arithmetic hex string
8251
+ */
8252
+ toHexString(): string;
8253
+ static validate(data: BigNumberish | boolean | unknown): void;
8254
+ static is(data: BigNumberish | boolean | unknown): boolean;
8255
+ /**
8256
+ * Check if provided abi type is this data type
8257
+ */
8258
+ static isAbiType(abiType: string): boolean;
8259
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoInt128;
8260
+ }
8261
+
7691
8262
  declare class CairoFixedArray {
7692
8263
  /**
7693
8264
  * JS array representing a Cairo fixed array.
@@ -7774,6 +8345,7 @@ declare class CairoFixedArray {
7774
8345
  compile(): Object;
7775
8346
  /**
7776
8347
  * Checks if the given Cairo type is a fixed-array type.
8348
+ * structure: [string; number]
7777
8349
  *
7778
8350
  * @param {string} type - The type to check.
7779
8351
  * @returns - `true` if the type is a fixed array type, `false` otherwise.
@@ -7784,6 +8356,119 @@ declare class CairoFixedArray {
7784
8356
  static isTypeFixedArray(type: string): boolean;
7785
8357
  }
7786
8358
 
8359
+ declare class CairoBytes31 {
8360
+ static MAX_BYTE_SIZE: 31;
8361
+ data: Uint8Array;
8362
+ static abiSelector: "core::bytes_31::bytes31";
8363
+ constructor(data: string | Uint8Array | Buffer | unknown);
8364
+ static __processData(data: Uint8Array | string | Buffer | unknown): Uint8Array;
8365
+ toApiRequest(): string[];
8366
+ toBigInt(): bigint;
8367
+ decodeUtf8(): string;
8368
+ toHexString(): string;
8369
+ static validate(data: Uint8Array | string | Buffer | unknown): void;
8370
+ static is(data: Uint8Array | string | Buffer): boolean;
8371
+ /**
8372
+ * Check if provided abi type is this data type
8373
+ */
8374
+ static isAbiType(abiType: string): boolean;
8375
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoBytes31;
8376
+ }
8377
+
8378
+ /**
8379
+ * felt252 is the basic field element used in Cairo.
8380
+ * It corresponds to an integer in the range 0 ≤ x < P where P is a very large prime number currently equal to 2^251 + 17⋅2^192 + 1.
8381
+ * Any operation that uses felt252 will be computed modulo P.
8382
+ * 63 hex symbols (31 bytes + 4 bits), 252 bits
8383
+ */
8384
+ declare class CairoFelt252 {
8385
+ /**
8386
+ * byte representation of the felt252
8387
+ */
8388
+ data: Uint8Array;
8389
+ static abiSelector: "core::felt252";
8390
+ constructor(data: BigNumberish | boolean | unknown);
8391
+ static __processData(data: BigNumberish | boolean): Uint8Array;
8392
+ toBigInt(): bigint;
8393
+ decodeUtf8(): string;
8394
+ toHexString(): string;
8395
+ toApiRequest(): string[];
8396
+ static validate(data: BigNumberish | boolean | unknown): void;
8397
+ static is(data: BigNumberish | boolean | unknown): boolean;
8398
+ static isAbiType(abiType: string): boolean;
8399
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoFelt252;
8400
+ }
8401
+
8402
+ declare class CairoUint32 {
8403
+ data: bigint;
8404
+ static abiSelector: string;
8405
+ constructor(data: BigNumberish);
8406
+ static __processData(data: BigNumberish): bigint;
8407
+ toApiRequest(): string[];
8408
+ toBigInt(): bigint;
8409
+ decodeUtf8(): string;
8410
+ toHexString(): string;
8411
+ static validate(data: BigNumberish): void;
8412
+ static is(data: BigNumberish): boolean;
8413
+ /**
8414
+ * Check if provided abi type is this data type
8415
+ */
8416
+ static isAbiType(abiType: string): boolean;
8417
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoUint32;
8418
+ }
8419
+
8420
+ declare class CairoByteArray {
8421
+ /**
8422
+ * entire dataset
8423
+ */
8424
+ data: CairoBytes31[];
8425
+ /**
8426
+ * cairo specific implementation helper
8427
+ */
8428
+ pending_word: CairoFelt252;
8429
+ /**
8430
+ * cairo specific implementation helper
8431
+ */
8432
+ pending_word_len: CairoUint32;
8433
+ static abiSelector: "core::byte_array::ByteArray";
8434
+ /**
8435
+ * byteArray from typed components
8436
+ */
8437
+ constructor(data: CairoBytes31[], pendingWord: CairoFelt252, pendingWordLen: CairoUint32);
8438
+ constructor(data: BigNumberish | Buffer | Uint8Array | unknown);
8439
+ static __processData(inData: BigNumberish | Buffer | Uint8Array | unknown): {
8440
+ data: CairoBytes31[];
8441
+ pending_word: CairoFelt252;
8442
+ pending_word_len: CairoUint32;
8443
+ };
8444
+ toApiRequest(): string[];
8445
+ decodeUtf8(): string;
8446
+ toBigInt(): bigint;
8447
+ toHexString(): string;
8448
+ toBuffer(): any;
8449
+ static validate(data: Uint8Array | Buffer | BigNumberish | unknown): void;
8450
+ /**
8451
+ * Check if the provided data is a valid CairoByteArray
8452
+ *
8453
+ * @param data - The data to check
8454
+ * @returns True if the data is a valid CairoByteArray, false otherwise
8455
+ */
8456
+ static is(data: any): boolean;
8457
+ /**
8458
+ * Check if provided abi type is this data type
8459
+ */
8460
+ static isAbiType(abiType: string): boolean;
8461
+ /**
8462
+ * Private helper to check if the CairoByteArray is properly initialized
8463
+ */
8464
+ private assertInitialized;
8465
+ /**
8466
+ * Private helper to reconstruct the full byte sequence from chunks and pending word
8467
+ */
8468
+ private reconstructBytes;
8469
+ static factoryFromApiResponse(responseIterator: Iterator<string>): CairoByteArray;
8470
+ }
8471
+
7787
8472
  /**
7788
8473
  * Format a hex number to '0x' and 64 characters, adding leading zeros if necessary.
7789
8474
  *
@@ -7849,26 +8534,6 @@ declare function getChecksumAddress(address: BigNumberish): string;
7849
8534
  */
7850
8535
  declare function validateChecksumAddress(address: string): boolean;
7851
8536
 
7852
- declare abstract class AbiParserInterface {
7853
- /**
7854
- * Helper to calculate inputs length from abi
7855
- * @param abiMethod FunctionAbi
7856
- * @return number
7857
- */
7858
- abstract methodInputsLength(abiMethod: FunctionAbi): number;
7859
- /**
7860
- *
7861
- * @param name string
7862
- * @return FunctionAbi | undefined
7863
- */
7864
- abstract getMethod(name: string): FunctionAbi | undefined;
7865
- /**
7866
- * Return Abi in legacy format
7867
- * @return Abi
7868
- */
7869
- abstract getLegacyFormat(): Abi;
7870
- }
7871
-
7872
8537
  /**
7873
8538
  * Checks if the given name ends with "_len".
7874
8539
  *
@@ -7941,13 +8606,20 @@ declare const isTypeResult: (type: string) => boolean;
7941
8606
  * @returns - Returns true if the value is a valid Uint type, otherwise false.
7942
8607
  */
7943
8608
  declare const isTypeUint: (type: string) => boolean;
8609
+ /**
8610
+ * Checks if the given value is a valid Int type.
8611
+ *
8612
+ * @param {string} type - The value to check.
8613
+ * @returns - Returns true if the value is a valid Int type, otherwise false.
8614
+ */
8615
+ declare const isTypeInt: (type: string) => boolean;
7944
8616
  /**
7945
8617
  * Checks if the given type is `uint256`.
7946
8618
  *
7947
8619
  * @param {string} type - The type to be checked.
7948
8620
  * @returns - Returns true if the type is `uint256`, otherwise false.
7949
8621
  */
7950
- declare const isTypeUint256: (type: string) => boolean;
8622
+ declare const isTypeUint256: (type: string) => type is "core::integer::u256";
7951
8623
  /**
7952
8624
  * Checks if the given type is a literal type.
7953
8625
  *
@@ -7975,20 +8647,6 @@ declare const isTypeContractAddress: (type: string) => type is "core::starknet::
7975
8647
  * @returns - Returns true if the given type is 'core::starknet::eth_address::EthAddress', otherwise false.
7976
8648
  */
7977
8649
  declare const isTypeEthAddress: (type: string) => type is "core::starknet::eth_address::EthAddress";
7978
- /**
7979
- * Checks if the given type is 'core::bytes_31::bytes31'.
7980
- *
7981
- * @param {string} type - The type to check.
7982
- * @returns - True if the type is 'core::bytes_31::bytes31', false otherwise.
7983
- */
7984
- declare const isTypeBytes31: (type: string) => type is "core::bytes_31::bytes31";
7985
- /**
7986
- * Checks if the given type is equal to the 'core::byte_array::ByteArray'.
7987
- *
7988
- * @param {string} type - The type to check.
7989
- * @returns - True if the given type is equal to 'core::byte_array::ByteArray', false otherwise.
7990
- */
7991
- declare const isTypeByteArray: (type: string) => type is "core::byte_array::ByteArray";
7992
8650
  /**
7993
8651
  * Checks if the given type is equal to the u96 type
7994
8652
  *
@@ -8080,12 +8738,11 @@ declare const cairo_isCairo1Type: typeof isCairo1Type;
8080
8738
  declare const cairo_isLen: typeof isLen;
8081
8739
  declare const cairo_isTypeArray: typeof isTypeArray;
8082
8740
  declare const cairo_isTypeBool: typeof isTypeBool;
8083
- declare const cairo_isTypeByteArray: typeof isTypeByteArray;
8084
- declare const cairo_isTypeBytes31: typeof isTypeBytes31;
8085
8741
  declare const cairo_isTypeContractAddress: typeof isTypeContractAddress;
8086
8742
  declare const cairo_isTypeEnum: typeof isTypeEnum;
8087
8743
  declare const cairo_isTypeEthAddress: typeof isTypeEthAddress;
8088
8744
  declare const cairo_isTypeFelt: typeof isTypeFelt;
8745
+ declare const cairo_isTypeInt: typeof isTypeInt;
8089
8746
  declare const cairo_isTypeLiteral: typeof isTypeLiteral;
8090
8747
  declare const cairo_isTypeNamedTuple: typeof isTypeNamedTuple;
8091
8748
  declare const cairo_isTypeNonZero: typeof isTypeNonZero;
@@ -8101,7 +8758,7 @@ declare const cairo_tuple: typeof tuple;
8101
8758
  declare const cairo_uint256: typeof uint256;
8102
8759
  declare const cairo_uint512: typeof uint512;
8103
8760
  declare namespace cairo {
8104
- export { cairo_felt as felt, cairo_getAbiContractVersion as getAbiContractVersion, cairo_getArrayType as getArrayType, cairo_isCairo1Abi as isCairo1Abi, cairo_isCairo1Type as isCairo1Type, cairo_isLen as isLen, cairo_isTypeArray as isTypeArray, cairo_isTypeBool as isTypeBool, cairo_isTypeByteArray as isTypeByteArray, cairo_isTypeBytes31 as isTypeBytes31, cairo_isTypeContractAddress as isTypeContractAddress, cairo_isTypeEnum as isTypeEnum, cairo_isTypeEthAddress as isTypeEthAddress, cairo_isTypeFelt as isTypeFelt, cairo_isTypeLiteral as isTypeLiteral, cairo_isTypeNamedTuple as isTypeNamedTuple, cairo_isTypeNonZero as isTypeNonZero, cairo_isTypeOption as isTypeOption, cairo_isTypeResult as isTypeResult, cairo_isTypeSecp256k1Point as isTypeSecp256k1Point, cairo_isTypeStruct as isTypeStruct, cairo_isTypeTuple as isTypeTuple, cairo_isTypeU96 as isTypeU96, cairo_isTypeUint as isTypeUint, cairo_isTypeUint256 as isTypeUint256, cairo_tuple as tuple, cairo_uint256 as uint256, cairo_uint512 as uint512 };
8761
+ export { cairo_felt as felt, cairo_getAbiContractVersion as getAbiContractVersion, cairo_getArrayType as getArrayType, cairo_isCairo1Abi as isCairo1Abi, cairo_isCairo1Type as isCairo1Type, cairo_isLen as isLen, cairo_isTypeArray as isTypeArray, cairo_isTypeBool as isTypeBool, cairo_isTypeContractAddress as isTypeContractAddress, cairo_isTypeEnum as isTypeEnum, cairo_isTypeEthAddress as isTypeEthAddress, cairo_isTypeFelt as isTypeFelt, cairo_isTypeInt as isTypeInt, cairo_isTypeLiteral as isTypeLiteral, cairo_isTypeNamedTuple as isTypeNamedTuple, cairo_isTypeNonZero as isTypeNonZero, cairo_isTypeOption as isTypeOption, cairo_isTypeResult as isTypeResult, cairo_isTypeSecp256k1Point as isTypeSecp256k1Point, cairo_isTypeStruct as isTypeStruct, cairo_isTypeTuple as isTypeTuple, cairo_isTypeU96 as isTypeU96, cairo_isTypeUint as isTypeUint, cairo_isTypeUint256 as isTypeUint256, cairo_tuple as tuple, cairo_uint256 as uint256, cairo_uint512 as uint512 };
8105
8762
  }
8106
8763
 
8107
8764
  /**
@@ -8193,14 +8850,20 @@ declare namespace byteArray {
8193
8850
  * );
8194
8851
  * // parsedField === ['1952805748']
8195
8852
  */
8196
- declare function parseCalldataField(argsIterator: Iterator<any>, input: AbiEntry, structs: AbiStructs, enums: AbiEnums): string | string[];
8853
+ declare function parseCalldataField({ argsIterator, input, structs, enums, parser, }: {
8854
+ argsIterator: Iterator<any>;
8855
+ input: AbiEntry;
8856
+ structs: AbiStructs;
8857
+ enums: AbiEnums;
8858
+ parser: AbiParserInterface;
8859
+ }): string | string[];
8197
8860
 
8198
8861
  declare class CallData {
8199
8862
  abi: Abi;
8200
8863
  parser: AbiParserInterface;
8201
8864
  protected readonly structs: AbiStructs;
8202
8865
  protected readonly enums: AbiEnums;
8203
- constructor(abi: Abi);
8866
+ constructor(abi: Abi, parsingStrategy?: ParsingStrategy);
8204
8867
  /**
8205
8868
  * Validate arguments passed to the method as corresponding to the ones in the abi
8206
8869
  * @param type ValidateType - type of the method
@@ -8317,6 +8980,15 @@ declare function extractContractHashes(payload: DeclareContractPayload): Complet
8317
8980
  declare function contractClassResponseToLegacyCompiledContract(ccr: ContractClassResponse): LegacyCompiledContract;
8318
8981
 
8319
8982
  /**
8983
+ * !! Main design decision:
8984
+ * Class can't extend GetTransactionReceiptResponse because it is union type
8985
+ * and it is not possible to extend union type in current typescript version
8986
+ * So we have to use factory function to create 'data' return type and inject constructor
8987
+ *
8988
+ * ERROR case left but in library flow it is not possible as fetch would throw on error before it could be read by Helper
8989
+ */
8990
+ /**
8991
+ * @deprecated Use `createTransactionReceipt` instead
8320
8992
  * Utility that analyses transaction receipt response and provides helpers to process it
8321
8993
  * @example
8322
8994
  * ```typescript
@@ -8332,17 +9004,23 @@ declare function contractClassResponseToLegacyCompiledContract(ccr: ContractClas
8332
9004
  * }
8333
9005
  * ```
8334
9006
  */
8335
- declare class ReceiptTx implements GetTransactionReceiptResponse {
9007
+ declare class ReceiptTx {
8336
9008
  readonly statusReceipt: TransactionReceiptStatus;
8337
9009
  readonly value: TransactionReceiptValue;
8338
9010
  constructor(receipt: GetTxReceiptResponseWithoutHelper);
8339
- match(callbacks: TransactionReceiptCallbacks): void;
8340
- isSuccess(): this is GetTransactionReceiptResponse<'success'>;
8341
- isReverted(): this is GetTransactionReceiptResponse<'reverted'>;
8342
- isError(): this is GetTransactionReceiptResponse<'error'>;
9011
+ match: (callbacks: TransactionReceiptCallbacks) => void;
9012
+ isSuccess: () => this is SuccessfulTransactionReceiptResponseHelper;
9013
+ isReverted: () => this is RevertedTransactionReceiptResponseHelper;
9014
+ isError: () => this is ErrorReceiptResponseHelper;
8343
9015
  static isSuccess(transactionReceipt: GetTxReceiptResponseWithoutHelper): transactionReceipt is SuccessfulTransactionReceiptResponse;
8344
9016
  static isReverted(transactionReceipt: GetTxReceiptResponseWithoutHelper): transactionReceipt is RevertedTransactionReceiptResponse;
8345
9017
  }
9018
+ /**
9019
+ * Creates a transaction receipt response object with helpers
9020
+ * @param receipt - The transaction receipt response from the provider
9021
+ * @returns A transaction receipt response object with helpers
9022
+ */
9023
+ declare function createTransactionReceipt(receipt: GetTxReceiptResponseWithoutHelper): GetTransactionReceiptResponse;
8346
9024
 
8347
9025
  /**
8348
9026
  * Convert strk to fri or fri to strk
@@ -8540,4 +9218,4 @@ declare class Logger {
8540
9218
  */
8541
9219
  declare const logger: Logger;
8542
9220
 
8543
- export { type Abi, type AbiEntry, type AbiEnum, type AbiEnums, type AbiEvent, type AbiEvents, type AbiInterfaces, type AbiStruct, type AbiStructs, Account, AccountInterface, type AccountInvocationItem, type AccountInvocations, type AccountInvocationsFactoryDetails, type AccountOptions, type AllowArray, type ApiEstimateFeeResponse, type Args, type ArgsOrCalldata, type ArgsOrCalldataWithOptions, type ArraySignatureType, type AsyncContractFunction, type BLOCK_HASH, type BLOCK_NUMBER, BatchClient, type BatchClientOptions, type BigNumberish, type Block$1 as Block, type BlockIdentifier, type BlockNumber, BlockStatus, BlockTag, type BlockWithTxHashes, type Builtins, type ByteArray, type ByteCode, type CairoAssembly, type CairoContract, CairoCustomEnum, type CairoEnum, type CairoEnumRaw, type CairoEvent, type CairoEventDefinition, type CairoEventVariant, CairoFixedArray, CairoOption, CairoOptionVariant, CairoResult, CairoResultVariant, CairoUint256, CairoUint512, type CairoVersion, type Call, type CallContractResponse, CallData, type CallDetails, type CallOptions, type CallResult, type Calldata, type CommonContractOptions, type CompiledContract, type CompiledSierra, type CompiledSierraCasm, type CompilerVersion, type CompleteDeclareContractPayload, type CompressedProgram, Contract, type ContractClass, type ContractClassIdentifier, type ContractClassPayload, type ContractClassResponse, type ContractEntryPointFields, type ContractFunction, ContractInterface, type ContractOptions, type ContractVersion, type DeclareAndDeployContractPayload, type DeclareContractPayload, type DeclareContractResponse, type DeclareContractTransaction, type DeclareDeployUDCResponse, type DeclareSignerDetails, type DeclareTransactionReceiptResponse, type DeclaredTransaction, type DeployAccountContractPayload, type DeployAccountContractTransaction, type DeployAccountSignerDetails, type DeployAccountTransactionReceiptResponse, type DeployAndInvokeTransaction, type DeployContractResponse, type DeployContractUDCResponse, type DeployTransaction, type DeployTransactionReceiptResponse, type DeployedAccountTransaction, Deployer, type DeployerCall, DeployerInterface, type Details, EDAMode, EDataAvailabilityMode, ETH_ADDRESS, ETransactionExecutionStatus, ETransactionStatus, ETransactionVersion, ETransactionVersion2, ETransactionVersion3, type EVENTS_CHUNK, type EmittedEvent, EntryPointType, type EntryPointsByType, type EstimateFeeBulk, type EstimateFeeResponseBulkOverhead, type EstimateFeeResponseOverhead, EthSigner, type Event$1 as Event, type EventEntry, type EventFilter, type ExecutableDeployAndInvokeTransaction, type ExecutableDeployTransaction, type ExecutableInvokeTransaction, type ExecutableUserInvoke, type ExecutableUserTransaction, type ExecuteOptions, type ExecutionParameters, type FEE_ESTIMATE, type FELT, type FactoryParams, type FeeEstimate, type FeeMode, type FormatResponse, type FunctionAbi, type GasPrices, type GetBlockResponse, type GetTransactionReceiptResponse, type GetTransactionResponse, type GetTxReceiptResponseWithoutHelper, type HexCalldata, type Hint, type InterfaceAbi, type Invocation, type Invocations, type InvocationsDetails, type InvocationsDetailsWithNonce, type InvocationsSignerDetails, type InvokeFunctionResponse, type InvokeTransaction, type InvokeTransactionReceiptResponse, type InvokedTransaction, type L1HandlerTransactionReceiptResponse, type L1_HANDLER_TXN, type LedgerPathCalculation, LedgerSigner111 as LedgerSigner, LedgerSigner111, LedgerSigner221, LedgerSigner231, type LegacyCompiledContract, type LegacyContractClass, type LegacyEvent, LibraryError, Literal, type LogLevel, LogLevelIndex, type Methods, type MultiDeployContractResponse, type MultiType, NON_ZERO_PREFIX, type Nonce, type OptionalPayload, type OutsideCall, type OutsideExecution, type OutsideExecutionOptions, OutsideExecutionTypesV1, OutsideExecutionTypesV2, OutsideExecutionVersion, type OutsideTransaction, type PENDING_DECLARE_TXN_RECEIPT, type PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT, type PENDING_INVOKE_TXN_RECEIPT, type PENDING_L1_HANDLER_TXN_RECEIPT, type PENDING_STATE_UPDATE, type PRE_CONFIRMED_STATE_UPDATE, type PRICE_UNIT, type ParsedEvent, type ParsedEvents, type ParsedStruct, type PaymasterDetails, type PaymasterFeeEstimate, PaymasterInterface, type PaymasterOptions, PaymasterRpc, type PaymasterRpcOptions, type PaymasterTimeBounds, type PendingBlock, type PendingReceipt, type PendingStateUpdate, type PreConfirmedStateUpdate, type PreparedDeployAndInvokeTransaction, type PreparedDeployTransaction, type PreparedInvokeTransaction, type PreparedTransaction, type Program, RpcProvider as Provider, ProviderInterface, type ProviderOptions, type ProviderOrAccount, type PythonicHints, type RESOURCE_PRICE, index$4 as RPC, rpc_0_8_1 as RPC08, rpc_0_9_0 as RPC09, RPCResponseParser, type RPC_ERROR, type RPC_ERROR_SET, type RawArgs, type RawArgsArray, type RawArgsObject, type RawCalldata, type Receipt, ReceiptTx, type RequiredKeysOf, type ResourceBounds, type ResourceBoundsBN, type ResourceBoundsOverhead, ResponseParser, type RevertedTransactionReceiptResponse, RpcChannel, RpcError, RpcProvider, type RpcProviderOptions, type SIMULATION_FLAG, type STATE_UPDATE, type SierraContractClass, type SierraContractEntryPointFields, type SierraEntryPointsByType, type SierraProgramDebugInfo, type Signature, Signer, SignerInterface, type Simplify, type SimulateTransaction, type SimulateTransactionDetails, type SimulateTransactionOverhead, type SimulateTransactionOverheadResponse, type SimulateTransactionResponse, type SimulationFlags, type StarkProfile, type StateUpdate, type StateUpdateResponse, type Storage, Subscription, type SubscriptionBlockIdentifier, type SuccessfulTransactionReceiptResponse, type TXN_EXECUTION_STATUS, type TXN_HASH$1 as TXN_HASH, type TXN_STATUS, TimeoutError, type TipAnalysisOptions, type TipEstimate, type TipType, type TokenData, TransactionExecutionStatus, TransactionFinalityStatus, type TransactionReceipt, type TransactionReceiptCallbacks, type TransactionReceiptCallbacksDefault, type TransactionReceiptCallbacksDefined, type TransactionReceiptStatus, type TransactionReceiptValue, type TransactionStatus, type TransactionStatusReceiptSets, type TransactionTrace, TransactionType, type TransactionWithHash, type Tupled, type TypedContractV2, UINT_128_MAX, UINT_128_MIN, UINT_256_HIGH_MAX, UINT_256_HIGH_MIN, UINT_256_LOW_MAX, UINT_256_LOW_MIN, UINT_256_MAX, UINT_256_MIN, UINT_512_MAX, UINT_512_MIN, Uint, type Uint256, type Uint512, type UniversalDeployerContractPayload, type UniversalDetails, type UserInvoke, type UserTransaction, type V3DeclareSignerDetails, type V3DeployAccountSignerDetails, type V3InvocationsSignerDetails, type V3TransactionDetails, ValidateType, WalletAccount, WebSocketChannel, WebSocketNotConnectedError, type WebSocketOptions, type WeierstrassSignatureType, type WithOptions, addAddressPadding, byteArray, cairo, config, constants, contractClassResponseToLegacyCompiledContract, defaultDeployer, defaultPaymaster, defaultProvider, ec, encode, eth, index as events, extractContractHashes, getChecksumAddress, type getContractVersionOptions, type getEstimateFeeBulkOptions, getGasPrices, getLedgerPathBuffer111 as getLedgerPathBuffer, getLedgerPathBuffer111, getLedgerPathBuffer221, type getSimulateTransactionOptions, getTipStatsFromBlocks, index$3 as hash, isAccount, isPendingBlock, isPendingStateUpdate, isPendingTransaction, isRPC08Plus_ResourceBounds, isRPC08Plus_ResourceBoundsBN, isSierra, isSupportedSpecVersion, isV3Tx, isVersion, json, legacyDeployer, logger, merkle, num, outsideExecution, parseCalldataField, paymaster, provider, selector, shortString, src5, index$1 as stark, starknetId, toAnyPatchVersion, toApiVersion, index$2 as transaction, typedData, uint256$1 as uint256, units, v2 as v2hash, v3 as v3hash, validateAndParseAddress, validateChecksumAddress, verifyMessageInStarknet, type waitForTransactionOptions, connect as wallet };
9221
+ export { type Abi, type AbiEntry, type AbiEntryType, type AbiEnum, type AbiEnums, type AbiEvent, type AbiEvents, type AbiInterfaces, AbiParser1, AbiParser2, AbiParserInterface, type AbiStruct, type AbiStructs, Account, AccountInterface, type AccountInvocationItem, type AccountInvocations, type AccountInvocationsFactoryDetails, type AccountOptions, type AllowArray, type ApiEstimateFeeResponse, type Args, type ArgsOrCalldata, type ArgsOrCalldataWithOptions, type ArraySignatureType, type AsyncContractFunction, type BLOCK_HASH, type BLOCK_NUMBER, BatchClient, type BatchClientOptions, type BigNumberish, type Block$1 as Block, type BlockIdentifier, type BlockNumber, BlockStatus, BlockTag, type BlockWithTxHashes, type Builtins, type ByteArray, type ByteCode, type CairoAssembly, CairoByteArray, type CairoContract, CairoCustomEnum, type CairoEnum, type CairoEnumRaw, type CairoEvent, type CairoEventDefinition, type CairoEventVariant, CairoFixedArray, CairoInt128, CairoInt16, CairoInt32, CairoInt64, CairoInt8, CairoOption, CairoOptionVariant, CairoResult, CairoResultVariant, CairoUint128, CairoUint16, CairoUint256, CairoUint512, CairoUint64, CairoUint8, CairoUint96, type CairoVersion, type Call, type CallContractResponse, CallData, type CallDetails, type CallOptions, type CallResult, type Calldata, type CommonContractOptions, type CompiledContract, type CompiledSierra, type CompiledSierraCasm, type CompilerVersion, type CompleteDeclareContractPayload, type CompressedProgram, Contract, type ContractClass, type ContractClassIdentifier, type ContractClassPayload, type ContractClassResponse, type ContractEntryPointFields, type ContractFunction, ContractInterface, type ContractOptions, type ContractVersion, type DeclareAndDeployContractPayload, type DeclareContractPayload, type DeclareContractResponse, type DeclareContractTransaction, type DeclareDeployUDCResponse, type DeclareSignerDetails, type DeclareTransactionReceiptResponse, type DeclaredTransaction, type DeployAccountContractPayload, type DeployAccountContractTransaction, type DeployAccountSignerDetails, type DeployAccountTransactionReceiptResponse, type DeployAndInvokeTransaction, type DeployContractResponse, type DeployContractUDCResponse, type DeployTransaction, type DeployTransactionReceiptResponse, type DeployedAccountTransaction, Deployer, type DeployerCall, DeployerInterface, type Details, EDAMode, EDataAvailabilityMode, ETH_ADDRESS, ETransactionExecutionStatus, ETransactionStatus, ETransactionVersion, ETransactionVersion2, ETransactionVersion3, type EVENTS_CHUNK, type EmittedEvent, EntryPointType, type EntryPointsByType, type ErrorReceiptResponseHelper, type EstimateFeeBulk, type EstimateFeeResponseBulkOverhead, type EstimateFeeResponseOverhead, EthSigner, type Event$1 as Event, type EventEntry, type EventFilter, type ExecutableDeployAndInvokeTransaction, type ExecutableDeployTransaction, type ExecutableInvokeTransaction, type ExecutableUserInvoke, type ExecutableUserTransaction, type ExecuteOptions, type ExecutionParameters, type FEE_ESTIMATE, type FELT, type FactoryParams, type FeeEstimate, type FeeMode, type FormatResponse, type FunctionAbi, type GasPrices, type GetBlockResponse, type GetTransactionReceiptResponse, type GetTransactionResponse, type GetTxReceiptResponseWithoutHelper, type HexCalldata, type Hint, Int, type InterfaceAbi, type Invocation, type Invocations, type InvocationsDetails, type InvocationsDetailsWithNonce, type InvocationsSignerDetails, type InvokeFunctionResponse, type InvokeTransaction, type InvokeTransactionReceiptResponse, type InvokedTransaction, type L1HandlerTransactionReceiptResponse, type L1_HANDLER_TXN, type LedgerPathCalculation, LedgerSigner111 as LedgerSigner, LedgerSigner111, LedgerSigner221, LedgerSigner231, type LegacyCompiledContract, type LegacyContractClass, type LegacyEvent, LibraryError, Literal, type LogLevel, LogLevelIndex, type Methods, type MultiDeployContractResponse, type MultiType, NON_ZERO_PREFIX, type Nonce, type OptionalPayload, type OutsideCall, type OutsideExecution, type OutsideExecutionOptions, OutsideExecutionTypesV1, OutsideExecutionTypesV2, OutsideExecutionVersion, type OutsideTransaction, type PENDING_DECLARE_TXN_RECEIPT, type PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT, type PENDING_INVOKE_TXN_RECEIPT, type PENDING_L1_HANDLER_TXN_RECEIPT, type PENDING_STATE_UPDATE, type PRE_CONFIRMED_STATE_UPDATE, type PRICE_UNIT, type ParsedEvent, type ParsedEvents, type ParsedStruct, type ParsingStrategy, type PaymasterDetails, type PaymasterFeeEstimate, PaymasterInterface, type PaymasterOptions, PaymasterRpc, type PaymasterRpcOptions, type PaymasterTimeBounds, type PendingBlock, type PendingReceipt, type PendingStateUpdate, type PreConfirmedStateUpdate, type PreparedDeployAndInvokeTransaction, type PreparedDeployTransaction, type PreparedInvokeTransaction, type PreparedTransaction, type Program, RpcProvider as Provider, ProviderInterface, type ProviderOptions, type ProviderOrAccount, type PythonicHints, type RESOURCE_PRICE, index$4 as RPC, rpc_0_8_1 as RPC08, rpc_0_9_0 as RPC09, RPCResponseParser, type RPC_ERROR, type RPC_ERROR_SET, type RawArgs, type RawArgsArray, type RawArgsObject, type RawCalldata, type Receipt, ReceiptTx, type RequiredKeysOf, type ResourceBounds, type ResourceBoundsBN, type ResourceBoundsOverhead, ResponseParser, type RevertedTransactionReceiptResponse, type RevertedTransactionReceiptResponseHelper, RpcChannel, RpcError, RpcProvider, type RpcProviderOptions, type SIMULATION_FLAG, type STATE_UPDATE, type SierraContractClass, type SierraContractEntryPointFields, type SierraEntryPointsByType, type SierraProgramDebugInfo, type Signature, Signer, SignerInterface, type Simplify, type SimulateTransaction, type SimulateTransactionDetails, type SimulateTransactionOverhead, type SimulateTransactionOverheadResponse, type SimulateTransactionResponse, type SimulationFlags, type StarkProfile, type StateUpdate, type StateUpdateResponse, type Storage, Subscription, type SubscriptionBlockIdentifier, type SuccessfulTransactionReceiptResponse, type SuccessfulTransactionReceiptResponseHelper, type TXN_EXECUTION_STATUS, type TXN_HASH$1 as TXN_HASH, type TXN_STATUS, TimeoutError, type TipAnalysisOptions, type TipEstimate, type TipType, type TokenData, TransactionExecutionStatus, TransactionFinalityStatus, type TransactionReceipt, type TransactionReceiptCallbacks, type TransactionReceiptCallbacksDefault, type TransactionReceiptCallbacksDefined, type TransactionReceiptStatus, type TransactionReceiptValue, type TransactionStatus, type TransactionStatusReceiptSets, type TransactionTrace, TransactionType, type TransactionWithHash, type Tupled, type TypedContractV2, UINT_128_MAX, UINT_128_MIN, UINT_256_HIGH_MAX, UINT_256_HIGH_MIN, UINT_256_LOW_MAX, UINT_256_LOW_MIN, UINT_256_MAX, UINT_256_MIN, UINT_512_MAX, UINT_512_MIN, Uint, type Uint256, type Uint512, type UniversalDeployerContractPayload, type UniversalDetails, type UserInvoke, type UserTransaction, type V3DeclareSignerDetails, type V3DeployAccountSignerDetails, type V3InvocationsSignerDetails, type V3TransactionDetails, ValidateType, WalletAccount, WebSocketChannel, WebSocketNotConnectedError, type WebSocketOptions, type WeierstrassSignatureType, type WithOptions, addAddressPadding, byteArray, cairo, config, constants, contractClassResponseToLegacyCompiledContract, createAbiParser, createTransactionReceipt, defaultDeployer, defaultPaymaster, defaultProvider, ec, encode, eth, index as events, extractContractHashes, fastParsingStrategy, getAbiVersion, getChecksumAddress, type getContractVersionOptions, type getEstimateFeeBulkOptions, getGasPrices, getLedgerPathBuffer111 as getLedgerPathBuffer, getLedgerPathBuffer111, getLedgerPathBuffer221, type getSimulateTransactionOptions, getTipStatsFromBlocks, index$3 as hash, hdParsingStrategy, isAccount, isNoConstructorValid, isPendingBlock, isPendingStateUpdate, isPendingTransaction, isRPC08Plus_ResourceBounds, isRPC08Plus_ResourceBoundsBN, isSierra, isSupportedSpecVersion, isV3Tx, isVersion, json, legacyDeployer, logger, merkle, num, outsideExecution, parseCalldataField, paymaster, provider, selector, shortString, src5, index$1 as stark, starknetId, toAnyPatchVersion, toApiVersion, index$2 as transaction, typedData, uint256$1 as uint256, units, v2 as v2hash, v3 as v3hash, validateAndParseAddress, validateChecksumAddress, verifyMessageInStarknet, type waitForTransactionOptions, connect as wallet };